Depend on stdbool.
[gnulib.git] / ChangeLog
1 2007-03-11  Bruno Haible  <bruno@clisp.org>
2
3         * modules/gc-des (Depends-on): Add stdbool.
4
5 2007-03-11  Bruno Haible  <bruno@clisp.org>
6
7         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
8
9 2007-03-11  Bruno Haible  <bruno@clisp.org>
10
11         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
12
13 2007-03-11  Bruno Haible  <bruno@clisp.org>
14
15         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
16
17 2007-03-11  Bruno Haible  <bruno@clisp.org>
18
19         * lib/vasnprintf.c (sprintf): Undefine.
20
21 2007-03-11  Bruno Haible  <bruno@clisp.org>
22
23         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
24         initializers in SunPRO C and Compaq C compilers.
25
26 2007-03-11  Bruno Haible  <bruno@clisp.org>
27
28         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
29         decrementing code ANSI C compliant.
30
31 2007-03-11  Bruno Haible  <bruno@clisp.org>
32
33         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
34         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
35
36 2007-03-11  Bruno Haible  <bruno@clisp.org>
37
38         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
39         <stdbool.h> substitute doesn't pass.
40
41 2007-03-11  Bruno Haible  <bruno@clisp.org>
42
43         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
44
45 2007-03-11  Bruno Haible  <bruno@clisp.org>
46
47         * gnulib-tool (func_create_megatestdir): Create also an autobuild
48         script, for submission to autobuild.josefsson.org.
49
50 2007-03-10  Bruno Haible  <bruno@clisp.org>
51
52         * modules/canonicalize-lgpl-tests: New file.
53         * tests/test-canonicalize-lgpl.sh: New file.
54         * tests/test-canonicalize-lgpl.c: New file.
55
56         * modules/c-strcase-tests: New file.
57         * tests/test-c-strcase.sh: New file.
58         * tests/test-c-strcasecmp.c: New file.
59         * tests/test-c-strncasecmp.c: New file.
60
61         * modules/atexit-tests: New file.
62         * tests/test-atexit.sh: New file.
63         * tests/test-atexit.c: New file.
64
65 2007-03-10  Bruno Haible  <bruno@clisp.org>
66
67         * tests/test-binary-io.sh: Use temporary filenames that are not so
68         likely to clash with those of other tests (in a parallel make).
69         * tests/test-binary-io.c: Likewise.
70
71 2007-03-10  Bruno Haible  <bruno@clisp.org>
72
73         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
74         fallback; use #error instead.
75         Suggested by Simon Josefsson.
76
77 2007-03-10  Bruno Haible  <bruno@clisp.org>
78
79         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
80         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
81         first and the last.
82
83 2007-03-10  Bruno Haible  <bruno@clisp.org>
84
85         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
86
87 2007-03-10  Bruno Haible  <bruno@clisp.org>
88
89         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
90         "make distcheck".
91         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
92         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
93         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
94
95 2007-03-10  Bruno Haible  <bruno@clisp.org>
96
97         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
98         variable.
99         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
100         variable.
101
102 2007-03-09  Eric Blake  <ebb9@byu.net>
103         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
104
105         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
106         types are not being provided by gnulib.
107         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
108         types are supported.
109
110 2007-03-10  Bruno Haible  <bruno@clisp.org>
111
112         * lib/stdio_.h (__attribute__): New macro.
113         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
114         vsprintf): Specify __attribute__ __format__ for GCC.
115         Suggested by Eric Blake.
116
117 2007-03-09  Bruno Haible  <bruno@clisp.org>
118
119         * modules/printf-posix-tests: New file.
120         * tests/test-printf-posix.sh: New file.
121         * tests/test-printf-posix.c: New file.
122
123         * modules/printf-posix: New file.
124         * lib/printf.c: New file.
125         * m4/printf-posix-rpl.m4: New file.
126         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
127         REPLACE_PRINTF.
128         * lib/stdio_.h (printf): New declaration.
129         (format, __format__, ____printf____, ____scanf____, ____strftime____,
130         ____strfmon____): New macros.
131         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
132         REPLACE_PRINTF.
133
134 2007-03-09  Bruno Haible  <bruno@clisp.org>
135
136         * tests/test-vasnprintf-posix2.sh: New file.
137         * tests/test-vasnprintf-posix2.c: New file.
138         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
139         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
140         (Makefile.am): Activate test-vasnprintf-posix2.sh.
141
142         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
143         a locale dependent decimal point, rather than always '.'.
144
145 2007-03-09  Eric Blake  <ebb9@byu.net>
146
147         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
148         spite of platforms like Tandem/NSK that define it to -1.
149
150 2007-03-08  Bruno Haible  <bruno@clisp.org>
151
152         * modules/vprintf-posix-tests: New file.
153         * tests/test-vprintf-posix.sh: New file.
154         * tests/test-vprintf-posix.c: New file.
155         * tests/test-printf-posix.h: New file.
156
157         * modules/vprintf-posix: New file.
158         * lib/vprintf.c: New file.
159         * m4/vprintf-posix.m4: New file.
160         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
161         REPLACE_VPRINTF.
162         * lib/stdio_.h (vprintf): New declaration.
163         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
164         REPLACE_VPRINTF.
165
166 2007-03-08  Bruno Haible  <bruno@clisp.org>
167
168         * modules/fprintf-posix-tests: New file.
169         * tests/test-fprintf-posix.sh: New file.
170         * tests/test-fprintf-posix.c: New file.
171
172         * modules/fprintf-posix: New file.
173         * lib/fprintf.c: New file.
174         * m4/fprintf-posix.m4: New file.
175         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
176         REPLACE_FPRINTF.
177         * lib/stdio_.h (fprintf): New declaration.
178         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
179         REPLACE_FPRINTF.
180
181 2007-03-08  Bruno Haible  <bruno@clisp.org>
182
183         * modules/vfprintf-posix-tests: New file.
184         * tests/test-vfprintf-posix.sh: New file.
185         * tests/test-vfprintf-posix.c: New file.
186         * tests/test-fprintf-posix.h: New file.
187         * tests/test-fprintf-posix.out: New file.
188
189         * modules/vfprintf-posix: New file.
190         * lib/vfprintf.c: New file.
191         * m4/vfprintf-posix.m4: New file.
192         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
193         REPLACE_VFPRINTF.
194         * lib/stdio_.h (vfprintf): New declaration.
195         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
196         REPLACE_VFPRINTF.
197
198 2007-03-08  Bruno Haible  <bruno@clisp.org>
199
200         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
201
202 2007-03-08  Bruno Haible  <bruno@clisp.org>
203
204         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
205         instead of 'expr' invocations.
206         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
207         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
208         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
209         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
210         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
211         Suggested by Paul Eggert.
212
213 2007-03-08  Bruno Haible  <bruno@clisp.org>
214
215         * modules/fseterr-tests: New file.
216         * tests/test-fseterr.c: New file.
217
218         * modules/fseterr: New file.
219         * lib/fseterr.h: New file.
220         * lib/fseterr.c: New file.
221
222 2007-03-08  Bruno Haible  <bruno@clisp.org>
223
224         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
225         * lib/getopt_.h: Likewise.
226         * lib/mbswidth.h: Likewise.
227         * lib/setenv.h: Likewise.
228         * lib/vasnprintf.h: Likewise.
229         * lib/vasprintf.h: Likewise.
230         * lib/verror.h: Likewise.
231         * lib/xsetenv.h: Likewise.
232         * lib/xvasprintf.h: Likewise.
233
234 2007-03-08  Jim Meyering  <jim@meyering.net>
235
236         * users.txt: Add parted.
237
238         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
239
240 2007-03-07  Bruno Haible  <bruno@clisp.org>
241
242         * m4/printf.m4: Make the shell script snippets copy&pastable.
243
244 2007-03-02  Bruno Haible  <bruno@clisp.org>
245
246         * lib/netinet_in_.h: New file.
247         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
248         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
249         * modules/netinet_in (Files): Add lib/netinet_in_.h.
250         (Depends-on): Add absolute-header.
251         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
252         into netinet/in.h.
253
254 2007-03-03  Bruno Haible  <bruno@clisp.org>
255
256         * lib/sys_select_.h: New file.
257         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
258         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
259         * modules/sys_select (Files): Add lib/sys_select_.h.
260         (Depends-on): Add absolute-header.
261         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
262         into sys/select.h.
263
264 2007-03-02  Bruno Haible  <bruno@clisp.org>
265
266         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
267         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
268         values.
269         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
270         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
271         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
272         * modules/sys_socket (Depends-on): Add absolute-header.
273         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
274         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
275         (Include): Remove requirement of inclusion of <sys/types.h>.
276
277 2007-03-02  Bruno Haible  <bruno@clisp.org>
278
279         * lib/byteswap_.h (bswap_32): Fix formula.
280
281 2007-03-06  Bruno Haible  <bruno@clisp.org>
282
283         * modules/sprintf-posix-tests: New file.
284         * tests/test-sprintf-posix.c: New file.
285
286         * modules/sprintf-posix: New file.
287         * lib/sprintf.c: New file.
288         * m4/sprintf-posix.m4: New file.
289         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
290         REPLACE_SPRINTF.
291         * lib/stdio_.h (sprintf): New declaration.
292         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
293         REPLACE_SPRINTF.
294
295 2007-03-06  Bruno Haible  <bruno@clisp.org>
296
297         * modules/vsprintf-posix-tests: New file.
298         * tests/test-vsprintf-posix.c: New file.
299         * tests/test-sprintf-posix.h: New file.
300
301         * modules/vsprintf-posix: New file.
302         * lib/vsprintf.c: New file.
303         * m4/vsprintf-posix.m4: New file.
304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
305         REPLACE_VSPRINTF.
306         * lib/stdio_.h (vsprintf): New declaration.
307         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
308         REPLACE_VSPRINTF.
309
310 2007-03-06  Bruno Haible  <bruno@clisp.org>
311
312         * modules/vsnprintf (Depend-on): Remove minmax.
313
314 2007-03-06  Bruno Haible  <bruno@clisp.org>
315
316         * modules/snprintf-posix-tests: New file.
317         * tests/test-snprintf-posix.c: New file.
318
319         * modules/snprintf-posix: New file.
320         * m4/snprintf-posix.m4: New file.
321         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
322         gl_FUNC_SNPRINTF.
323         (gl_FUNC_SNPRINTF): Invoke it.
324         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
325         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
326         is set.
327         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
328
329 2007-03-06  Bruno Haible  <bruno@clisp.org>
330
331         * modules/vsnprintf-posix-tests: New file.
332         * tests/test-vsnprintf-posix.c: New file.
333         * tests/test-snprintf-posix.h: New file.
334
335         * modules/vsnprintf-posix: New file.
336         * m4/vsnprintf-posix.m4: New file.
337         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
338         gl_FUNC_VSNPRINTF.
339         (gl_FUNC_VSNPRINTF): Invoke it.
340         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
341         * lib/stdio_.h (vsnprintf): Define as a replacement if
342         REPLACE_VSNPRINTF is set.
343         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
344
345 2007-03-06  Bruno Haible  <bruno@clisp.org>
346
347         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
348         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
349
350 2007-03-06  Bruno Haible  <bruno@clisp.org>
351
352         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
353         (asinl): Declare also if HAVE_DECL_ASINL is set.
354         (atanl): Declare also if HAVE_DECL_ATANL is set.
355         (ceill): Declare also if HAVE_DECL_CEILL is set.
356         (cosl): Declare also if HAVE_DECL_COSL is set.
357         (expl): Declare also if HAVE_DECL_EXPL is set.
358         (floorl): Declare also if HAVE_DECL_FLOORL is set.
359         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
360         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
361         (logl): Declare also if HAVE_DECL_LOGL is set.
362         (sinl): Declare also if HAVE_DECL_SINL is set.
363         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
364         (tanl): Declare also if HAVE_DECL_TANL is set.
365         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
366         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
367         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
368         declaration of frexpl, ldexpl.
369         * modules/printf-frexpl (Depends-on): Add math.
370         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
371
372 2007-03-05  Bruno Haible  <bruno@clisp.org>
373
374         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
375         frexpl and ldexpl are declared.
376         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
377
378 2007-03-05  Bruno Haible  <bruno@clisp.org>
379
380         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
381         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
382
383 2007-03-05  Bruno Haible  <bruno@clisp.org>
384
385         * lib/stdio_.h: Include <stddef.h>.
386
387 2007-03-05  Bruno Haible  <bruno@clisp.org>
388
389         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
390
391 2007-03-05  Bruno Haible  <bruno@clisp.org>
392
393         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
394         NetBSD 4, from Ralf Wildenhues.
395
396 2007-03-04  Bruno Haible  <bruno@clisp.org>
397
398         * lib/vasprintf.h: Update #if logic for the case when the functions
399         exist but are overridden.
400
401 2007-03-04  Bruno Haible  <bruno@clisp.org>
402
403         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
404         implementations: glibc-2.4 and MacOS X 10.3.
405         * tests/test-vasnprintf-posix.c (test_function): Test also the case
406         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
407         * tests/test-vasprintf-posix.c (test_function): Likewise.
408
409 2007-03-04  Bruno Haible  <bruno@clisp.org>
410
411         * modules/vasprintf-posix-tests: New file.
412         * tests/test-vasprintf-posix.c: New file.
413
414         * modules/vasprintf-posix: New file.
415         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
416         defined.
417         * m4/vasprintf-posix.m4: New file.
418         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
419         gl_FUNC_VASPRINTF.
420         (gl_FUNC_VASPRINTF): Invoke it.
421         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
422         here.
423         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
424
425 2007-03-04  Bruno Haible  <bruno@clisp.org>
426
427         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
428         REPLACE_GETTIMEOFDAY.
429         * modules/sys_time (Makefile.am): Likewise.
430         * m4/sys_time_h.m4: Likewise.
431         * m4/gettimeofday.m4: Likewise.
432
433 2007-03-04  Bruno Haible  <bruno@clisp.org>
434
435         * modules/vasnprintf-posix-tests: New file.
436         * tests/test-vasnprintf-posix.c: New file.
437
438         * modules/vasnprintf-posix: New file.
439         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
440         printf-frexpl.h.
441         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
442         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
443         REPLACE_VASNPRINTF is defined.
444         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
445         gl_FUNC_VASNPRINTF.
446         (gl_FUNC_VASNPRINTF): Invoke it.
447         * m4/vasnprintf-posix.m4: New file.
448         * m4/printf.m4: New file.
449
450 2007-03-04  Bruno Haible  <bruno@clisp.org>
451
452         Compile progreloc.c only if --enable-relocatable is specified.
453         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
454         if --enable-relocatable was specified.
455         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
456         lib_SOURCES.
457
458 2007-03-04  Jim Meyering  <jim@meyering.net>
459
460         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
461         Use it consistently, rather than enumerating errno constants.
462
463 2007-03-04  Bruno Haible  <bruno@clisp.org>
464
465         * modules/xvasprintf-tests: New file.
466         * tests/test-xvasprintf.c: New file.
467
468         * modules/vasprintf-tests: New file.
469         * tests/test-vasprintf.c: New file.
470
471         * modules/vasnprintf-tests: New file.
472         * tests/test-vasnprintf.c: New file.
473
474         * modules/vsnprintf-tests: New file.
475         * tests/test-vsnprintf.c: New file.
476
477         * modules/snprintf-tests: New file.
478         * tests/test-snprintf.c: New file.
479
480 2007-03-04  Bruno Haible  <bruno@clisp.org>
481
482         Compile relocatable.c only if --enable-relocatable is specified.
483         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
484         gl_RELOCATABLE_LIBRARY.
485         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
486         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
487         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
488         gl_RELOCATABLE_LIBRARY.
489         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
490         (Makefile.am): Remove lib_SOURCES.
491         * modules/relocatable-lib-lgpl (configure.ac): Invoke
492         gl_RELOCATABLE_LIBRARY.
493         (Makefile.am): Remove lib_SOURCES.
494         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
495         always.
496         * modules/relocatable-prog-wrapper (configure.ac): Invoke
497         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
498
499 2007-03-04  Bruno Haible  <bruno@clisp.org>
500
501         * modules/argmatch-tests: New file.
502         * tests/test-argmatch.c: New file.
503
504         * tests/test-allocsa.c (main): Halve the number of loop runs.
505
506         * modules/alloca-opt-tests: New file.
507         * tests/test-alloca-opt.c: New file.
508
509 2007-03-04  Jim Meyering  <jim@meyering.net>
510
511         Work around difference between Linux ACLs and Solaris 10 ZFS.
512         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
513         for EINVAL.
514
515 2007-03-03  Bruno Haible  <bruno@clisp.org>
516
517         * modules/relocatable-prog (Depends-on): Add back progreloc's
518         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
519
520 2007-03-03  Bruno Haible  <bruno@clisp.org>
521
522         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
523         * modules/relocatable-lib: New file.
524
525 2007-03-03  Bruno Haible  <bruno@clisp.org>
526
527         * modules/relocatable-prog: Renamed from modules/relocatable.
528         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
529
530 2007-03-03  Bruno Haible  <bruno@clisp.org>
531
532         * modules/relocatable-script (Files): Add doc/relocatable.texi,
533         m4/relocatable-lib.m4.
534         (Depends-on): Remove 'relocatable'.
535         (configure.ac): Add gl_RELOCATABLE_NOP.
536
537 2007-03-03  Bruno Haible  <bruno@clisp.org>
538
539         * modules/relocatable-prog-wrapper: New file.
540         * modules/relocatable (Depends-on): Add it. Remove all other
541         dependencies except progname.
542         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
543
544         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
545         (gl_FUNC_STRERROR): Nop.
546         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
547
548         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
549         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
550
551         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
552         (gl_FUNC_READLINK): Update.
553
554         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
555
556 2007-03-03  Bruno Haible  <bruno@clisp.org>
557
558         * lib/xreadlink.c: Include <unistd.h> unconditionally.
559         * modules/xreadlink (Depends-on): Add unistd.
560         * modules/xreadlink-with-size (Depends-on): Likewise.
561
562 2007-03-03  Bruno Haible  <bruno@clisp.org>
563
564         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
565         extracted from gt_FUNC_SETENV.
566         (gt_FUNC_SETENV): Remove macro.
567         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
568         remove gt_FUNC_SETENV.
569
570 2007-03-03  Bruno Haible  <bruno@clisp.org>
571
572         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
573         ENABLE_RELOCATABLE here.
574         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
575
576 2007-03-03  Bruno Haible  <bruno@clisp.org>
577
578         * modules/rbtreehash-list-tests (Depends-on): Add progname.
579         * tests/test-rbtreehash_list.c: Include progname.h.
580         (main): Call set_program_name.
581
582         * modules/rbtree-oset-tests (Depends-on): Add progname.
583         * tests/test-rbtree_oset.c: Include progname.h.
584         (main): Call set_program_name.
585
586         * modules/rbtree-list-tests (Depends-on): Add progname.
587         * tests/test-rbtree_list.c: Include progname.h.
588         (main): Call set_program_name.
589
590         * modules/linked-list-tests (Depends-on): Add progname.
591         * tests/test-linked_list.c: Include progname.h.
592         (main): Call set_program_name.
593
594 2007-03-03  Bruno Haible  <bruno@clisp.org>
595
596         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
597         All uses of __restrict changed to _Restrict_.
598         * lib/glob_.h (__restrict): Remove macro.
599
600 2007-03-02  Bruno Haible  <bruno@clisp.org>
601
602         * modules/gettext (configure.ac): Require gettext infrastructure
603         from version 0.16.1.
604
605 2007-03-02  Bruno Haible  <bruno@clisp.org>
606
607         * modules/linkedhash-list-tests (Depends-on): Add progname.
608         * tests/test-linkedhash_list.c: Include progname.h.
609         (main): Call set_program_name.
610
611         * modules/carray-list-tests (Depends-on): Add progname.
612         * tests/test-carray_list.c: Include progname.h.
613         (main): Call set_program_name.
614
615         * modules/avltreehash-list-tests (Depends-on): Add progname.
616         * tests/test-avltreehash_list.c: Include progname.h.
617         (main): Call set_program_name.
618
619         * modules/avltree-oset-tests (Depends-on): Add progname.
620         * tests/test-avltree_oset.c: Include progname.h.
621         (main): Call set_program_name.
622
623         * modules/avltree-list-tests (Depends-on): Add progname.
624         * tests/test-avltree_list.c: Include progname.h.
625         (main): Call set_program_name.
626
627         * modules/array-oset-tests (Depends-on): Add progname.
628         * tests/test-array_oset.c: Include progname.h.
629         (main): Call set_program_name.
630
631         * modules/array-list-tests (Depends-on): Add progname.
632         * tests/test-array_list.c: Include progname.h.
633         (main): Call set_program_name.
634
635         * modules/argp-tests (Depends-on): Add progname.
636         * tests/test-argp.c: Include argp.h first. Include progname.h.
637         (main): Call set_program_name.
638
639 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
640
641         * doc/gnulib-tool.texi (Initial import): Reword description of
642         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
643         limited effect even if defined after the first system include.
644
645 2007-03-01  Bruno Haible  <bruno@clisp.org>
646
647         * build-aux/config.libpath: Update to libtool-1.5.22.
648         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
649
650 2007-03-01  Bruno Haible  <bruno@clisp.org>
651
652         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
653         foo_CFLAGS.
654         Reported by Ralf Wildenhues.
655
656 2007-03-01  Bruno Haible  <bruno@clisp.org>
657
658         * build-aux/install-reloc: Remove object files left over by some
659         compilers.
660         Reported by Ralf Wildenhues.
661
662 2007-03-01  Bruno Haible  <bruno@clisp.org>
663
664         * build-aux/install-reloc: Break long lines.
665
666 2007-03-01  Bruno Haible  <bruno@clisp.org>
667
668         * doc/relocatable.texi: Document that it may not work on OpenBSD.
669         Reported by Ralf Wildenhues.
670
671 2007-03-01  Bruno Haible  <bruno@clisp.org>
672
673         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
674         include ordering constraints.
675
676 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
677
678         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
679         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
680         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
681         as another example.
682         * lib/time_.h: Fix misspelling.
683         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
684         Require gl_HEADER_TIME_H_DEFAULTS.
685         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
686         * m4/time_r.m4 (gl_TIME_R): Likewise.
687         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
688
689 2007-03-01  Bruno Haible  <bruno@clisp.org>
690
691         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
692         * m4/utimens.m4 (gl_UTIMENS): Likewise.
693
694 2007-03-01  Jim Meyering  <jim@meyering.net>
695
696         * modules/xreadlink (Maintainer): Add my name.
697         * modules/xreadlink-with-size (Depends-on): Alphabetize.
698
699 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
700             Bruno Haible  <bruno@clisp.org>
701
702         * build-aux/install-reloc: Compile also c-ctype.c.
703         * build-aux/relocatable.sh.in: New file.
704         * doc/relocatable.texi: New file.
705         * doc/relocatable-maint.texi: New file.
706         * doc/gnulib.texi: Include relocatable-maint.texi.
707         * lib/progreloc.c: Include unistd.h unconditionally.
708         * lib/relocwrapper.c: Include unistd.h unconditionally.
709         Include c-ctype.h.
710         (add_dotbin): Use c_tolower.
711         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
712         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
713         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
714         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
715         to m4/relocatable-lib.m4.
716         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
717         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
718         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
719         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
720         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
721         * modules/relocatable: New file.
722         * modules/relocatable-lib: New file.
723         * modules/relocatable-script: New file.
724
725 2007-02-28  Bruno Haible  <bruno@clisp.org>
726
727         Import --enable-relocatable infrastructure.
728         * build-aux/config.libpath: New file, from GNU gettext.
729         * build-aux/install-reloc: New file, from GNU gettext.
730         * build-aux/reloc-ldflags: New file, from GNU gettext.
731         * lib/relocatable.h: New file, from GNU gettext.
732         * lib/relocatable.c: New file, from GNU gettext.
733         * lib/relocwrapper.c: New file, from GNU gettext.
734         * m4/relocatable.m4: New file, from GNU gettext.
735
736 2007-02-28  Bruno Haible  <bruno@clisp.org>
737
738         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
739
740         * modules/xreadlink: New file, from GNU gettext with modifications.
741         * lib/xreadlink.c: New file, from GNU gettext.
742         * lib/xreadlink.h: Add comments.
743         (xreadlink): New declaration.
744
745         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
746         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
747         lib/xreadlink-with-size.c.
748         (configure.ac): Remove gl_XREADLINK invocation.
749         (Makefile.am): Augment lib_SOURCES.
750         * m4/xreadlink.m4: Remove file.
751         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
752         (xreadlink_with_size): Renamed from xreadink.
753         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
754         * modules/canonicalize (Depends-on): Replace xreadlink with
755         xreadlink-with-size.
756         * lib/canonicalize.c (canonicalize_filename_mode): Update.
757
758 2007-02-25  Jim Meyering  <jim@meyering.net>
759
760         * build-aux/announce-gen: When complaining about excess arguments,
761         list them.
762
763 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
764
765         * README: Document signed integer overflow situation more
766         accurately.
767
768 2007-02-25  Bruno Haible  <bruno@clisp.org>
769
770         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
771         'a' or 'A' conversion.
772
773 2007-02-25  Bruno Haible  <bruno@clisp.org>
774
775         * modules/filename: Renamed from modules/pathname.
776         (Files): Replace lib/pathname.h with lib/filename.h. Replace
777         lib/concatpath.c with lib/concat-filename.c.
778         (Makefile.am): Update.
779         (Include): Replace pathname.h with filename.h.
780         * lib/filename.h: Renamed from lib/pathname.h.
781         (concatenated_filename): Renamed from concatenated_pathname.
782         * lib/concat-filename.c: Renamed from lib/concatpath.c.
783         (concatenated_filename): Renamed from concatenated_pathname.
784         * lib/findprog.c: Include filename.h instead of pathname.h.
785         (find_in_path): Update.
786         * lib/javacomp.c: Include filename.h instead of pathname.h.
787         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
788         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
789         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
790         is_oldgcj_14_13_usable, is_javac_usable): Update.
791         * lib/javaexec.c: Include filename.h instead of pathname.h.
792         (execute_java_class): Update.
793         * modules/findprog: Update.
794         * modules/javacomp: Update.
795         * modules/javaexec: Update.
796         * MODULES.html.sh (File system functions): Add 'filename', remove
797         'pathname'.
798
799 2007-02-25  Bruno Haible  <bruno@clisp.org>
800
801         * modules/printf-frexpl-tests: New file.
802         * tests/test-printf-frexpl.c: New file.
803
804         * modules/printf-frexpl: New file.
805         * lib/printf-frexpl.h: New file.
806         * lib/printf-frexpl.c: New file.
807         * m4/printf-frexpl.m4: New file.
808
809 2007-02-25  Bruno Haible  <bruno@clisp.org>
810
811         * modules/printf-frexp-tests: New file.
812         * tests/test-printf-frexp.c: New file.
813
814         * modules/printf-frexp: New file.
815         * lib/printf-frexp.h: New file.
816         * lib/printf-frexp.c: New file.
817         * m4/printf-frexp.m4: New file.
818
819 2007-02-25  Bruno Haible  <bruno@clisp.org>
820
821         Assume automake >= 1.10 for the tests.
822         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
823         * modules/arctwo-tests: Likewise.
824         * modules/argp-tests: Likewise.
825         * modules/avltree-list-tests: Likewise.
826         * modules/avltree-oset-tests: Likewise.
827         * modules/avltreehash-list-tests: Likewise.
828         * modules/carray-list-tests: Likewise.
829         * modules/crc-tests: Likewise.
830         * modules/des-tests: Likewise.
831         * modules/gc-arcfour-tests: Likewise.
832         * modules/gc-arctwo-tests: Likewise.
833         * modules/gc-des-tests: Likewise.
834         * modules/gc-hmac-md5-tests: Likewise.
835         * modules/gc-hmac-sha1-tests: Likewise.
836         * modules/gc-md2-tests: Likewise.
837         * modules/gc-md4-tests: Likewise.
838         * modules/gc-md5-tests: Likewise.
839         * modules/gc-pbkdf2-sha1-tests: Likewise.
840         * modules/gc-rijndael-tests: Likewise.
841         * modules/gc-sha1-tests: Likewise.
842         * modules/gc-tests: Likewise.
843         * modules/getaddrinfo-tests: Likewise.
844         * modules/hmac-md5-tests: Likewise.
845         * modules/hmac-sha1-tests: Likewise.
846         * modules/linked-list-tests: Likewise.
847         * modules/linkedhash-list-tests: Likewise.
848         * modules/lock-tests: Likewise.
849         * modules/md2-tests: Likewise.
850         * modules/md4-tests: Likewise.
851         * modules/md5-tests: Likewise.
852         * modules/rbtree-list-tests: Likewise.
853         * modules/rbtree-oset-tests: Likewise.
854         * modules/rbtreehash-list-tests: Likewise.
855         * modules/read-file-tests: Likewise.
856         * modules/rijndael-tests: Likewise.
857         * modules/stdint-tests: Likewise.
858         * modules/tls-tests: Likewise.
859
860 2007-02-24  Bruno Haible  <bruno@clisp.org>
861
862         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
863         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
864         function; instead check whether isnan with a double argument links.
865         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
866         function; instead check whether isnan with a 'long double' argument
867         links.
868         Reported by Eric Blake <ebb9@byu.net>.
869
870 2007-02-24  Bruno Haible  <bruno@clisp.org>
871
872         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
873         defined.
874         * lib/isnanl.c: Remove all code. Just include isnan.c.
875         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
876
877 2007-02-25  Jim Meyering  <jim@meyering.net>
878
879         Avoid conflicting types for 'unsetenv' on FreeBSD.
880         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
881         conflicting with FreeBSD's (5.0 and 6.1) function declaration
882         in stdlib.h.
883
884 2007-02-24  Bruno Haible  <bruno@clisp.org>
885
886         * modules/isnanl-nolibm-tests: New file.
887         * tests/test-isnanl.c: New file.
888
889         * modules/isnanl-nolibm: New file.
890         * lib/isnanl.h: New file.
891         * lib/isnanl.c: New file.
892         * m4/isnanl.m4: New file.
893
894 2007-02-24  Bruno Haible  <bruno@clisp.org>
895
896         * modules/isnan-nolibm-tests: New file.
897         * tests/test-isnan.c: New file.
898
899         * modules/isnan-nolibm: New file.
900         * lib/isnan.h: New file.
901         * lib/isnan.c: New file.
902         * m4/isnan.m4: New file.
903
904 2007-02-24  Bruno Haible  <bruno@clisp.org>
905
906         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
907         assume that an exponent fits in 20 bits.
908
909 2007-02-24  Jim Meyering  <jim@meyering.net>
910
911         * m4/regex.m4: Update the description of the configure-time option,
912         --without-included-regex, to state accurately what the defaults are,
913         and perhaps to give people an idea why using this option is risky.
914
915 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
916
917         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
918         loops on small arguments.  This attempts to avoid the problem
919         Bruno Haible reported for AIX 4.3.2 in
920         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
921
922 2007-02-23  Bruno Haible  <bruno@clisp.org>
923
924         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
925         Needed for help2man.
926
927 2007-02-23  Karl Berry  <karl@gnu.org>
928
929         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
930         exists, foo.h should be cvs-ignored, not committed.
931
932 2007-02-23  Eric Blake  <ebb9@byu.net>
933
934         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
935         * lib/stat-time.h (includes): Likewise.
936         * lib/utimecmp.c (includes): Likewise.
937         * lib/utimens.h (includes): Likewise.
938         * lib/getdate.y (includes): Also include "timespec.h" for use
939         internal to the module.
940         * modules/utimens (Depends-on): Revert yesterday's patch.
941         * modules/nanosleep (Depends-on): Add missing dependency.
942
943 2007-02-22  Bruno Haible  <bruno@clisp.org>
944
945         * lib/glob.c: Don't include getlogin_r.h.
946
947 2007-02-22  Jim Meyering  <jim@meyering.net>
948
949         * modules/utimens (Depends-on): Add timespec, required for
950         utimens.h's inclusion of timespec.h.
951
952 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
953
954         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
955         long unreadable paths in GNU/Linux.  Problem reported by Andreas
956         Schwab in
957         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
958         I'll try to think of a better way to fix the Solaris problem.
959
960         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
961         like glibc; on Solaris 10, it fails with errno == EINVAL.
962         POSIX says the behavior is unspecified if the first argument is NULL,
963         so play it safe and never pass NULL to the system getcwd.
964
965 2007-02-21  Jim Meyering  <jim@meyering.net>
966
967         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
968         of gettimeofday.  It would conflict with the one now always
969         provided via sys_time_.h.  Reported by Matthew Woehlke, as
970         an IRIX 6.5 build failure.
971
972 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
973
974         Minor fixups to port to Solaris 10 with Sun C 5.8.
975         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
976         * modules/getcwd (Depends-on): Add dirfd.
977         * lib/putenv.c (putenv): #undef it.
978         (rpl_putenv): New decl.
979         (malloc, free): Include <stdlib.h> rather than prototyping separately.
980
981 2007-02-20  Bruno Haible  <bruno@clisp.org>
982
983         * modules/stdio-tests: New file.
984         * tests/test-stdio.c: New file.
985
986         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
987         (Depends-on): Add stdio.
988         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
989         (Include): Use <stdio.h> instead of vsnprintf.h.
990         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
991         HAVE_DECL_VSNPRINTF.
992         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
993
994         * modules/snprintf (Files): Remove lib/snprintf.h.
995         (Depends-on): Add stdio.
996         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
997         (Include): Use <stdio.h> instead of snprintf.h.
998         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
999         HAVE_DECL_SNPRINTF.
1000         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
1001         * lib/getaddrinfo.c: Likewise.
1002
1003         * modules/stdio: New file.
1004         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
1005         * lib/snprintf.h: Remove file.
1006         * lib/vsnprintf.h: Remove file.
1007         * lib/.cppi-disable: Remove snprintf.h.
1008         * m4/stdio_h.m4: New file.
1009         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
1010
1011 2007-02-20  Jim Meyering  <jim@meyering.net>
1012
1013         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
1014         used by e.g., mingw.  From Bruno Haible.
1015
1016 2007-02-19  Bruno Haible  <bruno@clisp.org>
1017
1018         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
1019         warnings.
1020         Reported by Ben Pfaff <blp@cs.stanford.edu>.
1021
1022 2007-02-19  Bruno Haible  <bruno@clisp.org>
1023
1024         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
1025         from mingw users.
1026
1027 2007-02-19  Bruno Haible  <bruno@clisp.org>
1028
1029         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
1030         warnings.
1031         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
1032
1033 2007-02-19  Jim Meyering  <jim@meyering.net>
1034
1035         Don't use FD after a successful "fdopendir (fd)".
1036         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
1037         Reset it by calling dirfd on the just-obtained DIR*.
1038
1039         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
1040         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
1041
1042 2007-02-18  Bruno Haible  <bruno@clisp.org>
1043
1044         * lib/readlink.c: Include <unistd.h>.
1045         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
1046         HAVE_READLINK.
1047         * modules/readlink (Depends-on): Add unistd.
1048         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1049         (Include): Add <unistd.h>.
1050
1051         * lib/getlogin_r.h: Remove file.
1052         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
1053         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
1054         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
1055         HAVE_DECL_GETLOGIN_R.
1056         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
1057         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1058         (Include): Use <unistd.h> instead of getlogin_r.h.
1059
1060         * lib/getcwd.h: Remove file.
1061         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
1062         * lib/xgetcwd.c: Likewise.
1063         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
1064         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
1065         * modules/getcwd (Files): Remove lib/getcwd.h.
1066         (Depends-on): Add unistd.
1067         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1068         (Include): Use <unistd.h> instad of getcwd.h.
1069
1070         * lib/ftruncate.c: Include <unistd.h> first.
1071         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
1072         Set HAVE_FTRUNCATE.
1073         * modules/ftruncate (Depends-on): Add unistd.
1074         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1075
1076         * lib/fchdir.c: Include <unistd.h> first.
1077         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
1078         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
1079         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
1080         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1081         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
1082
1083         * lib/dup2.c: Include <unistd.h> first.
1084         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
1085         HAVE_DUP2.
1086         * modules/dup2 (Depends-on): Add unistd.
1087         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1088
1089         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
1090         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
1091         REPLACE_CHOWN. Don't define chown as a macro here.
1092         * modules/chown (Depends-on): Add unistd.
1093         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1094
1095         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
1096         Add definition for GL_LINK_WARNING.
1097         (chown, dup2): New declarations.
1098         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
1099         link warning.
1100         (ftruncate): New declaration.
1101         (getcwd): New declaration, taken from old getcwd.h.
1102         (getlogin_r): New declaration, taken from old getlogin_r.h.
1103         (readlink): New declaration.
1104         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
1105         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
1106         (gl_PREREQ_UNISTD): Remove macro.
1107         (gl_UNISTD_MODULE_INDICATOR): New macro.
1108         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
1109         many new variables. Don't set UNISTD_H.
1110         * modules/unistd (Description): Change.
1111         (Depends-on): Add link-warning.
1112         (configure.ac): Update.
1113         (Makefile.am): Create unistd.h always. Substitute many new variables
1114         into it.
1115
1116 2007-02-18  Bruno Haible  <bruno@clisp.org>
1117
1118         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
1119         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
1120         HAVE_GETSUBOPT.
1121         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
1122         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
1123         * lib/getsubopt.h: Remove file.
1124         * modules/getsubopt (Files): Remove lib/getsubopt.h.
1125         (Depends-on): Add stdlib.
1126         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
1127         (Includes): Use <stdlib.h> instead of getsubopt.h.
1128         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
1129         Set HAVE_GETSUBOPT.
1130         * lib/getsubopt.c: Don't include getsubopt.h.
1131
1132 2007-02-18  Bruno Haible  <bruno@clisp.org>
1133
1134         * modules/fchdir (Depends-on): Add dup2.
1135
1136 2007-02-18  Bruno Haible  <bruno@clisp.org>
1137
1138         * lib/stdlib_.h: Handle glibc's special invocation convention
1139         specially.
1140
1141 2007-02-18  Bruno Haible  <bruno@clisp.org>
1142
1143         * modules/stdlib-tests: New file.
1144         * tests/test-stdlib.c: New file.
1145
1146         * modules/mkstemp (Files): Remove lib/mkstemp.h.
1147         (Depends-on): Add stdlib.
1148         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
1149         (Includes): Use <stdlib.h> instead of mkstemp.h.
1150         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
1151         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
1152         * lib/mkstemp.c: Don't include mkstemp.h.
1153         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
1154         * lib/stdlib--.h: Don't include mkstemp.h.
1155
1156         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
1157         (Depends-on): Add stdlib.
1158         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
1159         (Includes): Use <stdlib.h> instead of mkdtemp.h.
1160         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
1161         HAVE_MKDTEMP.
1162         * lib/mkdtemp.c: Don't include mkdtemp.h.
1163         * lib/clean-temp.c: Don't include mkdtemp.h.
1164
1165         * modules/exit (Files): Remove lib/exit.h.
1166         (Depends-on): Add stdlib.
1167         (Makefile.am): Remove lib_SOURCES.
1168         (Include): Use <stdlib.h> instead of exit.h.
1169         * lib/argmatch.c: Don't include exit.h.
1170         * lib/execute.c: Likewise.
1171         * lib/pagealign_alloc.c: Likewise.
1172         * lib/pipe.c: Likewise.
1173         * lib/wait-process.c: Likewise.
1174         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
1175         * lib/exitfail.c: Likewise.
1176         * lib/savewd.c: Likewise.
1177         * lib/xsetenv.c: Likewise.
1178
1179         * modules/stdlib: New file.
1180         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
1181         and extra comments about mkstemp().
1182         * lib/exit.h: Remove file.
1183         * lib/mkdtemp.h: Remove file.
1184         * lib/mkstemp.h: Remove file.
1185         * m4/stdlib_h.m4: New file.
1186         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
1187
1188 2007-02-18  Bruno Haible  <bruno@clisp.org>
1189
1190         * modules/math-tests: New file.
1191         * tests/test-math.c: New file.
1192
1193         * modules/math: New file.
1194         * modules/mathl (Files): Remove lib/mathl.h.
1195         (Depends-on): Add math.
1196         (Makefile.am): Don't mention mathl.h.
1197         (Include): Use <math.h> instead of mathl.h.
1198         * lib/math_.h: New file.
1199         * lib/mathl.h: Remove file.
1200         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
1201         mathl.h.
1202         * lib/asinl.c: Likewise.
1203         * lib/atanl.c: Likewise.
1204         * lib/ceill.c: Likewise.
1205         * lib/cosl.c: Likewise.
1206         * lib/expl.c: Likewise.
1207         * lib/floorl.c: Likewise.
1208         * lib/frexpl.c: Likewise.
1209         * lib/ldexpl.c: Likewise.
1210         * lib/logl.c: Likewise.
1211         * lib/sincosl.c: Likewise.
1212         * lib/sinl.c: Likewise.
1213         * lib/sqrtl.c: Likewise.
1214         * lib/tanl.c: Likewise.
1215         * lib/trigl.c: Likewise.
1216         * m4/math_h.m4: New file.
1217         * MODULES.html.sh (Mathematics): Add math.
1218
1219 2007-02-17  Bruno Haible  <bruno@clisp.org>
1220
1221         * modules/wctype-tests: New file.
1222         * tests/test-wctype.c: New file.
1223
1224         * modules/wchar-tests: New file.
1225         * tests/test-wchar.c: New file.
1226
1227         * modules/unistd-tests: New file.
1228         * tests/test-unistd.c: New file.
1229
1230         * modules/time-tests: New file.
1231         * tests/test-time.c: New file.
1232
1233         * modules/sysexits-tests: New file.
1234         * tests/test-sysexits.c: New file.
1235
1236         * modules/sys_time-tests: New file.
1237         * tests/test-sys_time.c: New file.
1238
1239         * modules/sys_stat-tests: New file.
1240         * tests/test-sys_stat.c: New file.
1241
1242         * modules/sys_socket-tests: New file.
1243         * tests/test-sys_socket.c: New file.
1244
1245         * modules/sys_select-tests: New file.
1246         * tests/test-sys_select.c: New file.
1247
1248         * modules/string-tests: New file.
1249         * tests/test-string.c: New file.
1250
1251         * modules/stdbool-tests: New file.
1252         * tests/test-stdbool.c: New file.
1253
1254         * modules/netinet_in-tests: New file.
1255         * tests/test-netinet_in.c: New file.
1256
1257         * modules/inttypes-tests: New file.
1258         * tests/test-inttypes.c: New file.
1259
1260         * modules/fcntl-tests: New file.
1261         * tests/test-fcntl.c: New file.
1262
1263         * modules/byteswap-tests: New file.
1264         * tests/test-byteswap.c: New file.
1265
1266         * modules/arpa_inet-tests: New file.
1267         * tests/test-arpa_inet.c: New file.
1268
1269 2007-02-17  Bruno Haible  <bruno@clisp.org>
1270
1271         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
1272         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
1273         if the corresponding module is not enabled. Emit link warnings if
1274         the function is used nevertheless.
1275         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
1276         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
1277         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
1278         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
1279         * modules/inttypes (Depends-on): Add link-warning.
1280         (Makefile.am): Copy the contents of build-aux/link-warning.h into
1281         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
1282         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
1283         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
1284         * modules/imaxdiv (configure.ac): Likewise.
1285         * modules/strtoimax (configure.ac): Likewise.
1286         * modules/strtoumax (configure.ac): Likewise.
1287
1288 2007-02-17  Bruno Haible  <bruno@clisp.org>
1289
1290         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
1291         gl_STRING_MODULE_INDICATOR_DEFAULTS.
1292         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
1293         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
1294
1295 2007-02-17  Bruno Haible  <bruno@clisp.org>
1296
1297         * modules/link-warning: New file.
1298         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
1299         * lib/string_.h (GL_LINK_WARNING): Remove definition.
1300         * modules/string (Depends-on): Add link-warning.
1301         (Makefile.am): Copy the contents of build-aux/link-warning.h into
1302         string.h.
1303         * MODULES.html.sh (Support for building libraries and executables): Add
1304         link-warning.
1305
1306 2007-02-17  Bruno Haible  <bruno@clisp.org>
1307
1308         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
1309         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
1310         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
1311         long lines.
1312
1313 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
1314             Bruno Haible  <bruno@clisp.org>
1315
1316         * modules/tmpfile: New file.
1317         * lib/tmpfile.c: New file.
1318         * m4/tmpfile.m4: New file.
1319         * MODULES.html.sh (func_all_modules): New section "Input/output".
1320
1321 2007-02-15  Bruno Haible  <bruno@clisp.org>
1322
1323         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
1324         (supports_delete_on_close): New function.
1325         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
1326
1327 2007-02-14  Bruno Haible  <bruno@clisp.org>
1328
1329         * modules/mbspcasecmp-tests: New file.
1330         * tests/test-mbspcasecmp.sh: New file.
1331         * tests/test-mbspcasecmp.c: New file.
1332
1333         New module mbspcasecmp.
1334         * modules/mbspcasecmp: New file.
1335         * lib/mbspcasecmp.c: New file.
1336         * lib/string_.h (strncasecmp): Change warning message.
1337         (mbspcasecmp): New declaration.
1338         * m4/mbspcasecmp.m4: New file.
1339         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1340         GNULIB_MBSPCASECMP.
1341         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
1342         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
1343
1344 2007-02-14  Bruno Haible  <bruno@clisp.org>
1345
1346         * modules/mbsncasecmp-tests: New file.
1347         * tests/test-mbsncasecmp.sh: New file.
1348         * tests/test-mbsncasecmp.c: New file.
1349
1350         New module mbsncasecmp.
1351         * modules/mbsncasecmp: New file.
1352         * lib/mbsncasecmp.c: New file.
1353         * lib/string_.h (mbsncasecmp): New declaration.
1354         * m4/mbsncasecmp.m4: New file.
1355         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1356         GNULIB_MBSNCASECMP.
1357         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
1358         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
1359
1360 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
1361
1362         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
1363         Verify that it doesn't overlap with our flags.
1364         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
1365         do not have the desired effect in multibyte locales; instead, use
1366         mbscasecmp.
1367         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
1368         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
1369         we don't require GNU fnmatch ourselves (if our users require it, they
1370         should do so explicitly).
1371
1372         Fix regex code so it doesn't rely on strcasecmp.
1373         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
1374         Otherwise, include gnulib's langinfo.h.
1375         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
1376         undesirable behavior in non-C locales.  Instead, rely on localecharset.
1377         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
1378         * modules/regex (FILES): Remove m4/codeset.m4.
1379         (Depends-on): Add localcharset.  Remove strcase.
1380
1381 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1382
1383         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
1384         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
1385
1386 2007-02-13  Bruno Haible  <bruno@clisp.org>
1387
1388         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
1389         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1390
1391 2007-02-12  Bruno Haible  <bruno@clisp.org>
1392
1393         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
1394         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
1395         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
1396         time warning rather than a link error.
1397
1398 2007-02-12  Bruno Haible  <bruno@clisp.org>
1399
1400         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
1401         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
1402         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1403
1404 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1405
1406         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
1407         args, not 2.
1408
1409 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1410
1411         New module 'time', so that apps can include <time.h> as per
1412         POSIX and GNU instead of separate include files like time_r.h
1413         and timegm.h.  This implementation tries out a simpler approach
1414         for replacing decls in standard include files (as compared to
1415         the string module), somewhat as an experiment.
1416
1417         * config/srclist.txt: Comment out mktime.c for now.
1418         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
1419         since it doesn't apply any more.  Use generic wording instead.
1420         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
1421         'time'.
1422         * lib/time_.h, m4/time_h.m4, modules/time: New files.
1423         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
1424         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
1425         Don't include <sys/types.h>; no longer needed since we assume C89.
1426         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
1427         * lib/strftime.c: Likewise.
1428         * lib/time_r.c: Likewise.
1429         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
1430         * lib/nanosleep.c: Include <time.h> first, to check interface.
1431         * lib/strptime.c: Likewise.
1432         * lib/time_r.c: Likewise.
1433         * lib/timegm.c: Likewise.
1434         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
1435         needed.
1436         * lib/timegm.c: Don't include timegm.h; no longer needed.
1437         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
1438         time.h now handles any problems in that area.
1439         (struct timespec, nanosleep): Remove; time.h now arranges for these.
1440         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
1441         that time.h defines struct timespec.
1442         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
1443         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
1444         handles that.
1445         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
1446         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
1447         needed.  Set REPLACE_LOCALTIME.
1448         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
1449         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
1450         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
1451         nanosleep; time_h.m4 now does that.  Don't require
1452         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
1453         module handles this now.
1454         * modules/getdate (Depends-on): Remove timespec.  Add time.
1455         * modules/nanosleep (Depends-on): Likewise.
1456         * modules/stat-time (Depends-on): Likewise.
1457         * modules/nanosleep (Include): Include time.h, not timespec.h.
1458         * modules/strptime (Files): Remove lib/strptime.h.
1459         (Depends-on): Add extensions, time.
1460         (Include): Include time.h, not strptime.h.
1461         * modules/time_r (Files): Remove lib/time_r.h.
1462         (Depends-on): Add time.
1463         (Include): Include time.h, not time_r.h.
1464         * modules/timegm: Likewise.
1465         * modules/timespec (Description): Now does timespec-related decls
1466         of our own, instead of struct timespec itself.
1467         (Depends-on): Add time; remove extensions.
1468         (Maintainer): Add self.
1469         * modules/utimecmp (Depends-on): Add time; remove timespec.
1470         * modules/utimens (Depends-on): Likewise.
1471         * modules/xnanosleep (Depends-on): Likewise.
1472
1473 2007-02-11  Bruno Haible  <bruno@clisp.org>
1474
1475         * lib/c-strstr.c: Include allocsa.h.
1476         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1477         * lib/c-strcasestr.c: Include allocsa.h.
1478         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1479         * lib/strcasestr.c: Include allocsa.h.
1480         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1481         * lib/mbsstr.c: Include allocsa.h.
1482         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
1483         allocsa/freesa instead of malloc/free.
1484         * lib/mbscasestr.c: Include allocsa.h.
1485         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
1486         allocsa/freesa instead of malloc/free.
1487         * modules/c-strstr (Depends-on): Add allocsa.
1488         * modules/c-strcasestr (Depends-on): Likewise.
1489         * modules/strcasestr (Depends-on): Likewise.
1490         * modules/mbsstr (Depends-on): Likewise.
1491         * modules/mbscasestr (Depends-on): Likewise.
1492
1493 2007-02-11  Bruno Haible  <bruno@clisp.org>
1494
1495         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
1496
1497         * modules/mbsspn-tests: New file.
1498         * tests/test-mbsspn.sh: New file.
1499         * tests/test-mbsspn.c: New file.
1500
1501 2007-02-11  Bruno Haible  <bruno@clisp.org>
1502
1503         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
1504
1505         * modules/mbspbrk-tests: New file.
1506         * tests/test-mbspbrk.sh: New file.
1507         * tests/test-mbspbrk.c: New file.
1508
1509 2007-02-11  Bruno Haible  <bruno@clisp.org>
1510
1511         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
1512         unneeded cast.
1513
1514         * modules/mbscspn-tests: New file.
1515         * tests/test-mbscspn.sh: New file.
1516         * tests/test-mbscspn.c: New file.
1517
1518 2007-02-11  Bruno Haible  <bruno@clisp.org>
1519
1520         * modules/mbscasecmp-tests: New file.
1521         * tests/test-mbscasecmp.sh: New file.
1522         * tests/test-mbscasecmp.c: New file.
1523
1524 2007-02-11  Bruno Haible  <bruno@clisp.org>
1525
1526         Ensure O(n) worst-case complexity of mbscasestr.
1527         * lib/mbscasestr.c: Include stdbool.h.
1528         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
1529         functions.
1530         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
1531         the bookkeeping indicates that it's worth it.
1532         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
1533
1534         * modules/mbscasestr-tests: New file.
1535         * tests/test-mbscasestr1.c: New file.
1536         * tests/test-mbscasestr2.sh: New file.
1537         * tests/test-mbscasestr2.c: New file.
1538         * tests/test-mbscasestr3.sh: New file.
1539         * tests/test-mbscasestr3.c: New file.
1540         * tests/test-mbscasestr4.sh: New file.
1541         * tests/test-mbscasestr4.c: New file.
1542         * m4/locale-tr.m4: New file.
1543
1544 2007-02-11  Bruno Haible  <bruno@clisp.org>
1545
1546         Ensure O(n) worst-case complexity of mbsstr.
1547         * lib/mbsstr.c: Include stdbool.h.
1548         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
1549         functions.
1550         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
1551         bookkeeping indicates that it's worth it.
1552         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
1553
1554         * modules/mbsstr-tests: New file.
1555         * tests/test-mbsstr1.c: New file.
1556         * tests/test-mbsstr2.sh: New file.
1557         * tests/test-mbsstr2.c: New file.
1558         * tests/test-mbsstr3.sh: New file.
1559         * tests/test-mbsstr3.c: New file.
1560         * m4/locale-fr.m4: New file.
1561
1562 2007-02-11  Bruno Haible  <bruno@clisp.org>
1563
1564         * lib/mbsrchr.c (mbsrchr): Fix bug.
1565
1566         * modules/mbsrchr-tests: New file.
1567         * tests/test-mbsrchr.sh: New file.
1568         * tests/test-mbsrchr.c: New file.
1569
1570 2007-02-11  Bruno Haible  <bruno@clisp.org>
1571
1572         * lib/mbschr.c (mbschr): Fix bug.
1573
1574         * modules/mbschr-tests: New file.
1575         * tests/test-mbschr.sh: New file.
1576         * tests/test-mbschr.c: New file.
1577         * m4/locale-zh.m4: New file.
1578
1579 2007-02-11  Bruno Haible  <bruno@clisp.org>
1580
1581         Support for copying multibyte string iterators.
1582         * lib/mbiter.h: Include <string.h>.
1583         (mbiter_multi_copy): New function.
1584         (mbi_copy): New macro.
1585         * lib/mbuiter.h: Include <string.h>.
1586         (mbuiter_multi_copy): New function.
1587         (mbui_copy): New macro.
1588
1589 2007-02-11  Bruno Haible  <bruno@clisp.org>
1590
1591         New module mbslen.
1592         * modules/mbslen: New file.
1593         * lib/mbslen.c: New file.
1594         * lib/string_.h (mbslen): New declaration.
1595         * m4/mbslen.m4: New file.
1596         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1597         GNULIB_MBSLEN.
1598         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
1599         * MODULES.html.sh (Internationalization functions): Add mbslen.
1600
1601 2007-02-11  Bruno Haible  <bruno@clisp.org>
1602
1603         Ensure O(n) worst-case complexity of strcasestr substitute.
1604         * lib/strcasestr.c: Include stdbool.h.
1605         (knuth_morris_pratt): New function.
1606         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
1607         bookkeeping indicates that it's worth it.
1608         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
1609
1610         * modules/strcasestr-tests: New file.
1611         * tests/test-strcasestr.c: New file.
1612
1613 2007-02-11  Bruno Haible  <bruno@clisp.org>
1614
1615         Ensure O(n) worst-case complexity of c_strcasestr.
1616         * lib/c-strcasestr.c: Include stdbool.h, string.h.
1617         (knuth_morris_pratt): New function.
1618         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
1619         the bookkeeping indicates that it's worth it.
1620         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
1621
1622         * modules/c-strcasestr-tests: New file.
1623         * tests/test-c-strcasestr.c: New file.
1624
1625 2007-02-11  Bruno Haible  <bruno@clisp.org>
1626
1627         Ensure O(n) worst-case complexity of c_strstr.
1628         * lib/c-strstr.c: Include stdbool.h, string.h.
1629         (knuth_morris_pratt): New function.
1630         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
1631         bookkeeping indicates that it's worth it.
1632         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
1633
1634         * lib/c-strstr.c: Complete rewrite for maintainability.
1635
1636         * modules/c-strstr-tests: New file.
1637         * tests/test-c-strstr.c: New file.
1638
1639 2007-02-11  Bruno Haible  <bruno@clisp.org>
1640
1641         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
1642         5.2.1 and earlier, whereby \055 was treated just like the range
1643         delimiter '-'.
1644         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
1645
1646 2007-02-08  Bruno Haible  <bruno@clisp.org>
1647
1648         * modules/regex (Depends-on): Add stdbool.
1649         Reported by Dalibor Topic <robilad@kaffe.org>.
1650
1651 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
1652
1653         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
1654         Prefer returning from main to exiting from it.
1655         Remove unnecessary parens after sizeof.
1656
1657 2007-02-05  Bruno Haible  <bruno@clisp.org>
1658
1659         New module mbssep.
1660         * modules/mbssep: New file.
1661         * lib/mbssep.c: New file.
1662         * lib/string_.h (strsep): Add a conditional link warning.
1663         (mbssep): New declaration.
1664         * m4/mbssep.m4: New file.
1665         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1666         GNULIB_MBSSEP.
1667         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
1668         * MODULES.html.sh (Internationalization functions): Add mbssep.
1669
1670 2007-02-05  Bruno Haible  <bruno@clisp.org>
1671
1672         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
1673         Optimize search in case of 1 delimiter.
1674
1675 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1676
1677         * lib/acl.h: Include sys/types.h before sys/acl.h.
1678
1679 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1680
1681         Merge upstream fix for glibc bugzilla #3957:
1682
1683         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
1684
1685         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
1686         bit for RE_HAT_LISTS_NOT_NEWLINE.
1687         (build_charclass_op): Remove bogus comment.
1688
1689 2007-02-05  Simon Josefsson  <simon@josefsson.org>
1690
1691         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
1692
1693 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1694
1695         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
1696         * lib/memmem.c [!defined _LIBC]: Include config.h.
1697
1698 2007-02-04  Bruno Haible  <bruno@clisp.org>
1699
1700         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
1701         warning message.
1702
1703 2007-02-04  Bruno Haible  <bruno@clisp.org>
1704
1705         New module mbstok_r.
1706         * modules/mbstok_r: New file.
1707         * lib/mbstok_r.c: New file.
1708         * lib/string_.h (strtok_r): Change argument names to match the
1709         comments. Add a conditional link warning.
1710         (mbstok_r): New declaration.
1711         * m4/mbstok_r.m4: New file.
1712         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1713         GNULIB_MBSTOK_R.
1714         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
1715         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
1716
1717 2007-02-04  Bruno Haible  <bruno@clisp.org>
1718
1719         New module mbsspn.
1720         * modules/mbsspn: New file.
1721         * lib/mbsspn.c: New file.
1722         * lib/string_.h (strspn): Add a conditional link warning.
1723         (mbsspn): New declaration.
1724         * m4/mbsspn.m4: New file.
1725         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1726         GNULIB_MBSSPN.
1727         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
1728         * MODULES.html.sh (Internationalization functions): Add mbsspn.
1729
1730 2007-02-04  Bruno Haible  <bruno@clisp.org>
1731
1732         New module mbspbrk.
1733         * modules/mbspbrk: New file.
1734         * lib/mbspbrk.c: New file.
1735         * lib/string_.h (strpbrk): Add a conditional link warning.
1736         (mbspbrk): New declaration.
1737         * m4/mbspbrk.m4: New file.
1738         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1739         GNULIB_MBSPBRK.
1740         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
1741         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
1742
1743 2007-02-04  Bruno Haible  <bruno@clisp.org>
1744
1745         New module mbscspn.
1746         * modules/mbscspn: New file.
1747         * lib/mbscspn.c: New file.
1748         * lib/string_.h (strcspn): Add a conditional link warning.
1749         (mbscspn): New declaration.
1750         * m4/mbscspn.m4: New file.
1751         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1752         GNULIB_MBSCSPN.
1753         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
1754         * MODULES.html.sh (Internationalization functions): Add mbscspn.
1755
1756 2007-02-04  Bruno Haible  <bruno@clisp.org>
1757
1758         New module mbscasestr, reduced goal of strcasestr.
1759         * modules/mbscasestr: New file.
1760         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
1761         (mbscasestr): Renamed from strcasestr.
1762         * lib/strcasestr.c: Don't include mbuiter.h.
1763         (strcasestr): Remove support for multibyte locales.
1764         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
1765         Change the conditional link warning.
1766         (mbscasestr): New declaration.
1767         * m4/mbscasestr.m4: New file.
1768         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
1769         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
1770         REPLACE_STRCASESTR.
1771         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
1772         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1773         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1774         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
1775         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
1776         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1777         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
1778         (Depends-on): Remove mbuiter.
1779         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
1780
1781 2007-02-04  Bruno Haible  <bruno@clisp.org>
1782
1783         Simplify handling of strncasecmp.
1784         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
1785         the conditional link warning.
1786         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1787         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
1788         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
1789         * modules/strcase (configure.ac): Don't invoke
1790         gl_STRING_MODULE_INDICATOR.
1791         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
1792
1793 2007-02-04  Bruno Haible  <bruno@clisp.org>
1794
1795         New module mbscasecmp, reduced goal of strcasecmp.
1796         * modules/mbscasecmp: New file.
1797         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
1798         (mbscasecmp): Renamed from strcasecmp.
1799         * lib/strcasecmp.c: Don't include mbuiter.h.
1800         (strcasecmp): Remove support for multibyte locales.
1801         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
1802         Change the conditional link warning.
1803         (mbscasecmp): New declaration.
1804         * m4/mbscasecmp.m4: New file.
1805         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
1806         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
1807         REPLACE_STRCASECMP.
1808         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
1809         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1810         GNULIB_MBSCASECMP.
1811         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
1812         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
1813         * modules/strcase (Files): Remove m4/mbrtowc.m4.
1814         (Depends-on): Remove mbuiter.
1815         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
1816
1817 2007-02-04  Bruno Haible  <bruno@clisp.org>
1818
1819         New module mbsstr. Remove module strstr.
1820         * modules/mbsstr: New file.
1821         * modules/strstr: Remove file.
1822         * lib/mbsstr.c: Renamed from lib/strstr.c.
1823         (mbsstr): Renamed from strstr.
1824         * lib/string_.h (strstr): Remove declaration. Change the conditional
1825         link warning.
1826         (mbsstr): New declaration.
1827         * m4/mbsstr.m4: New file.
1828         * m4/strstr.m4: Remove file.
1829         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
1830         REPLACE_STRSTR.
1831         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
1832         Don't initialize GNULIB_STRSTR.
1833         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
1834         substitute GNULIB_STRSTR and REPLACE_STRSTR.
1835         * MODULES.html.sh (Internationalization functions): Add mbsstr.
1836         (Support for systems lacking ANSI C 89): Remove strstr.
1837
1838 2007-02-04  Bruno Haible  <bruno@clisp.org>
1839
1840         New module mbsrchr.
1841         * modules/mbsrchr: New file.
1842         * lib/mbsrchr.c: New file.
1843         * lib/string_.h (strrchr): Add a conditional link warning.
1844         (mbsrchr): New declaration.
1845         * m4/mbsrchr.m4: New file.
1846         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1847         GNULIB_MBSRCHR.
1848         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
1849         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
1850
1851 2007-02-04  Bruno Haible  <bruno@clisp.org>
1852
1853         New module mbschr.
1854         * modules/mbschr: New file.
1855         * lib/mbschr.c: New file.
1856         * lib/string_.h (strchr): Add a conditional link warning.
1857         (mbschr): New declaration.
1858         * m4/mbschr.m4: New file.
1859         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1860         GNULIB_MBSCHR.
1861         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
1862         * MODULES.html.sh (Internationalization functions): Add mbschr.
1863
1864 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1865
1866         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
1867
1868         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
1869
1870 2007-02-04  Bruno Haible  <bruno@clisp.org>
1871
1872         New module description section 'configure.ac-early'.
1873         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
1874         (func_get_autoconf_early_snippet): New function.
1875         (func_import, func_create_testdir): Use it. Remove special cases for
1876         modules 'extensions' and 'lock'.
1877         * modules/extensions (configure.ac-early): Require
1878         gl_USE_SYSTEM_EXTENSIONS.
1879         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
1880
1881 2007-02-04  Bruno Haible  <bruno@clisp.org>
1882
1883         Make use of gcj-4.3's -fsource and -ftarget option.
1884         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
1885         and if so try the options -fsource and -ftarget.
1886         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
1887         source_version, ftarget_option, target_version arguments.
1888         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
1889         (is_envjavac_oldgcj_14_14_usable): Renamed from
1890         is_envjavac_gcj_14_14_usable.
1891         (is_envjavac_oldgcj_14_13_usable): Renamed from
1892         is_envjavac_gcj_14_13_usable.
1893         (is_gcj_present): Update.
1894         (is_gcj_43, is_gcj43_usable): New functions.
1895         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
1896         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
1897         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
1898         try the options -fsource and -ftarget.
1899
1900 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1901
1902         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
1903         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
1904         larger value.
1905
1906 2007-02-03  Jim Meyering  <jim@meyering.net>
1907
1908         Give tools a better chance to allocate space for very large buffers.
1909         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
1910
1911         Make pwd and readlink work also when run with an unreadable parent dir
1912         on systems with openat support.
1913         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
1914         provided getcwd function, even when we have openat support.
1915         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
1916
1917 2007-02-02  Bruno Haible  <bruno@clisp.org>
1918
1919         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
1920         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
1921         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
1922         portability problems if one of these functions is only used on specific
1923         platforms.
1924         Reported by Paul Eggert.
1925
1926 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1927
1928         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
1929         is causing more trouble than it's curing.
1930         * lib/regex_internal.h (__mempcpy): Remove.
1931         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
1932         (and make the code a tad smaller to boot).
1933         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
1934
1935 2007-02-02  Jim Meyering  <jim@meyering.net>
1936
1937         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
1938         section, not in the Makefile.am: one.
1939
1940 2007-02-02  Eric Blake  <ebb9@byu.net>
1941
1942         * lib/strchrnul.c: Always include config.h first.
1943
1944         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
1945         gnulib strstr is not necessary here.
1946
1947 2007-02-02  Simon Josefsson  <simon@josefsson.org>
1948
1949         * m4/socklen.m4: Fix typo.
1950
1951 2007-02-02  Eric Blake  <ebb9@byu.net>
1952
1953         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
1954         * modules/netinet_in (Makefile.am): Likewise.
1955
1956 2007-02-01  Bruno Haible  <bruno@clisp.org>
1957
1958         * lib/string_.h (GL_LINK_WARNING): New macro.
1959         (strcasecmp, strstr, strcasestr): If provided by the system,
1960         conditionally define as a macro that leads to a warning instead of to
1961         an error.
1962         (strncasecmp): Conditionally define as a macro that leads to a warning.
1963
1964 2007-02-01  Karl Berry  <karl@gnu.org>
1965
1966         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
1967
1968 2007-02-01  Bruno Haible  <bruno@clisp.org>
1969
1970         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
1971         renamings.
1972
1973 2007-02-01  Eric Blake  <ebb9@byu.net>
1974
1975         * modules/regex (Depends-on): Revert dependence on mempcpy.
1976         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
1977         module's definition of mempcpy.
1978         Reported by Paul Eggert.
1979
1980 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
1981
1982         * lib/string_.h: If the gnulib module XYZ is not present, undefine
1983         the symbol XYZ before redefining it.  This fixes a problem with
1984         programs that don't use XYZ, when compiled on systems that define
1985         XYZ to something else.
1986
1987 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1988
1989         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
1990         occurs when "mkdir -m foo" creates a setgid directory that is (1)
1991         writeable to group or other and (2) is intended to have a special
1992         mode bit that is set or cleared.  In such a case, the directory
1993         should be neither group- nor other-writeable until the special
1994         mode bits are right.
1995
1996 2007-01-31  Eric Blake  <ebb9@byu.net>
1997
1998         * modules/mountlist (Depends-on): Add strstr.
1999
2000         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
2001         bug.
2002         * modules/string (Makefile.am): Remove redundant replacement.
2003         * modules/regex (Depends-on): Add mempcpy.
2004
2005 2007-01-31  Bruno Haible  <bruno@clisp.org>
2006
2007         New module description field 'Link'.
2008         * gnulib-tool (func_usage): Document --extract-link-directive.
2009         (sed_extract_prog): Recognize 'Link' directive.
2010         (func_get_link_directive): New function.
2011         (func_import): Show summary of link directives.
2012         Handle --extract-link-directive option.
2013         * modules/acl (Link): New section.
2014         * modules/clock-time (Link): New section.
2015         * modules/euidaccess (Link): New section.
2016         * modules/gettext (Link): New section.
2017         * modules/iconv (Link): New section.
2018         * modules/lock (Link): New section.
2019         * modules/nanosleep (Link): New section.
2020         * modules/readline (Link): New section.
2021
2022 2007-01-27  Bruno Haible  <bruno@clisp.org>
2023
2024         Enforce the use of gnulib modules for unportable <string.h> functions.
2025         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
2026         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
2027         (gl_HEADER_STRING_H_BODY): Require it.
2028         * lib/string_.h: If the gnulib module XYZ is not present, redefine
2029         the symbol XYZ to one that gives a link error.
2030         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
2031         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
2032         * modules/mempcpy (configure.ac): Likewise.
2033         * modules/memrchr (configure.ac): Likewise.
2034         * modules/stpcpy (configure.ac): Likewise.
2035         * modules/stpncpy (configure.ac): Likewise.
2036         * modules/strcase (configure.ac): Likewise.
2037         * modules/strcasestr (configure.ac): Likewise.
2038         * modules/strchrnul (configure.ac): Likewise.
2039         * modules/strdup (configure.ac): Likewise.
2040         * modules/strndup (configure.ac): Likewise.
2041         * modules/strnlen (configure.ac): Likewise.
2042         * modules/strpbrk (configure.ac): Likewise.
2043         * modules/strsep (configure.ac): Likewise.
2044         * modules/strstr (configure.ac): Likewise.
2045         * modules/strtok_r (configure.ac): Likewise.
2046
2047 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
2048
2049         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
2050
2051 2007-01-30  Jim Meyering  <jim@meyering.net>
2052
2053         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
2054
2055 2007-01-29  Bruno Haible  <bruno@clisp.org>
2056
2057         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
2058         * lib/execute.c: Likewise.
2059         * lib/pipe.c: Likewise.
2060         * lib/printf-args.h: Likewise.
2061         * lib/printf-args.c: Likewise.
2062         * lib/printf-parse.c: Likewise.
2063         * lib/vasnprintf.c: Likewise.
2064
2065 2007-01-29  Eric Blake  <ebb9@byu.net>
2066
2067         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
2068         declaration.
2069
2070 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
2071
2072         * lib/strptime.h (strptime): Use 'restrict' for args where
2073         POSIX requires this.
2074         * lib/strptime.c (strptime): Likewise.
2075         Change license notice from LGPL to GPL, since gnulib-tool will
2076         change this as needed.
2077         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
2078         defined.
2079         Include "strptime.h" first, to check interface.
2080         Do not #undef _LIBC and _NL_CURRENT.
2081         Do not include <stdlib.h>; no longer needed.
2082         Include "time_r.h" and declare ptime_locale_status
2083         only if _LIBC is not defined.
2084         (__P): Remove unused macro.
2085         (match_string): Bring back glibc version, but use it only if _LIBC
2086         is defined.
2087         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
2088         Remove unnecessary assertion and abort() call.
2089         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
2090         * m4/strptime.m4: Fix serial number comment.
2091         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
2092         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
2093         (Depends-on): Add time_r.
2094
2095 2007-01-29  Bruno Haible  <bruno@clisp.org>
2096
2097         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
2098         strptime.
2099         * modules/strptime (Depends-on): Add stdbool.
2100         * lib/strptime.h: Include <time.h> always. Add comments.
2101
2102 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
2103
2104         * modules/strptime: New file.
2105         * lib/strptime.h: New file.
2106         * lib/strptime.c: New file.
2107         * m4/strptime.m4: New file.
2108
2109 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2110
2111         * MODULES.html.sh: New module mpsort.
2112         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
2113
2114         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
2115         a circularity problem with HP-UX ia64 reported by Bob Proulx in
2116         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
2117         All uses changed.
2118         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
2119         All uses changed.
2120         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
2121         to _Restrict_.
2122         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
2123         the parameter matches the prototype.
2124
2125 2007-01-28  Jim Meyering  <jim@meyering.net>
2126
2127         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
2128         sys/time.h here, reverting that part of the previous patch:
2129         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
2130
2131 2007-01-28  Bruno Haible  <bruno@clisp.org>
2132
2133         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
2134         value of $(SYS_TIME_H).
2135         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
2136         remove it conditionally, too. [added by Jim Meyering]
2137         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
2138         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
2139         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
2140         GETTIMEOFDAY_REPLACEMENT to 1.
2141
2142 2007-01-28  Bruno Haible  <bruno@clisp.org>
2143
2144         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
2145         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
2146         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
2147         Set UNISTD_H instead of UNISTD_H2.
2148         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
2149
2150 2007-01-28  Bruno Haible  <bruno@clisp.org>
2151
2152         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
2153         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
2154
2155 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2156
2157         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
2158         (func_create_testdir): Ensure C locale for `grep' and `tr'
2159         character ranges.
2160         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
2161         ACLOCAL_AMFLAGS parsing state machine.
2162
2163 2007-01-27  Bruno Haible  <bruno@clisp.org>
2164
2165         * modules/unistr/base: Update.
2166
2167 2007-01-27  Bruno Haible  <bruno@clisp.org>
2168
2169         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
2170         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
2171         * modules/unistr/u32-mbtouc-unsafe: Renamed from
2172         modules/unistr/u32-mbtouc.
2173         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
2174         * lib/unistr.h: Update.
2175         * lib/linebreak.c: Update.
2176         * modules/unistr/u32-mbtouc: Renamed from
2177         modules/unistr/u32-mbtouc-safe.
2178         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
2179         * lib/unistr.h: Update.
2180         * lib/unistr/u32-to-u8.c: Update.
2181         * lib/unistr/u32-to-u16.c: Update.
2182
2183 2007-01-27  Bruno Haible  <bruno@clisp.org>
2184
2185         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
2186         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
2187         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
2188         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
2189         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
2190         * modules/unistr/u16-mbtouc-unsafe: Renamed from
2191         modules/unistr/u16-mbtouc.
2192         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
2193         * lib/unistr.h: Update.
2194         * lib/linebreak.c: Update.
2195         * modules/linebreak: Update.
2196         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
2197         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
2198         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
2199         * modules/unistr/u16-mbtouc: Renamed from
2200         modules/unistr/u16-mbtouc-safe.
2201         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
2202         * lib/unistr.h: Update.
2203         * lib/unistr/u16-to-u8.c: Update.
2204         * modules/unistr/u16-to-u8: Update.
2205         * lib/unistr/u16-to-u32.c: Update.
2206         * modules/unistr/u16-to-u32: Update.
2207
2208 2007-01-27  Bruno Haible  <bruno@clisp.org>
2209
2210         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
2211         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
2212         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
2213         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
2214         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
2215         * modules/unistr/u8-mbtouc-unsafe: Renamed from
2216         modules/unistr/u8-mbtouc.
2217         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
2218         * lib/unistr.h: Update.
2219         * lib/striconveh.c: Update.
2220         * modules/striconveh: Update.
2221         * lib/linebreak.c: Update.
2222         * modules/linebreak: Update.
2223         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
2224         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
2225         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
2226         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
2227         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
2228         * lib/unistr.h: Update.
2229         * lib/striconveh.c: Update.
2230         * modules/striconveh: Update.
2231         * lib/unistr/u8-to-u16.c: Update.
2232         * modules/unistr/u8-to-u16: Update.
2233         * lib/unistr/u8-to-u32.c: Update.
2234         * modules/unistr/u8-to-u32: Update.
2235
2236 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2237
2238         Sync from Libtool.
2239         * lib/argz.c: Do not include strings.h nor memory.h, include
2240         string.h unconditionally.  Patch by Simon Josefsson.
2241
2242 2007-01-27  Bruno Haible  <bruno@clisp.org>
2243
2244         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
2245         from gl_HEADER_STRING_H_BODY.
2246         (gl_HEADER_STRING_H_BODY): Require it.
2247         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
2248         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
2249         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
2250         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
2251         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
2252         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
2253         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
2254         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
2255         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
2256         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
2257         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
2258         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
2259         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
2260         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
2261         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
2262
2263 2007-01-27  Bruno Haible  <bruno@clisp.org>
2264
2265         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
2266         check_PROGRAMS into noinst_PROGRAMS.
2267         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
2268         check_PROGRAMS in this case.
2269         (func_import): Set for_test to false.
2270         (func_create_testdir): Set for_test to true.
2271
2272 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2273             Bruno Haible  <bruno@clisp.org>
2274
2275         * modules/strcasestr (Files): Remove lib/strcasestr.h.
2276         (Depends-on): Add string.
2277         (Includes): Use <string.h> instead of strcasestr.h.
2278         * modules/string (Makefile.am): Also substitute the value of
2279         REPLACE_STRCASESTR.
2280         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
2281         assume strcasestr is declared in <string.h> not <strings.h>. Also
2282         set REPLACE_STRCASESTR.
2283         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
2284         REPLACE_STRCASESTR.
2285         * lib/strcasestr.h: Remove file.
2286         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
2287         * lib/string_.h (strcasestr): New declaration.
2288
2289 2007-01-27  Bruno Haible  <bruno@clisp.org>
2290
2291         * lib/string_.h: Use 'extern'.
2292
2293 2007-01-27  Jim Meyering  <jim@meyering.net>
2294
2295         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
2296         of set-but-not-used local, "q".
2297
2298         * lib/mempcpy.c: Include <config.h> before <string.h>.
2299         This fixes a compilation error on HP-UX, due to the system's
2300         "restrict"-using mempcpy prototype.
2301
2302 2007-01-26  Bruno Haible  <bruno@clisp.org>
2303
2304         Small optimization.
2305         * lib/javacomp.c: Include c-strstr.h.
2306          (is_envjavac_gcj): Use c_strstr instead of strstr.
2307         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
2308
2309 2007-01-26  Bruno Haible  <bruno@clisp.org>
2310
2311         * MODULES.html.sh (Unicode string functions): Add the new modules.
2312
2313         * modules/uniconv/u32-strconv-to-locale: New file.
2314         * lib/uniconv/u32-strconv-to-locale.c: New file.
2315
2316         * modules/uniconv/u16-strconv-to-locale: New file.
2317         * lib/uniconv/u16-strconv-to-locale.c: New file.
2318
2319         * modules/uniconv/u8-strconv-to-locale: New file.
2320         * lib/uniconv/u8-strconv-to-locale.c: New file.
2321
2322         * modules/uniconv/u32-strconv-from-locale: New file.
2323         * lib/uniconv/u32-strconv-from-locale.c: New file.
2324
2325         * modules/uniconv/u16-strconv-from-locale: New file.
2326         * lib/uniconv/u16-strconv-from-locale.c: New file.
2327
2328         * modules/uniconv/u8-strconv-from-locale: New file.
2329         * lib/uniconv/u8-strconv-from-locale.c: New file.
2330
2331         * modules/uniconv/u32-strconv-to-enc: New file.
2332         * lib/uniconv/u32-strconv-to-enc.c: New file.
2333         * modules/uniconv/u32-strconv-to-enc-tests: New file.
2334         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
2335
2336         * modules/uniconv/u16-strconv-to-enc: New file.
2337         * lib/uniconv/u16-strconv-to-enc.c: New file.
2338         * lib/uniconv/u-strconv-to-enc.h: New file.
2339         * modules/uniconv/u16-strconv-to-enc-tests: New file.
2340         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
2341
2342         * modules/uniconv/u8-strconv-to-enc: New file.
2343         * lib/uniconv/u8-strconv-to-enc.c: New file.
2344         * modules/uniconv/u8-strconv-to-enc-tests: New file.
2345         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
2346
2347         * modules/uniconv/u32-strconv-from-enc: New file.
2348         * lib/uniconv/u32-strconv-from-enc.c: New file.
2349         * modules/uniconv/u32-strconv-from-enc-tests: New file.
2350         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
2351
2352         * modules/uniconv/u16-strconv-from-enc: New file.
2353         * lib/uniconv/u16-strconv-from-enc.c: New file.
2354         * modules/uniconv/u16-strconv-from-enc-tests: New file.
2355         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
2356
2357         * modules/uniconv/u8-strconv-from-enc: New file.
2358         * lib/uniconv/u8-strconv-from-enc.c: New file.
2359         * lib/uniconv/u-strconv-from-enc.h: New file.
2360         * modules/uniconv/u8-strconv-from-enc-tests: New file.
2361         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
2362
2363         * modules/uniconv/u32-conv-from-enc: New file.
2364         * lib/uniconv/u32-conv-from-enc.c: New file.
2365         * modules/uniconv/u32-conv-from-enc-tests: New file.
2366         * tests/uniconv/test-u32-conv-from-enc.c: New file.
2367
2368         * modules/uniconv/u16-conv-from-enc: New file.
2369         * lib/uniconv/u16-conv-from-enc.c: New file.
2370         * lib/uniconv/u-conv-from-enc.h: New file.
2371         * modules/uniconv/u16-conv-from-enc-tests: New file.
2372         * tests/uniconv/test-u16-conv-from-enc.c: New file.
2373
2374         * modules/uniconv/u8-conv-from-enc: New file.
2375         * lib/uniconv/u8-conv-from-enc.c: New file.
2376         * modules/uniconv/u8-conv-from-enc-tests: New file.
2377         * tests/uniconv/test-u8-conv-from-enc.c: New file.
2378
2379         * modules/uniconv/base: New file.
2380         * lib/uniconv.h: New file.
2381
2382 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
2383
2384         * doc/gnulib-tool.texi (Initial import): Update to match current
2385         behavior with strdup module.
2386         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
2387         * lib/memmem.h: Remove; all uses removed.  This is now done
2388         by <string.h>.
2389         * lib/mempcpy.h: Likewise.
2390         * lib/memrchr.h: Likewise.
2391         * lib/stpcpy.h: Likewise.
2392         * lib/stpncpy.h: Likewise.
2393         * lib/strcase.h: Likewise.
2394         * lib/strchrnul.h: Likewise.
2395         * lib/strdup.h: Likewise.
2396         * lib/strndup.h: Likewise.
2397         * lib/strnlen.h: Likewise.
2398         * lib/strpbrk.h: Likewise.
2399         * lib/strsep.h: Likewise.
2400         * lib/strstr.h: Likewise.
2401         * lib/strtok_r.h: Likewise.
2402         * lib/string_.h: New file.
2403         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
2404         Rely on <string.h> instead.
2405         * lib/canon-host.c: Likewise.
2406         * lib/chdir-long.c: Likewise.
2407         * lib/concatpath.c: Likewise.
2408         * lib/exclude.c: Likewise.
2409         * lib/fchdir.c: Likewise.
2410         * lib/getaddrinfo.c: Likewise.
2411         * lib/getcwd.c: Likewise.
2412         * lib/getsubopt.c: Likewise.
2413         * lib/glob.c: Likewise.
2414         * lib/hard-locale.c: Likewise.
2415         * lib/iconvme.c: Likewise.
2416         * lib/javacomp.c: Likewise.
2417         * lib/mempcpy.c: Likewise.
2418         * lib/memrchr.c: Likewise.
2419         * lib/regex_internal.h: Likewise.
2420         * lib/stpncpy.c: Likewise.
2421         * lib/strcasecmp.c: Likewise.
2422         * lib/strchrnul.c: Likewise.
2423         * lib/strdup.c: Likewise.
2424         * lib/striconv.c: Likewise.
2425         * lib/striconveh.c: Likewise.
2426         * lib/striconveha.c: Likewise.
2427         * lib/strncasecmp.c: Likewise.
2428         * lib/strndup.c: Likewise.
2429         * lib/strnlen.c: Likewise.
2430         * lib/strsep.c: Likewise.
2431         * lib/strstr.c: Likewise.
2432         * lib/strtok_r.c: Likewise.
2433         * lib/userspec.c: Likewise.
2434         * lib/w32spawn.h: Likewise.
2435         * lib/xstrndup.c: Likewise.
2436         * lib/mountlist.c (strstr): Remove decl.
2437         * m4/string_h.m4: New file.
2438         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
2439         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
2440         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
2441         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
2442         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
2443         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
2444         Set REPLACE_STRCASECMP if necessary.
2445         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
2446         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
2447         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
2448         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
2449         HAVE_DECL_STRDUP if necessary.
2450         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
2451         since gl_FUNC_STRNDUP does that now.
2452         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
2453         Check for decl here...
2454         (gl_PREREQ_STRNLEN): ... not here.
2455         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
2456         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
2457         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
2458         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
2459         necessary.
2460         * modules/string: New file.
2461         * modules/memmem (Files): Remove special-purpose include file.
2462         (Depends-on): Add string.
2463         (Include): Include <string.h>, not the removed file.
2464         * modules/mempcpy: Likewise.
2465         * modules/memrchr: Likewise.
2466         * modules/stpcpy: Likewise.
2467         * modules/stpncpy: Likewise.
2468         * modules/strcase: Likewise.
2469         * modules/strchrnul: Likewise.
2470         * modules/strdup: Likewise.
2471         * modules/strndup: Likewise.
2472         * modules/strnlen: Likewise.
2473         * modules/strpbrk: Likewise.
2474         * modules/strsep: Likewise.
2475         * modules/strstr: Likewise.
2476         * modules/strtok_r: Likewise.
2477         * tests/test-dirname.c: Don't include "strdup.h", since
2478         <string.h> now suffices.
2479         * tests/test-memmem.c: Don't include "memmem.h", since
2480         <string.h> now suffices.
2481
2482 2007-01-25  Bruno Haible  <bruno@clisp.org>
2483
2484         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
2485         *resultp is 0.
2486
2487         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
2488         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
2489         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
2490         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
2491
2492         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
2493         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
2494         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
2495         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
2496         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
2497         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
2498
2499 2007-01-24  Bruno Haible  <bruno@clisp.org>
2500
2501         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
2502         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
2503         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
2504         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
2505         gl_FUNC_FTS_CORE.
2506         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
2507         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
2508         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
2509         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
2510         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
2511         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
2512         gl_FUNC_FCHOWNAT.
2513         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
2514         gl_FUNC_STRFTIME.
2515         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
2516         Reported by Ralf Wildenhues.
2517
2518 2007-01-24  Bruno Haible  <bruno@clisp.org>
2519
2520         Drop AC_REQUIRE calls that are redundant with the module dependencies.
2521         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
2522         gl_GETADDRINFO.
2523         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
2524         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
2525         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
2526
2527 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
2528
2529         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
2530         Don't use 'exit'; just return from 'main'.
2531         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
2532
2533         * lib/fnmatch_.h: Readjust white space and comments to match
2534         glibc, to avoid spurious diffs.
2535
2536 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2537
2538         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
2539         2004-12-01 change by Jakub Jelinek, since this code won't compile
2540         if !LIBC.  Problem reported by Bob Proulx.
2541
2542 2007-01-23  Bruno Haible  <bruno@clisp.org>
2543
2544         * lib/striconveh.c: Include c-strcaseeq.h.
2545         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
2546         * modules/striconveh (Depends-on): Add c-strcaseeq.
2547
2548 2007-01-23  Bruno Haible  <bruno@clisp.org>
2549
2550         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
2551
2552         * modules/c-strcaseeq: New file.
2553         * lib/c-strcaseeq.h: New file.
2554
2555         * modules/streq: New file.
2556         * lib/streq.h: New file.
2557
2558 2007-01-23  Bruno Haible  <bruno@clisp.org>
2559
2560         * modules/striconveha-tests: New file.
2561         * tests/test-striconveha.c: New file.
2562
2563         * lib/striconveha.h: Include <stdbool.h>.
2564         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
2565         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
2566         (mem_iconveha_notranslit): Renamed from mem_iconveha.
2567         (mem_iconveha): New function.
2568         (str_iconveha_notranslit): Renamed from str_iconveha.
2569         (str_iconveha): New function.
2570         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
2571         c-strcase.
2572
2573 2007-01-23  Bruno Haible  <bruno@clisp.org>
2574
2575         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
2576         encodings without forgiving before trying any encoding with handler.
2577         (str_iconveha): Try all encodings without forgiving before trying any
2578         encoding with handler.
2579
2580 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2581
2582         Import the following changes from libc.
2583
2584         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
2585
2586         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
2587
2588         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
2589
2590         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
2591         normal_bracket label.
2592
2593         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
2594
2595         [BZ #361]
2596         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
2597         to normal_bracket after fetching the next character.
2598
2599 2007-01-22  Bruno Haible  <bruno@clisp.org>
2600
2601         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
2602         argument.
2603         * lib/striconveh.c (iconv_carefully_1): New function.
2604         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
2605         argument.
2606         (str_cd_iconveh): Update.
2607         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
2608         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
2609         * tests/test-striconveh.c (MAGIC): New macro.
2610         (new_offsets): New function.
2611         (main): Test call with and without offsets.
2612
2613 2007-01-22  Bruno Haible  <bruno@clisp.org>
2614
2615         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
2616         * modules/sys_select (Makefile.am): Likewise.
2617         * modules/sys_socket (Makefile.am): Likewise.
2618         * modules/sys_time (Makefile.am): Likewise.
2619
2620 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
2621
2622         * modules/gettimeofday (License): Change from GPL to LGPL, since
2623         gettimeofday is a library function.
2624
2625 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2626
2627         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
2628
2629 2007-01-21  Bruno Haible  <bruno@clisp.org>
2630
2631         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
2632
2633 2007-01-21  Bruno Haible  <bruno@clisp.org>
2634
2635         * modules/striconveha: New file.
2636         * lib/striconveha.h: New file.
2637         * lib/striconveha.c: New file.
2638         * MODULES.html.sh (Internationalization functions): Add striconveha.
2639         * lib/striconv.c (str_iconv): Optimize the case of an empty input
2640         string.
2641         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
2642
2643 2007-01-21  Bruno Haible  <bruno@clisp.org>
2644
2645         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
2646         * lib/striconveh.c (str_iconveh): Likewise.
2647
2648 2007-01-21  Bruno Haible  <bruno@clisp.org>
2649
2650         * lib/striconveh.h (mem_iconveh): New declaration.
2651         * lib/striconveh.c (mem_iconveh): New function.
2652         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
2653
2654 2007-01-21  Bruno Haible  <bruno@clisp.org>
2655
2656         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
2657
2658         * lib/striconveh.h (mem_cd_iconveh): Change specification.
2659         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
2660         original result buffer.
2661         (str_cd_iconveh): Update.
2662         * tests/test-striconveh.c (main): Update.
2663
2664         * lib/striconv.h (mem_cd_iconv): Change specification.
2665         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
2666         result buffer.
2667         (str_cd_iconv): Update.
2668         * tests/test-striconv.c (main): Update.
2669
2670 2007-01-21  Bruno Haible  <bruno@clisp.org>
2671
2672         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
2673
2674 2007-01-20  Jim Meyering  <jim@meyering.net>
2675
2676         * lib/userspec.c (parse_with_separator): If a user or group string
2677         starts with "+", skip the corresponding name-to-ID look-up, since
2678         such a look-up must fail: user and group names may not include "+".
2679
2680 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2681
2682         * lib/poll.c: Include sys/time.h and time.h unconditionally,
2683         since we now assume the sys_time module.
2684         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
2685         check for sys/time.h; no longer needed.
2686         * modules/poll (Depends-on): Depend on sys_time.
2687
2688 2007-01-18  Bruno Haible  <bruno@clisp.org>
2689
2690         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
2691         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2692
2693         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
2694         gettimeofday.
2695
2696         * tests/test-gettimeofday.c: Include <time.h>.
2697         (dummy): Remove variable.
2698
2699         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
2700         gl_HEADER_SYS_TIME_H.
2701         (gl_HEADER_SYS_TIME_H): New macro.
2702
2703         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
2704         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2705         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
2706         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
2707         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2708         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
2709         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
2710         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2711         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
2712         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
2713         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2714
2715         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
2716         last change; it caused a compilation error when cross-compiling to
2717         Cygwin.
2718
2719 2007-01-18  Jim Meyering  <jim@meyering.net>
2720
2721         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
2722         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
2723         than the race-prone "test -d sys || mkdir sys".
2724         (configure.ac): Use AC_PROG_MKDIR_P.
2725         * modules/sys_select: Likewise.
2726         * modules/sys_socket: Likewise.
2727         * modules/sys_time: Likewise.
2728
2729 2007-01-18  Eric Blake  <ebb9@byu.net>
2730
2731         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
2732         replace gettimeofday.
2733         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
2734         name, to avoid infinite recursion.
2735
2736 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
2737
2738         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
2739         module sys_time.
2740         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
2741         assume timespec.h defines struct timeval.
2742         * lib/settime.c: Likewise.
2743         * lib/utimens.c: Likewise.
2744         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
2745         since we now assume the gettimeofday module.
2746         * lib/tempname.c (__gen_tempname): Likewise.
2747         * lib/gettimeofday.h: Remove.
2748         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
2749         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
2750         Include <time.h>, for 'time()'.
2751         (localtime_buffer_addr): Also use this workaround if
2752         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
2753         to simplify the uses.  All uses changed.
2754         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
2755         that #undef is inside {}, and 'const' follows type name consistently.
2756         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
2757         (gettimeofday): Do not use the maximum possible value for
2758         tv->tv_usec, since that might break usages other than ls.c.
2759         Instead, we'll leave ls.c alone.  This undoes today's patch
2760         by Bruno.  Add a compile-time warning for 1s-clock resolution;
2761         we've never observed the problem but might as well keep the
2762         canary.
2763         * lib/nanosleep.c: Include timespec.h first, for interface check.
2764         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
2765         now assume the sys_time module.
2766         * lib/tempname.c: Likewise.
2767         * lib/timespec.h: Likewise.
2768         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
2769         needed.
2770         * lib/strftime.c: Likewise.
2771         * lib/timespec.h: Likewise.
2772         * lib/posixtm.c: Include posixtm.h first, for interface check.
2773         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
2774         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
2775         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
2776         * lib/sys_time_.h: New file.
2777         * lib/timespec.h (struct timespec): Use long int, not long.
2778         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
2779         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
2780         Remove obsolescent call to AC_HEADER_TIME.
2781         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2782         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2783         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2784         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
2785         Likewise.
2786         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
2787         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
2788         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
2789         into the sys_time module.  Check for gettimeofday just once.
2790         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
2791         for gettimeofday signature to just check the signature.  Merely
2792         compile it, since linking doesn't test signature.  Improve test for
2793         whether gettimeofday.o is actually needed.
2794         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
2795         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
2796         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
2797         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2798         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
2799         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
2800         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
2801         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
2802         than worrying about sys/time.h.
2803         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
2804         Don't bother worrying about TIME_WITH_SYS_TIME.
2805         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
2806         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
2807         * m4/sys_time_h.m4: New file.
2808         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
2809         Don't include sys/time.h.  Return from main rather than exiting.
2810         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
2811         all uses changed.
2812         * modules/gethrxtime (Depends-on): Add sys_time.
2813         * modules/gettime (Depends-on): Likewise.
2814         * modules/gettimeofday (Depends-on): Likewise.
2815         * modules/nanosleep (Depends-on): Likewise.
2816         * modules/settime (Depends-on): Likewise.
2817         * modules/tempname (Depends-on): Likewise.
2818         * modules/utimens (Depends-on): Likewise.
2819         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
2820         (Include:) Change back to <sys/time.h>.
2821         (Maintainer:) Add self.
2822         * modules/sys_time: New file.
2823         * modules/tempname (Depends-on): Add gettimeofday.
2824         * tests/test-gettimeofday.c: Include <sys/time.h>
2825         rather than gettimeofday.h.
2826
2827 2007-01-17  Bruno Haible  <bruno@clisp.org>
2828
2829         * gnulib-tool (func_get_license): Revert last patch. Instead, let
2830         the license default to GPL.
2831         (func_create_testdir): Don't complain if a module is LGPL and its
2832         tests module depends on GPLed modules.
2833
2834 2007-01-17  Bruno Haible  <bruno@clisp.org>
2835
2836         * lib/gettimeofday.c (gettimeofday): Add code for the case
2837         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
2838         maximum possible value for tv->tv_usec, rather than the minimum one.
2839
2840 2005-10-08  Martin Lambers  <marlam@marlam.de>
2841 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2842 2007-01-16  Bruno Haible  <bruno@clisp.org>
2843
2844         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
2845         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
2846         gl_FUNC_GETTIMEOFDAY.
2847         (Include): Add gettimeofday.h.
2848         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
2849         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
2850         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
2851         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
2852         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
2853         * lib/gettimeofday.h: New file.
2854         * lib/gettimeofday.c: Include <sys/timeb.h>.
2855         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
2856         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2857         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
2858         fall back on time().
2859
2860         * tests/test-gettimeofday.c: New file.
2861         * modules/gettimeofday-tests: New file.
2862
2863 2007-01-16  Eric Blake  <ebb9@byu.net>
2864
2865         * modules/fnmatch (Depends-on): Depend on wchar.
2866         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
2867         * m4/fnmatch.m4: Likewise.
2868         * modules/mbchar (Makefile.am): Assume <wchar.h>.
2869         * m4/mbchar.m4: Likewise.
2870         * modules/mbswidth (Depends-on): Depend on wchar.
2871         * lib/mbswidth.c: Assume <wchar.h>.
2872         * m4/mbswidth.m4: Likewise.
2873         * modules/quotearg (Depends-on): Depend on wchar.
2874         * lib/quotearg.c: Assume <wchar.h>.
2875         * m4/quotearg.m4: Likewise.
2876         * modules/regex (Depends-on): Depend on wchar.
2877         * lib/regex_internal.h: Assume <wchar.h>.
2878         * m4/regex.m4: Likewise.
2879         * modules/stdint (Depends-on): Depend on wchar.
2880         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
2881         * m4/stdint.m4: Likewise.
2882         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
2883         * modules/strftime (Depends-on): Depend on wchar.
2884         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
2885         * modules/strtol (Depends-on): Depend on wchar.
2886         * lib/strtol.c: Assume <wchar.h>.
2887         * modules/wcwidth (Depends-on): Depend on wchar.
2888         * lib/wcwidth.h: Assume <wchar.h>.
2889         * m4/wcwidth.m4: Likewise.
2890
2891 2007-01-16  Bruno Haible  <bruno@clisp.org>
2892
2893         * modules/csharpexec-script: New, created from...
2894         * modules/csharpexec: ... this.
2895
2896 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
2897
2898         * modules/javaexec-script: New, created from...
2899         * modules/javaexec: ... this.
2900
2901 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2902
2903         * modules/poll (Dependencies): Add sys_select.
2904
2905 2007-01-15  Jim Meyering  <jim@meyering.net>
2906
2907         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
2908         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
2909         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
2910         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
2911
2912 2007-01-15  Bruno Haible  <bruno@clisp.org>
2913
2914         * modules/striconveh: New file.
2915         * lib/striconveh.h: New file.
2916         * lib/striconveh.c: New file.
2917         * MODULES.html.sh (Internationalization functions): Add striconveh.
2918
2919         * modules/striconveh-tests: New file.
2920         * tests/test-striconveh.c: New file.
2921
2922 2007-01-15  Bruno Haible  <bruno@clisp.org>
2923
2924         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
2925         not from GNU libiconv or GNU libc.
2926
2927 2007-01-15  Bruno Haible  <bruno@clisp.org>
2928
2929         * doc/gnulib-intro.texi (Copyright): Explain the different license
2930         terms for module descriptions, autoconf macros, tests, documentation.
2931
2932 2007-01-14  Bruno Haible  <bruno@clisp.org>
2933
2934         * modules/striconv-tests: New file.
2935         * tests/test-striconv.c: New file.
2936
2937 2007-01-14  Bruno Haible  <bruno@clisp.org>
2938
2939         * modules/iconv-tests: New file.
2940         * tests/test-iconv.c: New file.
2941
2942 2007-01-14  Bruno Haible  <bruno@clisp.org>
2943
2944         * gnulib-tool (func_get_license): For test modules, use the license of
2945         the main module.
2946
2947 2007-01-14  Bruno Haible  <bruno@clisp.org>
2948
2949         * modules/iconv (Include): Clarify that <iconv.h> can only be included
2950         if iconv is found to exist.
2951
2952 2007-01-14  Bruno Haible  <bruno@clisp.org>
2953
2954         * modules/c-ctype-tests: New file.
2955         * tests/test-c-ctype.c: New file.
2956
2957 2007-01-14  Bruno Haible  <bruno@clisp.org>
2958
2959         * modules/binary-io-tests: New file.
2960         * tests/test-binary-io.sh: New file.
2961         * tests/test-binary-io.c: New file.
2962
2963 2007-01-14  Bruno Haible  <bruno@clisp.org>
2964
2965         * modules/array-oset-tests: New file.
2966         * tests/test-array_oset.c: New file.
2967
2968 2007-01-14  Bruno Haible  <bruno@clisp.org>
2969
2970         * modules/array-list-tests: New file.
2971         * tests/test-array_list.c: New file.
2972
2973 2007-01-14  Bruno Haible  <bruno@clisp.org>
2974
2975         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
2976         and make.
2977         Reported by Simon Josefsson in
2978         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
2979
2980 2007-01-14  Bruno Haible  <bruno@clisp.org>
2981
2982         * modules/allocsa-tests: New file.
2983         * tests/test-allocsa.c: New file.
2984
2985 2007-01-14  Bruno Haible  <bruno@clisp.org>
2986
2987         * modules/fchdir (Depends-on): Add absolute-header.
2988         * modules/unistd (Depends-on): Likewise.
2989
2990 2006-12-30  Bruno Haible  <bruno@clisp.org>
2991
2992         * modules/fchdir: New file.
2993         * modules/unistd (Files): Add lib/unistd_.h.
2994         (Makefile.am): Generate unistd.h from unistd_.h.
2995         * lib/fchdir.c: New file.
2996         * lib/dirent_.h: New file.
2997         * lib/unistd_.h: New file.
2998         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
2999         * m4/fchdir.m4: New file.
3000         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
3001         (gl_HEADER_UNISTD): Invoke it.
3002         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
3003         function.
3004         * lib/backupfile.c (opendir, closedir): Undefine.
3005         * lib/chown.c (open, close): Undefine.
3006         * lib/clean-temp.c (open, close): Undefine.
3007         * lib/copy-file.c (open, close): Undefine.
3008         * lib/execute.c (open, close): Undefine.
3009         * lib/fsusage.c (open, close): Undefine.
3010         * lib/gc-gnulib.c (open, close): Undefine.
3011         * lib/getcwd.c (opendir, closedir): Undefine.
3012         * lib/glob.c (opendir, closedir): Undefine.
3013         * lib/javacomp.c (open, close): Undefine.
3014         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
3015         * lib/openat-proc.c (open, close): Undefine.
3016         * lib/pagealign_alloc.c (open, close): Undefine.
3017         * lib/pipe.c (open, close): Undefine.
3018         * lib/progreloc.c (open, close): Undefine.
3019         * lib/savedir.c (opendir, closedir): Undefine.
3020         * lib/utime.c (open, close): Undefine.
3021         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
3022
3023 2007-01-10  Bruno Haible  <bruno@clisp.org>
3024
3025         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
3026
3027 2007-01-12  Eric Blake  <ebb9@byu.net>
3028
3029         Provide a robust <wchar.h>.  Further simplifications are now
3030         possible in other modules, but not included here.
3031         * modules/wchar: New module.
3032         * m4/wchar.m4: New file.
3033         * lib/wchar_.h: Likewise.
3034         * modules/mbchar (Depends-on): Depend on wchar, as the first use
3035         of the new module.
3036         * MODULES.html.sh (Extended multibyte and wide character utilities):
3037         New section.
3038
3039 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
3040
3041         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
3042         to a reasonable default for memory allocation.
3043         (xreadlink): Don't allocate a huge buffer, to work around a buggy
3044         file system that reports garbage st_size values for symlinks.
3045         Problem reported by Liyang Hu.
3046
3047 2007-01-11  Simon Josefsson  <simon@josefsson.org>
3048
3049         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
3050         Emacs .#* auto-save files).
3051
3052 2007-01-11  Bruno Haible  <bruno@clisp.org>
3053
3054         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
3055         directory.
3056
3057 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
3058
3059         Use @...@ consistently in lib/wctype_.h.
3060         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
3061         on it being set to 1 or 0.
3062         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
3063         go back to AC_SUBSTing it.
3064         * modules/wctype (Makefile.am): Undo previous change.
3065
3066 2007-01-10  Eric Blake  <ebb9@byu.net>
3067
3068         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
3069         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
3070         * modules/wctype (Makefile.am): Likewise.
3071         Reported by Chris McGuire.
3072
3073 2007-01-10  Jim Meyering  <jim@meyering.net>
3074
3075         fts.c: a small readability/maintainability improvement
3076         * lib/fts.c (fts_read): Make this code slightly more readable and
3077         maintainable by hoisting the "sp->fts_cur = p" assignments to
3078         immediately follow the statements that set P.  Derived from
3079         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
3080
3081 2007-01-10  Eric Blake  <ebb9@byu.net>
3082
3083         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
3084         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
3085         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3086         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
3087         Reported by Chris McGuire.
3088
3089 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3090
3091         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
3092         in sed script.
3093
3094 2007-01-09  Bruno Haible  <bruno@clisp.org>
3095
3096         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
3097         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
3098         variables.
3099         (func_module): Use them.
3100
3101 2007-01-09  Bruno Haible  <bruno@clisp.org>
3102
3103         * modules/unistr/base: New file.
3104         * lib/unistr.h: New file.
3105
3106         * modules/unistr/u8-to-u16: New file.
3107         * lib/unistr/u8-to-u16.c: New file.
3108
3109         * modules/unistr/u8-to-u32: New file.
3110         * lib/unistr/u8-to-u32.c: New file.
3111
3112         * modules/unistr/u16-to-u8: New file.
3113         * lib/unistr/u16-to-u8.c: New file.
3114
3115         * modules/unistr/u16-to-u32: New file.
3116         * lib/unistr/u16-to-u32.c: New file.
3117
3118         * modules/unistr/u32-to-u8: New file.
3119         * lib/unistr/u32-to-u8.c: New file.
3120
3121         * modules/unistr/u32-to-u16: New file.
3122         * lib/unistr/u32-to-u16.c: New file.
3123
3124         * modules/unistr/u8-check: New file.
3125         * modules/unistr/u16-check: New file.
3126         * modules/unistr/u32-check: New file.
3127         * lib/unistr/u8-check.c: New file.
3128         * lib/unistr/u16-check.c: New file.
3129         * lib/unistr/u32-check.c: New file.
3130
3131         * modules/unistr/u8-chr: New file.
3132         * modules/unistr/u16-chr: New file.
3133         * modules/unistr/u32-chr: New file.
3134         * lib/unistr/u8-chr.c: New file.
3135         * lib/unistr/u16-chr.c: New file.
3136         * lib/unistr/u32-chr.c: New file.
3137
3138         * modules/unistr/u8-cmp: New file.
3139         * modules/unistr/u16-cmp: New file.
3140         * modules/unistr/u32-cmp: New file.
3141         * lib/unistr/u8-cmp.c: New file.
3142         * lib/unistr/u16-cmp.c: New file.
3143         * lib/unistr/u32-cmp.c: New file.
3144
3145         * modules/unistr/u8-cpy: New file.
3146         * modules/unistr/u16-cpy: New file.
3147         * modules/unistr/u32-cpy: New file.
3148         * lib/unistr/u8-cpy.c: New file.
3149         * lib/unistr/u16-cpy.c: New file.
3150         * lib/unistr/u32-cpy.c: New file.
3151         * lib/unistr/u-cpy.h: New file.
3152
3153         * modules/unistr/u8-cpy-alloc: New file.
3154         * modules/unistr/u16-cpy-alloc: New file.
3155         * modules/unistr/u32-cpy-alloc: New file.
3156         * lib/unistr/u8-cpy-alloc.c: New file.
3157         * lib/unistr/u16-cpy-alloc.c: New file.
3158         * lib/unistr/u32-cpy-alloc.c: New file.
3159         * lib/unistr/u-cpy-alloc.h: New file.
3160
3161         * modules/unistr/u8-endswith: New file.
3162         * modules/unistr/u16-endswith: New file.
3163         * modules/unistr/u32-endswith: New file.
3164         * lib/unistr/u8-endswith.c: New file.
3165         * lib/unistr/u16-endswith.c: New file.
3166         * lib/unistr/u32-endswith.c: New file.
3167         * lib/unistr/u-endswith.h: New file.
3168
3169         * modules/unistr/u8-mblen: New file.
3170         * modules/unistr/u16-mblen: New file.
3171         * modules/unistr/u32-mblen: New file.
3172         * lib/unistr/u8-mblen.c: New file.
3173         * lib/unistr/u16-mblen.c: New file.
3174         * lib/unistr/u32-mblen.c: New file.
3175
3176         * modules/unistr/u8-mbtouc: New file.
3177         * modules/unistr/u16-mbtouc: New file.
3178         * modules/unistr/u32-mbtouc: New file.
3179         * lib/unistr/u8-mbtouc.c: New file.
3180         * lib/unistr/u16-mbtouc.c: New file.
3181         * lib/unistr/u32-mbtouc.c: New file.
3182
3183         * modules/unistr/u8-mbtouc-safe: New file.
3184         * modules/unistr/u16-mbtouc-safe: New file.
3185         * modules/unistr/u32-mbtouc-safe: New file.
3186         * lib/unistr/u8-mbtouc-safe.c: New file.
3187         * lib/unistr/u16-mbtouc-safe.c: New file.
3188         * lib/unistr/u32-mbtouc-safe.c: New file.
3189
3190         * modules/unistr/u8-move: New file.
3191         * modules/unistr/u16-move: New file.
3192         * modules/unistr/u32-move: New file.
3193         * lib/unistr/u8-move.c: New file.
3194         * lib/unistr/u16-move.c: New file.
3195         * lib/unistr/u32-move.c: New file.
3196         * lib/unistr/u-move.h: New file.
3197
3198         * modules/unistr/u8-next: New file.
3199         * modules/unistr/u16-next: New file.
3200         * modules/unistr/u32-next: New file.
3201         * lib/unistr/u8-next.c: New file.
3202         * lib/unistr/u16-next.c: New file.
3203         * lib/unistr/u32-next.c: New file.
3204
3205         * modules/unistr/u8-prev: New file.
3206         * modules/unistr/u16-prev: New file.
3207         * modules/unistr/u32-prev: New file.
3208         * lib/unistr/u8-prev.c: New file.
3209         * lib/unistr/u16-prev.c: New file.
3210         * lib/unistr/u32-prev.c: New file.
3211
3212         * modules/unistr/u8-set: New file.
3213         * modules/unistr/u16-set: New file.
3214         * modules/unistr/u32-set: New file.
3215         * lib/unistr/u8-set.c: New file.
3216         * lib/unistr/u16-set.c: New file.
3217         * lib/unistr/u32-set.c: New file.
3218         * lib/unistr/u-set.h: New file.
3219
3220         * modules/unistr/u8-startswith: New file.
3221         * modules/unistr/u16-startswith: New file.
3222         * modules/unistr/u32-startswith: New file.
3223         * lib/unistr/u8-startswith.c: New file.
3224         * lib/unistr/u16-startswith.c: New file.
3225         * lib/unistr/u32-startswith.c: New file.
3226         * lib/unistr/u-startswith.h: New file.
3227
3228         * modules/unistr/u8-stpcpy: New file.
3229         * modules/unistr/u16-stpcpy: New file.
3230         * modules/unistr/u32-stpcpy: New file.
3231         * lib/unistr/u8-stpcpy.c: New file.
3232         * lib/unistr/u16-stpcpy.c: New file.
3233         * lib/unistr/u32-stpcpy.c: New file.
3234         * lib/unistr/u-stpcpy.h: New file.
3235
3236         * modules/unistr/u8-stpncpy: New file.
3237         * modules/unistr/u16-stpncpy: New file.
3238         * modules/unistr/u32-stpncpy: New file.
3239         * lib/unistr/u8-stpncpy.c: New file.
3240         * lib/unistr/u16-stpncpy.c: New file.
3241         * lib/unistr/u32-stpncpy.c: New file.
3242         * lib/unistr/u-stpncpy.h: New file.
3243
3244         * modules/unistr/u8-strcat: New file.
3245         * modules/unistr/u16-strcat: New file.
3246         * modules/unistr/u32-strcat: New file.
3247         * lib/unistr/u8-strcat.c: New file.
3248         * lib/unistr/u16-strcat.c: New file.
3249         * lib/unistr/u32-strcat.c: New file.
3250         * lib/unistr/u-strcat.h: New file.
3251
3252         * modules/unistr/u8-strchr: New file.
3253         * modules/unistr/u16-strchr: New file.
3254         * modules/unistr/u32-strchr: New file.
3255         * lib/unistr/u8-strchr.c: New file.
3256         * lib/unistr/u16-strchr.c: New file.
3257         * lib/unistr/u32-strchr.c: New file.
3258
3259         * modules/unistr/u8-strcmp: New file.
3260         * modules/unistr/u16-strcmp: New file.
3261         * modules/unistr/u32-strcmp: New file.
3262         * lib/unistr/u8-strcmp.c: New file.
3263         * lib/unistr/u16-strcmp.c: New file.
3264         * lib/unistr/u32-strcmp.c: New file.
3265
3266         * modules/unistr/u8-strcpy: New file.
3267         * modules/unistr/u16-strcpy: New file.
3268         * modules/unistr/u32-strcpy: New file.
3269         * lib/unistr/u8-strcpy.c: New file.
3270         * lib/unistr/u16-strcpy.c: New file.
3271         * lib/unistr/u32-strcpy.c: New file.
3272         * lib/unistr/u-strcpy.h: New file.
3273
3274         * modules/unistr/u8-strcspn: New file.
3275         * modules/unistr/u16-strcspn: New file.
3276         * modules/unistr/u32-strcspn: New file.
3277         * lib/unistr/u8-strcspn.c: New file.
3278         * lib/unistr/u16-strcspn.c: New file.
3279         * lib/unistr/u32-strcspn.c: New file.
3280         * lib/unistr/u-strcspn.h: New file.
3281
3282         * modules/unistr/u8-strdup: New file.
3283         * modules/unistr/u16-strdup: New file.
3284         * modules/unistr/u32-strdup: New file.
3285         * lib/unistr/u8-strdup.c: New file.
3286         * lib/unistr/u16-strdup.c: New file.
3287         * lib/unistr/u32-strdup.c: New file.
3288         * lib/unistr/u-strdup.h: New file.
3289
3290         * modules/unistr/u8-strlen: New file.
3291         * modules/unistr/u16-strlen: New file.
3292         * modules/unistr/u32-strlen: New file.
3293         * lib/unistr/u8-strlen.c: New file.
3294         * lib/unistr/u16-strlen.c: New file.
3295         * lib/unistr/u32-strlen.c: New file.
3296         * lib/unistr/u-strlen.h: New file.
3297
3298         * modules/unistr/u8-strmblen: New file.
3299         * modules/unistr/u16-strmblen: New file.
3300         * modules/unistr/u32-strmblen: New file.
3301         * lib/unistr/u8-strmblen.c: New file.
3302         * lib/unistr/u16-strmblen.c: New file.
3303         * lib/unistr/u32-strmblen.c: New file.
3304
3305         * modules/unistr/u8-strmbtouc: New file.
3306         * modules/unistr/u16-strmbtouc: New file.
3307         * modules/unistr/u32-strmbtouc: New file.
3308         * lib/unistr/u8-strmbtouc.c: New file.
3309         * lib/unistr/u16-strmbtouc.c: New file.
3310         * lib/unistr/u32-strmbtouc.c: New file.
3311
3312         * modules/unistr/u8-strncat: New file.
3313         * modules/unistr/u16-strncat: New file.
3314         * modules/unistr/u32-strncat: New file.
3315         * lib/unistr/u8-strncat.c: New file.
3316         * lib/unistr/u16-strncat.c: New file.
3317         * lib/unistr/u32-strncat.c: New file.
3318         * lib/unistr/u-strncat.h: New file.
3319
3320         * modules/unistr/u8-strncmp: New file.
3321         * modules/unistr/u16-strncmp: New file.
3322         * modules/unistr/u32-strncmp: New file.
3323         * lib/unistr/u8-strncmp.c: New file.
3324         * lib/unistr/u16-strncmp.c: New file.
3325         * lib/unistr/u32-strncmp.c: New file.
3326
3327         * modules/unistr/u8-strncpy: New file.
3328         * modules/unistr/u16-strncpy: New file.
3329         * modules/unistr/u32-strncpy: New file.
3330         * lib/unistr/u8-strncpy.c: New file.
3331         * lib/unistr/u16-strncpy.c: New file.
3332         * lib/unistr/u32-strncpy.c: New file.
3333         * lib/unistr/u-strncpy.h: New file.
3334
3335         * modules/unistr/u8-strnlen: New file.
3336         * modules/unistr/u16-strnlen: New file.
3337         * modules/unistr/u32-strnlen: New file.
3338         * lib/unistr/u8-strnlen.c: New file.
3339         * lib/unistr/u16-strnlen.c: New file.
3340         * lib/unistr/u32-strnlen.c: New file.
3341         * lib/unistr/u-strnlen.h: New file.
3342
3343         * modules/unistr/u8-strpbrk: New file.
3344         * modules/unistr/u16-strpbrk: New file.
3345         * modules/unistr/u32-strpbrk: New file.
3346         * lib/unistr/u8-strpbrk.c: New file.
3347         * lib/unistr/u16-strpbrk.c: New file.
3348         * lib/unistr/u32-strpbrk.c: New file.
3349         * lib/unistr/u-strpbrk.h: New file.
3350
3351         * modules/unistr/u8-strrchr: New file.
3352         * modules/unistr/u16-strrchr: New file.
3353         * modules/unistr/u32-strrchr: New file.
3354         * lib/unistr/u8-strrchr.c: New file.
3355         * lib/unistr/u16-strrchr.c: New file.
3356         * lib/unistr/u32-strrchr.c: New file.
3357
3358         * modules/unistr/u8-strspn: New file.
3359         * modules/unistr/u16-strspn: New file.
3360         * modules/unistr/u32-strspn: New file.
3361         * lib/unistr/u8-strspn.c: New file.
3362         * lib/unistr/u16-strspn.c: New file.
3363         * lib/unistr/u32-strspn.c: New file.
3364         * lib/unistr/u-strspn.h: New file.
3365
3366         * modules/unistr/u8-strstr: New file.
3367         * modules/unistr/u16-strstr: New file.
3368         * modules/unistr/u32-strstr: New file.
3369         * lib/unistr/u8-strstr.c: New file.
3370         * lib/unistr/u16-strstr.c: New file.
3371         * lib/unistr/u32-strstr.c: New file.
3372         * lib/unistr/u-strstr.h: New file.
3373
3374         * modules/unistr/u8-strtok: New file.
3375         * modules/unistr/u16-strtok: New file.
3376         * modules/unistr/u32-strtok: New file.
3377         * lib/unistr/u8-strtok.c: New file.
3378         * lib/unistr/u16-strtok.c: New file.
3379         * lib/unistr/u32-strtok.c: New file.
3380         * lib/unistr/u-strtok.h: New file.
3381
3382         * modules/unistr/u8-uctomb: New file.
3383         * modules/unistr/u16-uctomb: New file.
3384         * modules/unistr/u32-uctomb: New file.
3385         * lib/unistr/u8-uctomb.c: New file.
3386         * lib/unistr/u16-uctomb.c: New file.
3387         * lib/unistr/u32-uctomb.c: New file.
3388
3389         * MODULES.html.sh (Unicode string functions): Add the new modules.
3390
3391 2007-01-08  Bruno Haible  <bruno@clisp.org>
3392
3393         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
3394         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
3395         subdirectories.
3396
3397 2007-01-08  Karl Berry  <karl@gnu.org>
3398
3399         * doc/error.texi: mention that main() fns must set program_name
3400         when progname is used.
3401
3402 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
3403
3404         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
3405         WCTYPE_H is empty, for the benefit of builds from non-distclean
3406         directories.  Problem reported by Eric Blake in
3407         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
3408
3409 2007-01-08  Bruno Haible  <bruno@clisp.org>
3410
3411         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
3412         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
3413         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
3414         PROVIDE_CANONICALIZE_FILENAME_MODE.
3415         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
3416
3417 2007-01-08  Bruno Haible  <bruno@clisp.org>
3418
3419         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
3420         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
3421         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
3422         * lib/fts.c: Likewise.
3423         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
3424
3425 2006-12-25  Bruno Haible  <bruno@clisp.org>
3426
3427         * modules/utf8-ucs4-safe: New file.
3428         * lib/utf8-ucs4-safe.h: New file.
3429         * lib/unistr/utf8-ucs4-safe.c: New file.
3430
3431         * modules/utf16-ucs4-safe: New file.
3432         * lib/utf16-ucs4-safe.h: New file.
3433         * lib/unistr/utf16-ucs4-safe.c: New file.
3434
3435         * MODULES.html.sh (Unicode string functions): Add the new modules.
3436
3437 2007-01-08  Bruno Haible  <bruno@clisp.org>
3438
3439         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
3440         (Depends-on): Add unitypes.
3441         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
3442         (u8_mbtouc_aux): Move out to separate file.
3443         (u8_mbtouc): Use ucs4_t, uint8_t types.
3444         * lib/unistr/utf8-ucs4.c: New file.
3445
3446         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
3447         (Depends-on): Add unitypes.
3448         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
3449         (u16_mbtouc_aux): Move out to separate file.
3450         (u16_mbtouc): Use ucs4_t, uint16_t types.
3451         * lib/unistr/utf16-ucs4.c: New file.
3452
3453         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
3454         (Depends-on): Add unitypes.
3455         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
3456         (u8_uctomb_aux): Move out to separate file.
3457         (u8_uctomb): Use ucs4_t, uint8_t types.
3458         * lib/unistr/ucs4-utf8.c: New file.
3459
3460         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
3461         (Depends-on): Add unitypes.
3462         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
3463         (u16_uctomb_aux): Move out to separate file.
3464         (u16_uctomb): Use ucs4_t, uint16_t types.
3465         * lib/unistr/ucs4-utf16.c: New file.
3466
3467 2006-12-25  Bruno Haible  <bruno@clisp.org>
3468
3469         * modules/unitypes: New file.
3470         * lib/unitypes.h: New file.
3471         * MODULES.html.sh (func_all_modules): New section "Unicode string
3472         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
3473         this section. Add unitypes.
3474
3475 2007-01-08  Bruno Haible  <bruno@clisp.org>
3476
3477         Avoid variable names that conflict with those from libtool.
3478         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
3479         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
3480         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
3481         library_names_spec to acl_library_names_spec, hardcode_* to
3482         acl_hardcode_*.
3483         Reported by Ralf Wildenhues.
3484
3485 2007-01-08  Bruno Haible  <bruno@clisp.org>
3486
3487         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
3488         definition.
3489         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
3490         definition.
3491         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
3492         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
3493         definition.
3494         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
3495         definition.
3496         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
3497         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
3498         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
3499         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
3500         definition.
3501         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
3502         definition.
3503         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
3504         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
3505         GC_USE_<algorithm>.
3506         * lib/gc-libgcrypt.c: Likewise.
3507         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
3508         * modules/gc-arctwo (configure.ac): Likewise.
3509         * modules/gc-des (configure.ac): Likewise.
3510         * modules/gc-hmac-md5 (configure.ac): Likewise.
3511         * modules/gc-hmac-sha1 (configure.ac): Likewise.
3512         * modules/gc-md2 (configure.ac): Likewise.
3513         * modules/gc-md4 (configure.ac): Likewise.
3514         * modules/gc-md5 (configure.ac): Likewise.
3515         * modules/gc-random (configure.ac): Likewise.
3516         * modules/gc-rijndael (configure.ac): Likewise.
3517         * modules/gc-sha1 (configure.ac): Likewise.
3518
3519 2007-01-08  Bruno Haible  <bruno@clisp.org>
3520
3521         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
3522         macro definition.
3523         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
3524         definition.
3525         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
3526         definition.
3527         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
3528         * modules/fcntl-safer (configure.ac): Likewise.
3529         * modules/fopen-safer (configure.ac): Likewise.
3530         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
3531         GNULIB_FWRITEERROR macro definition.
3532
3533 2007-01-08  Bruno Haible  <bruno@clisp.org>
3534
3535         * m4/gnulib-common.m4: New file.
3536         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
3537         (func_get_filelist): Add m4/gnulib-common.m4.
3538
3539 2007-01-08  Bruno Haible  <bruno@clisp.org>
3540
3541         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
3542         command.
3543
3544 2007-01-08  Jim Meyering  <jim@meyering.net>
3545
3546         Use a more robust test for a "can't happen" condition.
3547         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
3548         narrowed the st_size value.  Presuming the "can't happen" condition
3549         is true, that narrowing could conceivably convert an invalid st_size
3550         value into a valid one.  Instead, use a change based on Matthew
3551         Woehlke's original patch.
3552
3553         Slight readability improvement: use an assert-like macro
3554         in place of literal "abort ()" uses.
3555         * lib/fts.c (fts_assert): Define.
3556         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
3557         Use this macro instead of a bare 'abort'.
3558
3559 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3560
3561         Don't worry about using IRIX 5.3's wctype.h broken definitions;
3562         simply work around them.
3563         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
3564         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
3565         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
3566         declaring.
3567         Don't bother to define as macros, since the standard doesn't require it.
3568         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
3569         longer worry about IRIX 5.3.
3570         (HAVE_WCTYPE_CTMP_BUG): Remove.
3571
3572 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3573
3574         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
3575         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
3576         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
3577         Problems reported by Georg Schwarz for IRIX 5.3.
3578
3579         * gnulib-tool (autoconf_minversion): Take the maximum version number
3580         found, not the minimum.  Problem reported by James Youngman.
3581
3582 2007-01-03  Karl Berry  <karl@gnu.org>
3583
3584         * doc/error.texi: new file, explaining interaction with progname.
3585         * doc/gnulib.texi: include it.  Update copyright.
3586
3587 2007-01-03  Simon Josefsson  <simon@josefsson.org>
3588
3589         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
3590         AC_CANONICAL_HOST, to improve autobuild outputs.
3591
3592 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
3593             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
3594
3595         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
3596         sockets, server sockets, and other file descriptors.  Count errors
3597         to compute the return value.  Reorder the code a bit to be easier
3598         to follow.  Don't set event bits that were not requested (except
3599         POLLERR and POLLHUP).
3600
3601 2007-01-01  Bruno Haible  <bruno@clisp.org>
3602
3603         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
3604
3605 2007-01-03  Jim Meyering  <jim@meyering.net>
3606
3607         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
3608
3609 2007-01-02  Bruno Haible  <bruno@clisp.org>
3610
3611         * modules/settime (Include): Require timespec.h.
3612         * modules/nanosleep (Include): Likewise.
3613
3614 2007-01-01  Bruno Haible  <bruno@clisp.org>
3615
3616         * gnulib-tool (func_emit_copyright_notice): Bump year.
3617         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
3618
3619 2007-01-01  Bruno Haible  <bruno@clisp.org>
3620
3621         Improve support for OpenBSD.
3622         * build-aux/config.rpath (libname_spec): Export.
3623         (library_names_spec): New variable. Export.
3624         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
3625         library_names_spec from the config.rpath output. Locate shared library
3626         through the name pattern in library_names_spec.
3627
3628 2007-01-01  Eric Blake  <ebb9@byu.net>
3629
3630         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
3631
3632 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3633
3634         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
3635         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
3636         assume the C locale, and avoid an "eval" that could cause trouble.
3637         Problem with SORT reported by Bob Proulx.
3638
3639         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
3640         Define.  Trivial patch from Henning Nielsen Lund, originally
3641         sent to bug-grep@gnu.org today.
3642
3643 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
3644
3645         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
3646         struct stat.  Problem reported by Henning Nielsen Lund.
3647         * lib/acl.c: Include acl.h first, to check interface.  Don't
3648         bother to include sys/types.h and sys/stat.h again.
3649
3650 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
3651
3652         Import the following change from libc; problem reported by
3653         Sven Verdoolaege.
3654
3655         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
3656
3657         [BZ #1373]
3658         * lib/argp.h: Remove __NTH for __argp_usage inline function.
3659
3660 2006-12-28  Jim Meyering  <jim@meyering.net>
3661
3662         * build-aux/announce-gen: Do not assume that the package
3663         builds any of tar.gz, tar.bz2, and .xdelta files.
3664         Suggestion from Simon Josefsson.
3665
3666 2006-12-28  Simon Josefsson  <simon@josefsson.org>
3667
3668         * modules/announce-gen: New file.
3669
3670 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
3671
3672         * lib/mbchar.h: Just include <wctype.h>; the wctype module
3673         handles its gotchas now.
3674         * lib/mbswidth.c: Likewise.
3675         * lib/wcwidth.h: Likewise.
3676         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
3677         and iswcntrl; the wctype module does this stuff now.
3678         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
3679         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3680         * modules/mbchar (Depends-on): Add wctype.
3681         * modules/mbswidth (Depends-on): Likewise.
3682         * modules/wcwidth (Depends-on): Likewise.
3683
3684 2006-12-27  Eric Blake  <ebb9@byu.net>
3685
3686         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
3687         module uses more than what <wctype.h> is required to provide.
3688
3689 2006-12-26  Eric Blake  <ebb9@byu.net>
3690
3691         * gnulib-tool (sed_extract_prog): Avoid space-tab.
3692
3693 2006-12-26  Eric Blake  <ebb9@byu.net>
3694
3695         * modules/absolute-header: New module.
3696         * modules/fcntl (Depends-on): Depend on it.
3697         * modules/inttypes (Depends-on): Likewise.
3698         * modules/stdint (Depends-on): Likewise.
3699         * modules/sys_stat (Depends-on): Likewise.
3700         * modules/wctype (Depends-on): Likewise.
3701         * MODULES.html.sh (Support for building libraries and
3702         executables): Document it.
3703
3704 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3705
3706         * gnulib-tool (SED): Remove, undoing previous change.
3707         The problem was that it broke coreutils on Solaris, because
3708         "sed --posix" leaked into a makefile.
3709         (sed): New alias, if 'alias' and GNU sed.
3710
3711 2006-12-24  Jim Meyering  <jim@meyering.net>
3712
3713         Work around an fchownat bug in glibc-2.4:
3714         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
3715         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
3716         in spite of the -P option.
3717         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
3718         New macros.
3719         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
3720         * modules/openat (Files): Add lib/fchownat.c.
3721         * lib/openat.c (fchownat): Don't define here.  Move to...
3722         * lib/fchownat.c: ...this new file.
3723
3724 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
3725
3726         Fix bug reported by Bruno Haible in
3727         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
3728         where quotearg.c didn't compile on Mac OS X 10.2 because it
3729         lacks <wchar.h> and wint_t.
3730         * lib/wctype_.h (__wctype_wint_t): New type.
3731         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
3732         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
3733         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
3734         Arg is now of type __wctype_wint_t, not wint_t.
3735         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
3736         substitute HAVE_WINT_T.
3737         * modules/wctype (Files): Add m4/wint_t.m4.
3738         (wctype.h): Substitute HAVE_WINT_T.
3739
3740 2006-12-23  Bruno Haible  <bruno@clisp.org>
3741
3742         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
3743
3744 2006-12-23  Bruno Haible  <bruno@clisp.org>
3745
3746         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
3747         S_ISLNK.
3748         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
3749         mingw.
3750
3751 2006-12-22  Bruno Haible  <bruno@clisp.org>
3752
3753         * lib/copy-file.c: Include acl.h.
3754         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
3755         Close the file descriptors only after being done with copy_acl.
3756         * modules/copy-file (Depends-on): Add acl.
3757
3758 2006-12-22  Bruno Haible  <bruno@clisp.org>
3759
3760         * gnulib-tool (SED): New variable.
3761         Use $SED instead of sed everywhere.
3762
3763 2006-12-22  Bruno Haible  <bruno@clisp.org>
3764
3765         * modules/no-c++: New file.
3766         * m4/no-c++.m4: New file.
3767         * MODULES.html.sh (Support for building libraries and executables):
3768         Add no-c++.
3769
3770 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3771
3772         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
3773         Include <limits.h>, and use its INT_MAX to rewrite the
3774         j loop so that it does not overflow 'int'.  Problem reported by
3775         Ralf Wildenhues in
3776         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
3777         Play it safe by shifting left by 1 rather than multiplying by 2,
3778         as GCC is less likely to optimize this away when the value
3779         is signed (when it assumes overflow leads to undefined behavior).
3780         Also, don't assume time_t uses two's complement.
3781
3782 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3783
3784         * MODULES.html.sh: New module wctype.
3785         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
3786         * lib/fnmatch.c: Don't bother to include <wchar.h> before
3787         <wctype.h>, since the new wctype module should fix this.
3788         * lib/quotearg.c: Include <wctype.h> unconditionally, since
3789         the wctype module should arrange for it.
3790         * lib/regex_internal.h: Likewise.
3791         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
3792         since the wctype module should handle this now.
3793         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
3794         * modules/fnmatch (Depends-on): Add wctype.
3795         * modules/quotearg (Depends-on): Likewise.
3796         * modules/regex (Depends-on): Likewise.
3797
3798 2006-12-19  Bruno Haible  <bruno@clisp.org>
3799
3800         * lib/strdup.h [C++]: Wrap definitions in extern "C".
3801         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
3802
3803 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3804
3805         * modules/savewd (Depends-on): Fix dependency on fcntl.
3806
3807 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3808
3809         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
3810         conforms to C99, rather than relying on the user's environment
3811         setting of STDINT_H.
3812
3813 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3814         and Eric Blake  <ebb9@byu.net>
3815
3816         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
3817         This is more consistent with the other defines here.
3818         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
3819         Port to z/OS.  Problem reported by Paul Gilmartin.
3820         Change local vars to use gl_ prefix rather than ac_.
3821         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
3822         with other defines.
3823         * modules/double-slash-root: New module.
3824         * modules/dirname (Files): Remove m4/double-slash-root.m4.
3825         (Depends-on): Add double-slash-root.
3826         * MODULES.html.sh (File system functions): Mention new module.
3827
3828 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
3829
3830         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
3831         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
3832         This is for the benefit of gzip, which doesn't do i18n.
3833
3834 2006-12-12  Jim Meyering  <jim@meyering.net>
3835
3836         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
3837         Reported by Andreas Schwab <schwab@suse.de>.
3838
3839 2006-12-12  Bruno Haible  <bruno@clisp.org>
3840
3841         Merge these changes.
3842         2006-09-05  Bruno Haible  <bruno@clisp.org>
3843         * lib/iconvme.c (iconv_string): No need to save and restore errno when
3844         iconv_alloc succeeded.
3845         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
3846         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
3847         test for " && dest " at the end - dest is always != NULL there. Call
3848         iconv with 4xNULL arguments initially, to reset the state. Call iconv
3849         with 2xNULL arguments, also to flush the state storage. Handle the
3850         IRIX iconv behaviour. Realloc the final result, to throw away unused
3851         memory.
3852
3853 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
3854
3855         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
3856         and fchmodat unconditionally, since glibc 2.4 has them.
3857         Problem reported by Arkadiusz Miskiewicz.
3858
3859 2006-12-10  Bruno Haible  <bruno@clisp.org>
3860
3861         * gnulib-tool (func_import): Show the include files only for those
3862         modules that are copied and specified.
3863         Reported by Karl Berry.
3864
3865 2006-12-08  Jim Meyering  <jim@meyering.net>
3866
3867         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
3868         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
3869
3870         * build-aux/announce-gen: Add two new options, both optional:
3871         --bootstrap-tools=TOOL_LIST
3872               a comma-separated list of tools, e.g.,
3873               autoconf,automake,bison,gnulib
3874         --gnulib-snapshot-date=DATE
3875               if gnulib is in the bootstrap tool list,
3876               then report this as the snapshot date.
3877               If not specified, use the current date/time.
3878               If you specify a date here, be sure it's UTC.
3879
3880 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3881
3882         * tests/test-argp-2.sh: Fix test to match actual output.
3883         (func_compare): Fix sed script to be portable.
3884
3885 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
3886
3887         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
3888         workaround for this case.  It is not autoconfigured now; offhand
3889         it's hard to see how to autoconfigure it.
3890
3891 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
3892
3893         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
3894         a directory that is about to be chowned.  Such a directory's
3895         initial file permissions should permit the owner only and this
3896         should not be changed until after the chown, since the group and
3897         other bits would be incorrect if they granted permission before
3898         the chown.
3899
3900         Fix porting problem for iswctype reported by Georg Schwarz in:
3901         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
3902         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
3903         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
3904         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
3905         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3906
3907 2006-12-03  Jim Meyering  <jim@meyering.net>
3908
3909         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
3910         p->fts_statp may not yet be defined.
3911         (fts_read): Instead, set it in the caller, once p->fts_statp is
3912         sure to be defined, and corresponds to a top-level directory.
3913         This bug made du -x fail.  Here's the coreutils test case:
3914         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
3915         Reported by Mike Frysinger.
3916
3917 2006-12-01  Jim Meyering  <jim@meyering.net>
3918
3919         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
3920         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
3921         Reported by Simon Josefsson.
3922
3923 2006-11-30  Jim Meyering  <jim@meyering.net>
3924
3925         * m4/warning.m4: Use the all-permissive copyright notice
3926         recommended by RMS (rather than LGPL).
3927         * m4/vararrays.m4: Likewise.
3928         * m4/flexmember.m4: Likewise.
3929
3930 2006-11-29  Bruno Haible  <bruno@clisp.org>
3931
3932         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3933         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
3934         using +=.
3935         Reported by Simon Josefsson <simon@josefsson.org>.
3936
3937 2006-11-28  James Youngman <jay@gnu.org>
3938
3939         * README: Advise users that they might find the bug-gnulib@gnu.org
3940         and autotools-announce@gnu.org mailing lists useful.
3941
3942 2006-11-28  Bruno Haible  <bruno@clisp.org>
3943
3944         * m4/ptrdiff_max.m4: Remove file.
3945
3946 2006-11-21  Bruno Haible  <bruno@clisp.org>
3947
3948         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
3949         _AC_COMPUTE_INT.
3950         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3951         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
3952         _AC_COMPUTE_INT.
3953         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3954         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
3955         _AC_COMPUTE_INT.
3956         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3957
3958 2006-11-28  Jim Meyering  <jim@meyering.net>
3959
3960         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
3961         warning from "gcc -Wshadow" about shadowing the builtin.
3962
3963 2006-11-27  Bruno Haible  <bruno@clisp.org>
3964
3965         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
3966         _AC_COMPUTE_INT.
3967         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3968
3969 2006-11-27  Bruno Haible  <bruno@clisp.org>
3970             Paul Eggert  <eggert@cs.ucla.edu>
3971
3972         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
3973
3974 2006-11-26  Bruno Haible  <bruno@clisp.org>
3975
3976         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3977         noinst_LTLIBRARIES.
3978
3979 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
3980             Bruno Haible  <bruno@clisp.org>
3981
3982         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
3983         if compiling with "gcc -ansi".
3984
3985 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
3986
3987         Fix some incompatibilities with gcc -ansi -pedantic.
3988         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
3989         if compiling pedantically with GCC, unless it's C99 or later.
3990         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
3991         it mishandles gcc -ansi -pedantic as well.
3992         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
3993         if gcc -pedantic.
3994         * lib/regexec.c (check_node_accept_bytes): Don't use auto
3995         initializers for struct if -pedantic, unless it's C99 or later.
3996
3997 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
3998
3999         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
4000         Don't close an fd more than once. Identical atimes indicate
4001         success, not failure.
4002
4003 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
4004
4005         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
4006
4007 2006-11-23  Jim Meyering  <jim@meyering.net>
4008
4009         * build-aux/announce-gen: New file.  From coreutils.
4010
4011 2006-11-22  Jim Meyering  <jim@meyering.net>
4012
4013         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
4014         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
4015         (fts_read): Use a temporary to narrow the overused st_size member
4016         before using it in a switch statement.  Reported by Matthew Woehlke.
4017
4018         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
4019         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
4020
4021 2006-11-20  Bruno Haible  <bruno@clisp.org>
4022
4023         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
4024         changequote instead of pairs of brackets.
4025         Reported by Andreas Schwab <schwab@suse.de>.
4026
4027 2006-11-21  Jim Meyering  <jim@meyering.net>
4028
4029         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
4030         so as to remain compatible with older compilers.
4031         Patch from Michael Deutschmann.
4032
4033 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
4034
4035         * MODULES.html.sh (File system functions): Add openat.
4036
4037         * lib/openat.h (rpl_fstatat): New macro, if
4038         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
4039         (fstatat): Define to rpl_fstatat under the same conditions,
4040         unless COMPILING_FSTATAT.
4041         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
4042         seems to have the bug.
4043         * lib/fstatat.c: New file.
4044         * modules/openat (Files): Add it.
4045
4046 2006-11-20  Bruno Haible  <bruno@clisp.org>
4047
4048         * Makefile: New file.
4049
4050 2006-11-20  Jim Meyering  <jim@meyering.net>
4051
4052         The beginnings of syntax-related checks for gnulib.
4053         * lib/Makefile: New file.
4054         * lib/t-idcache: New script.  Ensure that the two halves of
4055         idcache.c stay in sync.
4056
4057         * lib/idcache.c: Adjust comments in user- and group- portions to
4058         be more accurate, and to be consistent with one another.
4059
4060 2006-11-20  Jim Meyering  <jim@meyering.net>
4061
4062         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
4063         continue using the flexible array member (thus, this module performs
4064         half as many malloc calls), with the addition that...
4065         (getgroup, getuser): Consistently record a non-match via an empty
4066         "name" string, and map an empty string match to a NULL return value.
4067         * modules/idcache (Depends-on): Re-add flexmember.
4068
4069         * lib/idcache.c (getuser): Remove all uses of the register keyword.
4070         (getuidbyname, getgroup, getgidbyname): Likewise.
4071
4072         Use cleaner syntax: NULL rather than 0.
4073         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
4074
4075 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
4076
4077         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
4078         It mishandled the case where the group was missing.
4079         Problem reported by Greg Schafer.
4080         * modules/idcache: Likewise.
4081
4082 2006-11-18  Jim Meyering  <jim@meyering.net>
4083
4084         * check-module (%exempt_header): Add exception for some
4085         conditionally-included headers.
4086
4087         * modules/i-ring (Depends-on): Add verify.
4088         (License): Change to LGPL.
4089
4090 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
4091
4092         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
4093         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
4094         and inttostr.h.  Use snprintf rather than uinttostr, so that
4095         LGPLed code doesn't depend on GPLed.
4096
4097 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4098
4099         * modules/inline (License): Change from GPL to LGPL.
4100
4101 2006-11-17  Jim Meyering  <jim@meyering.net>
4102
4103         * modules/d-type (License): Switch to LGPL.
4104
4105 2006-11-15  Bruno Haible  <bruno@clisp.org>
4106
4107         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
4108
4109 2006-11-15  Eric Blake  <ebb9@byu.net>
4110
4111         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
4112         the module dependency.
4113
4114 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4115             Bruno Haible  <bruno@clisp.org>
4116
4117         * gnulib-tool (func_create_testdir): Add license consistency check.
4118
4119 2006-11-15  Eric Blake  <ebb9@byu.net>
4120
4121         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
4122         random "(cached)" in configure output.
4123
4124 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4125
4126         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
4127         test for conforming inttypes.h is both announced and cached.
4128
4129         * MODULES.html.sh (seen_modules, seen_files): New variables.
4130         (func_module): Rewrite to use a few less gnulib-tool and sed
4131         invocations.  Avoid a couple of quadratic algorithms for ...
4132         (missed_modules, missed_files): ... these, with ...
4133         (func_append, func_tmpdir): ... these new functions, from
4134         gnulib-tool.  Analogously, install traps for cleanup.
4135
4136         * tests/test-gc.c (main): Remove unused variables.
4137         * tests/test-read-file.c: Include stdlib.h, for 'free'.
4138
4139 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
4140
4141         * modules/inttostr (License): Change to LGPL.
4142
4143 2006-11-14  Eric Blake  <ebb9@byu.net>
4144
4145         * modules/tempname (License): Change to LGPL.
4146
4147 2006-11-14  Eric Blake  <ebb9@byu.net>
4148
4149         * doc/functions.texi (Function Portability): *printf functions on
4150         Cygwin now understand all POSIX size specifiers.
4151
4152 2006-11-14  Bruno Haible  <bruno@clisp.org>
4153
4154         * modules/c-ctype (License): Change to LGPL.
4155
4156 2006-11-12  Bruno Haible  <bruno@clisp.org>
4157
4158         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
4159         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
4160         for GNOME libraries, for which the include files are installed in
4161         subdirectories of $prefix/include.
4162
4163 2006-11-12  Bruno Haible  <bruno@clisp.org>
4164
4165         * m4/lib-link.m4: Require at least autoconf-2.54.
4166         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
4167         name to underscores for the --with option.
4168
4169 2006-11-13  Bruno Haible  <bruno@clisp.org>
4170
4171         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
4172         the tests directory.
4173         Reported by Ralf Wildenhues.
4174
4175 2006-11-13  Bruno Haible  <bruno@clisp.org>
4176
4177         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
4178         (func_emit_initmacro_end): Undo the override here.
4179         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
4180         Works around the famous automake error in coreutils.
4181
4182 2006-11-13  Eric Blake  <ebb9@byu.net>
4183
4184         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
4185         element, not its node.
4186
4187 2006-11-12  Bruno Haible  <bruno@clisp.org>
4188
4189         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
4190         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
4191
4192 2006-11-12  Bruno Haible  <bruno@clisp.org>
4193
4194         * gnulib-tool: New option --local-symlink.
4195         (func_usage): Document it.
4196         (lsymbolic): New variable.
4197         (func_import, func_create_testdir): If --symlink was not specified,
4198         test whether --local-symlink was specified and the file comes from
4199         the local_gnulib_dir.
4200
4201 2006-11-12  Bruno Haible  <bruno@clisp.org>
4202
4203         * gnulib-tool (func_ln): New function.
4204         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
4205
4206 2006-11-12  Bruno Haible  <bruno@clisp.org>
4207
4208         Finish support for source files in subdirectories.
4209         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
4210         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
4211         AUTOMAKE_OPTIONS.
4212         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
4213
4214 2006-11-12  Bruno Haible  <bruno@clisp.org>
4215
4216         * gnulib-tool (func_get_automake_snippet): Synthesize also an
4217         EXTRA_lib_SOURCES augmentation.
4218         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
4219
4220 2006-11-12  Jim Meyering  <jim@meyering.net>
4221
4222         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
4223         file descriptors.  This also averts a failure on systems with
4224         native openat support when a traversed directory lacks "x" access.
4225         * lib/fts_.h: Include "i-ring.h"
4226         (struct FTS) [fts_fd_ring]: New member.
4227         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
4228         (FCHDIR): Add parentheses.
4229         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
4230         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
4231         When descending, rather than simply closing the previous
4232         fts_cwd_fd value, push that file descriptor onto the ring.
4233         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
4234         (fts_open): Initialize the new fd_ring member.
4235         (fts_close): Clear the ring.
4236         (fts_safe_changedir): When possible, use our new fd_ring to skip
4237         the diropen and fstat and dev/ino comparison that would normally
4238         accompany a virtual `chdir ("..")'.
4239
4240         * modules/fts (Depends-on): Add i-ring.
4241         * modules/i-ring: New module.
4242         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
4243         * m4/i-ring.m4: New file.
4244
4245 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4246
4247         * gnulib-tool (func_create_testdir): Fix replacement of
4248         `build-aux' in configure.ac.  Run autotools in gltests
4249         subdirectory.
4250         (func_create_testdir, func_create_megatestdir, test): There is
4251         no need for '--force' in most autotool invocations in a new
4252         tree.  Actually fail the whole test if any of the tools, or the
4253         configure or make stages fail.
4254
4255         Sync from Automake.
4256         * build-aux/gnupload: Revert last change.  Add pointer to upload
4257         instructions of the GNU Maintenance Instructions.
4258         Suggestion by Karl Berry.
4259
4260 2006-11-10  Jim Meyering  <jim@meyering.net>
4261
4262         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
4263
4264 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4265
4266         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
4267         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
4268         (bind_textdomain_codeset) [! ENABLE_NLS]:
4269         Evaluate all the arguments.  That way, callers get compatible behavior
4270         if the arguments have side effects.  Also, it avoids some GCC
4271         diagnostics in some cases; Joel E. Denny reported problems when Bison
4272         was configured with --enable-gcc-warnigs.
4273
4274 2006-11-10  Jim Meyering  <jim@meyering.net>
4275
4276         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
4277         relevant options in CFLAGS (like -O, -fno-inline) are taken into
4278         account.
4279
4280 2006-11-10  Jim Meyering  <jim@meyering.net>
4281
4282         * modules/inline: New file/module.
4283         * modules/xalloc (Files): Remove m4/inline.m4.
4284         (Depends-on): Add inline, instead.
4285         * modules/oset: Likewise.
4286         * modules/list: Likewise.
4287
4288 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4289
4290         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
4291         Problem reported by Matthew Woehlke.
4292
4293 2006-11-09  Bruno Haible  <bruno@clisp.org>
4294
4295         * lib/tempname.c (gen_tempname): Remove variant that invokes
4296         __gen_tempname.
4297         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
4298         __gen_tempname.
4299
4300 2006-11-08  Bruno Haible  <bruno@clisp.org>
4301
4302         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
4303         to 'yes' instead of 'cross-compiling'.
4304
4305 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
4306
4307         * lib/quotearg.h (quotearg_free): New decl.
4308         * lib/quotearg.c (quotearg_free): New function.
4309         (slot0, nslots, slotvec0, slotvec):
4310         Now file-scope so that quotearg_free can get at them.
4311
4312 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4313
4314         Sync from Automake.
4315         * build-aux/gnupload: Add missing 'gnu' to example URL.
4316         Report by Karl Berry.
4317
4318 2006-11-08  Bruno Haible  <bruno@clisp.org>
4319
4320         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
4321         Suggested by Paul Eggert.
4322
4323 2006-11-08  Jim Meyering  <jim@meyering.net>
4324
4325         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
4326         It's already included if !_LIBC.
4327         (fts_safe_changedir): Add a comment.
4328
4329 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
4330
4331         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
4332         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
4333         Matthew Woehlke.
4334
4335         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
4336         definitions up, to avoid colliding with change below.
4337         (static_inline) [HAVE_INLINE]: New macro.
4338         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
4339         Provide extern decls when !HAVE_INLINE.  Do not define unless
4340         static_inline is defined, either by us or by xmalloc.c.  Use
4341         static_inline rather than static inline.
4342         (XCALLOC): Optimize sizeof(T) = 1 case.
4343         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
4344
4345 2006-11-07  Bruno Haible  <bruno@clisp.org>
4346
4347         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
4348         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
4349         AC_C_INLINE.
4350         * modules/xalloc (Files): Add m4/inline.m4.
4351
4352 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4353
4354         * README: Fix typo.
4355         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
4356         (Miscellanous Notes): ...from this.
4357
4358 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
4359
4360         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
4361         Mention that offsetof should be used instead of sizeof.
4362         From Bruno Haible.
4363
4364 2006-11-07  Bruno Haible  <bruno@clisp.org>
4365
4366         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
4367
4368 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4369
4370         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
4371         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
4372         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
4373         (gl_tree_add_before, gl_tree_add_after):
4374         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
4375         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
4376         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
4377         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
4378         (gl_linked_add_after, gl_linked_add_at): Likewise.
4379         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
4380         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
4381         (gl_tree_add_before, gl_tree_add_after): Likewise.
4382         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
4383         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
4384         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
4385
4386 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4387
4388         * lib/gl_oset.h: Use C comment style, not C++ comment style.
4389
4390 2006-11-06  Bruno Haible  <bruno@clisp.org>
4391
4392         * m4/inline.m4: New file.
4393         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
4394         * modules/list (Files): Add m4/inline.m4.
4395         * modules/oset (Files): Likewise.
4396
4397 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4398
4399         * lib/idcache.c: Include <stddef.h>, for offsetof.
4400         (struct userid.name): Change from char * to a flexible array member.
4401         All uses changed.
4402         * modules/idcache (Depends-on): Add flexmember.
4403
4404         * MODULES.html.sh (Core language properties): New module flexmember.
4405         * modules/flexmember, m4/flexmember.m4: New files.
4406
4407         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
4408         inline functions that are identical with the old xnmalloc_inline,
4409         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
4410         that we can avoid some unnecessary integer multiplications and
4411         divisions in the common case where the element size is known at
4412         compile time.
4413         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
4414         needed.
4415         (xnboundedmalloc): Remove.
4416         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
4417         arguments, for consistency with rest of this header.
4418         (xcharalloc): Rewrite using XNMALLOC.
4419         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
4420         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
4421         versions have been moved to lib/xalloc.h and renamed to be the
4422         non-*_inline versions.
4423         (xmalloc, xrealloc): Implement without reference to the xnmalloc
4424         and xnrealloc functions, since those functions are now inline and
4425         now call us.
4426         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
4427         renaming described above.
4428         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
4429         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
4430         captures the dependency in AC_C_INLINE.
4431
4432         New module canonicalize-lgpl, proposed by Charles Wilson in
4433         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
4434         with a few small changes afterwards.
4435         * MODULES.html.sh (File system functions): New module
4436         canonicalize-lgpl.
4437         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
4438         and canonicalize_file_name.
4439         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
4440         * modules/canonicalize-lgpl: New files.
4441
4442 2006-11-05  Bruno Haible  <bruno@clisp.org>
4443
4444         * gnulib-tool (func_import, func_create_testdir): Create directories
4445         also for files in subdirectories of lib/.
4446
4447 2006-11-05  Bruno Haible  <bruno@clisp.org>
4448
4449         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
4450         ANSI C compliant.
4451
4452 2006-11-03  Bruno Haible  <bruno@clisp.org>
4453
4454         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
4455         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
4456         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
4457         (xnboundedmalloc): New inline function.
4458         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
4459         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
4460         xmalloc.
4461         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
4462         xmalloc.
4463         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
4464         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
4465         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
4466         xmalloc.
4467         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
4468         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
4469         xmalloc.
4470         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
4471         gl_tree_add_after): Use XMALLOC instead of xmalloc.
4472         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
4473         xmalloc.
4474         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
4475         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
4476         gl_tree_add_after): Use XMALLOC instead of xmalloc.
4477         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
4478         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
4479         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
4480         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
4481
4482 2006-11-03  Bruno Haible  <bruno@clisp.org>
4483
4484         * lib/c-ctype.h [C++]: Define functions without name mangling.
4485         * lib/fwriteerror.h [C++]: Likewise.
4486         * lib/gcd.h [C++]: Likewise.
4487         * lib/linebreak.h [C++]: Likewise.
4488
4489 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
4490
4491         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
4492         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
4493         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
4494         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
4495         Check for functions and headers just once.
4496         Check for declaration of canonicalize_file_name.
4497         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
4498
4499 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4500
4501         * gnulib-tool (func_import): Fix typo in actioncmd.
4502
4503 2006-11-02  Bruno Haible  <bruno@clisp.org>
4504
4505         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
4506         newline sequence in the Makefile.am snippet as a space, like "make"
4507         does.
4508         Reported by Roger Persson <perrog@gmail.com>.
4509
4510 2006-11-01  Bruno Haible  <bruno@clisp.org>
4511
4512         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
4513         already declared in <string.h>.
4514         * lib/strcase.h (strncasecmp): Don't declare it if yes.
4515
4516 2006-11-01  Bruno Haible  <bruno@clisp.org>
4517
4518         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
4519         * lib/strcase.h: Include <string.h>.
4520         (strcasecmp): Define to rpl_strcasecmp here.
4521
4522 2006-11-01  Bruno Haible  <bruno@clisp.org>
4523
4524         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
4525
4526 2006-11-01  Eric Blake  <ebb9@byu.net>
4527
4528         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
4529
4530         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
4531
4532 2006-10-29  Bruno Haible  <bruno@clisp.org>
4533
4534         Make it compile in C++ mode.
4535         * lib/full-write.c (full_rw): Add a cast.
4536
4537 2006-11-01  Bruno Haible  <bruno@clisp.org>
4538
4539         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
4540         be POSIX compliant.
4541         Reported by Roger Persson <perrog@gmail.com>.
4542
4543 2006-11-01  Eric Blake  <ebb9@byu.net>
4544
4545         * lib/getopt_.h: Fix comments.
4546
4547 2006-10-31  Eric Blake  <ebb9@byu.net>
4548
4549         * modules/tmpdir (Depends-on): Add sys_stat.
4550         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
4551         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
4552         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
4553         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
4554         tempname.
4555
4556 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4557
4558         Avoid some C++ diagnostics reported by Bruno Haible.
4559         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
4560         xmalloc.
4561         (quotearg_alloc): Use xcharalloc rather than xmalloc.
4562         (struct slotvec): Move to top level.
4563         (quotearg_n_options): Rewrite to avoid xmalloc.
4564         * lib/xalloc.h (xcharalloc): New function.
4565         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
4566         [defined __cplusplus]: Add function template that provides result
4567         type propagation.  This part of the change is from Bruno Haible.
4568
4569 2006-10-29  Bruno Haible  <bruno@clisp.org>
4570
4571         Make it compile in C++ mode.
4572         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
4573         * lib/strnlen1.c (strnlen1): Cast memchr result.
4574         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
4575         * lib/clean-temp.c (string_equals, string_hash): Add casts.
4576         (create_temp_dir): Rename local variable 'template'.
4577         (compile_csharp_using_sscli): Add cast.
4578         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
4579         * lib/findprog.c (find_in_path): Likewise.
4580         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
4581         * lib/wait-process.c (register_slave_subprocess): Likewise.
4582
4583 2006-10-22  Bruno Haible  <bruno@clisp.org>
4584
4585         * modules/tsearch: New file.
4586         * lib/tsearch.h: New file.
4587         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
4588         * m4/tsearch.m4: New file.
4589         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
4590
4591 2006-10-29  Eric Blake  <ebb9@byu.net>
4592
4593         * lib/arcfour.c: Assume config.h.
4594         * lib/arctwo.c: Likewise.
4595         * lib/base64.c: Likewise.
4596         * lib/check-version.c: Likewise.
4597         * lib/crc.c: Likewise.
4598         * lib/des.c: Likewise.
4599         * lib/gc-gnulib.c: Likewise.
4600         * lib/gc-libgcrypt.c: Likewise.
4601         * lib/gc-pbkdf2-sha1.c: Likewise.
4602         * lib/getaddrinfo.c: Likewise.
4603         * lib/getdelim.c: Likewise.
4604         * lib/getline.c: Likewise.
4605         * lib/hmac-md5.c: Likewise.
4606         * lib/hmac-sha1.c: Likewise.
4607         * lib/iconvme.c: Likewise.
4608         * lib/md2.c: Likewise.
4609         * lib/md4.c: Likewise.
4610         * lib/memxor.c: Likewise.
4611         * lib/read-file.c: Likewise.
4612         * lib/readline.c: Likewise.
4613         * lib/rijndael-alg-fst.c: Likewise.
4614         * lib/rijndael-api-fst.c: Likewise.
4615         * lib/xgetdomainname.c: Likewise.
4616
4617 2006-10-28  Eric Blake  <ebb9@byu.net>
4618
4619         * lib/xstrndup.c: Assume config.h.
4620
4621 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
4622
4623         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
4624         stat-macros.h is now for our own macros, whereas stat_h is for
4625         macros in the <sys/stat.h> name space.
4626         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
4627         (STAT_MACROS_H): Remove.
4628         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
4629         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
4630         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
4631         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
4632         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
4633         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
4634         Move these macros to ...
4635         * lib/stat_.h: here.  Don't include stat-macros.h.
4636         * lib/canonicalize.c: Don't include stat-macros.h.
4637         * lib/chown.c: Likewise.
4638         * lib/euidaccess.c: Likewise.
4639         * lib/file-type.c: Likewise.
4640         * lib/filemode.c: Likewise.
4641         * lib/glob.c: Likewise.
4642         * lib/isapipe.c: Likewise.
4643         * lib/lchown.c: Likewise.
4644         * lib/lstat.c: Likewise.
4645         * lib/mkdir-p.c: Likewise.
4646         * lib/rmdir.c: Likewise.
4647         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
4648         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
4649         unless mkdir isn't declared, to speed up 'configure'.
4650         Always create sys/stat.h, since it's unlikely any real sys/stat.h
4651         would define all the S_* symbols.
4652         * modules/canonicalize (Depends-on):
4653         Depend on sys_stat, not stat-macros.
4654         * modules/chown: Likewise.
4655         * modules/euidaccess: Likewise.
4656         * modules/filemode: Likewise.
4657         * modules/file-type: Likewise.
4658         * modules/glob: Likewise.
4659         * modules/isapipe: Likewise.
4660         * modules/lchown: Likewise.
4661         * modules/lstat: Likewise.
4662         * modules/mkancesdirs: Likewise.
4663         * modules/rmdir: Likewise.
4664         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
4665         * modules/modechange: Likewise.
4666         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
4667         (configure.ac): Remove gl_STAT_MACROS.
4668         * modules/sys_stat (Depends-on): Remove stat-macros.
4669
4670 2006-10-27  Bruno Haible  <bruno@clisp.org>
4671
4672         * m4/signed.m4: Remove file.
4673         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
4674         invocation.
4675         * modules/vasnprintf (Files): Remove m4/signed.m4.
4676
4677 2006-10-27  Bruno Haible  <bruno@clisp.org>
4678
4679         Update to GNU gettext 0.16.
4680         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
4681         m4/inttypes-h.m4, m4/signed.m4.
4682         * m4/gettext.m4: Update to GNU gettext 0.16.
4683         * m4/intl.m4: New file, from GNU gettext.
4684         * m4/intldir.m4: New file, from GNU gettext.
4685         * config/srclist.txt: Update
4686
4687 2006-10-27  Eric Blake  <ebb9@byu.net>
4688
4689         * MODULES.html.sh: Document tempname.
4690         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
4691         dependencies.
4692         (Files): Move lib/tempname.c...
4693         * modules/tempname: ...to this new module.
4694         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
4695         (gl_PREREQ_TEMPNAME): Move...
4696         * m4/tempname.m4: ...to this new file.
4697         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
4698         * modules/sys_stat (Depends-on): Add stat-macros.
4699         * lib/stat_.h (includes): Pick up stat macros.
4700         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
4701         if stat macros are broken.
4702         * lib/tempname.c (includes): No need to include "stat-macros.h".
4703         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
4704         (direxists, __path_search) [!_LIBC]: Don't compile these in
4705         gnulib; the tmpdir module covers that.
4706         * lib/tempname.h: New file.
4707
4708 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
4709
4710         * COPYING: Explain how gnulib-tool converts licence headers.
4711         Almost all wording by Eric Blake.
4712
4713 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
4714
4715         * lib/mbchar.h (is_basic_table): Make read-only.
4716         * lib/mbchar.c (is_basic_table): Likewise.
4717         Reported by John Darrington.
4718
4719 2006-10-25  Bruno Haible  <bruno@clisp.org>
4720
4721         * lib/progname.h (set_program_name): Undefine before defining.
4722
4723 2006-10-25  Bruno Haible  <bruno@clisp.org>
4724
4725         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
4726         false for non-gcc C++ compilers.
4727         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
4728
4729 2006-10-24  Bruno Haible  <bruno@clisp.org>
4730
4731         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
4732         iconv implementations like Irix iconv.
4733
4734 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4735
4736         * modules/vararrays: New file.
4737         * m4/vararrays.m4: New file, taken from diffutils.
4738         * MODULES.html.sh: New module vararrays.
4739
4740 2006-10-24  Karl Berry  <karl@gnu.org>
4741
4742         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
4743         Don't call GNU Unix.
4744
4745 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4746
4747         * users.txt: Add Libtool.
4748
4749         Sync from Libtool:
4750
4751         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4752
4753         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
4754         to gnulib's policy of including config.h unconditionally.
4755
4756 2006-10-24  Bruno Haible  <bruno@clisp.org>
4757
4758         * modules/wcwidth (Files): Add m4/wint_t.m4.
4759         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
4760         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
4761
4762 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4763
4764         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
4765         to pacify GCC with some -W flags enabled.  Problem reported by
4766         Bruno Haible.
4767
4768 2006-10-24  Jim Meyering  <jim@meyering.net>
4769
4770         * MODULES.html.sh: Remove uinttostr.  It's not a module.
4771         Reported by Karl Berry.
4772
4773 2006-10-23  Bruno Haible  <bruno@clisp.org>
4774
4775         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
4776
4777 2006-10-24  Bruno Haible  <bruno@clisp.org>
4778
4779         * lib/gl_list.h: Use C comment style, not C++ comment style.
4780
4781 2006-10-23  Eric Blake  <ebb9@byu.net>
4782
4783         * lib/getaddrinfo.c (includes): Add missing include.
4784
4785 2006-10-23  Bruno Haible  <bruno@clisp.org>
4786             Paul Eggert  <eggert@cs.ucla.edu>
4787
4788         Ability to rename obstack_free.
4789         * lib/obstack.h (__obstack_free): New macro. Declare instead of
4790         obstack_free.
4791         (obstack_free): Invoke the __obstack_free macro.
4792         * lib/obstack.c (obstack_free): Use __obstack_free macro.
4793
4794 2006-10-23  Bruno Haible  <bruno@clisp.org>
4795             Paul Eggert  <eggert@cs.ucla.edu>
4796
4797         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
4798         __argc, __argv from the declaration. (They are defined as macros on
4799         mingw.)
4800
4801 2006-10-22  Bruno Haible  <bruno@clisp.org>
4802
4803         * doc/gnulib-intro.texi: New file.
4804         * doc/gnulib.texi: Include it.
4805
4806 2006-10-21  Bruno Haible  <bruno@clisp.org>
4807
4808         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
4809         "Introduction", "Miscellanous Notes", "Particular Modules".
4810
4811 2006-10-21  Bruno Haible  <bruno@clisp.org>
4812
4813         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4814         Change mostlyclean-local rule to avoid sh syntax error from bash
4815         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
4816
4817 2006-10-23  Jim Meyering  <jim@meyering.net>
4818
4819         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
4820         in place of snprintf.
4821
4822         * modules/inttostr (Files): Add lib/uinttostr.c.
4823         * lib/uinttostr.c (inttostr): New file/function.
4824         * lib/inttostr.h (uinttostr): Declare.
4825         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
4826         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
4827         Add uinttostr.
4828         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
4829
4830 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4831
4832         * lib/canonicalize.c (ELOOP): Define if not already defined.
4833         Problem reported by Bruno Haible in
4834         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
4835
4836 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4837
4838         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
4839         Problem reported by Perry Smith and Ville Laurikari.
4840
4841         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
4842         uses.
4843
4844 2006-10-19  Bruno Haible  <bruno@clisp.org>
4845
4846         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
4847         for mingw.
4848
4849 2006-10-19  Bruno Haible  <bruno@clisp.org>
4850
4851         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
4852         Needed for mingw.
4853
4854 2006-10-19  Bruno Haible  <bruno@clisp.org>
4855
4856         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
4857
4858 2006-10-19  Bruno Haible  <bruno@clisp.org>
4859
4860         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
4861         it.
4862
4863 2006-10-19  Bruno Haible  <bruno@clisp.org>
4864
4865         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
4866         invocation.
4867
4868 2006-10-19  Bruno Haible  <bruno@clisp.org>
4869
4870         * gnulib-tool (func_create_testdir): Don't include ftruncate and
4871         mountlist by default.
4872
4873 2006-10-16  Bruno Haible  <bruno@clisp.org>
4874
4875         * lib/c-strstr.c: Include c-strstr.h.
4876
4877 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4878
4879         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
4880         in a slash.
4881
4882 2006-10-18  Bruno Haible  <bruno@clisp.org>
4883
4884         * lib/lock.h [C++]: Wrap definitions in extern "C".
4885
4886 2006-10-18  Bruno Haible  <bruno@clisp.org>
4887
4888         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
4889         gl_LIBOBJS list.
4890
4891 2006-10-18  Bruno Haible  <bruno@clisp.org>
4892
4893         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
4894
4895 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4896
4897         * lib/xstrtol.h: Include gettext.h.
4898         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
4899         Problem reported by Eric Blake.
4900         * modules/xstrtol (Depends-on): Add gettext-h.
4901
4902 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
4903
4904         * lib/strftime.c (advance): New macro.
4905         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
4906         incomplete type, so you can't add 0 to it.  Problem and patch
4907         reported by Eelco Dolstra for dietlibc.
4908
4909 2006-10-18  Jim Meyering  <jim@meyering.net>
4910
4911         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
4912         type for a local, and rename it: s/up/user_proc/.
4913
4914 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
4915
4916         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
4917         READ_UTMP_USER_PROCESS.
4918         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
4919
4920 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
4921
4922         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
4923         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
4924
4925 2006-10-17  Eric Blake  <ebb9@byu.net>
4926
4927         * lib/sigprocmask.c (sigprocmask): Fix typo.
4928
4929         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
4930
4931         * modules/clean-temp (Makefile.am): Don't add to make output...
4932         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
4933         config.h.
4934
4935 2006-10-17  Bruno Haible  <bruno@clisp.org>
4936
4937         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
4938         differently if DEFAULT_TEXT_DOMAIN is set.
4939
4940 2006-10-16  Bruno Haible  <bruno@clisp.org>
4941
4942         * lib/clean-temp.c: Include fwriteerror.h.
4943
4944 2006-10-16  Bruno Haible  <bruno@clisp.org>
4945
4946         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
4947
4948 2006-10-16  Bruno Haible  <bruno@clisp.org>
4949
4950         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
4951         * lib/sigprocmask.h: Include <sys/types.h>.
4952         (sigset_t): Use the system's definition if present.
4953
4954 2006-10-17  Eric Blake  <ebb9@byu.net>
4955
4956         * lib/xvasprintf.c (includes): Assume config.h.
4957         * lib/xasprintf.c (includes): Likewise.
4958
4959 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
4960
4961         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
4962         at least as wide as intmax_t.
4963
4964 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
4965
4966         (Imported from Automake.)
4967         * build-aux/gnupload: Update to version 1.1 of directive file.
4968
4969 2006-10-16  Eric Blake  <ebb9@byu.net>
4970
4971         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
4972         match Automake 1.10a.
4973
4974 2006-10-14  Bruno Haible  <bruno@clisp.org>
4975
4976         * modules/sigprocmask: New file.
4977         * lib/sigprocmask.h: New file.
4978         * lib/sigprocmask.c: New file.
4979         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
4980         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
4981         request sigprocmask.o.
4982         (gl_PREREQ_SIGPROCMASK): New macro.
4983         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
4984         (Depends-on): Add sigprocmask.
4985         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
4986         gt_SIGNALBLOCKING. Test for 'raise' only once.
4987         * lib/fatal-signal.c: Include sigprocmask.h.
4988         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
4989         unblock_fatal_signals): Define always.
4990         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
4991         sigprocmask.
4992
4993 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
4994
4995         Sync from Automake.
4996         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
4997         which incorrectly sets the mode of an existing destination
4998         directory.  In some cases the unpatched install-sh could do the
4999         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
5000         system.  We hope this is rare in practice, but it's clearly worth
5001         fixing.  Problem reported by Alex Unleashed in
5002         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
5003         Also, don't bother to check for -m bugs unless we're using -m;
5004         suggested by Stepan Kasal.
5005
5006 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5007
5008         Sync from Automake.
5009         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
5010         `-c' flag, so they appear at the same position as in %FASTDEP%
5011         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
5012         which ignores unknown options only after the first non-option.
5013         Bug report against M4 by Nelson H. F. Beebe.
5014
5015 2006-10-13  Jim Meyering  <jim@meyering.net>
5016
5017         Fix a bug in yesterday's change.
5018         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
5019         p->fts_statp->st_dev would be used uninitialized.
5020         Ensures that we always call fts_stat on the very first entry.
5021         Miklos Szeredi reported that find -xdev stopped working.
5022
5023 2006-10-12  Bruno Haible  <bruno@clisp.org>
5024
5025         * gnulib-tool (func_get_automake_snippet): Append an automatically
5026         computed EXTRA_DIST augmentation.
5027         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
5028         * modules/alloca-opt (Makefile.am): Likewise.
5029         * modules/allocsa (Makefile.am): Likewise.
5030         * modules/arcfour (Makefile.am): Likewise.
5031         * modules/arctwo (Makefile.am): Likewise.
5032         * modules/argmatch (Makefile.am): Likewise.
5033         * modules/argz (Makefile.am): Likewise.
5034         * modules/atexit (Makefile.am): Likewise.
5035         * modules/backupfile (Makefile.am): Likewise.
5036         * modules/byteswap (Makefile.am): Likewise.
5037         * modules/c-strtod (Makefile.am): Likewise.
5038         * modules/c-strtold (Makefile.am): Likewise.
5039         * modules/calloc (Makefile.am): Likewise.
5040         * modules/canon-host (Makefile.am): Likewise.
5041         * modules/canonicalize (Makefile.am): Likewise.
5042         * modules/chdir-long (Makefile.am): Likewise.
5043         * modules/chdir-safer (Makefile.am): Likewise.
5044         * modules/check-version (Makefile.am): Likewise.
5045         * modules/chown (Makefile.am): Likewise.
5046         * modules/cloexec (Makefile.am): Likewise.
5047         * modules/close-stream (Makefile.am): Likewise.
5048         * modules/closeout (Makefile.am): Likewise.
5049         * modules/crc (Makefile.am): Likewise.
5050         * modules/csharpexec (Makefile.am): Likewise.
5051         * modules/cycle-check (Makefile.am): Likewise.
5052         * modules/des (Makefile.am): Likewise.
5053         * modules/dev-ino (Makefile.am): Likewise.
5054         * modules/dirfd (Makefile.am): Likewise.
5055         * modules/dirname (Makefile.am): Likewise.
5056         * modules/dup2 (Makefile.am): Likewise.
5057         * modules/eealloc (Makefile.am): Likewise.
5058         * modules/error (Makefile.am): Likewise.
5059         * modules/euidaccess (Makefile.am): Likewise.
5060         * modules/exclude (Makefile.am): Likewise.
5061         * modules/exitfail (Makefile.am): Likewise.
5062         * modules/fcntl-safer (Makefile.am): Likewise.
5063         * modules/fcntl (Makefile.am): Likewise.
5064         * modules/file-type (Makefile.am): Likewise.
5065         * modules/fileblocks (Makefile.am): Likewise.
5066         * modules/filemode (Makefile.am): Likewise.
5067         * modules/filenamecat (Makefile.am): Likewise.
5068         * modules/fnmatch (Makefile.am): Likewise.
5069         * modules/fopen-safer (Makefile.am): Likewise.
5070         * modules/fpending (Makefile.am): Likewise.
5071         * modules/fprintftime (Makefile.am): Likewise.
5072         * modules/free (Makefile.am): Likewise.
5073         * modules/fsusage (Makefile.am): Likewise.
5074         * modules/ftruncate (Makefile.am): Likewise.
5075         * modules/fts (Makefile.am): Likewise.
5076         * modules/gc-arcfour (Makefile.am): Likewise.
5077         * modules/gc-des (Makefile.am): Likewise.
5078         * modules/gc-hmac-md5 (Makefile.am): Likewise.
5079         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
5080         * modules/gc-md4 (Makefile.am): Likewise.
5081         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
5082         * modules/gc-sha1 (Makefile.am): Likewise.
5083         * modules/gc (Makefile.am): Likewise.
5084         * modules/getaddrinfo (Makefile.am): Likewise.
5085         * modules/getcwd (Makefile.am): Likewise.
5086         * modules/getdelim (Makefile.am): Likewise.
5087         * modules/getdomainname (Makefile.am): Likewise.
5088         * modules/getgroups (Makefile.am): Likewise.
5089         * modules/gethostname (Makefile.am): Likewise.
5090         * modules/gethrxtime (Makefile.am): Likewise.
5091         * modules/getline (Makefile.am): Likewise.
5092         * modules/getloadavg (Makefile.am): Likewise.
5093         * modules/getlogin_r (Makefile.am): Likewise.
5094         * modules/getndelim2 (Makefile.am): Likewise.
5095         * modules/getopt (Makefile.am): Likewise.
5096         * modules/getpagesize (Makefile.am): Likewise.
5097         * modules/getpass-gnu (Makefile.am): Likewise.
5098         * modules/getpass (Makefile.am): Likewise.
5099         * modules/getsubopt (Makefile.am): Likewise.
5100         * modules/gettime (Makefile.am): Likewise.
5101         * modules/gettimeofday (Makefile.am): Likewise.
5102         * modules/getugroups (Makefile.am): Likewise.
5103         * modules/getusershell (Makefile.am): Likewise.
5104         * modules/glob (Makefile.am): Likewise.
5105         * modules/group-member (Makefile.am): Likewise.
5106         * modules/hard-locale (Makefile.am): Likewise.
5107         * modules/hash (Makefile.am): Likewise.
5108         * modules/hmac-md5 (Makefile.am): Likewise.
5109         * modules/hmac-sha1 (Makefile.am): Likewise.
5110         * modules/human (Makefile.am): Likewise.
5111         * modules/idcache (Makefile.am): Likewise.
5112         * modules/imaxabs (Makefile.am): Likewise.
5113         * modules/imaxdiv (Makefile.am): Likewise.
5114         * modules/inet_ntop (Makefile.am): Likewise.
5115         * modules/inet_pton (Makefile.am): Likewise.
5116         * modules/intprops (Makefile.am): Likewise.
5117         * modules/inttostr (Makefile.am): Likewise.
5118         * modules/inttypes (Makefile.am): Likewise.
5119         * modules/isapipe (Makefile.am): Likewise.
5120         * modules/javaversion (Makefile.am): Likewise.
5121         * modules/lchmod (Makefile.am): Likewise.
5122         * modules/lchown (Makefile.am): Likewise.
5123         * modules/localcharset (Makefile.am): Likewise.
5124         * modules/long-options (Makefile.am): Likewise.
5125         * modules/lstat (Makefile.am): Likewise.
5126         * modules/malloc (Makefile.am): Likewise.
5127         * modules/mathl (Makefile.am): Likewise.
5128         * modules/mbchar (Makefile.am): Likewise.
5129         * modules/md2 (Makefile.am): Likewise.
5130         * modules/md4 (Makefile.am): Likewise.
5131         * modules/md5 (Makefile.am): Likewise.
5132         * modules/memcasecmp (Makefile.am): Likewise.
5133         * modules/memchr (Makefile.am): Likewise.
5134         * modules/memcmp (Makefile.am): Likewise.
5135         * modules/memcoll (Makefile.am): Likewise.
5136         * modules/memcpy (Makefile.am): Likewise.
5137         * modules/memmem (Makefile.am): Likewise.
5138         * modules/memmove (Makefile.am): Likewise.
5139         * modules/mempcpy (Makefile.am): Likewise.
5140         * modules/memrchr (Makefile.am): Likewise.
5141         * modules/memset (Makefile.am): Likewise.
5142         * modules/memxor (Makefile.am): Likewise.
5143         * modules/mkancesdirs (Makefile.am): Likewise.
5144         * modules/mkdir-p (Makefile.am): Likewise.
5145         * modules/mkdir (Makefile.am): Likewise.
5146         * modules/mkdtemp (Makefile.am): Likewise.
5147         * modules/mkstemp (Makefile.am): Likewise.
5148         * modules/mktime (Makefile.am): Likewise.
5149         * modules/modechange (Makefile.am): Likewise.
5150         * modules/mountlist (Makefile.am): Likewise.
5151         * modules/nanosleep (Makefile.am): Likewise.
5152         * modules/obstack (Makefile.am): Likewise.
5153         * modules/openat (Makefile.am): Likewise.
5154         * modules/pagealign_alloc (Makefile.am): Likewise.
5155         * modules/pathmax (Makefile.am): Likewise.
5156         * modules/physmem (Makefile.am): Likewise.
5157         * modules/poll (Makefile.am): Likewise.
5158         * modules/posixtm (Makefile.am): Likewise.
5159         * modules/posixver (Makefile.am): Likewise.
5160         * modules/putenv (Makefile.am): Likewise.
5161         * modules/quote (Makefile.am): Likewise.
5162         * modules/quotearg (Makefile.am): Likewise.
5163         * modules/raise (Makefile.am): Likewise.
5164         * modules/read-file (Makefile.am): Likewise.
5165         * modules/readline (Makefile.am): Likewise.
5166         * modules/readlink (Makefile.am): Likewise.
5167         * modules/readtokens (Makefile.am): Likewise.
5168         * modules/readutmp (Makefile.am): Likewise.
5169         * modules/realloc (Makefile.am): Likewise.
5170         * modules/regex (Makefile.am): Likewise.
5171         * modules/rename-dest-slash (Makefile.am): Likewise.
5172         * modules/rename (Makefile.am): Likewise.
5173         * modules/rijndael (Makefile.am): Likewise.
5174         * modules/rmdir (Makefile.am): Likewise.
5175         * modules/rpmatch (Makefile.am): Likewise.
5176         * modules/safe-read (Makefile.am): Likewise.
5177         * modules/safe-write (Makefile.am): Likewise.
5178         * modules/same-inode (Makefile.am): Likewise.
5179         * modules/same (Makefile.am): Likewise.
5180         * modules/save-cwd (Makefile.am): Likewise.
5181         * modules/savedir (Makefile.am): Likewise.
5182         * modules/setenv (Makefile.am): Likewise.
5183         * modules/settime (Makefile.am): Likewise.
5184         * modules/sha1 (Makefile.am): Likewise.
5185         * modules/sig2str (Makefile.am): Likewise.
5186         * modules/snprintf (Makefile.am): Likewise.
5187         * modules/stat-macros (Makefile.am): Likewise.
5188         * modules/stat-time (Makefile.am): Likewise.
5189         * modules/stdbool (Makefile.am): Likewise.
5190         * modules/stdint (Makefile.am): Likewise.
5191         * modules/stdlib-safer (Makefile.am): Likewise.
5192         * modules/stpcpy (Makefile.am): Likewise.
5193         * modules/stpncpy (Makefile.am): Likewise.
5194         * modules/strcase (Makefile.am): Likewise.
5195         * modules/strcasestr (Makefile.am): Likewise.
5196         * modules/strchrnul (Makefile.am): Likewise.
5197         * modules/strcspn (Makefile.am): Likewise.
5198         * modules/strdup (Makefile.am): Likewise.
5199         * modules/strerror (Makefile.am): Likewise.
5200         * modules/strftime (Makefile.am): Likewise.
5201         * modules/strndup (Makefile.am): Likewise.
5202         * modules/strnlen (Makefile.am): Likewise.
5203         * modules/strpbrk (Makefile.am): Likewise.
5204         * modules/strsep (Makefile.am): Likewise.
5205         * modules/strstr (Makefile.am): Likewise.
5206         * modules/strtod (Makefile.am): Likewise.
5207         * modules/strtoimax (Makefile.am): Likewise.
5208         * modules/strtok_r (Makefile.am): Likewise.
5209         * modules/strtol (Makefile.am): Likewise.
5210         * modules/strtoll (Makefile.am): Likewise.
5211         * modules/strtoul (Makefile.am): Likewise.
5212         * modules/strtoull (Makefile.am): Likewise.
5213         * modules/strtoumax (Makefile.am): Likewise.
5214         * modules/strverscmp (Makefile.am): Likewise.
5215         * modules/sys_socket (Makefile.am): Likewise.
5216         * modules/sys_stat (Makefile.am): Likewise.
5217         * modules/sysexits (Makefile.am): Likewise.
5218         * modules/time_r (Makefile.am): Likewise.
5219         * modules/timegm (Makefile.am): Likewise.
5220         * modules/timespec (Makefile.am): Likewise.
5221         * modules/tmpfile-safer (Makefile.am): Likewise.
5222         * modules/trim (Makefile.am): Likewise.
5223         * modules/unistd-safer (Makefile.am): Likewise.
5224         * modules/unlinkdir (Makefile.am): Likewise.
5225         * modules/unlocked-io (Makefile.am): Likewise.
5226         * modules/userspec (Makefile.am): Likewise.
5227         * modules/utime (Makefile.am): Likewise.
5228         * modules/utimecmp (Makefile.am): Likewise.
5229         * modules/utimens (Makefile.am): Likewise.
5230         * modules/vasnprintf (Makefile.am): Likewise.
5231         * modules/vasprintf (Makefile.am): Likewise.
5232         * modules/vsnprintf (Makefile.am): Likewise.
5233         * modules/xalloc (Makefile.am): Likewise.
5234         * modules/xgetcwd (Makefile.am): Likewise.
5235         * modules/xnanosleep (Makefile.am): Likewise.
5236         * modules/xreadlink (Makefile.am): Likewise.
5237         * modules/xstrtod (Makefile.am): Likewise.
5238         * modules/xstrtol (Makefile.am): Likewise.
5239         * modules/xstrtold (Makefile.am): Likewise.
5240         * modules/yesno (Makefile.am): Likewise.
5241         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
5242
5243 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
5244
5245         * modules/error (Makefile.am): Distribute files through
5246         EXTRA_DIST, not lib_SOURCES.
5247
5248 2006-10-12  Eric Blake  <ebb9@byu.net>
5249
5250         * modules/error (Makefile.am): Distribute files in /lib.
5251         * modules/obstack (Makefile.am): Likewise.
5252
5253 2006-10-12  Bruno Haible  <bruno@clisp.org>
5254
5255         * modules/acl (Makefile.am): Distribute all files in lib/ through
5256         EXTRA_DIST.
5257         * modules/arcfour (Makefile.am): Likewise.
5258         * modules/arctwo (Makefile.am): Likewise.
5259         * modules/argmatch (Makefile.am): Likewise.
5260         * modules/argz (Makefile.am): Likewise.
5261         * modules/atexit (Makefile.am): Likewise.
5262         * modules/backupfile (Makefile.am): Likewise.
5263         * modules/c-strtod (Makefile.am): Likewise.
5264         * modules/c-strtold (Makefile.am): Likewise.
5265         * modules/calloc (Makefile.am): Likewise.
5266         * modules/canon-host (Makefile.am): Likewise.
5267         * modules/canonicalize (Makefile.am): Likewise.
5268         * modules/chdir-long (Makefile.am): Likewise.
5269         * modules/chdir-safer (Makefile.am): Likewise.
5270         * modules/check-version (Makefile.am): Likewise.
5271         * modules/chown (Makefile.am): Likewise.
5272         * modules/cloexec (Makefile.am): Likewise.
5273         * modules/close-stream (Makefile.am): Likewise.
5274         * modules/closeout (Makefile.am): Likewise.
5275         * modules/crc (Makefile.am): Likewise.
5276         * modules/cycle-check (Makefile.am): Likewise.
5277         * modules/des (Makefile.am): Likewise.
5278         * modules/dirfd (Makefile.am): Likewise.
5279         * modules/dirname (Makefile.am): Likewise.
5280         * modules/dup2 (Makefile.am): Likewise.
5281         * modules/euidaccess (Makefile.am): Likewise.
5282         * modules/exclude (Makefile.am): Likewise.
5283         * modules/exitfail (Makefile.am): Likewise.
5284         * modules/fcntl-safer (Makefile.am): Likewise.
5285         * modules/file-type (Makefile.am): Likewise.
5286         * modules/fileblocks (Makefile.am): Likewise.
5287         * modules/filemode (Makefile.am): Likewise.
5288         * modules/filenamecat (Makefile.am): Likewise.
5289         * modules/fnmatch (Makefile.am): Likewise.
5290         * modules/fopen-safer (Makefile.am): Likewise.
5291         * modules/fpending (Makefile.am): Likewise.
5292         * modules/fprintftime (Makefile.am): Likewise.
5293         * modules/free (Makefile.am): Likewise.
5294         * modules/fsusage (Makefile.am): Likewise.
5295         * modules/ftruncate (Makefile.am): Likewise.
5296         * modules/fts (Makefile.am): Likewise.
5297         * modules/gc (Makefile.am): Likewise.
5298         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
5299         * modules/getaddrinfo (Makefile.am): Likewise.
5300         * modules/getcwd (Makefile.am): Likewise.
5301         * modules/getdelim (Makefile.am): Likewise.
5302         * modules/getdomainname (Makefile.am): Likewise.
5303         * modules/getgroups (Makefile.am): Likewise.
5304         * modules/gethostname (Makefile.am): Likewise.
5305         * modules/gethrxtime (Makefile.am): Likewise.
5306         * modules/getline (Makefile.am): Likewise.
5307         * modules/getloadavg (Makefile.am): Likewise.
5308         * modules/getlogin_r (Makefile.am): Likewise.
5309         * modules/getopt (Makefile.am): Likewise.
5310         * modules/getpass (Makefile.am): Likewise.
5311         * modules/getpass-gnu (Makefile.am): Likewise.
5312         * modules/getsubopt (Makefile.am): Likewise.
5313         * modules/gettime (Makefile.am): Likewise.
5314         * modules/gettimeofday (Makefile.am): Likewise.
5315         * modules/getugroups (Makefile.am): Likewise.
5316         * modules/getusershell (Makefile.am): Likewise.
5317         * modules/glob (Makefile.am): Likewise.
5318         * modules/group-member (Makefile.am): Likewise.
5319         * modules/hard-locale (Makefile.am): Likewise.
5320         * modules/hash (Makefile.am): Likewise.
5321         * modules/hmac-md5 (Makefile.am): Likewise.
5322         * modules/hmac-sha1 (Makefile.am): Likewise.
5323         * modules/human (Makefile.am): Likewise.
5324         * modules/idcache (Makefile.am): Likewise.
5325         * modules/imaxabs (Makefile.am): Likewise.
5326         * modules/imaxdiv (Makefile.am): Likewise.
5327         * modules/inet_ntop (Makefile.am): Likewise.
5328         * modules/inet_pton (Makefile.am): Likewise.
5329         * modules/inttostr (Makefile.am): Likewise.
5330         * modules/isapipe (Makefile.am): Likewise.
5331         * modules/lchown (Makefile.am): Likewise.
5332         * modules/long-options (Makefile.am): Likewise.
5333         * modules/lstat (Makefile.am): Likewise.
5334         * modules/malloc (Makefile.am): Likewise.
5335         * modules/mathl (Makefile.am): Likewise.
5336         * modules/mbchar (Makefile.am): Likewise.
5337         * modules/md2 (Makefile.am): Likewise.
5338         * modules/md4 (Makefile.am): Likewise.
5339         * modules/md5 (Makefile.am): Likewise.
5340         * modules/memcasecmp (Makefile.am): Likewise.
5341         * modules/memchr (Makefile.am): Likewise.
5342         * modules/memcmp (Makefile.am): Likewise.
5343         * modules/memcoll (Makefile.am): Likewise.
5344         * modules/memcpy (Makefile.am): Likewise.
5345         * modules/memmem (Makefile.am): Likewise.
5346         * modules/memmove (Makefile.am): Likewise.
5347         * modules/mempcpy (Makefile.am): Likewise.
5348         * modules/memrchr (Makefile.am): Likewise.
5349         * modules/memset (Makefile.am): Likewise.
5350         * modules/memxor (Makefile.am): Likewise.
5351         * modules/mkancesdirs (Makefile.am): Likewise.
5352         * modules/mkdir (Makefile.am): Likewise.
5353         * modules/mkdir-p (Makefile.am): Likewise.
5354         * modules/mkdtemp (Makefile.am): Likewise.
5355         * modules/mkstemp (Makefile.am): Likewise.
5356         * modules/mktime (Makefile.am): Likewise.
5357         * modules/modechange (Makefile.am): Likewise.
5358         * modules/mountlist (Makefile.am): Likewise.
5359         * modules/nanosleep (Makefile.am): Likewise.
5360         * modules/openat (Makefile.am): Likewise.
5361         * modules/pagealign_alloc (Makefile.am): Likewise.
5362         * modules/physmem (Makefile.am): Likewise.
5363         * modules/poll (Makefile.am): Likewise.
5364         * modules/posixtm (Makefile.am): Likewise.
5365         * modules/posixver (Makefile.am): Likewise.
5366         * modules/putenv (Makefile.am): Likewise.
5367         * modules/quote (Makefile.am): Likewise.
5368         * modules/quotearg (Makefile.am): Likewise.
5369         * modules/raise (Makefile.am): Likewise.
5370         * modules/read-file (Makefile.am): Likewise.
5371         * modules/readline (Makefile.am): Likewise.
5372         * modules/readlink (Makefile.am): Likewise.
5373         * modules/readtokens (Makefile.am): Likewise.
5374         * modules/readutmp (Makefile.am): Likewise.
5375         * modules/realloc (Makefile.am): Likewise.
5376         * modules/regex (Makefile.am): Likewise.
5377         * modules/rename (Makefile.am): Likewise.
5378         * modules/rename-dest-slash (Makefile.am): Likewise.
5379         * modules/rijndael (Makefile.am): Likewise.
5380         * modules/rmdir (Makefile.am): Likewise.
5381         * modules/rpmatch (Makefile.am): Likewise.
5382         * modules/safe-read (Makefile.am): Likewise.
5383         * modules/safe-write (Makefile.am): Likewise.
5384         * modules/same (Makefile.am): Likewise.
5385         * modules/save-cwd (Makefile.am): Likewise.
5386         * modules/savedir (Makefile.am): Likewise.
5387         * modules/setenv (Makefile.am): Likewise.
5388         * modules/settime (Makefile.am): Likewise.
5389         * modules/sha1 (Makefile.am): Likewise.
5390         * modules/sig2str (Makefile.am): Likewise.
5391         * modules/snprintf (Makefile.am): Likewise.
5392         * modules/stdlib-safer (Makefile.am): Likewise.
5393         * modules/stpcpy (Makefile.am): Likewise.
5394         * modules/stpncpy (Makefile.am): Likewise.
5395         * modules/strcase (Makefile.am): Likewise.
5396         * modules/strcasestr (Makefile.am): Likewise.
5397         * modules/strchrnul (Makefile.am): Likewise.
5398         * modules/strcspn (Makefile.am): Likewise.
5399         * modules/strdup (Makefile.am): Likewise.
5400         * modules/strerror (Makefile.am): Likewise.
5401         * modules/strftime (Makefile.am): Likewise.
5402         * modules/strndup (Makefile.am): Likewise.
5403         * modules/strnlen (Makefile.am): Likewise.
5404         * modules/strpbrk (Makefile.am): Likewise.
5405         * modules/strsep (Makefile.am): Likewise.
5406         * modules/strstr (Makefile.am): Likewise.
5407         * modules/strtod (Makefile.am): Likewise.
5408         * modules/strtoimax (Makefile.am): Likewise.
5409         * modules/strtok_r (Makefile.am): Likewise.
5410         * modules/strtol (Makefile.am): Likewise.
5411         * modules/strtoll (Makefile.am): Likewise.
5412         * modules/strtoul (Makefile.am): Likewise.
5413         * modules/strtoull (Makefile.am): Likewise.
5414         * modules/strtoumax (Makefile.am): Likewise.
5415         * modules/strverscmp (Makefile.am): Likewise.
5416         * modules/time_r (Makefile.am): Likewise.
5417         * modules/timegm (Makefile.am): Likewise.
5418         * modules/tmpfile-safer (Makefile.am): Likewise.
5419         * modules/unistd-safer (Makefile.am): Likewise.
5420         * modules/unlinkdir (Makefile.am): Likewise.
5421         * modules/userspec (Makefile.am): Likewise.
5422         * modules/utime (Makefile.am): Likewise.
5423         * modules/utimecmp (Makefile.am): Likewise.
5424         * modules/utimens (Makefile.am): Likewise.
5425         * modules/vasnprintf (Makefile.am): Likewise.
5426         * modules/vasprintf (Makefile.am): Likewise.
5427         * modules/vsnprintf (Makefile.am): Likewise.
5428         * modules/xalloc (Makefile.am): Likewise.
5429         * modules/xgetcwd (Makefile.am): Likewise.
5430         * modules/xnanosleep (Makefile.am): Likewise.
5431         * modules/xreadlink (Makefile.am): Likewise.
5432         * modules/xstrtod (Makefile.am): Likewise.
5433         * modules/xstrtol (Makefile.am): Likewise.
5434         * modules/xstrtold (Makefile.am): Likewise.
5435         * modules/yesno (Makefile.am): Likewise.
5436
5437 2006-10-12  Jim Meyering  <jim@meyering.net>
5438
5439         * m4/getloadavg.m4: Revert the change below.
5440
5441         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
5442         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
5443         fail with a symlink, which is what coreutils' ./bootstrap now
5444         creates by default.
5445
5446 2006-10-12  Bruno Haible  <bruno@clisp.org>
5447
5448         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
5449         mingw.
5450         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
5451         MSVC and mingw explicitly.
5452
5453 2006-10-11  Simon Josefsson  <jas@extundo.com>
5454             Bruno Haible  <bruno@clisp.org>
5455
5456         Add support for multiple gnulib-tool invocations in the scope of a
5457         single configure.ac file.
5458         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
5459         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
5460         with the same contents as the _LIBADD variable.
5461         (func_emit_initmacro_start, func_emit_initmacro_end,
5462         func_emit_initmacro_done): New functions.
5463         (func_import, func_create_testdir): Invoke them. Allow the identifiers
5464         gl_LIBOBJS and gl_LTLIBOBJS.
5465
5466 2006-10-11  Bruno Haible  <bruno@clisp.org>
5467
5468         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
5469         (func_create_testdir): Don't create po/Makefile.am, don't invoke
5470         autoreconf. Instead, invoke autopoint explicitly but move back the
5471         *.m4 files from gnulib.
5472
5473 2006-10-11  Bruno Haible  <bruno@clisp.org>
5474
5475         * gnulib-tool (func_usage): Make module names after --create-testdir
5476         optional.
5477         (func_create_testdir): If no module was specified, use nearly all
5478         modules.
5479
5480 2006-10-12  Jim Meyering  <jim@meyering.net>
5481
5482         Big performance improvement for fts-based tools that use FTS_NOSTAT.
5483         Avoid spurious inode-mismatch problems on non-POSIX file systems.
5484         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
5485         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
5486         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
5487         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
5488         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
5489         (fts_set_stat_required): New function.
5490         (fts_open): Defer the calls to fts_stat, if possible or requested.
5491         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
5492         into fts_stat itself.
5493         (fts_read): Perform any required (deferred) fts_stat call.
5494         (fts_build): Likewise, for the directory we're about to open and read.
5495         In the readdir loop, carefully decide whether each entry will require
5496         an eventual call to fts_stat, using dirent.d_type info if available.
5497         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
5498         a command line argument into this function.  Update all callers.
5499         Map a return value of FTS_DOT to FTS_D for a command line argument.
5500         * modules/fts (Depends-on): Add d-type.  Alphabetize.
5501         Thanks to Miklos Szeredi for his tenacity and for the initial
5502         bug report about "find" failing on a FUSE-based file system.
5503
5504         * lib/fts.c (fts_open): Use consistent indentation.
5505
5506 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
5507
5508         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
5509         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
5510         reported by Jim Meyering.  All uses of cache variables renamed
5511         to match Autoconf's.
5512         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
5513         the other one.
5514
5515         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
5516         Fix misspelling in diagnostic.
5517
5518 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
5519
5520         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
5521         defined.  Problem reported by Matthew Woehlke.
5522
5523         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
5524         Add support for Tandem NonStop R series.
5525         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
5526         Use new macro.
5527
5528         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
5529         (has_trailing_slash): Omit size arg; all callers changed.
5530         Omit 'inline', since it doesn't help performance and we'd
5531         need to configure it.
5532         Don't count //, ///, etc. as having a trailing slash.
5533         As a side effect, this removes a C99ism reported by Matthew Woehlke.
5534         (rpl_rename_dest_slash): On failure, use rename's errno rather
5535         than (in some cases) an incorrect or junk errno.
5536         Simplify code by removing need to compute length; this does
5537         cause it to make two passes instead of one over the file name,
5538         but it's worth it.
5539
5540         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
5541         change, since Autoconf's version may no longer be appropriate now
5542         that we are using CVS Autoconf's version.  Add support for Tandem.
5543
5544 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
5545             Bruno Haible  <bruno@clisp.org>
5546
5547         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
5548         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
5549         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
5550         gl_AC_TYPE_LONG_LONG.
5551
5552         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
5553         instead of HAVE_LONG_LONG.
5554         * lib/printf-args.c (printf_fetchargs): Likewise.
5555         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
5556         * lib/vasnprintf.c (VASNPRINTF): Likewise.
5557         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
5558         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
5559         gl_AC_TYPE_LONG_LONG.
5560
5561 2006-10-11  Bruno Haible  <bruno@clisp.org>
5562
5563         * m4/longlong.m4: Add comments.
5564         * m4/ulonglong.m4: Likewise.
5565
5566 2006-10-10  Bruno Haible  <bruno@clisp.org>
5567
5568         Make it possible to #define stpcpy, strdup to aliases.
5569         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
5570         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
5571
5572 2006-10-10  Bruno Haible  <bruno@clisp.org>
5573
5574         Make it possible to #define gcd to an alias.
5575         * lib/gcd.c: Include config.h.
5576
5577 2006-10-10  Bruno Haible  <bruno@clisp.org>
5578
5579         Make it possible to #define c_isascii to an alias.
5580         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
5581         defined. Undefine the macros before defining them, to avoid gcc
5582         warnings.
5583         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
5584         define NO_C_CTYPE_MACROS early.
5585
5586 2006-10-10  Bruno Haible  <bruno@clisp.org>
5587
5588         Make it possible to #define set_program_name to an alias.
5589         * lib/progname.c: Don't undefine set_program_name; instead, undefine
5590         ENABLE_RELOCATABLE early.
5591
5592 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
5593
5594         Port to Tandem NSK OSS, which has 64-bit signed int but at most
5595         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
5596         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
5597         More generally, don't assume that 64-bit signed int is available
5598         if unsigned int is, and vice versa.
5599         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
5600         unsigned symbols, not on their signed counterparts.
5601         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
5602         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
5603         (UINT64_C, UINTMAX_C):
5604         Likewise.
5605         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
5606         unsigned counterparts.
5607         (Have_long_long, Unsigned): New macros.
5608         (Int): Renamed from INT.
5609         (strtoimax): Use the new macros.
5610         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
5611         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
5612         * modules/inttypes (inttypes.h): Substitute
5613         HAVE_UNSIGNED_LONG_LONG_INT.
5614         * modules/stdint (stdint.h): Likewise.
5615         (Files): Add m4/ulonglong.m4.
5616
5617 2006-10-10  Bruno Haible  <bruno@clisp.org>
5618
5619         Fix a gcc -Wshadow warning.
5620         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
5621         to 'bucket'.
5622         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
5623         gl_linked_indexof_from_to): Likewise.
5624         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
5625         Likewise.
5626         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
5627         Likewise.
5628         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
5629         Reported by Eric Blake.
5630
5631 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
5632
5633         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
5634         for NetBSD.  Problem reported by Bruno Haible.
5635
5636 2006-10-09  Jim Meyering  <jim@meyering.net>
5637
5638         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
5639         Patch from Bruno Haible.
5640
5641 2006-10-09  Jim Meyering  <jim@meyering.net>
5642
5643         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
5644         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
5645         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
5646
5647 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5648
5649         Don't include <config.h> twice; this doesn't work in some cases,
5650         e.g., when config.h has "#define intmax_t long long int" and
5651         we include <config.h>, <inttypes.h>, <config.h> in that order.
5652         Problem reported by Matthew Woehlke in:
5653         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
5654         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
5655         * lib/fts-cycle.c: Don't include config.h.
5656         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
5657         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
5658         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
5659         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
5660         inttypes.h.
5661         * lib/xstrtoumax.c: Likewise.
5662         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
5663         __strtol and the like, so that this module is more like its siblings.
5664         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
5665         Remove; no longer needed now that we assume gnulib inttypes.h.
5666
5667 2006-10-08  Bruno Haible  <bruno@clisp.org>
5668
5669         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
5670         option.
5671
5672 2006-10-07  Jim Meyering  <jim@meyering.net>
5673
5674         * modules/inttypes (inttypes.h): Revert what seems to have been
5675         an inadvertent part of today's change: use "|", not "/" in the
5676         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
5677
5678 2006-10-07  Bruno Haible  <bruno@clisp.org>
5679
5680         * modules/sublist: New file.
5681
5682 2006-10-07  Bruno Haible  <bruno@clisp.org>
5683
5684         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
5685         * modules/argz (argz.h): Likewise.
5686         * modules/arpa_inet (arpa/inet.h): Likewise.
5687         * modules/byteswap (byteswap.h): Likewise.
5688         * modules/configmake (configmake.h): Likewise.
5689         * modules/fcntl (fcntl.h): Likewise.
5690         * modules/fnmatch (fnmatch.h): Likewise.
5691         * modules/getopt (getopt.h): Likewise.
5692         * modules/glob (glob.h): Likewise.
5693         * modules/inttypes (inttypes.h): Likewise.
5694         * modules/netinet_in (netinet/in.h): Likewise.
5695         * modules/poll (poll.h): Likewise.
5696         * modules/stdbool (stdbool.h): Likewise.
5697         * modules/stdint (stdint.h): Likewise.
5698         * modules/sys_select (sys/select.h): Likewise.
5699         * modules/sys_socket (sys/socket.h): Likewise.
5700         * modules/sys_stat (sys/stat.h): Likewise.
5701         * modules/sysexits (sysexits.h): Likewise.
5702         * modules/unistd (unistd.h): Likewise.
5703         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5704         Add a "DO NOT EDIT" comment to the generated file.
5705         (func_import): Likewise for gnulib-comp.m4.
5706
5707 2006-10-07  Bruno Haible  <bruno@clisp.org>
5708
5709         * lib/gl_sublist.h: New file.
5710         * lib/gl_sublist.c: New file.
5711
5712 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
5713
5714         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
5715         name (relative to the original working directory) and the file
5716         name component (relative to the temporary working directory).  All
5717         callers changed.
5718         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
5719         * lib/mkdir-p.c (make_dir_parents): Likewise.
5720         * lib/mkdir-p.h (make_dir_parents): Likewise.
5721
5722 2006-10-06  Eric Blake  <ebb9@byu.net>
5723
5724         Define several macros for use by the clean-temp module.
5725         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
5726         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
5727         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
5728
5729         * lib/clean-temp.h (close_stream_temp): New declaration.
5730         * lib/clean-temp.c (includes): Pull in headers according to what
5731         other modules are in use.
5732         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
5733
5734 2006-10-06  Bruno Haible  <bruno@clisp.org>
5735
5736         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
5737         instead of fopen, fwriteerror.
5738
5739 2006-10-06  Bruno Haible  <bruno@clisp.org>
5740
5741         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
5742         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
5743         int.
5744         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
5745         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
5746         Return an error indicator.
5747         Suggested by Eric Blake.
5748
5749 2006-10-06  Bruno Haible  <bruno@clisp.org>
5750
5751         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
5752         Reported by Eric Blake.
5753
5754 2006-10-06  Bruno Haible  <bruno@clisp.org>
5755
5756         * modules/closeout (Description): Mention stderr too.
5757
5758 2006-10-06  Bruno Haible  <bruno@clisp.org>
5759         and Paul Eggert  <eggert@cs.ucla.edu>
5760
5761         * lib/closeout.c (close_stdout): Also close stderr.
5762         * lib/closeout.h: Update comment.
5763
5764 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5765
5766         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
5767         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
5768         * lib/dirchownmod.c: Include lchown.h.
5769         * lib/lchown.c: Don't include files that lchown.h now includes.
5770         Don't declare chown, since lchown.h now does that.
5771         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
5772         (lchown): Define to rpl_chown if lchown is declared but
5773         does not exist.  Declare using a prototype if lchown is not
5774         declared.  Add a copyright notice.
5775         * lib/mkstemp.h: Include <unistd.h>.
5776         * lib/openat.c: Include lchown.h.
5777
5778         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
5779         we now test for that separately.
5780         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
5781         rather than O_NOFOLLOW, when testing whether it's possible to
5782         avoid a race condition reliably.
5783         * lib/savewd.c (savewd_chdir): Likewise.
5784
5785         Remove macros that are no longer needed now that stdint.h is
5786         reliable.
5787         * lib/fsusage.c (UINTMAX_MAX): Remove.
5788         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
5789         * lib/utimecmp.c (SIZE_MAX): Remove.
5790
5791         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
5792
5793         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
5794         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
5795         O_NOATIME works.
5796
5797 2006-10-05  Bruno Haible  <bruno@clisp.org>
5798
5799         * lib/gl_list.h (gl_sortedlist_search_from_to,
5800         gl_sortedlist_indexof_from_to): New declarations.
5801         (gl_list_implementation): New fields sortedlist_search_from_to,
5802         sortedlist_indexof_from_to.
5803         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
5804         inline functions.
5805         * lib/gl_list.c (gl_sortedlist_search_from_to,
5806         gl_sortedlist_indexof_from_to): New functions.
5807         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
5808         function.
5809         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
5810         (gl_array_sortedlist_search_from_to): New function.
5811         (gl_array_list_implementation): Update.
5812         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
5813         function.
5814         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
5815         (gl_carray_sortedlist_search_from_to): New function.
5816         (gl_carray_list_implementation): Update.
5817         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
5818         gl_linked_sortedlist_indexof_from_to): New functions.
5819         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5820         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5821         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
5822         gl_tree_sortedlist_indexof_from_to): New functions.
5823         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5824         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5825         Update.
5826         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5827         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
5828         Update.
5829
5830 2006-10-05  Bruno Haible  <bruno@clisp.org>
5831
5832         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
5833         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
5834         (struct gl_list_implementation): Add fields search_from_to,
5835         indexof_from_to. Remove fields search, indexof.
5836         (gl_list_search): Use the search_from_to method.
5837         (gl_list_search_from, gl_list_search_from_to): New functions.
5838         (gl_list_indexof): Use the indexof_from_to method.
5839         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5840         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
5841         (gl_list_search_from, gl_list_search_from_to): New functions.
5842         (gl_list_indexof): Use the indexof_from_to method.
5843         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5844         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
5845         gl_array_indexof. Add start_index, end_index arguments.
5846         (gl_array_search_from_to): Renamed from gl_array_search. Add
5847         start_index, end_index arguments.
5848         (gl_array_remove, gl_array_list_implementation): Update.
5849         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
5850         gl_carray_indexof. Add start_index, end_index arguments.
5851         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
5852         start_index, end_index arguments.
5853         (gl_carray_remove, gl_carray_list_implementation): Update.
5854         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
5855         gl_linked_search. Add start_index, end_index arguments.
5856         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
5857         start_index, end_index arguments.
5858         (gl_linked_remove): Update.
5859         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5860         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5861         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
5862         field to 'size_t'.
5863         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
5864         gl_tree_search. Add start_index, end_index arguments.
5865         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5866         start_index, end_index arguments.
5867         (gl_tree_remove): Update.
5868         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5869         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5870         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
5871         function.
5872         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
5873         gl_tree_search. Add start_index, end_index arguments.
5874         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5875         start_index, end_index arguments.
5876         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5877         Update.
5878         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
5879
5880 2006-10-05  Bruno Haible  <bruno@clisp.org>
5881
5882         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
5883
5884         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5885         fwriteerror_temp): New declarations.
5886         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
5887         (descriptors): New variable.
5888         (cleanup): First, close the descriptors.
5889         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
5890         fclose_temp, fwriteerror_temp): New functions.
5891
5892 2006-10-04  Jim Meyering  <jim@meyering.net>
5893
5894         * lib/fts.c (fts_open): Tiny comment change.
5895
5896 2006-10-04  Bruno Haible  <bruno@clisp.org>
5897
5898         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
5899         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
5900         gl_LOCK_BODY.
5901         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
5902         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
5903         gl_LOCK_EARLY_BODY.
5904         (gl_LOCK): Require gl_LOCK_BODY.
5905
5906 2006-10-04  Bruno Haible  <bruno@clisp.org>
5907
5908         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
5909         (gl_oset_search_atleast): New declaration.
5910         (struct gl_oset_implementation): Add field 'search_atleast'.
5911         (gl_oset_search_atleast): New inline function.
5912         * lib/gl_oset.c (gl_oset_search_atleast): New function.
5913         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
5914         (gl_array_oset_implementation): Update.
5915         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
5916         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
5917         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
5918
5919 2006-10-04  Bruno Haible  <bruno@clisp.org>
5920
5921         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
5922
5923 2006-10-03  Bruno Haible  <bruno@clisp.org>
5924
5925         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
5926         from gl_avltreehash_list_implementation.
5927
5928 2006-10-03  Bruno Haible  <bruno@clisp.org>
5929
5930         * lib/gl_oset.c (gl_oset_add): Fix return type.
5931
5932 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
5933
5934         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
5935
5936 2006-10-02  Eric Blake  <ebb9@byu.net>
5937
5938         * modules/strnlen (Depends-on): Add extensions.
5939
5940 2006-10-02  Eric Blake  <ebb9@byu.net>
5941
5942         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
5943         definition in 2.60+.
5944
5945 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
5946
5947         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
5948         checks.
5949
5950 2006-10-02  Bruno Haible  <bruno@clisp.org>
5951
5952         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
5953         to the AUTOMAKE_OPTIONS.
5954         Reported by Jim Meyering.
5955
5956 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
5957
5958         Work around bug in Solaris 10 /proc file system:
5959         /proc/self/fd/NNN/.. isn't the parent directory of
5960         the directory whose file descriptor is NNN.  This needs to
5961         be worked around at run time, not compile time, since a
5962         program might be built on Solaris 8, where things work, and
5963         run on Solaris 10.
5964         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
5965         to use the following interface instead:
5966         (OPENAT_BUFFER_SIZE): New macro.
5967         (openat_proc_name): New function.
5968         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
5969         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
5970         Likewise.
5971         * lib/openat-proc.c: New file.
5972         * modules/openat (Files): Add lib/openat-proc.c.
5973         (Depends-on): Add same-inode, stdbool.
5974         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
5975
5976 2006-09-29  Bruno Haible  <bruno@clisp.org>
5977
5978         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
5979         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
5980         argument. Set stdout_closed before testing for ferror, not after.
5981         (fwriteerror, fwriteerror_no_ebadf): New functions.
5982
5983 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5984
5985         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
5986
5987 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
5988
5989         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
5990         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
5991
5992 2006-09-28  Jim Meyering  <jim@meyering.net>
5993
5994         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
5995         Include <unistd.h>.
5996
5997 2006-09-28  Bruno Haible  <bruno@clisp.org>
5998
5999         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
6000         * modules/linkedhash-list (Depends-on): Likewise.
6001         * modules/rbtreehash-list (Depends-on): Likewise.
6002
6003 2006-09-28  Bruno Haible  <bruno@clisp.org>
6004
6005         * lib/strndup.h: Simplify the redefinition of strndup.
6006         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
6007         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
6008
6009 2006-09-28  Bruno Haible  <bruno@clisp.org>
6010
6011         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
6012         * lib/gl_linkedhash_list.c: Likewise.
6013         * lib/gl_rbtreehash_list.c: Likewise.
6014
6015 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
6016
6017         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
6018         getaddrinfo.
6019
6020         * lib/__fpending.h: Don't include <stdio_ext.h> unless
6021         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
6022         it causes <stdio_ext.h> to cause a compile-time error.
6023         Problem reported by Nelson H. F. Beebe.
6024         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
6025         of HAVE_DECL___PENDING.
6026
6027         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
6028         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
6029         declaration.
6030
6031 2006-09-27  Jim Meyering  <jim@meyering.net>
6032
6033         This file could end up with a definition for a function
6034         named __strndup, rather than rpl_strndup on a system with
6035         incomplete weak_alias support.
6036         * lib/strndup.c (strndup): Rename from __strndup.
6037         Remove #defines that used to map __strndup to strndup.
6038         Don't use K&R prototypes.
6039         Remove LIBC-related code, since this file is not sync'd with glibc.
6040         * lib/strndup.h: Revamp, accordingly.
6041         * m4/strndup.m4: Modernize.
6042
6043 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
6044
6045         * modules/savewd (Depends-on): Add 'raise'.
6046         * lib/savewd.c: Include <signal.h>, for 'raise'.
6047
6048 2006-09-26  Jim Meyering  <jim@meyering.net>
6049
6050         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
6051         when we detect Darwin 8.7.0's acl_get_file bug.
6052         Rearrange to perform the new (below) run-test while $LIBS
6053         contains any acl-related library.  Set USE_ACL at the end.
6054         (gl_ACL_GET_FILE): New function.
6055
6056 2006-09-26  Eric Blake  <ebb9@byu.net>
6057
6058         * lib/verror.c: Include <config.h> unconditionally.
6059
6060 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
6061
6062         * modules/clock-time (Maintainer): Add self.
6063         * modules/getlogin_r (Depends-on): Add extensions.
6064
6065 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6066
6067         * modules/clock-time: New module.
6068         * modules/nanosleep (Depends-on): Add clock-time.
6069         * modules/gethrxtime (Depends-on): Likewise.
6070         * modules/gettime (Depends-on): Likewise.
6071         * modules/settime (Depends-on): Likewise.
6072
6073         * modules/fts-lgpl: Depend on openat.
6074         * modules/mkancesdirs: Depend on savewd.
6075         * modules/mkdir-p: Likewise.
6076
6077 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6078
6079         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
6080
6081         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
6082         `gl_have_arbitrary_file_name_length_limit' to
6083         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
6084         actually works between configure runs.
6085
6086 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6087             Bruno Haible  <bruno@clisp.org>
6088
6089         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
6090
6091 2006-09-25  Jim Meyering  <jim@meyering.net>
6092
6093         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
6094         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
6095
6096 2006-09-25  Eric Blake  <ebb9@byu.net>
6097
6098         * gnulib-tool (func_import, func_create_testdir): Fix typos in
6099         exec's in 2006-09-18 patch when shuffling fds.
6100
6101 2006-09-25  Bruno Haible  <bruno@clisp.org>
6102
6103         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
6104         Reported by Jim Meyering.
6105
6106 2006-09-24  Jim Meyering  <jim@meyering.net>
6107
6108         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
6109         compare a pointer against a literal "0".  That caused failures with
6110         at least HP-UX's hpcc.
6111
6112 2006-09-22  Simon Josefsson  <jas@extundo.com>
6113
6114         * modules/gc-sha1:
6115         * modules/gc-md4:
6116         * modules/gc-hmac-sha1:
6117         * modules/gc-hmac-md5:
6118         * modules/gc-des:
6119         * modules/gc-arcfour: Distribute more files.
6120
6121 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6122
6123         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
6124         (gl_linked_iterator_from_to): Initialize struct completely.
6125         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
6126         (gl_tree_iterator_from_to): Likewise
6127         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
6128         * lib/gl_array_list.c [lint] (gl_array_iterator)
6129         (gl_array_iterator_from_to): Likewise.
6130         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
6131         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
6132         (gl_carray_iterator_from_to): Likewise.
6133
6134         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
6135         * lib/md4.c (md4_process_block): Remove unused variable.
6136         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
6137         parentheses for clarity.
6138
6139 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6140
6141         * modules/bison-i18n (Depends-on): Add gettext.
6142
6143 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6144
6145         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
6146         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
6147         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
6148         also add missing comma that caused broken test.
6149         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
6150         stdlib.h, for `abort'.
6151         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
6152         variables.
6153         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
6154         include unistd.h if present, for `rmdir'.
6155         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
6156         variables.
6157         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
6158         in the process include standard headers for prototypes.
6159         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
6160         gets declared on GNU/Linux.
6161         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
6162         unistd.h, for `rmdir'.
6163         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
6164
6165         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
6166         always true.
6167         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
6168
6169         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
6170
6171 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6172
6173         * gnulib-tool (func_version): Create output all at once.  This
6174         may help avoid triggering unnecessary SIGPIPEs, and at any
6175         rate it doesn't hurt.
6176
6177 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6178             Bruno Haible  <bruno@clisp.org>
6179
6180         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
6181         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
6182         * m4/signed.m4 (bh_C_SIGNED): Likewise.
6183
6184         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
6185         (gl_FUNC_VASPRINTF): Invoke it.
6186
6187 2006-09-22  Bruno Haible  <bruno@clisp.org>
6188
6189         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
6190         getloadavg.c as first argument.
6191
6192 2006-09-22  Bruno Haible  <bruno@clisp.org>
6193
6194         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
6195         at the beginning of the gl_INIT macro.
6196         * modules/getloadavg (configure.ac): Pass $gl_source_base to
6197         gl_GETLOADAVG.
6198
6199 2006-09-22  Bruno Haible  <bruno@clisp.org>
6200
6201         * gnulib-tool (func_create_megatestdir): Don't include the config-h
6202         module.
6203         Suggested by Ralf Wildenhues.
6204
6205 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
6206
6207         Import this patch from libc:
6208
6209         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
6210
6211         * lib/regex_internal.c (re_string_reconstruct): Handle
6212         offset < pstr->valid_raw_len && pstr->offsets_needed case.
6213         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
6214         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
6215         re_string_context_at.
6216
6217         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
6218         now requires it.
6219         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
6220         gl_REGEX now does it for us.
6221         (gl_REGEX): Add test taken from
6222         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
6223
6224         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
6225         Check that large offsets work.  Modernize Autoconf usages.
6226         Prefer "yes" to mean a good thing rather than a bad.
6227         Don't put "#define mkstemp" in config.h, as this might interfere
6228         with standard system headers that "#define mkstemp mkstemp64".
6229
6230         * modules/mkstemp (Depends-on): Add extensions, so that
6231         mkstemp is visible on some platforms.
6232         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
6233         (Include): Change to "mkstemp.h" from <stdlib.h>.
6234         (Files): Add mkstemp.h.
6235
6236         * lib/mkstemp.h: New file, since some standard headers
6237         #define mkstemp.
6238         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
6239         Include "mkstemp.h".
6240         Make the _LIBC code resemble glibc original more,
6241         e.g., use K&R style.
6242         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
6243         (mkstemp): Remove, since mkstemp.h does this for us.
6244         * lib/stdlib--.h: Include mkstemp.h.
6245
6246         Import this patch from libc:
6247
6248         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
6249
6250         * lib/tempname.c (__gen_tempname): Change attempts_min
6251         into a macro.  Use preprocessor to decide how to initialize
6252         attempts [Coverity CID 67].
6253
6254 2006-09-20  Bruno Haible  <bruno@clisp.org>
6255
6256         * lib/mkdtemp.c: Import from libc.
6257         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
6258                 * sysdeps/posix/tempname.c (__gen_tempname): Change
6259                 attempts_min into a macro.  Use preprocessor to decide how to
6260                 initialize attempts [Coverity CID 67].
6261         2001-11-27  Paul Eggert  <eggert@twinsun.com>
6262                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
6263                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
6264
6265 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6266
6267         * gnulib-tool (func_exit): New function, to allow to pass the
6268         exit status portably through the trap.  Use everywhere.
6269         (--help, --version): Signal a write error.
6270         (trap): catch SIGPIPE, for write errors.
6271         Exit at the end of the trap, with the correct exit status.
6272
6273 2006-09-19  Karl Berry  <karl@gnu.org>
6274
6275         * doc/gnulib.texi: note about the license texinfo files.
6276
6277 2006-09-19  Eric Blake  <ebb9@byu.net>
6278
6279         * gnulib-tool: Avoid space-tab.
6280
6281 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
6282
6283         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
6284         that prevented coreutils 6.1 from building.  Problem reported
6285         by Petter Reinholdtsen.
6286
6287 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
6288
6289         * gnulib-tool (avoidlist): Fix typo that broke options like
6290         --avoid=lock that are used by coreutils bootstrap.
6291
6292 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
6293
6294         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
6295         more systematically.
6296
6297 2006-09-18  Jim Meyering  <jim@meyering.net>
6298
6299         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
6300
6301 2006-09-18  Bruno Haible  <bruno@clisp.org>
6302
6303         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
6304
6305 2006-09-18  Bruno Haible  <bruno@clisp.org>
6306
6307         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
6308         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
6309         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
6310         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
6311         * m4/gettext.m4: Require autoconf >= 2.52.
6312         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
6313         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
6314         of gl_cv_header_inttypes_h.
6315
6316 2006-09-18  Bruno Haible  <bruno@clisp.org>
6317
6318         * lib/javaversion.c: Include configmake.h.
6319
6320 2006-09-18  Bruno Haible  <bruno@clisp.org>
6321
6322         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
6323         avoid that the while loops be executed in a subshell.
6324
6325 2006-09-18  Bruno Haible  <bruno@clisp.org>
6326
6327         * MODULES.html.sh (func_module): Break long lines.
6328         Suggested by Bruce Korb <bkorb@gnu.org>.
6329
6330 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6331
6332         Speed up by a factor of 1.12.
6333         * gnulib-tool (nl): New variable.
6334         (func_import): Rewrite include directive extraction to only read each
6335         directive once.
6336
6337 2006-09-17  Bruno Haible  <bruno@clisp.org>
6338
6339         * modules/javaversion (Makefile.am): Remove DEFS setting.
6340         (Depends-on): Add configmake, for PKGDATADIR definition.
6341
6342 2006-09-17  Bruno Haible  <bruno@clisp.org>
6343
6344         * gnulib-tool (func_create_testdir): Rewrite all files at once.
6345
6346 2006-09-17  Bruno Haible  <bruno@clisp.org>
6347
6348         * gnulib-tool (func_append): New function, stolen from libtool.m4.
6349         (func_modules_transitive_closure, func_modules_add_dummy,
6350         func_modules_to_filelist, func_import, func_create_testdir,
6351         func_create_megatestdir, ...): Use it wherever possible.
6352         Suggested by Ralf Wildenhues.
6353
6354 2006-09-16  Karl Berry  <karl@gnu.org>
6355
6356         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
6357         to avoid sectioning errors.
6358         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
6359         [ifinfo]: blank line after @center-ed titles.
6360         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
6361         Spell FSF address consistently with others.
6362         (These changes approved by rms.)
6363
6364 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6365
6366         Speed up by a factor of 1.61.
6367         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
6368         already checked module names again.
6369
6370 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6371
6372         Speed up by a factor of 1.13.
6373         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
6374         for new_files, and the input to func_add_or_update.
6375
6376 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6377
6378         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
6379         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
6380
6381 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
6382
6383         * modules/mkancesdirs (Depends-on): Add fcntl.
6384         * modules/savewd: New file.
6385         * MODULES.html.sh (File system functions): Add savewd.
6386
6387         * modules/configmake (Makefile.am): Add support for the
6388         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
6389
6390 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
6391
6392         * m4/savewd.m4: New file.
6393
6394 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
6395
6396         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
6397         (dirchownmod): New arg FD.  All callers changed.
6398         Use FD rather than opening the directory ourself, as opening is
6399         now the caller's responsibility.
6400         * lib/dirchownmod.h: Likewise.
6401         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
6402         hosts that require <sys/types.h> before <sys/stat.h>.  Include
6403         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
6404         (test_dir): Remove.
6405         (mkancesdirs): Return length of prefix of FILE that has already
6406         been made, or -2 if there is a child doing the work.  Redo
6407         algorithm so that it is O(N) rather than O(N**2).  Optimize away
6408         ".", and treat ".." specially since it might stray back into
6409         already-created areas.  Use a subprocess if necessary.  New arg
6410         WD; all users changed.  MAKE_DIR function should now return 1
6411         if it creates a directory that is not readable.  Return -2 if
6412         a child process is spun off.
6413         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
6414         Adjust signature to match code.
6415         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
6416         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
6417         all users changed.
6418         * lib/savewd.c, lib/savewd.h: New files.
6419
6420 2006-09-15  Jim Meyering  <jim@meyering.net>
6421
6422         * modules/rename-dest-slash: New module.
6423         * MODULES.html.sh (posix_compat): Add it here.
6424
6425         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
6426
6427 2006-09-15  Jim Meyering  <jim@meyering.net>
6428
6429         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
6430         file.
6431
6432         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
6433
6434 2006-09-15  Jim Meyering  <jim@meyering.net>
6435
6436         * lib/rename-dest-slash.c (has_trailing_slash): Use
6437         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
6438         (rpl_rename_dest_slash): Perform the cheaper trailing slash
6439         test before testing whether SRC is a directory.
6440         Suggestions from Bruno Haible.
6441
6442         Avoid a warning about an unused variable.
6443         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
6444         into the #ifdef block where it's used.
6445
6446         * lib/rename-dest-slash.c: New file.
6447
6448 2006-09-14  Bruno Haible  <bruno@clisp.org>
6449
6450         * lib/allocsa.c: Include <config.h> unconditionally.
6451         * lib/asnprintf.c: Likewise.
6452         * lib/asprintf.c: Likewise.
6453         * lib/c-strcasecmp.c: Likewise.
6454         * lib/c-strcasestr.c: Likewise.
6455         * lib/c-strncasecmp.c: Likewise.
6456         * lib/c-strstr.c: Likewise.
6457         * lib/classpath.c: Likewise.
6458         * lib/clean-temp.c: Likewise.
6459         * lib/concatpath.c: Likewise.
6460         * lib/copy-file.c: Likewise.
6461         * lib/csharpcomp.c: Likewise.
6462         * lib/csharpexec.c: Likewise.
6463         * lib/execute.c: Likewise.
6464         * lib/fatal-signal.c: Likewise.
6465         * lib/findprog.c: Likewise.
6466         * lib/fwriteerror.c: Likewise.
6467         * lib/gl_array_list.c: Likewise.
6468         * lib/gl_array_oset.c: Likewise.
6469         * lib/gl_avltree_list.c: Likewise.
6470         * lib/gl_avltree_oset.c: Likewise.
6471         * lib/gl_avltreehash_list.c: Likewise.
6472         * lib/gl_carray_list.c: Likewise.
6473         * lib/gl_linked_list.c: Likewise.
6474         * lib/gl_linkedhash_list.c: Likewise.
6475         * lib/gl_list.c: Likewise.
6476         * lib/gl_oset.c: Likewise.
6477         * lib/gl_rbtree_list.c: Likewise.
6478         * lib/gl_rbtree_oset.c: Likewise.
6479         * lib/gl_rbtreehash_list.c: Likewise.
6480         * lib/imaxabs.c: Likewise.
6481         * lib/imaxdiv.c: Likewise.
6482         * lib/javacomp.c: Likewise.
6483         * lib/javaexec.c: Likewise.
6484         * lib/javaversion.c: Likewise.
6485         * lib/linebreak.c: Likewise.
6486         * lib/localcharset.c: Likewise.
6487         * lib/lock.c: Likewise.
6488         * lib/mbchar.c: Likewise.
6489         * lib/mbswidth.c: Likewise.
6490         * lib/mkdtemp.c: Likewise.
6491         * lib/pipe.c: Likewise.
6492         * lib/printf-args.c: Likewise.
6493         * lib/printf-parse.c: Likewise.
6494         * lib/progname.c: Likewise.
6495         * lib/progreloc.c: Likewise.
6496         * lib/readlink.c: Likewise.
6497         * lib/sh-quote.c: Likewise.
6498         * lib/stpcpy.c: Likewise.
6499         * lib/stpncpy.c: Likewise.
6500         * lib/strcasecmp.c: Likewise.
6501         * lib/strcasestr.c: Likewise.
6502         * lib/strcspn.c: Likewise.
6503         * lib/striconv.c: Likewise.
6504         * lib/strncasecmp.c: Likewise.
6505         * lib/strnlen1.c: Likewise.
6506         * lib/strstr.c: Likewise.
6507         * lib/strtok_r.c: Likewise.
6508         * lib/tls.c: Likewise.
6509         * lib/tmpdir.c: Likewise.
6510         * lib/unicodeio.c: Likewise.
6511         * lib/unsetenv.c: Likewise.
6512         * lib/vasnprintf.c: Likewise.
6513         * lib/vasprintf.c: Likewise.
6514         * lib/wait-process.c: Likewise.
6515         * lib/xallocsa.c: Likewise.
6516         * lib/xsetenv.c: Likewise.
6517         * lib/xstriconv.c: Likewise.
6518
6519 2006-09-13  Simon Josefsson  <jas@extundo.com>
6520
6521         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
6522         that internally, suggested by Ralf Wildenhues
6523         <Ralf.Wildenhues@gmx.de>.
6524
6525 2006-09-13  Simon Josefsson  <jas@extundo.com>
6526
6527         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
6528         @LIBOBJS@.
6529         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6530
6531 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
6532
6533         * lib/_fpending.c: Include <config.h> unconditionally, since we no
6534         longer worry about uses that don't define HAVE_CONFIG_H.
6535         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
6536         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
6537         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
6538         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
6539         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
6540         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
6541         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
6542         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
6543         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
6544         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
6545         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
6546         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
6547         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
6548         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
6549         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
6550         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
6551         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
6552         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
6553         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
6554         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
6555         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
6556         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
6557         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
6558         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
6559         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
6560         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
6561         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
6562         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
6563         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
6564         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
6565         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
6566         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
6567         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
6568         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
6569         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
6570         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
6571         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
6572         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
6573         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
6574         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
6575         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
6576         Likewise.
6577
6578 2006-09-13  Eric Blake  <ebb9@byu.net>
6579
6580         * lib/getopt.c: Fix typo in last commit.
6581
6582 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
6583
6584         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
6585         dgettext.
6586
6587 2006-09-12  Jim Meyering  <jim@meyering.net>
6588
6589         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
6590         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
6591         Reported by Nelson H. F. Beebe.
6592
6593 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
6594
6595         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
6596         program_invocation_name and program_invocation_short_name are
6597         initialized.
6598         * lib/argp-namefrob.h: Move declarations of program_invocation_name
6599         and program_invocation_short_name to argp.h, so they are visible
6600         to user programs.
6601         * lib/argp.h: Likewise
6602
6603 2006-09-10  Bruno Haible  <bruno@clisp.org>
6604
6605         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
6606         m4/inttypes_h.m4, m4/uintmax_t.m4.
6607
6608 2006-09-10  Bruno Haible  <bruno@clisp.org>
6609
6610         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
6611         gl_AC_TYPE_UINTMAX_T.
6612
6613 2006-09-10  Bruno Haible  <bruno@clisp.org>
6614
6615         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
6616
6617 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6618
6619         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
6620         convention.  Text proposed by Bruno Haible.
6621         (struct argp_option): Document the use of N_() wrappers.
6622
6623         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
6624         '\v', and translate the two parts separately, instead of feeding
6625         the whole string to gettext.  This allows to exclude
6626         '\v' from the strings visible to the translator by writing doc
6627         strings as N_("..") "\v" N_("..").
6628
6629 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
6630
6631         * config/srclist.txt: Undo latest change; the bug was fixed.
6632
6633 2006-09-09  Bruno Haible  <bruno@clisp.org>
6634
6635         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
6636         assignments if building a library without libtool.
6637         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
6638         in func_emit_lib_Makefile_am.
6639         (func_import): When building a static library libfoo.a, arrange to
6640         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
6641         (func_create_testdir): Likewise.
6642         * modules/gc (configure.ac, Makefile.am): If building statically,
6643         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
6644         * modules/iconvme (configure.ac, Makefile.am): Likewise.
6645         * modules/striconv (configure.ac, Makefile.am): Likewise.
6646         Based on a suggestion by Ralf Wildenhues.
6647
6648 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6649
6650         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
6651         Check for unistd.h too, since Autoconf doesn't assume POSIX.
6652         Also:
6653
6654         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6655         Add year_2050_test to catch glibc bug 2821
6656         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6657
6658         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6659         Prefer #ifdef to #if.
6660
6661         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
6662         Return from 'main' instead of calling 'exit'.
6663
6664 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6665
6666         * lib/mktime.c (guess_time_tm): Fix bug where mktime
6667         returned the maximum time_t value rather than (time_t) -1.
6668         Problem originally reported by William Bardwell
6669         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6670
6671         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6672         Moved to here ...
6673         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6674         ... from here.
6675
6676 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6677
6678         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
6679         2821 is fixed.
6680
6681 2006-09-08  Jim Meyering  <jim@meyering.net>
6682
6683         Don't make generated files read-only.  That would bother too many
6684         people.  However, do retain the ability to work when targets are
6685         read-only: remove the destination and temporary files before writing
6686         them (when generated via sed or echo), or by using the -f option for
6687         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
6688         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6689         * modules/byteswap, modules/configmake, modules/fcntl:
6690         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6691         * modules/localcharset, modules/netinet_in, modules/poll:
6692         * modules/stdbool, modules/stdint, modules/sys_select:
6693         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6694
6695 2006-09-08  Jim Meyering  <jim@meyering.net>
6696
6697         Avoid new build failure on FreeBSD 6.0.
6698         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
6699         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
6700         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
6701
6702 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6703
6704         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
6705
6706 2006-09-07  Jim Meyering  <jim@meyering.net>
6707
6708         Fix global typo in last change: use chmod u-w, not chmod u-x.
6709         Spotted by Paul Eggert and Bruce Korb.
6710         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6711         * modules/byteswap, modules/configmake, modules/fcntl:
6712         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6713         * modules/localcharset, modules/netinet_in, modules/poll:
6714         * modules/stdbool, modules/stdint, modules/sys_select:
6715         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6716
6717 2006-09-06  Jim Meyering  <jim@meyering.net>
6718
6719         Make generated files be read-only.
6720         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
6721         Ensure that each generated file is now read-only.
6722         * modules/argz: Likewise.
6723         * modules/arpa_inet: Likewise.
6724         * modules/byteswap: Likewise.
6725         * modules/configmake: Likewise.
6726         * modules/fcntl: Likewise.
6727         * modules/fnmatch: Likewise.
6728         * modules/getopt: Likewise.
6729         * modules/glob: Likewise.
6730         * modules/inttypes: Likewise.
6731         * modules/netinet_in: Likewise.
6732         * modules/poll: Likewise.
6733         * modules/stdbool: Likewise.
6734         * modules/stdint: Likewise.
6735         * modules/sys_select: Likewise.
6736         * modules/sys_socket: Likewise.
6737         * modules/sys_stat: Likewise.
6738         * modules/sysexits: Likewise.
6739         * modules/localcharset: Same as above, but continue using temporary
6740         file named "t-$@" (why different?) rather than the "$@-t" used
6741         everywhere else.
6742
6743         * modules/sysexits (Makefile.am): Replace literal occurrences
6744         of "sysexit.h" more readable, and more consistent, "$@".
6745
6746 2006-09-06  Bruno Haible  <bruno@clisp.org>
6747
6748         * modules/striconv: New file.
6749         * modules/xstriconv: New file.
6750         * MODULES.html.sh (Internationalization functions): Add striconv,
6751         xstriconv.
6752
6753 2006-09-06  Bruno Haible  <bruno@clisp.org>
6754
6755         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
6756         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
6757         not using libtool correctly.
6758
6759 2006-09-06  Bruno Haible  <bruno@clisp.org>
6760
6761         * lib/striconv.h: New file.
6762         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
6763         iconvstring.c.
6764         * lib/xstriconv.h: New file.
6765         * lib/xstriconv.c: New file.
6766
6767 2006-09-06  Bruno Haible  <bruno@clisp.org>
6768
6769         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
6770         lib_..._LDFLAGS.
6771
6772 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6773
6774         * lib/argz_.h: Sync from Libtool.
6775
6776         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
6777                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6778
6779         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
6780
6781 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6782
6783         * modules/trim: New file.
6784
6785 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6786
6787         * lib/trim.h: New file.
6788         * lib/trim.c: New file.
6789
6790 2006-09-05  Bruno Haible  <bruno@clisp.org>
6791
6792         * MODULES.html.sh (String handling): Add trim.
6793
6794 2006-09-04  Karl Berry  <karl@gnu.org>
6795
6796         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
6797         until next release.
6798
6799 2006-09-03  Bruno Haible  <bruno@clisp.org>
6800
6801         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
6802         correctly.
6803
6804 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6805
6806         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
6807         not gl_GETLOADAVG.  Omit unneeded semicolons.
6808         Problems reported by Ralf Wildenhues in
6809         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6810         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
6811         at the end, which is the usual gnulib style.
6812
6813         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
6814         of doing all the work ourselves.
6815         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
6816         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
6817
6818 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6819
6820         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
6821         Problem reported by Ralf Wildenhues in
6822         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6823
6824         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
6825         HAVE_STRUCT_STATFS_F_FSTYPENAME.
6826
6827 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6828
6829         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
6830         yesterday's patch by changing test -n to test -z.
6831
6832 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6833
6834         * modules/getloadavg (Files): Add m4/getloadavg.m4.
6835         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
6836         the former is now obsolescent.
6837
6838         * modules/chdir-long (Depends-on): Add fcntl.
6839
6840 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6841
6842         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
6843         obsolescent, and programs should use gnulib instead.
6844         * m4/getloadavg.m4: New file, with contents taken from Autoconf
6845         but with prefixes changed.
6846
6847 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6848
6849         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
6850         or stdbool.h, because they might not exist while configuring.
6851
6852         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
6853         Don't include unistd.h or limits.h; not needed, since chdir-long.h
6854         does that for us.
6855         (O_DIRECTORY): Remove.
6856
6857 2006-08-31  Eric Blake  <ebb9@byu.net>
6858
6859         * gnulib-tool: Don't let emacs change spaces to TAB.
6860
6861 2006-08-31  Bruno Haible  <bruno@clisp.org>
6862
6863         * gnulib-tool: When calling func_import more than once, do it in a
6864         subshell.
6865         Reported by Eric Blake <ebb9@byu.net>.
6866
6867 2006-08-31  Bruno Haible  <bruno@clisp.org>
6868
6869         * gnulib-tool (nl): Remove variable.
6870         (sed_transform_lib_file): Use more robust test for config-h module.
6871         (func_import): Fix typo in 2006-08-25 patch.
6872
6873 2006-08-31  Bruno Haible  <bruno@clisp.org>
6874
6875         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
6876         specified, augment Makefile.am variables instead of assigning them.
6877
6878 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6879
6880         Work around a bug in both the Linux and SunOS 64-bit kernels:
6881         nanosleep mishandles sleeps for longer than 2**31 seconds.
6882         Problem reported by Frank v Waveren in
6883         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6884         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
6885         Check for nanosleep bug.
6886         (LIB_NANOSLEEP): Append clock_gettime library if needed.
6887
6888 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6889
6890         Work around a bug in both the Linux and SunOS 64-bit kernels:
6891         nanosleep mishandles sleeps for longer than 2**31 seconds.
6892         Problem reported by Frank v Waveren in
6893         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6894         * lib/nanosleep.c (BILLION): New constant.
6895         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
6896         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
6897         implementation.
6898
6899 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6900
6901         * modules/nanosleep (Depends-on): Add gettime.
6902
6903 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6904         and Simon Josefsson  <jas@extundo.com>
6905         and Oskar Liljeblad  <oskar@osk.mine.nu>
6906
6907         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
6908         * gnulib-tool (func_import): New license type 'unmodifiable license
6909         text'.
6910         * modules/fdl: Use it.  Longer description.
6911         * module/gpl, module/lgpl: New files.
6912
6913 2006-08-30  Jim Meyering  <jim@meyering.net>
6914
6915         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
6916         shadowing the parameter.
6917
6918 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6919
6920         Sync from Libtool:
6921
6922         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6923
6924         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
6925         sharing with gnulib.  Report by Eric Blake.
6926
6927 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6928
6929         * modules/isapipe: New file.
6930         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
6931
6932 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6933
6934         * modules/configmake (Makefile.am): Add a comment, and omit
6935         the CONFIGMAKE_ prefix from generated macro names.  Suggested
6936         by Bruno Haible.
6937
6938 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6939
6940         * m4/isapipe.m4: New file.
6941
6942 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6943
6944         * lib/isapipe.c, lib/isapipe.h: New files.
6945
6946 2006-08-29  Jim Meyering  <jim@meyering.net>
6947
6948         * modules/configmake (Makefile.am): Make configmake.h depend on
6949         Makefile.  Otherwise, a stale configmake.h could hang around.
6950
6951 2006-08-29  Eric Blake  <ebb9@byu.net>
6952
6953         * lib/error.c (error_at_line, print_errno_message): Match libc, after
6954         resolution of upstream bug 3044.
6955
6956 2006-08-29  Bruno Haible  <bruno@clisp.org>
6957
6958         * modules/localcharset (Depends-on): Add configmake.
6959         (Makefile.am): Remove setting of LIBDIR through DEFS.
6960
6961 2006-08-29  Bruno Haible  <bruno@clisp.org>
6962
6963         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
6964         defined.
6965
6966 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6967
6968         * modules/fcntl: New file.
6969         * modules/chdir-safer (Depends-on): Add fcntl.
6970         * modules/fts: Likewise.
6971         * modules/mkdir-p: Likewise.
6972
6973         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
6974         This undoes the most recent change, since we're now addressing the
6975         problem in a different way.
6976
6977         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
6978         into output, since the output might be called Makefile.am even
6979         if $makefile_name is something different.
6980         (func_import): Use $makefile_am rather than
6981         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
6982         empty.
6983
6984         * modules/inttypes (Files): Add m4/inttypes-h.m4.
6985
6986 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6987
6988         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
6989         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
6990         recent change to stdint.m4, since we're now addressing the problem in a
6991         different way.
6992
6993 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6994
6995         * m4/fcntl_h.m4: New file.
6996
6997 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6998
6999         * lib/fcntl_.h: New file.
7000         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
7001         the fcntl module.
7002         * lib/dirchownmod.c: Likewise.
7003         * lib/fts.c: Likewise.
7004
7005         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
7006         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
7007         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
7008         just before including <inttypes.h>, to avoid circular inclusion.
7009
7010 2006-08-28  Jim Meyering  <jim@meyering.net>
7011
7012         * doc/visibility.texi: Actually read and correct the grammar of the
7013         sentence affected by yesterday's change.
7014
7015 2006-08-28  Eric Blake  <ebb9@byu.net>
7016
7017         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
7018         needs wrapper.
7019
7020 2006-08-28  Eric Blake  <ebb9@byu.net>
7021
7022         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
7023
7024 2006-08-28  Eric Blake  <ebb9@byu.net>
7025
7026         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
7027
7028 2006-08-28  Bruno Haible  <bruno@clisp.org>
7029
7030         * modules/c-strstr: New file, from GNU gettext.
7031         * MODULES.html.sh (String handling): Add c-strstr.
7032
7033 2006-08-28  Bruno Haible  <bruno@clisp.org>
7034
7035         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
7036         macros.
7037         Reported by Eric Blake.
7038
7039 2006-08-28  Bruno Haible  <bruno@clisp.org>
7040
7041         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
7042         (VASNPRINTF): Return a string of length > INT_MAX without failing.
7043         * lib/vasprintf.c: Include errno.h, limits.h.
7044         (EOVERFLOW): New fallback definition.
7045         (vasprintf): Test here whether the string length is > INT_MAX.
7046         * lib/vsnprintf.c: Include errno.h, limits.h.
7047         (EOVERFLOW): New fallback definition.
7048         (vsnprintf): Fix bug when generated string was too long for the buffer.
7049         Test here whether the string length is > INT_MAX.
7050
7051 2006-08-28  Bruno Haible  <bruno@clisp.org>
7052
7053         * lib/inttypes_.h (SCNX*): Remove definitions.
7054         Reported by Eric Blake.
7055
7056 2006-08-28  Bruno Haible  <bruno@clisp.org>
7057
7058         * lib/c-strstr.h: New file, from GNU gettext.
7059         * lib/c-strstr.c: New file, from GNU gettext.
7060
7061 2006-08-28  Bruno Haible  <bruno@clisp.org>
7062
7063         * gnulib-tool: Reorder some statements.
7064
7065 2006-08-28  Bruno Haible  <bruno@clisp.org>
7066
7067         * gnulib-tool: New option --makefile-name.
7068         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
7069         $makefile_name.
7070         (func_import): Write $makefile_name to the cache file, and read it from
7071         there unless explicitly specified. Use $makefile_name as file name
7072         instead of Makefile.am. Adjust the recommendations accordingly.
7073
7074 2006-08-28  Bruno Haible  <bruno@clisp.org>
7075
7076         * gnulib-tool (func_verify_module): Check against misapplying patch.
7077
7078 2006-08-28  Bruno Haible  <bruno@clisp.org>
7079
7080         * gnulib-tool (func_relativize, func_relconcat): New functions.
7081         Give an error if --local-dir is given with --update.
7082         Remove trailing slashes from $local_gnulib_dir.
7083         (func_import): Store the relativized $local_gnulib_dir in
7084         gnulib-cache.m4, and read it from there if not specified explicitly.
7085
7086 2006-08-28  Bruno Haible  <bruno@clisp.org>
7087
7088         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
7089         is the current directory. Respect also $local_gnulib_dir.
7090
7091 2006-08-28  Bruno Haible  <bruno@clisp.org>
7092             Simon Josefsson  <jas@extundo.com>
7093
7094         BeOS portability.
7095         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
7096
7097 2006-08-27  Jim Meyering  <jim@meyering.net>
7098
7099         * doc/visibility.texi: Remove duplicate word: "pointer".
7100
7101 2006-08-26  Bruno Haible  <bruno@clisp.org>
7102
7103         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
7104         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
7105         (Makefile.am): Create inttypes.h from inttypes_.h.
7106         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
7107
7108         * modules/imaxabs: New file.
7109
7110         * modules/imaxdiv: New file.
7111
7112 2006-08-26  Bruno Haible  <bruno@clisp.org>
7113
7114         * m4/inttypes.m4: New file.
7115         * m4/_inttypes_h.m4: Remove file.
7116         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
7117         PRI_MACROS_BROKEN.
7118         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
7119
7120         * m4/imaxabs.m4: New file.
7121
7122         * m4/imaxdiv.m4: New file.
7123
7124 2006-08-26  Bruno Haible  <bruno@clisp.org>
7125
7126         * lib/inttypes_.h: New file.
7127         * lib/inttypes.h: Remove file.
7128         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
7129
7130         * lib/imaxabs.c: New file.
7131
7132         * lib/imaxdiv.c: New file.
7133
7134 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
7135
7136         New config-h module, so that "make" output needn't be cluttered
7137         by -DHAVE_CONFIG_H.
7138         * MODULES.html.sh (Support for building libraries and executables):
7139         Add config-h.
7140         * modules/config-h: New file.
7141         * gnulib-tool (nl, sed_transform_lib_file): New vars.
7142         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
7143         the config-h module is used.
7144
7145         New configmake module, so that "make" output needn't be cluttered
7146         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
7147         * MODULES.html.sh (Support for building libraries and executables):
7148         Add configmake.
7149         * modules/configmake: New file.
7150
7151 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
7152
7153         * m4/config-h.m4: New file.
7154
7155 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
7156
7157         * config/srclist.txt: Add elisp-comp.
7158
7159 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
7160
7161         * MODULES.html.sh (Support for building libraries and executables):
7162         Add elisp-comp.
7163         * build-aux/elisp-comp: New file.
7164         * modules/elisp-comp: New file.
7165
7166 2006-08-24  Bruno Haible  <bruno@clisp.org>
7167
7168         * gnulib-tool (func_create_testdir): Use non-default values of
7169         sourcebase and m4base.
7170
7171 2006-08-24  Bruno Haible  <bruno@clisp.org>
7172
7173         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
7174         HTML structure.
7175
7176 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
7177
7178         * modules/openat (Depends-on): Add lchown.
7179
7180 2006-08-23  Bruno Haible  <bruno@clisp.org>
7181
7182         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
7183         of gl_LOCK_EARLY instead of gl_LOCK.
7184
7185 2006-08-23  Bruno Haible  <bruno@clisp.org>
7186
7187         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
7188         on OSF/1 to no.
7189         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
7190
7191 2006-08-23  Bruno Haible  <bruno@clisp.org>
7192
7193         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
7194         as unusable.
7195
7196         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
7197         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
7198         (gl_LOCK): New macro.
7199
7200 2006-08-22  Simon Josefsson  <jas@extundo.com>
7201
7202         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
7203         to md5 module.
7204
7205 2006-08-22  Simon Josefsson  <jas@extundo.com>
7206
7207         * MODULES.html.sh: Add "Support for maintaining and release
7208         projects".
7209
7210         * build-aux/gnupload: New file, from coreutils.
7211
7212 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
7213
7214         Avoid the need for AC_LIBSOURCES in m4 macros.
7215         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
7216         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
7217         * modules/check-version (EXTRA_DIST): Add check-version.h.
7218         * modules/crc (EXTRA_DIST): Add crc.h.
7219         * modules/des (EXTRA_DIST): Add des.h.
7220         * modules/gc (EXTRA_DIST): Add gc.h.
7221         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
7222         * modules/getline (EXTRA_DIST): Add getline.h.
7223         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
7224         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
7225         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
7226         * modules/md2 (EXTRA_DIST): Add md2.h.
7227         * modules/md4 (EXTRA_DIST): Add md4.h.
7228         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
7229         * modules/read-file (EXTRA_DIST): Add read-file.h.
7230         * modules/readline (EXTRA_DIST): Add readline.h.
7231         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
7232         rijndael-api-fst.h.
7233
7234 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
7235
7236         * m4/rijndael.m4 (gl_ARCFOUR):
7237         * m4/arctwo.m4 (gl_ARCTWO):
7238         * m4/check-version.m4 (gl_CHECK_VERSION):
7239         * m4/crc.m4 (gl_CRC):
7240         * m4/des.m4 (gl_DES):
7241         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
7242         * m4/gc.m4 (gl_GC):
7243         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
7244         * m4/getline.m4 (gl_FUNC_GETLINE):
7245         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
7246         * m4/hmac-md5.m4 (gl_HMAC_MD5):
7247         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
7248         * m4/md2.m4 (gl_MD2):
7249         * m4/md4.m4 (gl_MD4):
7250         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
7251         * m4/read-file.m4 (gl_FUNC_READ_FILE):
7252         * m4/readline.m4 (gl_FUNC_READLINE):
7253         * m4/rijndael.m4 (gl_RIJNDAEL):
7254         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
7255         to get the necessary .h files and whatnot.
7256
7257 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
7258
7259         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
7260         gnulib rather than the other way around.
7261         * config/srclistvars.sh (COREUTILS): Remove.
7262
7263 2006-08-22  Jim Meyering  <jim@meyering.net>
7264
7265         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
7266
7267         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
7268
7269 2006-08-22  Eric Blake  <ebb9@byu.net>
7270
7271         * modules/regexprops-generic: New file.
7272         * MODULES.html.sh (Support for building documentation): List it.
7273
7274 2006-08-22  Eric Blake  <ebb9@byu.net>
7275
7276         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
7277         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
7278         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
7279         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
7280
7281 2006-08-22  Bruno Haible  <bruno@clisp.org>
7282
7283         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
7284         and lib_LTLIBRARIES like the other lib_* variables.
7285
7286 2006-08-22  Bruno Haible  <bruno@clisp.org>
7287
7288         * build-aux/x-to-1.in: New file, from GNU gettext.
7289
7290 2006-08-22  Bruno Haible  <bruno@clisp.org>
7291
7292         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
7293         <utmpx.h> exists.
7294
7295 2006-08-22  Bruno Haible  <bruno@clisp.org>
7296
7297         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
7298         <utmpx.h> exists.
7299
7300 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7301
7302         BeOS portability.
7303         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
7304         exist.
7305         Problem reported by Bruno Haible.
7306
7307 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7308
7309         Avoid the need for AC_LIBSOURCES in m4 macros.
7310         * modules/acl (EXTRA_DIST): Add acl.h.
7311         * modules/argmatch (Files): Add m4/argmatch.m4.
7312         (configure.ac): Add gl_ARGMATCH.
7313         (EXTRA_DIST): Renamed from lib_SOURCES, for
7314         consistency with the other modules.  Remove argmatch.c.
7315         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
7316         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
7317         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
7318         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
7319         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
7320         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
7321         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
7322         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
7323         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
7324         * modules/closeout (EXTRA_DIST): Add closeout.h.
7325         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
7326         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
7327         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
7328         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
7329         dirname.h; remove basename.c and stripslash.c.
7330         * modules/exclude (EXTRA_DIST): Add exclude.h.
7331         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
7332         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
7333         * modules/file-type (EXTRA_DIST): Add file-type.h.
7334         * modules/filemode (EXTRA_DIST): Add filemode.h.
7335         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
7336         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
7337         * modules/fpending (EXTRA_DIST): Add __fpending.h.
7338         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
7339         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
7340         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
7341         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
7342         * modules/getdate (EXTRA_DIST): Add getdate.c.
7343         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
7344         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
7345         * modules/getpass (EXTRA_DIST): Add getpass.h.
7346         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
7347         * modules/group-member (EXTRA_DIST): Add group-member.h.
7348         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
7349         * modules/hash (EXTRA_DIST): Add hash.h.
7350         * modules/human (EXTRA_DIST): Add human.h.
7351         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
7352         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
7353         * modules/lchown (EXTRA_DIST): Add lchown.h.
7354         * modules/long-options (EXTRA_DIST): Add long-options.h.
7355         * modules/lstat (EXTRA_DIST): Add lstat.h.
7356         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
7357         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
7358         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
7359         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
7360         * modules/memxor (EXTRA_DIST): Add memxor.h.
7361         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
7362         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
7363         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
7364         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
7365         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
7366         * modules/physmem (EXTRA_DIST): Add physmem.h.
7367         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
7368         * modules/posixver (EXTRA_DIST): Add posixver.h.
7369         * modules/quote (EXTRA_DIST): Add quote.h.
7370         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
7371         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
7372         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
7373         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
7374         regex_internal.h regexec.c.
7375         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
7376         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
7377         * modules/same (EXTRA_DIST): Add same.h.
7378         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
7379         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
7380         * modules/savedir (EXTRA_DIST): Add savedir.h.
7381         * modules/sha1 (EXTRA_DIST): Add sha1.h.
7382         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
7383         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
7384         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
7385         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
7386         * modules/strdup (EXTRA_DIST): Add strdup.h.
7387         * modules/strftime (EXTRA_DIST): Add strftime.h.
7388         * modules/strndup (EXTRA_DIST): Add strndup.h.
7389         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
7390         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
7391         * modules/time_r (EXTRA_DIST): Add time_r.h.
7392         * modules/timespec (EXTRA_DIST): Add timespec.h.
7393         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
7394         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
7395         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
7396         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
7397         * modules/userspec (EXTRA_DIST): Add userspec.h.
7398         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
7399         * modules/utimens (EXTRA_DIST): Add utimens.h.
7400         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
7401         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
7402         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
7403         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
7404         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
7405         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
7406         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
7407         * modules/yesno (EXTRA_DIST): Add yesno.h.
7408
7409 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7410
7411         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
7412
7413         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
7414         * m4/dev-ino.m4, same-inode.m4: Remove.
7415
7416         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
7417         * m4/acl.m4 (AC_FUNC_ACL):
7418         * m4/backupfile.m4 (gl_BACKUPFILE):
7419         * m4/c-strtod.m4 (gl_C99_STRTOLD):
7420         * m4/canon-host.m4 (gl_CANON_HOST):
7421         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
7422         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
7423         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
7424         * m4/cloexec.m4 (gl_CLOEXEC):
7425         * m4/close-stream.m4 (gl_CLOSE_STREAM):
7426         * m4/closeout.m4 (gl_CLOSEOUT):
7427         * m4/dirfd.m4 (gl_FUNC_DIRFD):
7428         * m4/dirname.m4 (gl_DIRNAME):
7429         * m4/exclude.m4 (gl_EXCLUDE):
7430         * m4/exitfail.m4 (gl_EXITFAIL):
7431         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
7432         * m4/file-type.m4 (gl_FILE_TYPE):
7433         * m4/filemode.m4 (gl_FILEMODE):
7434         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
7435         * m4/fpending.m4 (gl_FUNC_FPENDING):
7436         * m4/fprintftime.m4 (gl_FPRINTFTIME):
7437         * m4/fts.m4 (gl_FUNC_FTS):
7438         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
7439         * m4/getdate.m4 (gl_GETDATE):
7440         * m4/gethrxtime.m4 (gl_GETHRXTIME):
7441         * m4/getpagesize.m4 (gl_GETPAGESIZE):
7442         * m4/getpass.m4 (gl_FUNC_GETPASS):
7443         * m4/gettime.m4 (gl_GETTIME):
7444         * m4/getugroups.m4 (gl_GETUGROUPS):
7445         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
7446         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
7447         * m4/hard-locale.m4 (gl_HARD_LOCALE):
7448         * m4/hash.m4 (gl_HASH):
7449         * m4/idcache.m4 (gl_IDCACHE):
7450         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
7451         * m4/lchown.m4 (gl_FUNC_LCHOWN):
7452         * m4/long-options.m4 (gl_LONG_OPTIONS):
7453         * m4/lstat.m4 (gl_FUNC_LSTAT):
7454         * m4/md5.m4 (gl_MD5):
7455         * m4/memcasecmp.m4 (gl_MEMCASECMP):
7456         * m4/memcoll.m4 (gl_MEMCOLL):
7457         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
7458         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
7459         * m4/memxor.m4 (gl_MEMXOR):
7460         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
7461         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
7462         * m4/modechange.m4 (gl_MODECHANGE):
7463         * m4/mountlist.m4 (gl_MOUNTLIST):
7464         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
7465         * m4/openat.m4 (gl_FUNC_OPENAT):
7466         * m4/pathmax.m4 (gl_PATHMAX):
7467         * m4/physmem.m4 (gl_PHYSMEM):
7468         * m4/posixtm.m4 (gl_POSIXTM):
7469         * m4/posixver.m4 (gl_POSIXVER):
7470         * m4/quote.m4 (gl_QUOTE):
7471         * m4/quotearg.m4 (gl_QUOTEARG):
7472         * m4/readtokens.m4 (gl_READTOKENS):
7473         * m4/readutmp.m4 (gl_READUTMP):
7474         * m4/regex.m4 (gl_REGEX):
7475         * m4/safe-read.m4 (gl_SAFE_READ):
7476         * m4/safe-write.m4 (gl_SAFE_WRITE):
7477         * m4/same.m4 (gl_SAME):
7478         * m4/save-cwd.m4 (gl_SAVE_CWD):
7479         * m4/savedir.m4 (gl_SAVEDIR):
7480         * m4/settime.m4 (gl_SETTIME):
7481         * m4/sha1.m4 (gl_SHA1):
7482         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
7483         * m4/stat-macros.m4 (gl_STAT_MACROS):
7484         * m4/stat-time.m4 (gl_STAT_TIME):
7485         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
7486         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
7487         * m4/strdup.m4 (gl_FUNC_STRDUP):
7488         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
7489         * m4/strndup.m4 (gl_FUNC_STRNDUP):
7490         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
7491         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
7492         * m4/time_r.m4 (gl_TIME_R):
7493         * m4/timespec.m4 (gl_TIMESPEC):
7494         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
7495         * m4/unlinkdir.m4 (gl_UNLINKDIR):
7496         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
7497         * m4/userspec.m4 (gl_USERSPEC):
7498         * m4/utimecmp.m4 (gl_UTIMECMP):
7499         * m4/utimens.m4 (gl_UTIMENS):
7500         * m4/xalloc.m4 (gl_XALLOC):
7501         * m4/xgetcwd.m4 (gl_XGETCWD):
7502         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
7503         * m4/xreadlink.m4 (gl_XREADLINK):
7504         * m4/xstrtod.m4 (gl_XSTRTOD):
7505         * m4/yesno.m4 (gl_YESNO):
7506         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
7507         to get the necessary .h files and whatnot.
7508
7509 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
7510             Bruno Haible  <bruno@clisp.org>
7511
7512         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
7513         /bin/sh understanding of '!' conditional negation.
7514
7515 2006-08-21  Jim Meyering  <jim@meyering.net>
7516
7517         * modules/openat (Depends-on): Really alphabetize.
7518
7519         * modules/acl (Depends-on): Add error and quote.
7520
7521         * check-module (find_included_lib_files): Add at-func.c to the
7522         ok-to-include-more-than-once white list.
7523
7524         * modules/openat (Depends-on): Add lstat.  Alphabetize.
7525
7526 2006-08-21  Bruno Haible  <bruno@clisp.org>
7527
7528         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7529         Emit a pkgdata_DATA variable only if some snippets add contents to it.
7530         Reported by Martin Lambers <marlam@marlam.de>.
7531
7532 2006-08-21  Bruno Haible  <bruno@clisp.org>
7533
7534         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
7535         specify an installation location, don't emit a noinst_LIBRARIES or
7536         noinst_LTLIBRARIES assignment.
7537
7538 2006-08-21  Bruno Haible  <bruno@clisp.org>
7539
7540         BeOS portability.
7541         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
7542         BeOS has mbrtowc() but no <wctype.h>.
7543
7544 2006-08-21  Bruno Haible  <bruno@clisp.org>
7545
7546         BeOS portability.
7547         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
7548         exist.
7549
7550 2006-08-21  Bruno Haible  <bruno@clisp.org>
7551
7552         BeOS portability.
7553         * lib/mbchar.h: Include <wctype.h> only if it exists.
7554
7555 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7556
7557         Remove files that are no longer needed by their respective modules.
7558         * m4/obstack.m4: Remove.
7559         * m4/strerror_r.m4: Remove.
7560         * m4/uint32_t.m4: Remove.
7561         * m4/uintptr_t.m4: Remove.
7562         * m4/ullong_max.m4: Remove.
7563         * m4/xstrtoimax.m4: Remove.
7564         * m4/xstrtoumax.m4: Remove.
7565
7566         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
7567         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
7568         dependencies now capture this.
7569
7570         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
7571         Do not use AC_LIBSOURCES, since gnulib modules now do this.
7572         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
7573         * m4/human.m4 (gl_HUMAN): Likewise.
7574         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
7575         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
7576
7577         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
7578
7579         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
7580         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
7581         stdint.
7582         * m4/human.m4 (gl_HUMAN): Likewise.
7583         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
7584         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
7585         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
7586         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
7587         * m4/xstrtol (gl_XSTRTOL): Likewise.
7588
7589         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
7590         AC_TYPE_LONG_LONG_INT.
7591         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
7592         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
7593         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
7594         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
7595
7596         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
7597         on stdbool.
7598
7599         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
7600         (gl_PREREQ_XSTRTOUL): Remove.
7601
7602         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
7603
7604         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
7605         mode.
7606
7607 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7608
7609         Add and change modules to make it easier for coreutils to use
7610         gnulib-tool.
7611         * modules/backupfile (Files): Remove m4/d-ino.m4.
7612         (Depends-on): Add d-ino.
7613         * modules/cycle-check (Depends-on): Add stdint.
7614         (lib_SOURCES): Add cycle-check.h.
7615         * modules/d-ino: New module.
7616         * modules/d-type: New module.
7617         * modules/error (Files): Remove m4/strerror_r.m4.
7618         * modules/filemode (Files): Add m4/st_dm_mode.m4.
7619         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
7620         m4/inttypes_h.m4, m4/uintmax_t.m4.
7621         (Depends-on): Add stdint.
7622         (lib_SOURCES): Add fsusage.h.
7623         * modules/getcwd (Files): Remove d-ino.m4.
7624         (Depends-on): Add d-ino.
7625         * modules/getndelim2 (Depends-on): Add stdint.
7626         * modules/glob (Files): Remove m4/d-type.m4.
7627         (Depends-on): Add d-type.
7628         * modules/host-os: New module.
7629         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
7630         m4/inttypes_h.m4, m4/uintmax_t.m4.
7631         * Depends-on: Add stdint.
7632         (lib_SOURCES): Add human.h.
7633         * modules/inttostr (Files): Remove m4/intmax_t.m4,
7634         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
7635         m4/uintmax_t.m4, m4/ulonglong.m4.
7636         (Depends-on): Add stdint.
7637         (EXTRA_DIST): Add inttostr.h.
7638         * modules/lchmod: New module.
7639         * modules/link-follow: New module.
7640         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
7641         (Depends-on): Add lchmod.
7642         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
7643         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
7644         (Depends-on): Add stdint.
7645         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
7646         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
7647         (Depends-on): Add stdint.
7648         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
7649         * modules/perl: New module.
7650         * modules/regex (Depends-on): Add stdint.
7651         * modules/rmdir-errno: New module.
7652         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7653         m4/intmax_t.m4.
7654         (Depends-on): Add stdint.
7655         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7656         m4/uintmax_t.m4.
7657         (Depends-on): Add stdint.
7658         * modules/unlink-busy: New module.
7659         * modules/utimecmp (Depends-on): Add stdint.
7660         * modules/uptime: New module.
7661         * modules/winsz-ioctl: New module.
7662         * modules/winsz-termios: New module.
7663         * modules/xnanosleep (Depends-on): Add nanosleep.
7664         * modules/ullong_max: Remove.
7665         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
7666         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
7667         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
7668         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
7669         (Depends-on): Add inttypes.
7670         (lib_SOURCES): Add xstrtol.h.
7671         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
7672         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
7673         * MODULES.html.sh: Move 'assert' into the assert section.
7674         Move 'dummy' into the linking section.
7675         Remove ullong_max.
7676         Add section for compatibility checks for POSIX:2001 functions,
7677         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
7678         winsz-ioctl, and winsz-termios into it.
7679         Add lchmod.
7680         Add top-level Misc section and put host-os, perl, and uptime
7681         into it.
7682
7683 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7684
7685         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
7686         now assume the stdint module.  Do not include inttypes.h.
7687         * lib/fsusage.h: Likewise.
7688         * lib/getndelim2.c: Likewise.
7689         * lib/human.h: Likewise.
7690         * lib/inttostr.h: Likewise.
7691         * lib/obstack.c: Likewise.
7692         * lib/regex_internal.h: Likewise.
7693         * lib/tempname.c: Likewise.
7694         * lib/utimecmp.c: Likewise.
7695         * lib/xstrtol.h: Likewise.
7696
7697         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
7698
7699         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
7700         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
7701         * lib/xtime.h: Likewise.
7702
7703 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7704
7705         * modules/openat (Files): Add lib/fchmodat.c.
7706         Fixes problem reported by Jay Youngman.
7707
7708 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7709
7710         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
7711         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
7712
7713 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7714             Bruno Haible  <bruno@clisp.org>
7715
7716         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
7717         and is a script that invokes bison. Tighten the code. Add comments.
7718
7719 2006-08-18  Jim Meyering  <jim@meyering.net>
7720
7721         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
7722         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
7723         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
7724         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
7725
7726 2006-08-18  Bruno Haible  <bruno@clisp.org>
7727
7728         * modules/bison-i18n: New file.
7729         * MODULES.html.sh (Internationalization functions): Add it.
7730
7731 2006-08-18  Bruno Haible  <bruno@clisp.org>
7732
7733         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
7734         sys/statvfs.h. When getmntinfo was found, check its declaration and
7735         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
7736
7737 2006-08-18  Bruno Haible  <bruno@clisp.org>
7738
7739         * m4/bison-i18n.m4: New file, from bison.
7740
7741 2006-08-18  Bruno Haible  <bruno@clisp.org>
7742
7743         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
7744         (ME_DUMMY): Treat "kernfs" as a dummy.
7745         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
7746
7747 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7748
7749         Update from coreutils.
7750
7751         2006-08-15  Jim Meyering  <jim@meyering.net>
7752
7753         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
7754
7755         2006-01-17  Jim Meyering  <jim@meyering.net>
7756
7757         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
7758
7759         2006-01-11  Jim Meyering  <jim@meyering.net>
7760
7761         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
7762         Check for the lchmod function.
7763
7764 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7765
7766         Update from coreutils.
7767
7768         * lib/__fpending.h: Add copyright notice.
7769         * lib/fprintftime.h: Likewise.
7770         * lib/savedir.c: Use (C) in copyright notice.
7771         * lib/savedir.h: Likewise.
7772
7773         2006-08-15  Jim Meyering  <jim@meyering.net>
7774
7775         * lib/at-func.c: New file, with the logic of all emulated at-functions.
7776         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
7777         in support of the EXPECTED_ERRNO macro.
7778         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
7779         definitions.  Instead, define the appropriate symbols and include
7780         "at-func.c".
7781         * lib/mkdirat.c (mkdirat): Likewise.
7782         * lib/fchmodat.c (fchmodat): Likewise.
7783         (ENOSYS): Remove definition.
7784         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
7785         it.  Don't include "unistd--.h" -- it wasn't ever used.
7786
7787         2006-01-17  Jim Meyering  <jim@meyering.net>
7788
7789         Rewrite fts.c not to change the current working directory,
7790         by using openat, fstatat, fdopendir, etc..
7791
7792         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
7793         (HAVE_OPENAT_SUPPORT): Define.
7794         [_LIBC] (fchdir): Don't undef or define; no longer used.
7795         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
7796         Now, this `function' always succeeds, and consumes its file descriptor
7797         parameter -- so callers must not close such FDs.  Update callers.
7798         (diropen_fd, opendirat, cwd_advance_fd): New functions.
7799         (diropen): Add parameter, SP.  Adjust all callers.
7800         Implement using diropen_fd, rather than open.
7801         (fts_open): Initialize new member, fts_cwd_fd.
7802         Remove fts_rft-setting code.
7803         (fts_close): Close fts_cwd_fd, if necessary.
7804         (__opendir2): Define in terms of opendir or opendirat,
7805         depending on whether the FST_NOCHDIR flag is set.
7806         (fts_build): Since fts_safe_changedir consumes its FD, and since
7807         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
7808         and close the dup'd file descriptor upon failure.
7809         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
7810         (fts_safe_changedir): Tweak semantics to reflect that this function
7811         now calls cwd_advance_fd and hence consumes its FD argument.
7812         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
7813         [struct FTS] (fts_rft): Remove now-unused member.
7814         [struct FTS] (fts_cycle.state): Improve comment.
7815
7816         * lib/openat.c (openat_needs_fchdir): New function.
7817         * lib/openat.h (openat_needs_fchdir): Declare it.
7818
7819 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
7820
7821         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
7822         Problem and fix reported by Pádraig Brady in
7823         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
7824
7825 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7826
7827         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
7828
7829 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7830
7831         * lib/memcoll.c (memcoll): Optimize for the common case where the
7832         arguments are bytewise equal.
7833
7834 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7835
7836         * doc/regexprops-generic.texi: Add a copyright notice.
7837
7838 2006-08-15  Bruno Haible  <bruno@clisp.org>
7839
7840         * modules/tmpdir (License): Change to LGPL.
7841
7842 2006-08-15  Bruno Haible  <bruno@clisp.org>
7843
7844         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
7845         module.
7846
7847 2006-08-14  Simon Josefsson  <jas@extundo.com>
7848
7849         * config/srclist.txt: Add gnupload.
7850
7851 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7852
7853         Change copyright notice from LGPL 2 to GPL 2, since that's the
7854         standard form used in the gnulib repository.
7855         * tests/test-lock.c: Likewise.
7856         * tests/test-stdint.c: Likewise.
7857         * tests/test-tls.c: Likewise.
7858
7859         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
7860         prelude-manager.  User shorter URLs for GNU projects, without '?'.
7861         Add copyright notice.
7862
7863         * check-module: Add copyright notice.  Output a copyright
7864         notice if "--version" is specified.
7865         * modules/COPYING: New file.
7866         * tests/test-getaddrinfo.c: Add copyright notice.
7867         * tests/test-verify.c: Likewise.
7868
7869 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7870
7871         Change copyright notice from LGPL 2 to GPL 2, since that's the
7872         standard form used in the gnulib repository.
7873         * lib/lock.c: LGPL -> GPL.
7874         * lib/lock.h: Likewise.
7875         * lib/strnlen1.c: Likewise.
7876         * lib/strnlen1.h: Likewise.
7877         * lib/tls.c: Likewise.
7878         * lib/tls.h: Likewise.
7879         * lib/tmpdir.c: Likewise.
7880
7881         * lib/TODO: Remove; this belongs only in coreutils.
7882
7883 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7884
7885         Add copyright notices to long-enough files that lack them, since
7886         otherwise the files aren't clearly free.  Use the same notice that
7887         getdate.texi already uses.
7888         * doc/alloca-opt.texi: Add copyright notice.
7889         * doc/alloca.texi: Likewise.
7890         * doc/ctime.texi: Likewise.
7891         * doc/functions.texi: Likewise.
7892         * doc/gcd.texi: Likewise.
7893         * doc/gnulib-tool.texi: Likewise.
7894         * doc/inet_ntoa.texi: Likewise.
7895         * doc/visibility.texi: Likewise.
7896
7897         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
7898         * doc/quote.texi: Add copyright notice.
7899
7900         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
7901         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
7902         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
7903         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
7904         is now obsolete, and give a pointer to the Sun list.
7905         Add copyright notice.
7906
7907 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7908
7909         * config/srclistvars.sh: Add copyright notice.
7910
7911 2006-08-14  Eric Blake  <ebb9@byu.net>
7912
7913         Import the following change from libc:
7914
7915         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
7916
7917         Upstream bug 2997.
7918         * lib/misc/error.c: Add space between program name and message if file
7919         name is missing.
7920
7921 2006-08-12  Karl Berry  <karl@gnu.org>
7922
7923         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
7924         remove, these originate in gnulib now.
7925
7926 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7927
7928         * doc/Makefile (standards.info standards.html standards.dvi):
7929         Also depend on make-stds.texi.
7930
7931 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7932
7933         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
7934         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
7935
7936         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
7937         in wchar_t.  Problem reported by Eric Blake.
7938
7939         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
7940         LEN is smaller than SIZE.  Suggested by Bruno Haible.
7941         Also, help the compiler to keep LEN in a register.
7942
7943 2006-08-11  Eric Blake  <ebb9@byu.net>
7944
7945         * users.txt: Sort.  Add tar.
7946
7947 2006-08-11  Bruno Haible  <bruno@clisp.org>
7948
7949         * users.txt: New file.
7950
7951 2006-08-11  Bruno Haible  <bruno@clisp.org>
7952
7953         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
7954         before <wchar.h>. Needed for OSF/1 and BSD/OS.
7955
7956 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7957
7958         * modules/snprintf (Depends-on): Remove minmax.
7959         (Maintainer): Add self and Bruno.
7960
7961 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7962
7963         * lib/.cppi-disable: Add snprintf.h, socket_.h.
7964         * lib/snprintf.c: Include <errno.h> and <limits.h>.
7965         (EOVERFLOW): Define if the system does not.
7966         Do not include "minmax.h"; it wasn't used.
7967         (snprintf): Don't assume size_t promotes to an unsigned type.
7968         Fix bug when generated string was too long for the buffer: the
7969         buffer's contents are supposed to be the initial prefix of the
7970         output.  Don't assume vasnprintf returns EOVERFLOW if the size
7971         exceeds INT_MAX; do the check ourselves.
7972
7973         Import the following changes from libc:
7974
7975         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
7976
7977         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
7978         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
7979         set wc to the byte which couldn't be converted.
7980         (re_string_reconstruct): Don't clear valid_raw_len before calling
7981         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
7982         tip_context using re_string_context_at.
7983
7984         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
7985
7986         * lib/posix/regex.h: g++ still cannot handled [restrict].
7987
7988         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
7989
7990         * lib/posix/regex.h: Remove special handling for VMS.
7991
7992 2006-08-10  Jim Meyering  <jim@meyering.net>
7993
7994         * modules/same-inode: New module.
7995         * modules/dev-ino: New module.
7996         * modules/cycle-check: Depend on these modules, rather than simply
7997         including their .h files.
7998         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
7999         required via m4/cycle-check.m4.
8000         * modules/same: Depend on new same-inode module, rather than
8001         including same-inode.h.
8002         * modules/chdir-safer: New file.
8003
8004         * modules/chown (Depends-on): Add stat-macros.
8005
8006 2006-08-10  Jim Meyering  <jim@meyering.net>
8007
8008         * m4/cycle-check.m4: New file.
8009         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
8010         * m4/dev-ino.m4, m4/same-inode.m4: New files.
8011
8012 2006-08-10  Eric Blake  <ebb9@byu.net>
8013
8014         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
8015         in from original proposal.
8016
8017 2006-08-10  Eric Blake  <ebb9@byu.net>
8018         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8019
8020         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
8021         namespace.
8022
8023 2006-08-10  Bruno Haible  <bruno@clisp.org>
8024
8025         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
8026         as well.
8027
8028 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
8029
8030         Sync from coreutils.
8031
8032         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
8033
8034         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
8035         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
8036
8037 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
8038
8039         * modules/restrict: Remove; no longer needed now that we assume
8040         Autoconf 2.59 or later.
8041         * MODULES.html.sh: Remove 'restrict'.
8042         * modules/argp (Depends-on): Remove 'restrict'.
8043         * modules/base64 (Depends-on): Likewise.
8044         * modules/gc (Depends-on): Likewise.
8045         * modules/getaddrinfo (Depends-on): Likewise.
8046         * modules/glob (Depends-on): Likewise.
8047         * modules/inet_ntop (Depends-on): Likewise.
8048         * modules/inet_pton (Depends-on): Likewise.
8049         * modules/memxor (Depends-on): Likewise.
8050         * modules/regex (Depends-on): Likewise.
8051         * modules/strtok_r (Depends-on): Likewise.
8052         * modules/time_r (Depends-on): Likewise.
8053
8054 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
8055
8056         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
8057         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
8058         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
8059         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
8060         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
8061         * m4/memxor.m4 (gl_MEMXOR): Likewise.
8062         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
8063         gl_C_RESTRICT replaced by AC_C_RESTRICT.
8064
8065         Merge from coreutils.
8066         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
8067         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
8068         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
8069         * m4/time_r.m4 (gl_TIME_R): Likewise.
8070
8071 2006-08-09  Karl Berry  <karl@gnu.org>
8072
8073         * config/srclist.txt: no more gettext-tools, per Bruno.
8074
8075 2006-08-08  Eric Blake  <ebb9@byu.net>
8076
8077         * modules/verror: New module.
8078         * MODULES.html.sh: Document it.
8079
8080 2006-08-08  Eric Blake  <ebb9@byu.net>
8081
8082         * lib/verror.h, lib/verror.c: New files.
8083
8084 2006-08-08  Eric Blake  <ebb9@byu.net>
8085
8086         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
8087         verror_at_line output complies with GNU Coding Standards even when
8088         file is NULL.
8089
8090 2006-08-07  Bruno Haible  <bruno@clisp.org>
8091
8092         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
8093         versions of AIX.
8094         Reported by Ralf Wildenhues.
8095
8096 2006-08-07  Bruno Haible  <bruno@clisp.org>
8097
8098         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
8099         in an AC_DEFUN. Needed so that the autoconf snippets can use
8100         AC_REQUIRE.
8101
8102 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8103
8104         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
8105         Initialize pkgdata_DATA.
8106         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
8107         overriding it.
8108
8109 2006-08-06  Eric Blake  <ebb9@byu.net>
8110
8111         * lib/error.h: Fold in some upstream changes from glibc.
8112         * lib/error.c: Likewise.
8113
8114 2006-08-04  Bruno Haible  <bruno@clisp.org>
8115
8116         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
8117         Make the mostlyclean-local rule depend on mostlyclean-generic.
8118         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
8119
8120 2006-07-31  Bruno Haible  <bruno@clisp.org>
8121
8122         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
8123         <stdlib.h>, <string.h>.
8124
8125 2006-07-30  Bruno Haible  <bruno@clisp.org>
8126
8127         * modules/readlink (License): Change to LGPL.
8128
8129 2006-07-30  Bruno Haible  <bruno@clisp.org>
8130
8131         * modules/javaversion (Makefile.am): Distribute javaversion.java and
8132         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
8133         set PKGDATADIR to point to it.
8134
8135 2006-07-30  Bruno Haible  <bruno@clisp.org>
8136
8137         * modules/csharpexec (configure.ac): Comment out macro invocation.
8138         * modules/javaexec (configure.ac): Likewise.
8139         * modules/javacomp-script (configure.ac): Likewise.
8140
8141         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
8142
8143 2006-07-30  Bruno Haible  <bruno@clisp.org>
8144
8145         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
8146         linked-list.
8147
8148 2006-07-30  Bruno Haible  <bruno@clisp.org>
8149
8150         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
8151
8152 2006-07-30  Bruno Haible  <bruno@clisp.org>
8153
8154         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
8155         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
8156         get removed.
8157
8158 2006-07-29  Bruno Haible  <bruno@clisp.org>
8159
8160         Make it possible for gnulib-tool to work with locally modified or
8161         augmented gnulib repositories.
8162         * gnulib-tool (func_usage): Document --local-dir option.
8163         (local_gnulib_dir): New variable.
8164         Handle --local-dir option.
8165         (func_lookup_file): New function.
8166         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
8167         (func_get_description, func_get_filelist, func_get_description,
8168         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
8169         func_get_automake_snippet, func_get_include_directive,
8170         func_get_license, func_get_maintainer): Use func_lookup_file.
8171         (func_import, func_create_testdir): Use func_lookup_file.
8172
8173 2006-07-29  Bruno Haible  <bruno@clisp.org>
8174
8175         * modules/setenv (Depends-on): Add unistd.
8176
8177 2006-07-29  Bruno Haible  <bruno@clisp.org>
8178
8179         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
8180
8181 2006-07-29  Bruno Haible  <bruno@clisp.org>
8182
8183         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
8184
8185 2006-07-29  Bruno Haible  <bruno@clisp.org>
8186
8187         * gnulib-tool (import, update): If there is no Makefile.am, look at
8188         aclocal.m4, instead of bailing out.
8189
8190 2006-07-29  Bruno Haible  <bruno@clisp.org>
8191
8192         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
8193         Categorize the options by when they are useful.
8194
8195 2006-07-29  Bruno Haible  <bruno@clisp.org>
8196
8197         * gnulib-tool (func_usage): Document option --no-libtool.
8198         Handle option --no-libtool.
8199         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
8200         for changed semantics of $libtool variable.
8201         (func_import): Likewise. If libtool is not used, show this through
8202         an option --no-libtool.
8203         (func_create_testdir): Update.
8204
8205 2006-07-29  Bruno Haible  <bruno@clisp.org>
8206
8207         * gnulib-tool (func_import): Extend error message about missing
8208         --doc-base.
8209
8210 2006-07-29  Bruno Haible  <bruno@clisp.org>
8211
8212         * gnulib-tool (func_import): Don't create the $docbase directory if
8213         there is no file to store there.
8214
8215 2006-07-29  Bruno Haible  <bruno@clisp.org>
8216
8217         * gnulib-tool (autoconf_minversion): If a --dir option is given and
8218         relevant, look for configure.ac there, not in the current directory.
8219         Also use a simple search for AC_PREREQ, not "autoconf --trace".
8220
8221 2006-07-29  Bruno Haible  <bruno@clisp.org>
8222
8223         * gnulib-tool (SORT): New variable.
8224         (func_usage): Undocument --assume-autoconf option.
8225         Remove --assume-autoconf option handling.
8226         (autoconf_minversion): Determine from the contents of configure.ac.
8227         (func_import): Remove autoconf_minversion handling.
8228         Suggested by Eric Blake.
8229
8230 2006-07-29  Bruno Haible  <bruno@clisp.org>
8231
8232         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
8233
8234 2006-07-29  Bruno Haible  <bruno@clisp.org>
8235
8236         * config/srclist.txt (*setenv.[ch]): Remove rules.
8237
8238 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8239
8240         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
8241
8242 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8243
8244         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
8245         arpa/inet.h.
8246
8247 2006-07-28  Simon Josefsson  <jas@extundo.com>
8248
8249         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
8250         * modules/inet_pton (Depends-on): Likewise.
8251
8252 2006-07-28  Simon Josefsson  <jas@extundo.com>
8253
8254         * m4/netinet_in_h.m4: New file.
8255
8256 2006-07-28  Simon Josefsson  <jas@extundo.com>
8257
8258         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
8259         #include's.
8260
8261 2006-07-28  Simon Josefsson  <jas@extundo.com>
8262
8263         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
8264         #include's.
8265
8266 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
8267
8268         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
8269         setgid on directories only if they set these bits.
8270         * lib/modechange.h: Remove obsolete comment about masks.
8271
8272 2006-07-28  Eric Blake  <ebb9@byu.net>
8273
8274         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
8275         macro expansion.
8276
8277 2006-07-28  Bruno Haible  <bruno@clisp.org>
8278
8279         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
8280
8281 2006-07-28  Bruno Haible  <bruno@clisp.org>
8282
8283         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
8284
8285 2006-07-28  Bruno Haible  <bruno@clisp.org>
8286
8287         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
8288         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
8289         Define fallbacks.
8290         Avoids link error on FreeBSD 4.x.
8291         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
8292
8293         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
8294         encoding.
8295         * lib/mbswidth.c (iswcntrl): Likewise.
8296
8297 2006-07-27  Bruno Haible  <bruno@clisp.org>
8298
8299         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
8300         test.
8301
8302 2006-07-27  Bruno Haible  <bruno@clisp.org>
8303
8304         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
8305         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
8306         defined.
8307
8308 2006-07-26  Eric Blake  <ebb9@byu.net>
8309
8310         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
8311
8312 2006-07-26  Eric Blake  <ebb9@byu.net>
8313
8314         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
8315         like mingw that lack mkstemp.
8316         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
8317         avoid compilation warning on mingw.
8318
8319 2006-07-26  Bruno Haible  <bruno@clisp.org>
8320
8321         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
8322         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
8323         INT_FAST*_MIN, INTPTR_MIN.
8324
8325 2006-07-25  Bruno Haible  <bruno@clisp.org>
8326
8327         * modules/version-etc (Depends-on): Add stdarg.
8328
8329 2006-07-25  Bruno Haible  <bruno@clisp.org>
8330
8331         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
8332         complex commands.
8333
8334 2006-07-25  Bruno Haible  <bruno@clisp.org>
8335
8336         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
8337         defined in <stdarg.h> or config.h.
8338
8339 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8340
8341         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
8342         (gl_STDIO_SAFER): Remove.
8343
8344 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8345
8346         * MODULES.html.sh (File stream based Input/Output):
8347         Add fopen-safer, tmpfile-safer; remove stdio-safer.
8348         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
8349         * modules/fopen-safer, modules/tmpfile-safer: New files.
8350         * modules/stdio-safer: Remove.
8351
8352 2006-07-24  Bruno Haible  <bruno@clisp.org>
8353
8354         * modules/tmpdir: New file.
8355         * MODULES.html.sh (File system functions): Add it.
8356
8357 2006-07-24  Bruno Haible  <bruno@clisp.org>
8358
8359         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
8360         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
8361
8362 2006-07-24  Bruno Haible  <bruno@clisp.org>
8363
8364         * modules/clean-temp: New file.
8365
8366 2006-07-24  Bruno Haible  <bruno@clisp.org>
8367
8368         * m4/tmpdir.m4: New file, from GNU gettext.
8369
8370 2006-07-24  Bruno Haible  <bruno@clisp.org>
8371
8372         * lib/tmpdir.h: New file, from GNU gettext.
8373         * lib/tmpdir.c: New file, from GNU gettext.
8374
8375 2006-07-24  Bruno Haible  <bruno@clisp.org>
8376
8377         * lib/clean-temp.h: New file, from GNU gettext.
8378         * lib/clean-temp.c: New file, from GNU gettext.
8379
8380 2006-07-23  Eric Blake  <ebb9@byu.net>
8381
8382         * modules/stdio-safer (Files): Add tmpfile-safer.c.
8383         (Depends-on): Add binary-io.
8384
8385 2006-07-23  Eric Blake  <ebb9@byu.net>
8386
8387         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
8388
8389 2006-07-23  Eric Blake  <ebb9@byu.net>
8390
8391         * lib/tmpfile-safer.c: New file.
8392         * lib/stdio-safer.h (fopen_safer): Add prototype.
8393         * lib/stdio--.h (tmpfile): Make safer.
8394
8395 2006-07-23  Bruno Haible  <bruno@clisp.org>
8396
8397         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
8398         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
8399         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
8400         gl_linked_remove_at): Use it.
8401
8402 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8403         and Simon Josefsson <jas@extundo.com>
8404
8405         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
8406
8407         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
8408
8409 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8410
8411         * modules/close-stream: New file.
8412         * modules/closeout (Description): Make it clear that it exits
8413         with a diagnostic on error.
8414         (Depends-on): Add close-stream.  Remove fpending, stdbool.
8415         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
8416
8417 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8418
8419         * m4/close-stream.m4: New file.
8420
8421 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8422
8423         * lib/close-stream.c, lib/close-stream.h: New files.
8424
8425 2006-07-22  Bruno Haible  <bruno@clisp.org>
8426
8427         Merge from GNU gettext 0.15.
8428
8429         2006-05-01  Bruno Haible  <bruno@clisp.org>
8430
8431                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
8432
8433         2006-07-22  Bruno Haible  <bruno@clisp.org>
8434
8435                 * modules/javaversion: New file.
8436                 * MODULES.html.sh (Java): Add javaversion.
8437
8438         2006-03-12  Bruno Haible  <bruno@clisp.org>
8439
8440                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
8441
8442         2005-12-04  Bruno Haible  <bruno@clisp.org>
8443
8444                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
8445                 (untested).
8446
8447         2006-06-21  Bruno Haible  <bruno@clisp.org>
8448
8449                 Avoid warnings from recent versions of mcs.
8450                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
8451                 -o, -L, -r any more. Use options documented since mcs-1.0
8452                 instead. Similarly for -g.
8453
8454         2005-12-04  Bruno Haible  <bruno@clisp.org>
8455
8456                 * build-aux/csharpcomp.sh.in: Suffix for resources is
8457                 .resources, not .resource.
8458
8459         2005-07-09  Bruno Haible  <bruno@clisp.org>
8460
8461                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
8462                 add a .dll suffix.
8463                 Reported by Mark Junker <mjscod@gmx.de>.
8464
8465         2006-07-22  Bruno Haible  <bruno@clisp.org>
8466
8467                 * modules/gettext: Upgrade to gettext-0.15.
8468                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
8469                 m4/visibility.m4.
8470                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
8471
8472 2006-07-22  Bruno Haible  <bruno@clisp.org>
8473
8474         Merge from GNU gettext 0.15.
8475
8476         2006-03-25  Bruno Haible  <bruno@clisp.org>
8477
8478                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
8479
8480         2006-07-21  Bruno Haible  <bruno@clisp.org>
8481
8482                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
8483                 "1.1".
8484
8485         2006-05-09  Bruno Haible  <bruno@clisp.org>
8486
8487                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
8488                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
8489                 for the conftestver execution.
8490
8491         2006-05-01  Bruno Haible  <bruno@clisp.org>
8492
8493                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
8494                 optional target-version argument. Verify that the compiler
8495                 groks source of the specified source-version, or add -source
8496                 option as necessary. Verify that the compiler produces
8497                 bytecode in the specified target-version, or add -target and
8498                 -source options as necessary. Make the result of the test
8499                 available as variable CONF_JAVAC. Also log error output in
8500                 config.log.
8501
8502         2006-03-11  Bruno Haible  <bruno@clisp.org>
8503
8504                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
8505
8506         2006-05-09  Bruno Haible  <bruno@clisp.org>
8507
8508                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
8509                 CLASSPATH_SEPARATOR to a semicolon.
8510
8511         2006-03-12  Bruno Haible  <bruno@clisp.org>
8512
8513                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
8514                 available as variable CONF_JAVA, for subsequent autoconf
8515                 tests. Also log error output in config.log.
8516
8517         2006-07-19  Bruno Haible  <bruno@clisp.org>
8518
8519                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
8520                 that getline works on glibc2 systems. Needed to avoid trouble
8521                 in relocatable.c.
8522                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
8523
8524         2005-12-04  Bruno Haible  <bruno@clisp.org>
8525
8526                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
8527                 launcher (untested).
8528
8529         2005-12-04  Bruno Haible  <bruno@clisp.org>
8530
8531                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
8532
8533         2006-07-22  Bruno Haible  <bruno@clisp.org>
8534
8535                 * gettext.m4: Update from GNU gettext-0.15.
8536                 * nls.m4: Likewise.
8537                 * po.m4: Likewise.
8538                 * inttypes-pri.m4: Likewise.
8539                 * inttypes-h.m4: Renamed from inttypes.m4.
8540                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
8541
8542 2006-07-22  Bruno Haible  <bruno@clisp.org>
8543
8544         Merge from GNU gettext 0.15.
8545
8546         2005-07-05  Bruno Haible  <bruno@clisp.org>
8547
8548                 * printf-args.c (printf_fetchargs): Work around broken
8549                 definition of wint_t on mingw.
8550
8551         2005-02-12  Bruno Haible  <bruno@clisp.org>
8552
8553                 * xallocsa.h: Add extern "C" for C++.
8554
8555         2006-05-17  Bruno Haible  <bruno@clisp.org>
8556
8557                 Cygwin portability.
8558                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
8559
8560         2006-04-30  Bruno Haible  <bruno@clisp.org>
8561
8562                 * progreloc.c: Include <mach-o/dyld.h> if available.
8563                 (find_executable): Use _NSGetExecutablePath when possible.
8564
8565         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
8566
8567                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
8568                 function.
8569
8570         2005-12-29  Bruno Haible  <bruno@clisp.org>
8571
8572                 * progreloc.c (set_program_name_and_installdir): Fix
8573                 compilation error.
8574
8575         2005-12-04  Bruno Haible  <bruno@clisp.org>
8576
8577                 Cygwin portability.
8578                 * progreloc.c: Include <windows.h> also on Cygwin.
8579                 (find_executable): Add support for Cygwin.
8580                 (set_program_name_and_installdir): Handle also platforms with
8581                 nonempty EXEEXT.
8582
8583         2006-07-11  Bruno Haible  <bruno@clisp.org>
8584
8585                 * javacomp.c: Fix a comment.
8586                 Reported by Jim Meyering.
8587
8588         2006-04-30  Bruno Haible  <bruno@clisp.org>
8589
8590                 * javacomp.h (compile_java_class): Add source_version,
8591                 target_version arguments.
8592                 * javacomp.c: Rewritten to choose only a compiler that
8593                 respects the specified source_version and target_version.
8594
8595         2006-06-27  Bruno Haible  <bruno@clisp.org>
8596
8597                 Assume correct S_ISDIR macro.
8598                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
8599
8600         2006-07-22  Bruno Haible  <bruno@clisp.org>
8601
8602                 * javaversion.h: New file, from GNU gettext.
8603                 * javaversion.c: New file, from GNU gettext.
8604                 * javaversion.java: New file, from GNU gettext.
8605                 * javaversion.class: New file, from GNU gettext.
8606
8607         2006-05-17  Bruno Haible  <bruno@clisp.org>
8608
8609                 Cygwin portability.
8610                 * javaexec.c (execute_java_class): Test for jview program
8611                 also on Cygwin.
8612
8613         2006-04-09  Bruno Haible  <bruno@clisp.org>
8614
8615                 * fatal-signal.c: Don't include string.h.
8616                 (at_fatal_signal): Use a copying loop instead of memcpy.
8617
8618         2005-12-04  Bruno Haible  <bruno@clisp.org>
8619
8620                 * csharpexec.c: Add support for 'clix' launcher (untested).
8621                 (execute_csharp_using_sscli): New function.
8622                 (execute_csharp_program): Call it.
8623
8624         2006-06-21  Bruno Haible  <bruno@clisp.org>
8625
8626                 Avoid warnings from recent versions of mcs.
8627                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
8628                 -o, -L, -r any more. Use options documented since mcs-1.0
8629                 instead. Similarly for -g.
8630
8631         2005-07-09  Bruno Haible  <bruno@clisp.org>
8632
8633                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
8634                 add a .dll suffix.
8635                 Reported by Mark Junker <mjscod@gmx.de>.
8636
8637         2006-06-17  Bruno Haible  <bruno@clisp.org>
8638
8639                 * config.charset: Update for NetBSD 3.0.
8640
8641         2006-05-17  Bruno Haible  <bruno@clisp.org>
8642
8643                 Cygwin portability.
8644                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
8645
8646         2006-05-16  Bruno Haible  <bruno@clisp.org>
8647
8648                 * localcharset.c [CYGWIN]: Include <windows.h>.
8649                 (get_charset_aliases): For Cygwin, return the same CPxxx
8650                 aliases list as under WIN32.
8651                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
8652                 the environment variables. Fall back to GetACP().
8653
8654         2006-04-05  Bruno Haible  <bruno@clisp.org>
8655
8656                 * config.charset: Update Juan Manuel Guerrero's address.
8657
8658         2005-02-12  Bruno Haible  <bruno@clisp.org>
8659
8660                 * allocsa.h: Add extern "C" for C++.
8661
8662         2005-02-10  Bruno Haible  <bruno@clisp.org>
8663
8664                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
8665                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
8666
8667         2006-07-22  Bruno Haible  <bruno@clisp.org>
8668
8669                 * gettext.h: Update to GNU gettext-0.15.
8670
8671 2006-07-22  Bruno Haible  <bruno@clisp.org>
8672
8673         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
8674         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
8675         lib-prefix.m4, longdouble.m4, ssize_t.m4.
8676
8677 2006-07-21  Eric Blake  <ebb9@byu.net>
8678
8679         * modules/stdlib-safer: New file.
8680         * MODULES.html.sh (File stream based Input/Output): Add
8681         stdlib-safer.
8682
8683 2006-07-21  Eric Blake  <ebb9@byu.net>
8684
8685         * lib/stdlib-safer.h: New file from coreutils, required by
8686         stdlib--.h.
8687
8688 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
8689
8690         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
8691
8692 2006-07-20  Bruno Haible  <bruno@clisp.org>
8693
8694         * gnulib-tool: Recognize new option --assume-autoconf.
8695         (autoconf_minversion): New variable.
8696         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
8697
8698 2006-07-20  Bruno Haible  <bruno@clisp.org>
8699
8700         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
8701
8702 2006-07-19  Derek R. Price  <derek@ximbiot.com>
8703
8704         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
8705         Reindent and repaginate.
8706
8707 2006-07-19  Derek Price  <derek@ximbiot.com>
8708
8709         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
8710         Correct grammar.
8711
8712 2006-07-17  Bruno Haible  <bruno@clisp.org>
8713
8714         * modules/list: New file.
8715         * modules/array-list: New file.
8716         * modules/carray-list, modules/carray-list-tests: New files.
8717         * modules/linked-list, modules/linked-list-tests: New files.
8718         * modules/avltree-list, modules/avltree-list-tests: New files.
8719         * modules/rbtree-list, modules/rbtree-list-tests: New files.
8720         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
8721         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
8722         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
8723         * modules/oset: New file.
8724         * modules/array-oset: New file.
8725         * modules/avltree-oset, modules/avltree-oset-tests: New files.
8726         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
8727         * tests/test-carray_list.c: New file.
8728         * tests/test-linked_list.c: New file.
8729         * tests/test-avltree_list.c: New file.
8730         * tests/test-rbtree_list.c: New file.
8731         * tests/test-linkedhash_list.c: New file.
8732         * tests/test-avltreehash_list.c: New file.
8733         * tests/test-rbtreehash_list.c: New file.
8734         * tests/test-avltree_oset.c: New file.
8735         * tests/test-rbtree_oset.c: New file.
8736         * MODULES.html.sh (Container data structures): New section.
8737
8738 2006-07-17  Bruno Haible  <bruno@clisp.org>
8739
8740         * m4/gl_list.m4: New file.
8741
8742 2006-07-17  Bruno Haible  <bruno@clisp.org>
8743
8744         * lib/gl_list.h: New file.
8745         * lib/gl_list.c: New file.
8746         * lib/gl_array_list.h: New file.
8747         * lib/gl_array_list.c: New file.
8748         * lib/gl_carray_list.h: New file.
8749         * lib/gl_carray_list.c: New file.
8750         * lib/gl_linked_list.h: New file.
8751         * lib/gl_linked_list.c: New file.
8752         * lib/gl_anylinked_list1.h: New file.
8753         * lib/gl_anylinked_list2.h: New file.
8754         * lib/gl_avltree_list.h: New file.
8755         * lib/gl_avltree_list.c: New file.
8756         * lib/gl_anyavltree_list1.h: New file.
8757         * lib/gl_anyavltree_list2.h: New file.
8758         * lib/gl_rbtree_list.h: New file.
8759         * lib/gl_rbtree_list.c: New file.
8760         * lib/gl_anyrbtree_list1.h: New file.
8761         * lib/gl_anyrbtree_list2.h: New file.
8762         * lib/gl_anytree_list1.h: New file.
8763         * lib/gl_anytree_list2.h: New file.
8764         * lib/gl_linkedhash_list.h: New file.
8765         * lib/gl_linkedhash_list.c: New file.
8766         * lib/gl_anyhash_list1.h: New file.
8767         * lib/gl_anyhash_list2.h: New file.
8768         * lib/gl_avltreehash_list.h: New file.
8769         * lib/gl_avltreehash_list.c: New file.
8770         * lib/gl_rbtreehash_list.h: New file.
8771         * lib/gl_rbtreehash_list.c: New file.
8772         * lib/gl_anytreehash_list1.h: New file.
8773         * lib/gl_anytreehash_list2.h: New file.
8774
8775         * lib/gl_oset.h: New file.
8776         * lib/gl_oset.c: New file.
8777         * lib/gl_array_oset.h: New file.
8778         * lib/gl_array_oset.c: New file.
8779         * lib/gl_avltree_oset.h: New file.
8780         * lib/gl_avltree_oset.c: New file.
8781         * lib/gl_rbtree_oset.h: New file.
8782         * lib/gl_rbtree_oset.c: New file.
8783         * lib/gl_anytree_oset.h: New file.
8784
8785 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8786
8787         * m4/mkancesdirs.m4: New file.
8788         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
8789         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
8790         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
8791         it.
8792
8793 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8794
8795         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
8796         * lib/mkancesdirs.h: New files.
8797         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
8798         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
8799         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
8800         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
8801         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
8802         callers changed.  Revamp internals significantly, by not
8803         attempting to create directories that are temporarily more
8804         permissive than the final results.  Do not attempt to use
8805         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
8806         This removes some race conditions, fixes some bugs, and simplifies
8807         things.  Use new dirchownmod function to do owner and mode changes.
8808         * lib/mkdir-p.h: Likewise.
8809         * lib/modechange.c (octal_to_mode): New function.
8810         (struct mode_change): New member mentioned.
8811         (make_node_op_equals): New arg mentioned.  All callers changed.
8812         (mode_compile): Keep track of which mode bits the user has explicitly
8813         mentioned.
8814         (mode_adjust): New arg DIR, so that we implement the X op correctly.
8815         New arg PMODE_BITS, to keep track of which mode bits the user
8816         mentioned; it treats S_ISUID and S_ISGID speciall.
8817         All callers changed.
8818         * lib/modechange.h: Likewise.
8819
8820 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8821
8822         * MODULES.html.sh: Add mkancestors.
8823         * modules/mkancesdirs: New module.
8824         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
8825         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
8826         The chdir-safer and afs files are now orphans; I'll remove them
8827         unless someone speaks up.
8828         Add lib/dirchownmod.c, lib/dirchownmod.h.
8829         (Depends-on): Remove alloca, chown, save-cwd, dirname.
8830         Add lchown, mkancesdirs.
8831         (Maintainer): Add self.
8832
8833 2006-07-15  Karl Berry  <karl@gnu.org>
8834
8835         * gnulib-tool: help message wording/arrangement.
8836
8837 2006-07-14  Simon Josefsson  <jas@extundo.com>
8838
8839         * doc/gnulib.texi (Libtool and Windows): New section.
8840
8841 2006-07-12  Simon Josefsson  <jas@extundo.com>
8842
8843         * modules/gendocs (License): Fix license, approved by Karl.
8844
8845 2006-07-12  Eric Blake  <ebb9@byu.net>
8846
8847         * MODULES.html.sh: Add gendocs.
8848
8849 2006-07-11  Eric Blake  <ebb9@byu.net>
8850
8851         * modules/fdl: New module, to install doc/fdl.texi.
8852         * MODULES.html.sh: Add new section for documentation modules.
8853         * gnulib-tool: Avoid space-tab.
8854         (--doc-base): New option, to manage files from doc.
8855
8856 2006-07-11  Eric Blake  <ebb9@byu.net>
8857
8858         * m4/absolute-header.m4: Fix comments to match recent change.
8859
8860 2006-07-11  Eric Blake  <ebb9@byu.net>
8861
8862         * gnulib-tool: List --doc-base before --tests-base.
8863
8864 2006-07-11  Derek R. Price  <derek@ximbiot.com>
8865
8866         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
8867
8868 2006-07-11  Bruno Haible  <bruno@clisp.org>
8869
8870         * README: Mention where to put documentation.
8871
8872 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8873
8874         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
8875
8876 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8877
8878         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
8879         to stdint.m4.
8880
8881 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8882
8883         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
8884         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
8885         "no/such/file/stdint.h" when there is no such file, so that
8886         the resulting C code can be parsed by dodgy compilers.
8887         Problems reported by Bob Proulx.
8888
8889 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8890
8891         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
8892         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8893         macros into the GNU _D_EXACT_NAMLEN.
8894         * lib/savedir.c:  Likewise.
8895         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
8896
8897 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8898         and Paul Eggert  <eggert@cs.ucla.edu>
8899
8900         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
8901         * m4/savedir.m4:
8902         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8903         macros into the GNU _D_EXACT_NAMLEN.
8904
8905 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8906
8907         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
8908         around the absolute name, to work around a problem with the HP-UX
8909         11.23 native C compiler, reported by Bob Proulx.
8910
8911 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8912
8913         * doc/maintain.texi, make-stds.texi: Sync from
8914         <http://savannah.gnu.org/projects/gnustandards>.
8915
8916 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8917
8918         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
8919
8920 2006-07-09  Jim Meyering  <jim@meyering.net>
8921
8922         * m4/glob.m4: Remove a doubled word in a comment.
8923
8924 2006-07-09  Jim Meyering  <jim@meyering.net>
8925
8926         * lib/argp-pv.c: Remove a doubled word in a comment.
8927         * lib/check-version.c (check_version): Likewise.
8928         * lib/javacomp.c (compile_java_class): Likewise.
8929
8930 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8931
8932         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
8933         for the benefit of people using Autoconf 2.60.  If you want to
8934         support older Autoconf versions you can copy m4/onceonly_2_57.m4
8935         (or m4/onceonly.m4, if pre-2.57) manually.
8936
8937 2006-07-08  Jim Meyering  <jim@meyering.net>
8938
8939         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
8940         comment.
8941         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
8942         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
8943         comment.
8944
8945 2006-07-08  Jim Meyering  <jim@meyering.net>
8946
8947         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
8948
8949 2006-07-07  Simon Josefsson  <jas@extundo.com>
8950
8951         * tests/test-crc.c: Change expected crc value, the test vector
8952         were probably computed using the old broken crc.c?
8953
8954 2006-07-06  Simon Josefsson  <jas@extundo.com>
8955
8956         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
8957         now the canonical place for the M4 file).
8958
8959         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
8960         from the sys_socket dependency now.
8961
8962         * modules/inet_pton (Files): Ditto.
8963
8964         * modules/inet_ntop (Files): Ditto.
8965
8966 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8967
8968         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
8969         not gl_PREREQ_GETUSERSHELL.
8970
8971 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8972
8973         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
8974         with only one argument, for Autoconf 2.60.
8975         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
8976         expand to nothing, so add a shell command to avoid syntax error.
8977         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8978
8979 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8980
8981         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
8982
8983 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8984
8985         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
8986         no longer needed.  Check for isblank decl.
8987         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
8988         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
8989         of existence.
8990
8991 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8992
8993         * lib/getloadavg.c: Use __VMS, not VMS.
8994         * lib/getopt.c: Likewise.
8995         * lib/getpagesize.h: Likewise.
8996         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
8997         and probably does not work.
8998
8999 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9000
9001         * lib/.cppi-disable: Add wcwidth.
9002         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
9003         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
9004         (ISGRAPH): Remove.  All uses changed to isgraph.
9005         (FOLD) [!defined _LIBC]: Remove special case.
9006         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
9007         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
9008         HAVE_ISBLANK.
9009         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
9010         case.
9011
9012 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
9013
9014         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
9015         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
9016         brackets.  Other minor changes to suppress some compiler
9017         warnings.
9018
9019 2006-07-06  Derek R. Price  <derek@ximbiot.com>
9020         and Paul Eggert  <eggert@cs.ucla.edu>
9021
9022         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
9023         of invoking obsolescent AC_HEADER_DIRENT macro.
9024         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
9025         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
9026         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9027         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
9028         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
9029         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
9030         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
9031         * m4/readdir.m4: Remove; no longer needed.
9032
9033 2006-07-06  Derek R. Price  <derek@ximbiot.com>
9034         and Paul Eggert  <eggert@cs.ucla.edu>
9035
9036         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
9037         Don't worry about this obsolete case any more.
9038         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
9039         directories.
9040         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
9041         worry about this obsolete case any more.
9042         * lib/fts.c: Likewise.
9043         * lib/getcwd.c: Likewise.
9044         * lib/glob.h: Likewise.
9045         * lib/savedir.c: Likewise.
9046
9047 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
9048
9049         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
9050         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
9051         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
9052         needed.
9053         All uses removed.
9054         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
9055         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
9056         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
9057         needed.
9058         * m4/getdate.m4 (gl_GETDATE): Likewise.
9059         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
9060         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
9061         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
9062         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
9063         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
9064         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
9065         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
9066         needed.
9067
9068 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
9069
9070         * lib/memcasecmp.c: Include <limits.h>.
9071         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
9072         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
9073         Don't assume isdigit succeeds only on '0' through '9'.
9074
9075 2006-07-05  Eric Blake  <ebb9@byu.net>
9076
9077         * modules/getaddrinfo (Depends-on): Add snprintf.
9078
9079 2006-07-05  Eric Blake  <ebb9@byu.net>
9080
9081         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
9082         to avoid 'header present but could not be compiled' on cygwin.
9083
9084 2006-07-05  Eric Blake  <ebb9@byu.net>
9085
9086         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
9087         missing from netdb.h.
9088         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
9089
9090 2006-07-05  Derek R. Price  <derek@ximbiot.com>
9091
9092         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
9093         no longer needed.
9094         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
9095         * m4/getdate.m4 (gl_GETDATE): Likewise.
9096         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
9097         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
9098         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
9099         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
9100         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
9101
9102 2006-07-05  Derek R. Price  <derek@ximbiot.com>
9103
9104         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
9105         All uses of is_space replaced by isspace.
9106         * lib/exit.h: Don't talk about STDC_HEADERS.
9107         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
9108         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
9109         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
9110         replaced by isprint etc.
9111         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
9112         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
9113         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
9114         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
9115         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
9116         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
9117
9118 2006-07-05  Bruno Haible  <bruno@clisp.org>
9119
9120         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
9121         the function exists, before testing against AIX.
9122         Reported by Martin Lambers <marlam@marlam.de>.
9123
9124 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
9125
9126         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
9127         From Mark D. Baushke.
9128
9129 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
9130
9131         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
9132         to the absolute name, not just one, to bypass Sun C 5.8's
9133         "warning: #include of /usr/include/... may be non-portable".
9134
9135 2006-07-04  Eric Blake  <ebb9@byu.net>
9136
9137         * modules/dirname-tests: New test module.
9138         * tests/test-dirname.c: New file, replacing dirname.c
9139         TEST_DIRNAME section that was recently deleted.
9140
9141 2006-07-04  Bruno Haible  <bruno@clisp.org>
9142
9143         Assume ANSI C header files and <ctype.h> functions.
9144         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
9145         (mbsnwidth): Use isprint, iscntrl instead.
9146
9147 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
9148
9149         Merge from coreutils.
9150         * MODULES.html.sh: Add xstrtold.
9151         * modules/xstrtold: New file.
9152         * modules/cycle-check (Files): Add lib/same-inode.h.
9153         * modules/dirname (Files): Add m4/double-slash-root.m4.
9154         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
9155         * modules/mkdir-p (Files): Add lib/same-inode.h.
9156         * modules/same (Files): Add lib/same-inode.h.
9157
9158 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
9159
9160         * m4/absolute-header.m4: Renamed from full-header-path.m4.
9161         This is to keep the terminology clean; POSIX talks about
9162         "absolute pathnames", not "full pathnames", but the GNU
9163         Coding Standards say to use "path" for something else;
9164         so use "absolute" to keep both sides happy.
9165         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
9166         Set gl_absolute_header, not gl_full_header_path.
9167         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
9168         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
9169         All uses changed.
9170
9171         Merge from coreutils.
9172
9173         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
9174
9175         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
9176         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
9177         want to require the building of c-strtod.o.
9178         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
9179         needs -lm directly.
9180         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
9181
9182         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
9183
9184         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
9185         --as-needed option if available.  Problem reported by Albert Chin in
9186         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
9187         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
9188         cc merely issues a bunch of annoying warnings for --as-needed
9189         (this problem was reported by Bob Proulx).  Also, try linking with
9190         -lm to detect a bug in binutils 2.16 (this problem was reported
9191         by Ralf Wildenhues).
9192
9193         2006-06-18  Jim Meyering  <jim@meyering.net>
9194
9195         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
9196         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
9197         macro.
9198         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
9199         also check for glibc-2.4's abort-inducing bug.
9200
9201         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
9202         Low-probability clean-up should be to use rmdir to get rid of
9203         the just-created directory, not unlink.
9204
9205         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
9206         configure fail, and request a bug report to inform us about it.
9207         Add a comment that, barring reports to the contrary, in 2007 we'll
9208         assume ftruncate is universally available.
9209
9210         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
9211
9212         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
9213
9214         2006-03-12  Jim Meyering  <jim@meyering.net>
9215
9216         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
9217         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
9218         * m4/same.m4 (gl_SAME): Likewise.
9219         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
9220
9221         2006-03-11  Eric Blake  <ebb9@byu.net>
9222
9223         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
9224         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
9225         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
9226         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
9227
9228 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
9229
9230         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
9231         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
9232         reported by Mark D. Baushke, one in
9233         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
9234
9235         Merge from coreutils.
9236
9237         * lib/.cppi-disable: Add stdint_.h.
9238         * lib/.cvsignore: Add stdint.h.
9239
9240         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
9241
9242         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
9243         both double and long double versions.
9244         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
9245         * lib/xstrtold.c: New file.
9246         * lib/xstrtod.h (xstrtold): New decl.
9247
9248         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9249
9250         * lib/filemode.c (setst): Remove.
9251         (strmode): Rewrite to avoid setst.  This makes the code shorter,
9252         (arguably) clearer, and the generated code is a bit smaller on my
9253         Debian GNU/Linux stable x86 host.
9254
9255         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
9256
9257         * lib/filemode.c: Include "filemode.h" first, to test the interface.
9258         Assume that filemode.h includes sys/types.h and sys/stat.h.
9259         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
9260         (ftypelet): Reorder to put common cases first, for efficiency.
9261         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
9262         to do 'M'.
9263         (strmode): Renamed from mode_string, and now stores 12 bytes instead
9264         of 10, for compatibility with FreeBSD.  All callers changed.
9265         (filemodestring): Now stores 12 bytes instead of 10, and sets file
9266         types that can't be deduced solely from st_mode.  First arg is now a
9267         const pointer.
9268         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
9269         (strmode): Renamed from mode_string.
9270         (filemodestring): New decl.
9271         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
9272         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
9273         needed.
9274         (S_ISPORT, S_ISWHT): New macros, if not already defined.
9275
9276         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
9277
9278         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
9279         fsusage.h now does that.  Include fsusage.h first, to test interface.
9280         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
9281         at most one method (the old code could have generated decls that
9282         didn't conform to C89, not that this was ever exercised).
9283         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
9284
9285         2006-03-19  Jim Meyering  <jim@meyering.net>
9286
9287         Work even in a chroot where d_ino values for entries in "/"
9288         don't match the stat.st_ino values for the same names.
9289         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
9290         number, iterate through all entries again, using lstat instead.
9291         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
9292         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
9293
9294         * lib/getcwd.c (__getcwd): Clarify a comment.
9295         Use memcpy in place of a call to strcpy.
9296
9297         2006-03-12  Jim Meyering  <jim@meyering.net>
9298
9299         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
9300         matches that of the current directory (which we're about to chdir ".."
9301         out of), then save the dev-ino of the parent, instead.
9302
9303         * lib/same-inode.h (SAME_INODE): New file/macro.
9304         * lib/chdir-safer.c (SAME_INODE): Remove definition.
9305         Include "same-inode.h", instead.
9306         * lib/same.c: Likewise.
9307         * lib/cycle-check.h: Include "same-inode.h".
9308         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
9309         * lib/cycle-check.c (SAME_INODE): Remove definition.
9310         * lib/root-dev-ino.h: Include "same-inode.h".
9311
9312         2006-03-11  Eric Blake  <ebb9@byu.net>
9313
9314         * lib/same.c (same_name): s/base_name/last_component/
9315         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
9316         * lib/filenamecat.c (file_name_concat): Likewise.
9317
9318         2006-03-11  Eric Blake  <ebb9@byu.net>,
9319                     Paul Eggert  <eggert@cs.ucla.edu>
9320
9321         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
9322         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
9323         drive prefix.
9324         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
9325         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
9326         (last_component): New method.
9327         * lib/dirname.c (dir_len): Determine when drive letters need a
9328         subsequent slash.  Preserve // when it is special.
9329         (dir_name): Don't append dot when drive letter is absolute.
9330         [TEST_DIRNAME]: Move into a full-blown gnulib test.
9331         * lib/basename.c (base_name): New semantics - malloc the result.
9332         Preserve // when it is special.  Preserve relative files that look
9333         like drive letters.
9334         (base_len): Preserve // when it is special.
9335         (last_component): New method, similar to old base_name semantics.
9336         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
9337         base_name.  Strip redundant slashes from ///.
9338
9339 2006-07-03  Jim Meyering  <jim@meyering.net>
9340
9341         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
9342         macro is used before the first cycle_check call.
9343
9344 2006-07-03  Eric Blake  <ebb9@byu.net>
9345
9346         * modules/dirname (Depends-on): Add xstrndup.
9347
9348 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
9349
9350         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
9351         test cases, so that config.log is a bit easier to follow.
9352
9353 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
9354
9355         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
9356         both are 64 bits, since this seems to be the tradition, and this
9357         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
9358         we ever run into a host that prefers long long to long in this
9359         case, we'll need another configure-time test.  Problem reported by
9360         Jim Meyering.
9361
9362 2006-07-02  Eric Blake  <ebb9@byu.net>
9363
9364         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
9365
9366 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9367
9368         * modules/inttypes (Depends-on): No longer depends on stdint.
9369         * modules/stdint (Description): Say more about assumptions.
9370         Say that the fast types might differ.  Say macros are used.
9371         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
9372         (Makefile.am): Revise list of substituted symbols to match
9373         new stdint.m4.
9374         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
9375         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
9376         * tests/test-stdint.c (verify_same_types)
9377         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
9378         the code conforms to C99/C89.
9379         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
9380         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
9381
9382 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9383
9384         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
9385         but fix a bug, by requiring at least 64 bits.
9386         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
9387         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
9388         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
9389         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
9390
9391         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
9392         changes.  Make 2.59 a prerequisite.  Check and substitute for
9393         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
9394         inttypes.h.  Do not use special include files; just use the
9395         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
9396         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
9397         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
9398         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
9399         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
9400         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
9401         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
9402         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
9403         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
9404         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
9405         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
9406         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
9407         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
9408         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
9409         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
9410         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
9411         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
9412         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
9413         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
9414         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
9415         WINT_MAX.  Check for C99 conformance more strictly, by detecting
9416         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
9417         not check for things that C99 does not require, e.g., int8_t.  If
9418         a test isn't needed unless <stdint.h> isn't working, and is
9419         unlikely to be needed for any other reason, then don't do it
9420         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
9421         size_t, since we assume C89 freestanding at least.  Do not check
9422         for sig_atomic_t, wchar_t, or wint_t, since the code now does
9423         the right thing even if the types are not defined.  Instead use:
9424         (gl_STDINT_TYPE_PROPERTIES): New macro.
9425         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
9426         testing whether <sys/types.h> clashes, as Autoconf does this for
9427         us now.  All uses removed.
9428         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
9429         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
9430         (gl_CHECK_TYPE_SAME):
9431         Remove; no longer needed.
9432         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
9433         exists, since we'll return 0 anyway in that case.
9434         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
9435
9436 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9437
9438         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
9439         possible collision with system files.
9440         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
9441         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
9442         WCHAR_MIN and WCHAR_MAX in this case.
9443         (<stddef.h>): Do not include; no longer needed.
9444         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
9445         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
9446         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
9447         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
9448         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
9449         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
9450         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
9451         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
9452         !defined(__c99))]: Include in this case too, since it's harmless
9453         now.
9454         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
9455         dangerous to do so.
9456         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
9457         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
9458         (_STDINT_MIN, _STDINT_MAX): New macros.
9459         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
9460         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
9461         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
9462         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
9463         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
9464         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
9465         macros, not typedefs; this simplifies things quite a bit.
9466         Use long int for all types narrower than int64_t.
9467         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
9468         Define in terms of long long int or int64_t or long int,
9469         not int64_t or int32_t.  This saves some compile-time testing.
9470         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
9471         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
9472         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
9473         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
9474         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
9475         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
9476         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
9477         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
9478         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
9479         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
9480         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
9481         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
9482         undef any previous version and define our own version, for
9483         simplicity and consistency with the new macros for types.
9484         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
9485         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
9486         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
9487         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
9488         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
9489         @WINT_T_SUFFIX@ to keep things simple here.
9490         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
9491         Simplify by assuming typical 8/16/32/64 host, since we're
9492         already doing that elsewhere anyway.
9493         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
9494         and assume long long int is 64 bits if available.  This
9495         speeds up 'configure'.
9496
9497 2006-07-01  Eric Blake  <ebb9@byu.net>
9498
9499         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
9500         Reported by Andreas Buening.
9501
9502 2006-07-01  Eric Blake  <ebb9@byu.net>
9503
9504         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
9505
9506 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
9507
9508         * lib/getaddrinfo.c: fixed typo
9509
9510 2006-06-29  Jim Meyering  <jim@meyering.net>
9511
9512         * modules/strftime (Maintainer): Add my name, since with the
9513         FPRINTFTIME changes strftime.c has forked from glibc.
9514
9515 2006-06-29  Eric Blake  <ebb9@byu.net>
9516
9517         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
9518
9519 2006-06-29  Eric Blake  <ebb9@byu.net>
9520
9521         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
9522
9523 2006-06-29  Eric Blake  <ebb9@byu.net>
9524
9525         * lib/stat_.h: New file.
9526
9527 2006-06-29  Eric Blake  <ebb9@byu.net>
9528
9529         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
9530         unused static function.
9531
9532 2006-06-29  Eric Blake  <ebb9@byu.net>
9533
9534         * doc/functions.texi (Function Portability): Document missing lstat
9535         on mingw.
9536
9537 2006-06-29  Eric Blake  <ebb9@byu.net>
9538
9539         * MODULES.html.sh: Add sys_stat.
9540         * modules/sys_stat: New module.
9541         * modules/mkstemp (Depends-on): Add sys_stat.
9542
9543 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9544
9545         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
9546
9547 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9548
9549         * m4/c-bs-a.m4: Removed.
9550
9551 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9552
9553         * lib/strftime.c: Assume strftime() exists.
9554
9555 2006-06-29  Derek Price  <derek@ximbiot.com>
9556
9557         * modules/c-bs-a: Removed - \a is C89.
9558         * MODULES.html.sh: Remove c-bs-a.
9559
9560 2006-06-29  Bruno Haible  <bruno@clisp.org>
9561
9562         * modules/wcwidth (License): Change to LGPL.
9563
9564 2006-06-28  Simon Josefsson  <jas@extundo.com>
9565
9566         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
9567         on _WIN32.
9568
9569         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
9570         getnameinfo.
9571
9572 2006-06-28  Simon Josefsson  <jas@extundo.com>
9573
9574         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
9575
9576 2006-06-28  Simon Josefsson  <jas@extundo.com>
9577
9578         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
9579         functions there.  It will succeed on Windows XP, but on Windows
9580         2000 and (presumably) earlier, it will fail, and use the internal
9581         re-implementation.
9582         (use_win32_p): New function.
9583         (getaddrinfo): Use strtoul on servname, to support numeric ports.
9584         Support AI_NUMERICSERV to disable getservbyname.
9585         (getnameinfo): New function, only supports
9586         NI_NUMERICHOST|NI_NUMERICSERV for now.
9587
9588         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
9589         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
9590         getnameinfo.
9591
9592 2006-06-28  Eric Blake  <ebb9@byu.net>
9593
9594         * modules/wcwidth: New file.
9595         * modules/mbchar (Depends-on): Add wcwidth.
9596         * modules/mbswidth (Depends-on): Add wcwidth.
9597         * MODULES.html.sh: Add wcwidth.
9598
9599 2006-06-28  Eric Blake  <ebb9@byu.net>
9600
9601         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
9602         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
9603
9604 2006-06-28  Eric Blake  <ebb9@byu.net>
9605
9606         * lib/xvasprintf.h: Fix comments.
9607
9608 2006-06-28  Eric Blake  <ebb9@byu.net>
9609
9610         * lib/mbchar.h (wcwidth): Include wcwidth.h.
9611         * lib/mbswidth.c (wcwidth): Move from here...
9612         * lib/wcwidth.h: ...to this new file.
9613
9614 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9615
9616         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
9617
9618         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
9619         it's obsolete.
9620         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
9621
9622 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9623
9624         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
9625         Autoconf 2.60 says this stuff was obsolete.
9626
9627 2006-06-28  Bruno Haible  <bruno@clisp.org>
9628
9629         * modules/wcwidth (Files): Add m4/wchar_t.m4.
9630
9631 2006-06-28  Bruno Haible  <bruno@clisp.org>
9632
9633         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
9634         gt_TYPE_WCHAR_T.
9635
9636 2006-06-28  Bruno Haible  <bruno@clisp.org>
9637
9638         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
9639         declaration for wcwidth.
9640         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
9641
9642 2006-06-28  Bruno Haible  <bruno@clisp.org>
9643
9644         * lib/mkdtemp.c [MINGW]: Include <io.h>.
9645         (mkdir): Define using _mkdir.
9646
9647 2006-06-28  Bruno Haible  <bruno@clisp.org>
9648
9649         * lib/getaddrinfo.h: Fix POSIX URL.
9650         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
9651         _WIN32.
9652         (use_win32_p): Make static.
9653         (getaddrinfo): Reject service name if it is empty or does not consist
9654         solely of decimal digits, or if its value is > 65535.
9655         (getnameinfo): Remove useless casts.
9656
9657 2006-06-27  Simon Josefsson  <jas@extundo.com>
9658
9659         * modules/sys_select: New file, suggested by Bruno Haible, Paul
9660         Eggert and Martin Lambers.
9661
9662 2006-06-27  Simon Josefsson  <jas@extundo.com>
9663
9664         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
9665         Eggert and Martin Lambers.
9666
9667 2006-06-27  Bruno Haible  <bruno@clisp.org>
9668
9669         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
9670         result to 0, not to empty.
9671         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
9672
9673 2006-06-27  Bruno Haible  <bruno@clisp.org>
9674
9675         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
9676
9677 2006-06-26  Simon Josefsson  <jas@extundo.com>
9678
9679         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
9680         present.
9681
9682 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
9683
9684         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
9685         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
9686         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
9687
9688 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
9689
9690         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
9691
9692 2006-06-26  Bruno Haible  <bruno@clisp.org>
9693
9694         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
9695
9696 2006-06-26  Bruno Haible  <bruno@clisp.org>
9697
9698         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
9699
9700 2006-06-26  Bruno Haible  <bruno@clisp.org>
9701
9702         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
9703         SGI C compiler in pre-C99 mode.
9704         Suggested by Mark D. Baushke and Larry Jones.
9705
9706 2006-06-26  Bruno Haible  <bruno@clisp.org>
9707
9708         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
9709         WCHAR_MAX.
9710         Reported by Mark D. Baushke and Larry Jones.
9711
9712 2006-06-26  Bruno Haible  <bruno@clisp.org>
9713
9714         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
9715         in pre-C99 mode.
9716         Suggested by Mark D. Baushke and Larry Jones.
9717
9718 2006-06-23  Simon Josefsson  <jas@extundo.com>
9719             Bruno Haible  <bruno@clisp.org>
9720
9721         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
9722         Emit mostlyclean-local rule.
9723         (func_emit_tests_Makefile_am): Likewise.
9724         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
9725
9726 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
9727
9728         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
9729
9730 2006-06-23  Bruno Haible  <bruno@clisp.org>
9731
9732         * tests/test-stdint.c: Update to match ISO C 99 Technical
9733         Corrigendum 1.
9734
9735 2006-06-23  Bruno Haible  <bruno@clisp.org>
9736
9737         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
9738
9739 2006-06-23  Bruno Haible  <bruno@clisp.org>
9740
9741         * lib/stdint_.h: Treat IRIX like OpenBSD.
9742
9743 2006-06-23  Bruno Haible  <bruno@clisp.org>
9744
9745         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
9746         ISO C 99 Technical Corrigendum 1.
9747
9748 2006-06-22  Simon Josefsson  <jas@extundo.com>
9749
9750         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
9751         MinGW.
9752
9753 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
9754
9755         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
9756         needed.  Some compiler complained about some of them.  Problem reported
9757         by Larry Jones in
9758         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
9759
9760 2006-06-21  Simon Josefsson  <jas@extundo.com>
9761
9762         * tests/test-getaddrinfo.c: New file.
9763
9764         * modules/getaddrinfo-tests: New file.
9765
9766         * MODULES.html.sh: Add inet_pton.
9767
9768         * modules/inet_pton: New file.
9769
9770 2006-06-21  Simon Josefsson  <jas@extundo.com>
9771
9772         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
9773         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
9774         of using the (limited) gnulib implementation on Windows XP.
9775
9776         * m4/inet_pton.m4: New file.
9777
9778 2006-06-21  Simon Josefsson  <jas@extundo.com>
9779
9780         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
9781         variable.
9782
9783         * lib/socket_.h: Don't define WINVER.
9784
9785         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
9786         slightly modified to work in gnulib.
9787
9788 2006-06-21  Simon Josefsson  <jas@extundo.com>
9789
9790         * doc/gnulib.texi (Windows sockets): Add.
9791
9792 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
9793
9794         * lib/read-file.c (fread_file): Start with buffer allocation of
9795         0 bytes rather than 1 byte; this simplifies the code.
9796         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
9797         code to free buffer and save/restore errno.
9798         (internal_read_file): Remove unused local.
9799
9800 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9801
9802         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
9803         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
9804         Problem reported by Denis Excoffier in
9805         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
9806
9807 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9808
9809         * modules/sys_socket, modules/socklen: Include sys/types since
9810         FreeBSD 4.x's sys/socket.h needs it.
9811
9812 2006-06-19  Simon Josefsson  <jas@extundo.com>
9813
9814         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
9815
9816 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
9817
9818         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
9819
9820 2006-06-19  Bruno Haible  <bruno@clisp.org>
9821
9822         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
9823         and FULL_PATH_INTTYPES_H in angle brackets.
9824         Reported by Mark D. Baushke <mdb@gnu.org>.
9825
9826 2006-06-17  Eric Blake  <ebb9@byu.net>
9827
9828         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
9829         errno.
9830
9831 2006-06-17  Bruno Haible  <bruno@clisp.org>
9832
9833         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
9834         <sys/inttypes.h>.
9835
9836 2006-06-17  Bruno Haible  <bruno@clisp.org>
9837
9838         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
9839         whether errno is declared. Assume <errno.h> declares errno.
9840
9841 2006-06-17  Bruno Haible  <bruno@clisp.org>
9842
9843         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
9844
9845 2006-06-17  Bruno Haible  <bruno@clisp.org>
9846
9847         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
9848         problem on Solaris 2.5.1.
9849
9850 2006-06-16  Eric Blake  <ebb9@byu.net>
9851
9852         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
9853         * lib/unicodeio.c [!defined errno]: Likewise.
9854         * lib/strtol.c [!defined errno]: Likewise.
9855         * lib/strtod.c [!defined errno]: Likewise.
9856
9857 2006-06-15  Eric Blake  <ebb9@byu.net>
9858
9859         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
9860
9861 2006-06-15  Eric Blake  <ebb9@byu.net>
9862
9863         * config/srclist.txt (ssize_t.m4): Lose sync.
9864
9865 2006-06-15  Bruno Haible  <bruno@clisp.org>
9866
9867         * modules/stdint (Files): Include m4/full-header-path.m4,
9868         m4/size_max.m4, m4/wchar_t.m4.
9869         (Makefile.am): Many more substitutions.
9870         * modules/stdint-tests: New file.
9871         * tests/test-stdint.c: New file.
9872
9873 2006-06-15  Bruno Haible  <bruno@clisp.org>
9874
9875         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
9876         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
9877         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
9878         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
9879         gl_CHECK_TYPE_SAME): New macros.
9880
9881 2006-06-15  Bruno Haible  <bruno@clisp.org>
9882
9883         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
9884
9885 2006-06-15  Bruno Haible  <bruno@clisp.org>
9886
9887         * lib/stdint_.h: Rewritten to be fully auto-configured.
9888         Fixes bug on HP-UX/IA64.
9889
9890 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
9891
9892         * lib/getdate.y (__attribute__): Don't define if already defined.
9893         Problem reported by Larry Jones.
9894         * lib/utimens.c (__attribute__): Likewise.
9895
9896 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
9897
9898         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
9899         reported by Andreas Schwab.
9900
9901 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9902             Bruno Haible  <bruno@clisp.org>
9903
9904         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
9905         check for the declaration of strnlen and a run test that exposes the
9906         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
9907         rpl_strndup.
9908
9909 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9910             Bruno Haible  <bruno@clisp.org>
9911
9912         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
9913
9914 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9915
9916         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
9917         compile test, for Tru64 4.0D.
9918
9919 2006-05-28  Karl Berry  <karl@gnu.org>
9920
9921         * config/srclist.txt (printf-args.c): lose sync.
9922
9923 2006-05-26  Martin Lambers  <marlam@marlam.de>
9924
9925         * lib/getpass.c: Updates the test for the native W32 API, and adds
9926         missing includes, thus fixing compilation warnings.
9927
9928 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9929
9930         * lib/exclude.c (exclude_fnmatch): New function.
9931         (excluded_file_name): Call exclude_fnmatch.
9932         * lib/exclude.h (excluded_file_name): New prototype
9933
9934 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
9935
9936         * lib/tempname.c (small_open, large_open): New macros.
9937         (__open, __open64) [!_LIBC]: Remove.
9938         (__gen_tempname): Use small_open and large_open instead of __open
9939         and __open64.  This fixes a portability bug on HP-UX 11.11i
9940         reported by Simon Wing-Tang in
9941         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
9942
9943 2006-05-24  Bruno Haible  <bruno@clisp.org>
9944
9945         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
9946         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
9947         Reported by Thorsten Maerz <torte@netztorte.de> via
9948         Aaron Stone <aaron@serendipity.cx>.
9949
9950 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9951
9952         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
9953         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
9954         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
9955         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
9956         not really conditional on the cache.
9957         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
9958
9959 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9960
9961         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
9962         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
9963         (my_usleep): Don't mishandle maximum value.
9964
9965 2006-05-19  Jim Meyering  <jim@meyering.net>
9966
9967         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
9968
9969 2006-05-17  Bruno Haible  <bruno@clisp.org>
9970
9971         Cygwin portability.
9972         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
9973
9974 2006-05-17  Bruno Haible  <bruno@clisp.org>
9975
9976         * lib/stdint_.h: Fix recognition of Cygwin.
9977
9978 2006-05-15  Bruno Haible  <bruno@clisp.org>
9979
9980         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
9981         on libtool patch by Ralf Wildenhues.
9982
9983 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9984
9985         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
9986         test for C99 conformance; (bool) 0.5 is an integer constant
9987         expression, but (bool) -0.5 is not.  Problem reported by Fedor
9988         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
9989
9990 2006-05-11  Simon Josefsson  <jas@extundo.com>
9991
9992         * m4/xvasprintf.m4: Fix obvious typo.
9993
9994 2006-05-11  Jim Meyering  <jim@meyering.net>
9995
9996         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
9997         James Lemley.
9998
9999 2006-05-10  Simon Josefsson  <jas@extundo.com>
10000
10001         * lib/md4.c: Typo fix, update copyright years.
10002         (K1, K2): Don't use L because it turn computations into 64-bit on
10003         64-bit platforms.
10004
10005 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
10006
10007         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
10008         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
10009         unwanted sign propagation, e.g., on hosts with 64-bit int.
10010         There still are some problems with reeelly weird theoretical hosts
10011         (e.g., 33-bit int) but it's not worth worrying about now.
10012         * lib/sha1.c (rol): Likewise.
10013         (K1, K2, K3, K4): Remove unnecessary L suffix.
10014
10015 2006-05-10  Bruno Haible  <bruno@clisp.org>
10016
10017         * lib/des.c: Cast to avoid warnings.
10018
10019 2006-05-09  Bruno Haible  <bruno@clisp.org>
10020
10021         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
10022         (Depends-on): Depend also on xsize, stdarg.
10023         (configure.ac): Add gl_XVASPRINTF.
10024
10025 2006-05-09  Bruno Haible  <bruno@clisp.org>
10026
10027         * m4/xvasprintf.m4: New file.
10028
10029 2006-05-09  Bruno Haible  <bruno@clisp.org>
10030
10031         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
10032         (EOVERFLOW): Define fallback value.
10033         (xstrcat): New function.
10034         (xvasprintf): Recognize the special case of a string concatenation.
10035
10036 2006-05-08  Eric Blake  <ebb9@byu.net>
10037
10038         * gnulib-tool (func_version): Base copyright year on CVS date.
10039         (func_emit_copyright_notice): New function.
10040         (func_emit_lib_Makefile_am): Use it.
10041         (func_emit_tests_Makefile_am): Likewise.
10042         (func_import): Likewise.
10043
10044 2006-05-08  Bruno Haible  <bruno@clisp.org>
10045
10046         * modules/stdarg: New file.
10047         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
10048
10049 2006-05-08  Bruno Haible  <bruno@clisp.org>
10050
10051         * m4/stdarg.m4: New file, from GNU gettext.
10052
10053 2006-05-08  Bruno Haible  <bruno@clisp.org>
10054
10055         * config/srclist.txt (build-aux/config.rpath): different from latest
10056         release.
10057
10058 2006-05-08  Bruno Haible  <bruno@clisp.org>
10059
10060         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
10061
10062 2006-05-05  Jim Meyering  <jim@meyering.net>
10063
10064         * m4/warning.m4: New file, derived from bison's file by the same name.
10065
10066 2006-05-03  Bruno Haible  <bruno@clisp.org>
10067
10068         * lib/stdint_.h: Shorter URL.
10069         * lib/inttypes.h: Likewise.
10070
10071 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
10072
10073         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
10074
10075 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
10076
10077         * lib/verify.h: Document the internals better.  Most of this change
10078         was written by Bruno Haible.
10079
10080 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
10081
10082         * doc/verify.texi: New file, partly based on a proposal by
10083         Bruno Haible.
10084
10085 2006-05-02  Bruno Haible  <bruno@clisp.org>
10086
10087         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
10088         test from here...
10089         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
10090
10091 2006-04-29  Bruno Haible  <bruno@clisp.org>
10092
10093         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
10094         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
10095
10096 2006-04-29  Bruno Haible  <bruno@clisp.org>
10097
10098         * gnulib-tool: Make --update option actually work.
10099
10100 2006-04-29  Bruno Haible  <bruno@clisp.org>
10101
10102         * doc/gcd.texi: New file.
10103         * doc/gnulib.texi: Include it.
10104
10105 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
10106
10107         * lib/getdate.y (get_date): When adding relative date, start with the
10108         initial time, not with the result of the first mktime call.
10109
10110 2006-04-25  Bruno Haible  <bruno@clisp.org>
10111
10112         * gnulib-tool (func_import): Output the include directives in three
10113         blocks, sorted separately.
10114         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10115
10116 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
10117
10118         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
10119         to define main with arguments, for C++.  Reported by Eric Blake.
10120         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
10121         Prefer 'int main ()' to 'int main (void)', for C++.
10122         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10123         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
10124         for 'main', for C99 and C++.
10125
10126 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
10127
10128         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
10129         Don't assume that exit status -1 is valid.
10130         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10131         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
10132         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
10133         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
10134         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
10135         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
10136         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
10137         functions can be used without declaring them, or that you can
10138         exit with status -1.
10139         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
10140
10141 2006-04-24  Karl Berry  <karl@gnu.org>
10142
10143         * config/srclist.txt (longdouble.m4): sync lost.
10144
10145 2006-04-24  Eric Blake  <ebb9@byu.net>
10146
10147         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
10148
10149 2006-04-24  Bruno Haible  <bruno@clisp.org>
10150
10151         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
10152         poll() implementation in AIX.
10153         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10154
10155 2006-04-24  Bruno Haible  <bruno@clisp.org>
10156
10157         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
10158         assigned exactly once.
10159
10160 2006-04-23  Claudio Fontana  <claudio@gnu.org>
10161             Bruno Haible  <bruno@clisp.org>
10162
10163         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
10164         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
10165         for AM_CPPFLAGS.
10166
10167 2006-04-23  Bruno Haible  <bruno@clisp.org>
10168
10169         * modules/copy-file: Depend on unistd.
10170         * modules/execute: Likewise.
10171         * modules/fatal-signal: Likewise.
10172         * modules/findprog: Likewise.
10173         * modules/mkdtemp : Likewise.
10174         * modules/pipe: Likewise.
10175         * modules/wait-process: Likewise.
10176
10177 2006-04-23  Bruno Haible  <bruno@clisp.org>
10178
10179         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
10180         condition was already detected.
10181         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10182
10183 2006-04-23  Bruno Haible  <bruno@clisp.org>
10184
10185         * lib/copy-file.c: Include <unistd.h> unconditionally.
10186         * lib/execute.c: Likewise.
10187         * lib/fatal-signal.c: Likewise.
10188         * lib/findprog.c: Likewise.
10189         * lib/mkdtemp.c: Likewise.
10190         * lib/pipe.h: Likewise.
10191         * lib/pipe.c: Likewise.
10192         * lib/wait-process.h: Likewise.
10193
10194 2006-04-23  Bruno Haible  <bruno@clisp.org>
10195
10196         * gnulib-tool (func_usage): Fix --import description. Document
10197         --update.
10198         (func_import): Create temporary file in a temporary directory, if
10199         --dry-run is specified. Silence errors from 'grep' when there are no
10200         m4 files in $m4dir.
10201         (func_create_testdir): Silence errors from 'grep' when there are no
10202         m4 files in $m4dir.
10203         Reported by Karl Berry <karl@freefriends.org>.
10204
10205 2006-04-20  Bruno Haible  <bruno@clisp.org>
10206
10207         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
10208         one argument, so that the code will be portable to Autoconf 2.60.
10209         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
10210         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
10211         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
10212
10213 2006-04-19  Derek Price  <derek@ximbiot.com>
10214             Eric Blake  <ebb9@byu.net>
10215
10216         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
10217         rather than "/full/path.h".  Update comment to match.  Shorten &
10218         generalize m4_translit call via AS_TR_CPP.
10219
10220 2006-04-19  Derek Price  <derek@ximbiot.com>
10221             Eric Blake  <ebb9@byu.net>
10222
10223         * lib/inttypes.h: Correct grammar in comment.
10224
10225 2006-04-18  Derek Price  <derek@ximbiot.com>
10226             Paul Eggert  <eggert@cs.ucla.edu>
10227
10228         * modules/inttypes: New file.
10229         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
10230
10231 2006-04-18  Derek Price  <derek@ximbiot.com>
10232             Paul Eggert  <eggert@cs.ucla.edu>
10233
10234         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
10235         New files.
10236
10237 2006-04-18  Derek Price  <derek@ximbiot.com>
10238             Paul Eggert  <eggert@cs.ucla.edu>
10239
10240         * lib/inttypes.h: New file.
10241         * lib/strtoimax.c: Assume <inttypes.h>.
10242
10243 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10244
10245         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
10246         isn't mounted.  Problem reported by Kir Kolyshkin.
10247
10248 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
10249
10250         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
10251         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
10252         Derek R. Price.
10253         * lib/regex.h (RE_DUP_MAX): Update comment to match current
10254         implementation.
10255
10256 2006-04-12  Eric Blake  <ebb9@byu.net>
10257
10258         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
10259         is now done automatically by the corresponding Autoconf macro.
10260
10261 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
10262
10263         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
10264         time_r.h.
10265
10266 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10267
10268         Merge regex changes from libc, removing some of our
10269         POSIX-conformance changes that were rejected and redoing them in a
10270         less-intrusive way.
10271
10272         * lib/regcomp.c (re_compile_internal, init_dfa):
10273         Length arg is now size_t, not Idx.  All uses changed.
10274         (peek_token): Forward decl now says internal_function.
10275         (__re_error_msgid, __re_error_msgid_idx):
10276         Now static rather than extern with attribute_hidden.
10277         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
10278         For some reason libc prefers K&R style defns for external functions.
10279         (regerror) [!defined _LIBC]: Likewise.
10280         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
10281         (seek_collating_symbol_entry, lookup_collation_sequence_value):
10282         (build_range_exp, build_collating_symbol):
10283         Use K&R-style defn.
10284         (re_compile_fastmap): Use '\0' to memset, not 0.
10285         (utf8_sb_map): Make the calculations more obvious.
10286         (init_dfa, parse_bracket_exp, build_charclass_op):
10287         Call calloc and cast result, as glibc does.
10288         (init_word_char, fetch_token, peek_token, peek_token_bracket):
10289         (build_range_exp, build_collating_symbol):
10290         Now internal functions.
10291
10292         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
10293
10294         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
10295         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
10296         Don't depend on VMS; depend on __VMS instead, for POSIX
10297         namespace cleanness.
10298         (regoff_t): Define to ssize_t, not long int.
10299
10300         Remove the REG_ macros named below.  Instead, make the old names
10301         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
10302         __USE_GNU_REGEX.
10303         (REG_BACKSLASH_ESCAPE_IN_LISTS):
10304         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
10305         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
10306         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
10307         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
10308         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
10309         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
10310         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
10311         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
10312         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
10313         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
10314         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
10315         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
10316         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
10317         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
10318         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
10319         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
10320         (REG_NREGS):
10321         Remove.  All uses replaced by the old RE_* names.
10322         (RE_BACKSLASH_ESCAPE_IN_LISTS):
10323         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
10324         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
10325         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
10326         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
10327         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
10328         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
10329         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
10330         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
10331         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
10332         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
10333         Don't bother having these macros be independent of each others'
10334         values, since they no longer exist in the POSIX name space.
10335
10336         Rename the following member names back to their old names,
10337         unless !__USE_GNU_REGEX.  All uses changed back.
10338         (buffer): Renamed from re_buffer.
10339         (allocated): Renamed from re_allocated.
10340         (used): Renamed from re_used.
10341         (syntax): Renamed from re_syntax.
10342         (fastmap): Renamed from re_fastmap.
10343         (translate): Renamed from re_translate.
10344         (can_be_null): Renamed from re_can_be_null.
10345         (regs_allocated): Renamed from re_regs_allocated.
10346         (fastmap_accurate): Renamed from re_fastmap_accurate.
10347         (no_sub): Renamed from re_no_sub.
10348         (not_bol): Renamed from re_not_bol.
10349         (not_eol): Renamed from re_not_eol.
10350         (newline_anchor): Renamed from re_newline_anchor.
10351         (num_regs): Renamed from rm_num_regs.
10352         (start): Renamed from rm_start.
10353         (end): Renamed from rm_end.
10354
10355         (free_state): Move up a bit.
10356
10357         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
10358         #define to be empty.
10359         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
10360         when that is what is intended.
10361         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
10362         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
10363         (MAX): New macro.
10364         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
10365         All uses changed back to re_malloc, etc.  It's now the caller's
10366         responsibility to check for overflow; all callers changed.
10367         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
10368         (re_x2nrealloc): Remove.
10369         (free_state): Remove decl.
10370
10371         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
10372         (re_set_registers, re_exec):
10373         Use K&R-style defn.
10374
10375         2006-01-31  Roland McGrath  <roland@redhat.com>
10376
10377         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
10378         Reported by Mike Frysinger <vapier@gentoo.org>.
10379
10380         2006-01-15  Andreas Jaeger  <aj@suse.de>
10381
10382         [BZ #1950]
10383         * lib/regex_internal.c (re_string_reconstruct): Adjust for
10384         build_wcs_upper_buffer change.
10385         (build_wcs_upper_buffer): Change return type.
10386
10387         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
10388
10389         * lib/regex_internal.h: Include <stdint.h> if available.
10390
10391         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
10392
10393         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
10394
10395         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
10396
10397         * lib/regcomp.c: Adjust for changed secondary hash function.
10398
10399         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
10400
10401         * lib/regex.h: Pretty printing.
10402         Clean up namespace a bit.
10403
10404         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
10405
10406         * lib/regexec.c (update_cur_sifted_state, check_arrival,
10407         check_arrival_add_next_nodes): Avoid using uninitialized variable.
10408
10409         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10410                     Ulrich Drepper  <drepper@redhat.com>
10411
10412         [BZ #1302]
10413         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
10414         changed.
10415         (bitset_word_t): Renamed from bitset_word.  All uses changed.
10416
10417         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
10418
10419         [BZ #281]
10420         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
10421         * lib/regcomp.c: Remove unnecessary uses of
10422         unsigned RE_TRANSLATE_TYPE.
10423         * lib/regex_internal.h: Likewise.
10424         * lib/regex_internal.c: Likewise.
10425         * lib/regexec.c: Likewise.
10426         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
10427
10428         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
10429
10430         * lib/regexec.c (find_recover_state): Remove unnecessary
10431         initialization.
10432         (transit_state_bkref): Make DFA a const pointer.
10433         (get_subexp): Likewise.
10434         (check_arrival): Likewise.
10435         (update_cur_sifted_state): Likewise.
10436         (re_search_internal): Likewise.
10437         (prune_impossible_nodes): Likewise.
10438         (acquire_init_state_context): Likewise.
10439         (proceed_next_node): Likewise.
10440         (set_regs): Likewise.
10441         (free_fail_stack_return): Likewise.
10442         (check_arrival_expand_ecl): Mark DFA parameter as const.
10443         (check_arrival_expand_ecl_sub): Likewise.
10444         (check_subexp_limits): Likewise.
10445         (sub_epsilon_src_nodes):  Likewise.
10446         (add_epsilon_src_nodes):  Likewise.
10447         (merge_state_array): Likewise.
10448         (update_regs): Likewise.
10449         (build_trtable): Likewise.
10450         (sift_states_backward): Mark MCTX parameter as const.
10451         (build_sifted_states): Likewise.
10452         (update_cur_sifted_state): Likewise.
10453         (sift_states_mkref): Likewise.
10454         (check_arrival_expand_ecl): Mark eclosure as const.
10455         (check_dst_limits_calc_pos_1): Likewise.
10456         * lib/regex_internal.h (re_match_context_t): Make dfa a const
10457         pointer.
10458
10459         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
10460
10461         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
10462         (transit_state_sb): Likewise.
10463         (transit_state_mb): Likewise.
10464         (sift_states_iter_mb): Likewise.
10465         (check_arrival_add_next_nodes): Likewise.
10466         (check_node_accept_bytes): Change first parameter to pointer-to-const.
10467         [_LIBC] (re_search_2_stub): Use mempcpy.
10468
10469         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
10470         mbrtowc for very simple UTF-8 case.
10471
10472         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
10473         a pointer-to-const.
10474         (re_acquire_state_context): Likewise.
10475         * lib/regex_internal.h: Adjust prototypes.
10476
10477         * lib/regex.c: Prevent using C++ compilers.
10478
10479         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
10480         (re_acquire_state_context): Likewise.
10481
10482 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10483
10484         * modules/regex (Depends-on): Add ssize_t.
10485
10486 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10487
10488         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
10489         translation table.
10490
10491 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10492
10493         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
10494
10495 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
10496             Bruno Haible  <bruno@clisp.org>
10497
10498         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
10499         <sys/types.h> and <inttypes.h>.
10500
10501 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10502
10503         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
10504         `__error_t_defined', so argp.h will not typedef the former.
10505
10506 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
10507
10508         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
10509         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
10510         glibc names.  Even if glibc is changed to conform to POSIX, the
10511         traditional names will be available anyway, since regex depends on
10512         the extensions module.  Also, fix a longstanding typo in the
10513         implementation of Spencer ERE test #75 from grep 2.3.  Problems
10514         reported by Emanuele Giaquinta.  Also, change sense of cached
10515         variable, so that the message makes sense.
10516
10517 2006-03-24  Simon Josefsson  <jas@extundo.com>
10518
10519         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
10520         including some doc fixes.
10521         (base64_encode_alloc): Fix +1 bug on allocation failures.
10522
10523 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10524
10525         * lib/base64.c (base64_encode): Do not read past end of array with
10526         unsanitized input on systems with CHAR_BIT > 8.
10527
10528 2006-03-24  Eric Blake  <ebb9@byu.net>
10529
10530         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
10531
10532 2006-03-22  Karl Berry  <karl@gnu.org>
10533
10534         * config/srclist.txt (*setenv.[ch]): get from coreutils.
10535         * config/srclistvars.sh (COREUTILS): new var.
10536
10537 2006-03-17  Jim Meyering  <jim@meyering.net>
10538
10539         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
10540         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
10541
10542 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
10543
10544         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
10545         no longer needs it.  Instead, check that regoff_t is as least
10546         as wide as ptrdiff_t.
10547
10548         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
10549         so that our regex.h stays compatible with the installed regex.
10550         This is helpful for installers who configure --without-included-regex.
10551         Problem reported by Emanuele Giaquinta.
10552
10553 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
10554
10555         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
10556         Typedef to long int, not to off_, as POSIX will likely change
10557         in that direction.
10558
10559 2006-03-15  Eric Blake  <ebb9@byu.net>
10560
10561         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
10562
10563 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10564
10565         * lib/argp-help.c (validate_uparams): Fix typo
10566         * lib/argp-parse.c (argp_default_options): Consistently begin help
10567         messages with a lowercase letter.
10568
10569 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
10570
10571         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
10572         overrun buffers and shouldn't be used (much as gets shouldn't be
10573         used).
10574         * lib/time_r.c (asctime_r, ctime_r): Likewise.
10575
10576 2006-03-08  Simon Josefsson  <jas@extundo.com>
10577
10578         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
10579         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10580
10581 2006-03-08  Simon Josefsson  <jas@extundo.com>
10582
10583         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
10584         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10585
10586 2006-03-08  Simon Josefsson  <jas@extundo.com>
10587
10588         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
10589         signal that configure disabled the device.
10590
10591 2006-03-08  Simon Josefsson  <jas@extundo.com>
10592
10593         * build-aux/maint.mk: Fix refresh-po, to handle no translated
10594         languages.
10595
10596 2006-03-07  Simon Josefsson  <jas@extundo.com>
10597
10598         * modules/getopt (Depends-on): Add unistd.
10599
10600         * modules/unistd: New file.
10601
10602 2006-03-07  Simon Josefsson  <jas@extundo.com>
10603
10604         * modules/gc-random: New file.
10605
10606 2006-03-07  Simon Josefsson  <jas@extundo.com>
10607
10608         * m4/unistd_h.m4: New file.
10609
10610 2006-03-07  Simon Josefsson  <jas@extundo.com>
10611
10612         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
10613         test to be side-effect free by storing the result in the cache
10614         variable gl_cv_lib_readline, and moving the assignment of
10615         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
10616         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10617
10618 2006-03-07  Simon Josefsson  <jas@extundo.com>
10619
10620         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
10621         error on missing devices (the functions will return an error).
10622
10623         * m4/gc.m4: Move random stuff to gc-random.m4
10624
10625 2006-03-07  Simon Josefsson  <jas@extundo.com>
10626
10627         * lib/unistd_.h: New file.
10628
10629 2006-03-07  Simon Josefsson  <jas@extundo.com>
10630
10631         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
10632
10633 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10634
10635         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
10636         Problem reported by Juan Manuel Guerrero.
10637
10638 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10639
10640         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
10641         the unistd module.
10642         * lib/getlogin_r.c: Likewise.
10643         * lib/getlogin_r.h: Likewise.
10644         * lib/glob.c: Likewise.
10645         * lib/pagealign_alloc.c: Likewise.
10646         * lib/unistd_.h: Remove; no longer needed.
10647
10648 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10649
10650         * MODULES.html.sh (Support for systems lacking POSIX:2001):
10651         Add unistd.
10652         * modules/c-stack (Depends-on): Add unistd.
10653         * modules/getlogin_r: Likewise.
10654         * modules/glob: Likewise.
10655         * modules/pagealign_alloc: Likewise.
10656         * modules/unistd (Files): Remove lib/unistd_.h.
10657         (EXTRA_DIST): Remove.
10658         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
10659         need unistd_.h.
10660         (MOSTLYCLEANFILES): Remove unistd.h-t.
10661
10662 2006-03-03  Simon Josefsson  <jas@extundo.com>
10663
10664         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
10665
10666 2006-03-03  Simon Josefsson  <jas@extundo.com>
10667
10668         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
10669         libidn and bison.
10670
10671 2006-03-03  Simon Josefsson  <jas@extundo.com>
10672
10673         * build-aux/maint.mk: Add indent target.
10674
10675 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
10676
10677         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
10678         our replacement poll.h in any case, to avoid a differing
10679         declaration from a system header.  Seen on AIX.
10680
10681 2006-03-01  Simon Josefsson  <jas@extundo.com>
10682
10683         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
10684         <kasal@ucw.cz>.
10685
10686 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10687
10688         * modules/gettime (Depends-on): Add extensions module.
10689         * modules/nanosleep (Depends-on): Likewise.
10690         * modules/settime (Depends-on): Likewise.
10691
10692 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10693
10694         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
10695         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
10696         pedantically.
10697         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10698         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
10699
10700         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
10701         not "==".  Reported by Ralf Wildenhues.
10702
10703 2006-03-01  Karl Berry  <karl@gnu.org>
10704
10705         * doc/Copyright/request-*: new files, synced from gnuorg.
10706
10707 2006-03-01  Karl Berry  <karl@gnu.org>
10708
10709         * config/srclist.txt (Copyright/*): new entries.
10710
10711 2006-02-28  Simon Josefsson  <jas@extundo.com>
10712
10713         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
10714
10715 2006-02-27  Simon Josefsson  <jas@extundo.com>
10716
10717         * lib/base64.h: Indent #define's.  From Jim Meyering
10718         <jim@meyering.net>.
10719
10720 2006-02-27  Jim Meyering  <jim@meyering.net>
10721
10722         Revert the change of 2006-02-24, so these files can continue
10723         to be sync'd from gettext.
10724         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
10725         of `config.h'.
10726
10727 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
10728
10729         * modules/intprops: New file.
10730         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
10731         Add intprops.
10732         * modules/getloadavg (Files): Remove lib/intprops.h.
10733         (Depends-on): Add intprops.
10734         * modules/human: Likewise.
10735         * modules/inttostr: Likewise.
10736         * modules/openat: Likewise.
10737         * modules/sig2str: Likewise.
10738         * modules/userspec: Likewise.
10739         * modules/utimecmp: Likewise.
10740         * modules/xnanosleep: Likewise.
10741         * modules/xstrtol: Likewise.
10742
10743 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
10744
10745         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
10746         * modules/lock-tests (TESTS): Use $(EXEEXT).
10747         * modules/tls-tests: Likewise.
10748         * modules/argp-tests: Likewise.
10749         (check_PROGRAMS): New var, replacing...
10750         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
10751
10752 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10753
10754         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
10755         `config.h'.
10756
10757 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
10758
10759         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
10760
10761 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10762
10763         Sync from coreutils.
10764         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
10765         gl_CHDIR_SAFER.
10766
10767 2006-02-22  Jim Meyering  <jim@meyering.net>
10768
10769         Sync from coreutils.
10770         * m4/chdir-safer.m4: New file.
10771
10772 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10773
10774         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
10775         AT_FDCWD exceeds INT_MAX.
10776         * lib/openat.h (AT_FDCWD): Likewise.
10777
10778 2006-02-17  Eric Blake  <address@hidden>
10779
10780         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
10781
10782 2006-02-16  Simon Josefsson  <jas@extundo.com>
10783
10784         * modules/getaddrinfo (Depends-on): Add sys_socket.
10785
10786 2006-02-15  Simon Josefsson  <jas@extundo.com>
10787
10788         * build-aux/maint.mk: Add dsyntax-check rule.
10789
10790 2006-02-15  Eric Blake  <ebb9@byu.net>
10791
10792         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
10793         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
10794         'present but cannot compile' warnings on cygwin.
10795         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
10796         use ws2tcpip.h if sys/socket.h works.
10797         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
10798         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
10799
10800 2006-02-14  Simon Josefsson  <jas@extundo.com>
10801
10802         * modules/maintainer-makefile (Files): Rename.
10803
10804         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
10805         and (the local) Makefile.cfg to maint-cfg.mk.
10806
10807         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
10808         to the latter.
10809
10810         * modules/maintainer-makefile: New module.
10811
10812         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
10813         severaly stripped to make it possible to build it up from scratch
10814         with reliable tests.
10815
10816         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
10817         fixes to permit overriding the default actions when configure and
10818         makefile are not available.
10819
10820 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
10821
10822         Sync from coreutils.
10823         * modules/lstat (Depends-on): Don't depend on xalloc.
10824         (License): Change from GPL to LGPL, since this is now simply a
10825         replacement for a libc function.
10826
10827 2006-02-14  Jim Meyering  <jim@meyering.net>
10828
10829         Sync from coreutils.
10830
10831         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
10832         failure on deficient systems, and simplify gnulib lgpl dependencies.
10833         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
10834         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
10835
10836         * lib/xalloc-die.c: Remove unused definition of N_.
10837
10838 2006-02-14  Jim Meyering  <jim@meyering.net>
10839
10840         Sync from coreutils.
10841         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
10842         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
10843         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
10844         double-quote uses of that variable, to accommodate the rare case in
10845         which getmntent is available in none of the libraries checked.  This
10846         happens at least on FreeBSD 5.0.
10847
10848 2006-02-13  Simon Josefsson  <jas@extundo.com>
10849
10850         * gnulib-tool (Usage): Fix --import, from
10851         karl@freefriends.org (Karl Berry).
10852
10853 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10854
10855         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
10856
10857 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
10858
10859         * lib/argp-namefrob.h: Restore changes accidentally lost during the
10860         "autoupdate" on 2005-12-12.
10861
10862 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10863
10864         * modules/closeout (Depends-on): Remove atexit.
10865
10866 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10867
10868         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
10869         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
10870
10871 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
10872
10873         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
10874         __EXTENSIONS__ if this causes compilation to fail.  Problem
10875         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
10876         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
10877
10878 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
10879
10880         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
10881         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
10882         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
10883         All uses changed.
10884
10885 2006-01-26  Simon Josefsson  <jas@extundo.com>
10886
10887         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
10888         prototype is visible on mingw32.
10889
10890         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
10891         for mingw32.
10892
10893         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
10894         mingw32).
10895
10896 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
10897
10898         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
10899         attempt to open for write; this always fails, at least on POSIX
10900         hosts.  This reinstates the 2006-01-09 change, which was
10901         inadvertently removed.
10902
10903 2006-01-26  Bruno Haible  <bruno@clisp.org>
10904
10905         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
10906         Reported by Paul Eggert.
10907
10908 2006-01-26  Bruno Haible  <bruno@clisp.org>
10909             Paul Eggert  <eggert@cs.ucla.edu>
10910
10911         * lib/stdbool_.h (_Bool)
10912         [(! (defined __cplusplus || defined __BEOS__)
10913           && !defined __GNUC__
10914           && !(defined __HP_cc || defined __xlc__
10915                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
10916                || defined __sgi))]:
10917         #define to signed char in these cases too; this simplifies
10918         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
10919         etc., separately) and makes it more conservative.
10920
10921 2006-01-25  Simon Josefsson  <jas@extundo.com>
10922
10923         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
10924         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
10925         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
10926
10927 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10928
10929         * lib/argp-namefrob.h: Bugfix. Remove stray #
10930
10931 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
10932
10933         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
10934         so that we test the test.
10935         Check for yet another HP-UX cc bug involving *bool |= bool.
10936
10937 2006-01-25  Karl Berry  <karl@gnu.org>
10938
10939         * config/srclist.txt (vasnprintf.c): sync lost.
10940
10941 2006-01-25  Jim Meyering  <jim@meyering.net>
10942
10943         Sync from the stable (b5) branch of coreutils:
10944
10945         * lib/fts.c (fts_children): Don't let close() clobber errno from
10946         failed fchdir().
10947
10948         * lib/fts.c (fts_stat): When following a symlink-to-directory,
10949         don't necessarily interpret stat-fails+lstat-succeeds as indicating
10950         a dangling symlink.  That can also happen at least for ELOOP.
10951         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
10952         FYI, this bug predates the inclusion of fts.c in coreutils.
10953
10954         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
10955         in their own block, so pre-c99 compilers don't object.
10956
10957         Avoid the double-free (first in fts_read, second in fts_close) that
10958         would occur when an `active' directory is made inaccessible (e.g.,
10959         via chmod a-x) during a traversal.
10960         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10961         before returning.  Reproduce this failure by
10962         mkdir -p a/b; cd a; chmod a-x . b
10963         Reported by Stavros Passas.
10964
10965 2006-01-25  Jim Meyering  <jim@meyering.net>
10966
10967         * lib/fileblocks.c: Remove more useless parentheses.
10968         * lib/readutmp.h: Likewise.
10969
10970 2006-01-25  Bruno Haible  <bruno@clisp.org>
10971
10972         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
10973         warnings.
10974         Reported by Paul Eggert.
10975
10976 2006-01-25  Bruno Haible  <bruno@clisp.org>
10977
10978         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
10979         rid of a trap command. For Solaris sh.
10980         Reported by Mark D. Baushke <mdb@gnu.org>.
10981
10982 2006-01-24  Simon Josefsson  <jas@extundo.com>
10983
10984         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
10985         Bruno.
10986
10987 2006-01-24  Karl Berry  <karl@gnu.org>
10988
10989         * config/srclist.txt (argp-namefrob.h): sync lost.
10990
10991 2006-01-24  Jim Meyering  <jim@meyering.net>
10992
10993         * modules/openat (Files): Add lib/intprops.h.
10994         From Mark D. Baushke.
10995
10996 2006-01-24  Jim Meyering  <jim@meyering.net>
10997
10998         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
10999         Reported by Mark D. Baushke.
11000
11001 2006-01-24  Jim Meyering  <jim@meyering.net>
11002
11003         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
11004
11005 2006-01-24  Bruno Haible  <bruno@clisp.org>
11006
11007         * modules/strnlen (Maintainer): Change from glibc to all.
11008
11009 2006-01-24  Bruno Haible  <bruno@clisp.org>
11010
11011         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
11012         Patch by Paul Eggert.
11013
11014 2006-01-24  Bruno Haible  <bruno@clisp.org>
11015
11016         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
11017         already has it.
11018         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
11019         2005-11-26.
11020
11021         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
11022         'signed char' to avoid problems with the built-in _Bool type.
11023         Reported by Paul Eggert on 2005-11-26.
11024
11025 2006-01-24  Bruno Haible  <bruno@clisp.org>
11026
11027         * gnulib-tool (func_import): Avoid constructing complicated sed
11028         expressions inside backquote.
11029         Report and solution by Mark D. Baushke <mdb@gnu.org>.
11030
11031 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
11032
11033         These changes imported from libc.
11034         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
11035         test and two separate function calls.
11036         * lib/strndup.c (__strndup): Add libc_hidden_def.
11037
11038 2006-01-23  Simon Josefsson  <jas@extundo.com>
11039
11040         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
11041         Remove the test_*_SOURCES variable: automake infers it by default.
11042         * modules/tls-tests: Likewise.
11043
11044 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11045
11046         Work around porting bugs reported by Dieter in
11047         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
11048         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
11049         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
11050         Include "getopt.h" first, to check interface.
11051         (getenv): Declare only if defined HAVE_DECL_GETENV &&
11052         !HAVE_DECL_GETENV.
11053         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
11054         (__strndup): Revert to K&R-style function dfns, the glibc style.
11055         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
11056         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
11057         Include strnlen.h first, to get prototype properly.
11058         (strnlen): Renamed from __strnlen.
11059         Remove weak alias.
11060
11061 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11062
11063         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
11064
11065 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11066
11067         * config/srclist.txt: Adjust to reflect glibc reorganization.
11068         This affects only comments.
11069
11070 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
11071
11072          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
11073          Reported by Bruce Korb <bkorb@gnu.org>.
11074
11075 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
11076
11077         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
11078         to pacify gcc -Wswitch-default.
11079
11080 2006-01-22  Bruno Haible  <bruno@clisp.org>
11081
11082         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
11083         temporary buffer for sprintf, take into account the precision also
11084         for 'd', 'i', 'u', 'o', 'x', 'X'.
11085
11086 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
11087
11088         * modules/argp-tests: New module
11089         * tests/test-argp.c: New file
11090         * tests/test-argp-2.sh: New file
11091
11092 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
11093
11094         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
11095         (__argp_base_name): Removed
11096         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
11097         typo.
11098         (__argp_base_name): Provide macro definition or extern declaration
11099         depending on the configuration
11100
11101 2006-01-20  Simon Josefsson  <jas@extundo.com>
11102
11103         * modules/inet_ntop (Depends-on): Depend on sys_socket.
11104
11105 2006-01-20  Simon Josefsson  <jas@extundo.com>
11106
11107         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
11108
11109 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
11110
11111         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
11112         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
11113         Suggested by Bruno Haible.
11114
11115 2006-01-20  Karl Berry  <karl@gnu.org>
11116
11117         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
11118         until changes propagate, I guess.
11119
11120 2006-01-19  Simon Josefsson  <jas@extundo.com>
11121
11122         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
11123
11124 2006-01-19  Simon Josefsson  <jas@extundo.com>
11125
11126         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
11127
11128 2006-01-19  Simon Josefsson  <jas@extundo.com>
11129
11130         * gnulib-tool: Set check_PROGRAMS.
11131
11132         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
11133         modules/des-tests, modules/gc-arcfour-tests,
11134         modules/gc-arctwo-tests, modules/gc-des-tests,
11135         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
11136         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
11137         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
11138         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
11139         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
11140         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
11141         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
11142         test_*_SOURCES.
11143
11144 2006-01-18  Simon Josefsson  <jas@extundo.com>
11145
11146         * modules/socklen (Depends-on): Depend on sys_socket.
11147
11148 2006-01-18  Simon Josefsson  <jas@extundo.com>
11149
11150         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
11151         modules/des-tests, modules/gc-arcfour-tests,
11152         modules/gc-arctwo-tests, modules/gc-des-tests,
11153         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
11154         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
11155         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
11156         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
11157         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
11158         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
11159         $(EXEEXT) to automake TESTS variable, for mingw32.
11160
11161 2006-01-17  Simon Josefsson  <jas@extundo.com>
11162
11163         * modules/socklen (Include): Need sys/socket.h.
11164
11165 2006-01-17  Bruno Haible  <bruno@clisp.org>
11166
11167         * modules/ssize_t (Include): Add <sys/types.h>.
11168
11169 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
11170
11171         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
11172         it's not portable and it doesn't work with cross-compiles.
11173         Problem reported by Bruno Haible.  Fix missing-$ typo in
11174         'test "gl_cv_ignore_unused_libraries" ...' that prevented
11175         -zignore from being used with Sun's C compiler.
11176
11177 2006-01-12  Simon Josefsson  <jas@extundo.com>
11178
11179         * lib/base64.c: Fix warning, reported by Bruno Haible
11180         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
11181
11182 2006-01-12  Bruno Haible  <bruno@clisp.org>
11183
11184         * modules/ldd: New file.
11185         * build-aux/ldd.sh.in: New file.
11186         * MODULES.html.sh (Support for building libraries and executables): Add
11187         ldd.
11188
11189 2006-01-12  Bruno Haible  <bruno@clisp.org>
11190
11191         * m4/ldd.m4: New file.
11192
11193 2006-01-12  Bruno Haible  <bruno@clisp.org>
11194
11195         * gnulib-tool (func_import, func_create_testdir): Don't go into an
11196         endless loop while replacing $auxdir with build-aux.
11197
11198 2006-01-11  Simon Josefsson  <jas@extundo.com>
11199
11200         * lib/stdint_.h (SIZE_MAX): Add missing (.
11201
11202 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
11203
11204         Sync from coreutils.
11205         * lib/md5.c: Fix commentary typos.
11206         (alignof, UNALIGNED_P): No need for a GCC-specific version.
11207         * lib/md5.h (__attribute__): Remove; unused.
11208         * lib/sha1.c: Fix commentary to match md5 better.
11209         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
11210         so that we don't need to worry about alignment.  All uses changed.
11211         This merges the 2005-10-28 md5 change into sha1.
11212
11213 2006-01-11  Jim Meyering  <jim@meyering.net>
11214
11215         Sync from coreutils.
11216         * lib/md5.c (OP): Fix spacing.
11217
11218 2006-01-11  Bruno Haible  <bruno@clisp.org>
11219
11220         Ensure automatic ordering between gl_LOCK and gl_ARGP.
11221         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
11222         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
11223
11224 2006-01-11  Bruno Haible  <bruno@clisp.org>
11225
11226         Ensure automatic ordering between gl_LOCK and gl_ARGP.
11227         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
11228         the "early" section as well.
11229
11230 2006-01-11  Bruno Haible  <bruno@clisp.org>
11231
11232         Avoid "ar: no archive members specified" error on MacOS X.
11233         * gnulib-tool (func_modules_add_dummy): New function.
11234         (func_import, func_create_testdir): Invoke it.
11235
11236 2006-01-11  Bruno Haible  <bruno@clisp.org>
11237
11238         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
11239         with $auxdir in AC_CONFIG_FILES statements.
11240
11241 2006-01-11  Bruno Haible  <bruno@clisp.org>
11242
11243         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
11244         Initialize also noinst_HEADERS to empty.
11245
11246 2006-01-11  Bruno Haible  <bruno@clisp.org>
11247
11248         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
11249         variables.
11250         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
11251         autoreconf.
11252
11253 2006-01-11  Bruno Haible  <bruno@clisp.org>
11254
11255         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
11256         overridable by the user.
11257         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11258
11259 2006-01-10  Simon Josefsson  <jas@extundo.com>
11260
11261         * modules/sys_socket: New file.
11262
11263 2006-01-10  Simon Josefsson  <jas@extundo.com>
11264
11265         * m4/sys_socket_h.m4: New file.
11266
11267 2006-01-10  Simon Josefsson  <jas@extundo.com>
11268
11269         * lib/socket_.h: New file.
11270
11271 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
11272
11273         * modules/readutmp (Maintainer): Add myself.
11274
11275 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
11276
11277         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
11278         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
11279         People who are still concerned with buggy memcmp implementations
11280         can invoke gl_FUNC_MEMCMP themselves.
11281
11282 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
11283
11284         * lib/regex_internal.h (BITSET_WORD_BITS):
11285         Work around a bug in 64-bit PGC (before version 6.1-2), where the
11286         preprocessor mishandles large unsigned values as if they were signed.
11287         Problem reported by Claudio Fontana in
11288         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
11289
11290 2006-01-10  Jim Meyering  <jim@meyering.net>
11291
11292         Avoid the double-free (first in fts_read, second in fts_close) that
11293         would occur when an `active' directory is made inaccessible (e.g.,
11294         via chmod a-x) during a traversal.
11295         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
11296         before returning.  Reproduce this failure by
11297         mkdir -p a/b; cd a; chmod a-x . b
11298         Reported by Stavros Passas.
11299
11300         Sync from coreutils.
11301         * lib/sha1.c: Tweak grammar in a comment.
11302
11303 2006-01-10  Jim Meyering  <jim@meyering.net>
11304
11305         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
11306         Patch by Joerg Sonnenberger.
11307
11308 2006-01-10  Bruno Haible  <bruno@clisp.org>
11309
11310         * modules/readutmp: Depend on module free.
11311         * modules/strtok_r: Depend on module restrict.
11312
11313 2006-01-10  Bruno Haible  <bruno@clisp.org>
11314
11315         * modules/gettext (configure.ac): Add an invocation of
11316         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
11317
11318 2006-01-10  Bruno Haible  <bruno@clisp.org>
11319
11320         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
11321         Reported by Werner Lemberg <wl@gnu.org>.
11322
11323 2006-01-10  Bruno Haible  <bruno@clisp.org>
11324
11325         * lib/localcharset.c: Update from GNU gettext.
11326
11327 2006-01-10  Bruno Haible  <bruno@clisp.org>
11328
11329         * lib/argp.h (__const): Remove macro. Use const instead.
11330         * lib/argp-fmtstream.h (__const): Likewise.
11331         * lib/glob_.h (__const): Remove macro.
11332         * lib/glob-libc.h: Use const instead of __const.
11333
11334 2006-01-10  Bruno Haible  <bruno@clisp.org>
11335
11336         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
11337         variable.
11338         Needed to avoid an automake error regarding the 'gettext' module.
11339
11340 2006-01-09  Simon Josefsson  <jas@extundo.com>
11341
11342         * modules/inet_ntop (Depends-on): Add restrict.
11343
11344 2006-01-09  Simon Josefsson  <jas@extundo.com>
11345
11346         * modules/gc-rijndael-tests (License): Put under LGPL.
11347
11348         * modules/gc-des-tests (License): Likewise.
11349
11350         * modules/gc-arcfour-tests (License): Likewise.
11351
11352         * modules/gc-arctwo-tests (License): Likewise.
11353
11354         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
11355
11356         * modules/gc-hmac-sha1-tests (Files): Likewise.
11357
11358         * modules/gc-hmac-md5-tests (License): Likewise.
11359
11360         * modules/gc-sha1-tests (License): Likewise.
11361
11362         * modules/gc-md5-tests (License): Likewise.
11363
11364         * modules/gc-md4-tests (License): Likewise.
11365
11366         * modules/gc-md2-tests (License): Likewise.
11367
11368         * modules/gc-tests (License): Likewise.
11369
11370         * modules/des-tests (License): Likewise.
11371
11372         * modules/md4-tests (License): Likewise.
11373
11374         * modules/md2-tests (License): Likewise.
11375
11376 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11377
11378         Sync from coreutils:
11379
11380         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
11381         * modules/lib-ignore: New file.
11382         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
11383         chdir-safer.m4, lchmod.m4.
11384         * modules/openat: Add mkdirat.c, openat-priv.h.
11385
11386 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11387
11388         Sync from coreutils.
11389         * m4/lib-ignore.m4: New file.
11390         * m4/lchmod.m4: New file.
11391
11392 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11393
11394         Sync from coreutils.
11395         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
11396         for write access: POSIX says that must fail.
11397         * lib/fts.c (diropen): Likewise.
11398         * lib/save-cwd.c (save_cwd): Likewise.
11399         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
11400         well, for minor improvements on hosts that lack O_DIRECTORY.
11401         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
11402         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
11403         Fall back on chown if open failed with EACCES.
11404
11405         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
11406         Report an error at compile-time if only a 1-second nominal clock
11407         resolution is found.
11408
11409         * lib/lchmod.h: New file.
11410         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
11411         (make_dir_parents): Use lchown rather than chown, and
11412         lchmod rather than chmod.
11413
11414         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
11415         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
11416         "proc" reported by n0dalus.
11417
11418         * lib/mountlist.c: Include <limits.h>.
11419         (dev_from_mount_options)
11420         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
11421         New function.  It no longer assumes "dev=" has the System V meaning
11422         on Linux (since it doesn't).  It also parses "dev=" more carefully.
11423         (read_file_system_list)
11424         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
11425         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
11426         dev= in that case.
11427
11428         * lib/posixtm.h (PDS_PRE_2000): New macro.
11429         * lib/posixtm.c (year): Arg is now syntax_bits rather than
11430         allow_century.  All usages changed.  Reject dates outside the range
11431         1969-1999 if PDS_PRE_2000 is used.
11432
11433 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11434
11435         Sync from coreutils.
11436         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
11437         (Time of day items): Mention the possibility of leap seconds.
11438         Problem reported by Dr. David Alan Gilbert.
11439
11440 2006-01-09  Jim Meyering  <jim@meyering.net>
11441
11442         Sync from coreutils.
11443
11444         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
11445
11446         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
11447
11448         * lib/modechange.c (mode_compile): Reject an invalid mode string
11449         that starts with an octal digit.  From Andreas Gruenbacher.
11450
11451         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
11452         and dup to open_safer and dup_safer, respectively.
11453         (openat_permissive): Fix typo in comment.
11454
11455         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
11456         "gettext.h"; either no longer needed or are guaranteed by openat.h.
11457         (_): Remove; no longer needed.
11458         (openat): Renamed from rpl_openat; no need for rpl_openat
11459         since openat.h renames openat for us.
11460         Replace most of the body with a call to openat_permissive,
11461         to avoid duplicate code.
11462         Port to (probably hypothetical) environments were mode_t is
11463         wider than int.
11464         (openat_permissive): Require mode arg, so that we can check
11465         types better.  Put it just after flags.  Change cwd failure
11466         indicator from pointer-to-bool to pointer-to-errno-value.
11467         All callers changed.
11468         Invoke openat_save_fail and/or openat_restore_fail if
11469         cwd_errno is null, so that openat can call us.
11470         (openat_permissive, fdopendir, fstatat, unlinkat):
11471         Simplify errno handling to avoid some duplicate code,
11472         as it's OK to set errno on success.
11473         * lib/openat.h: Revamp code so that function macros depend on
11474         __OPENAT_PREFIX only, not also on AT_FDCWD.
11475         (openat_ro): Remove.  Caller changed to use openat_permissive.
11476         (openat_permissive): Now a macro, if not a function.
11477         (openat_restore_fail, openat_save_fail): Now always functions,
11478         since mkdirat needs them even if __OPENAT_PREFIX is defined.
11479
11480         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
11481         and openat.c.
11482         * lib/mkdirat.c: Include openat-priv.h.
11483         Remove definitions of macros defined therein.
11484         * lib/openat.c: Likewise.
11485
11486         * lib/mkdirat.c (mkdirat): New file and function.
11487         * lib/openat.h (mkdirat): Declare.
11488
11489         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
11490
11491         * lib/openat.h (openat_permissive): Declare.
11492         (openat_ro): Define.
11493
11494         * lib/openat.c (EXPECTED_ERRNO): New macro.
11495         (openat_permissive): New function -- used in remove.c rewrite.
11496         (all functions): Set errno just before returning, only if there
11497         was an actual failure.
11498         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
11499
11500         Emulate openat-family functions using Linux's procfs, if possible.
11501         Idea and some code based on Ulrich Drepper's glibc changes.
11502
11503         * lib/openat.c: (BUILD_PROC_NAME): New macro.
11504         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
11505         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
11506         before falling back on save_cwd and restore_cwd.
11507         (fdopendir, fstatat, unlinkat): Likewise.
11508
11509         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
11510         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
11511
11512         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
11513         as second argument to va_arg.  Otherwise, some versions of gcc
11514         warn that `if this code is reached, the program will abort'.
11515
11516 2006-01-09  Jim Meyering  <jim@meyering.net>
11517
11518         Sync from coreutils.
11519         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
11520         Require openat-priv.h.
11521
11522 2006-01-09  Bruno Haible  <bruno@clisp.org>
11523
11524         * modules/strnlen (Include): Use strnlen.h.
11525
11526 2006-01-09  Bruno Haible  <bruno@clisp.org>
11527
11528         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
11529
11530 2006-01-09  Bruno Haible  <bruno@clisp.org>
11531
11532         * lib/sysexit_.h (EX_OK): New macro.
11533         Suggested by Martin Lambers <marlam@marlam.de>.
11534
11535 2006-01-09  Bruno Haible  <bruno@clisp.org>
11536
11537         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
11538         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
11539
11540 2006-01-09  Bruno Haible  <bruno@clisp.org>
11541
11542         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
11543         numbers.
11544
11545 2006-01-09  Bruno Haible  <bruno@clisp.org>
11546
11547         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
11548         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
11549         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
11550         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
11551
11552 2006-01-09  Bruno Haible  <bruno@clisp.org>
11553
11554         * build-aux/javacomp.sh.in: New file, moved from lib/.
11555         * modules/javacomp-script (Files): Update.
11556         (configure.ac): Add AC_CONFIG_FILES invocation.
11557         (EXTRA_DIST): Remove variable.
11558
11559         * build-aux/javaexec.sh.in: New file, moved from lib/.
11560         * modules/javaexec (Files): Update.
11561         (configure.ac): Add AC_CONFIG_FILES invocation.
11562         (EXTRA_DIST): Remove javaexec.sh.in.
11563
11564         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
11565         * modules/csharpcomp-script (Files): Update.
11566         (configure.ac): Add AC_CONFIG_FILES invocation.
11567         (EXTRA_DIST): Remove variable.
11568
11569         * build-aux/csharpexec.sh.in: New file, moved from lib/.
11570         * modules/csharpexec (Files): Update.
11571         (configure.ac): Add AC_CONFIG_FILES invocation.
11572         (EXTRA_DIST): Remove csharpexec.sh.in.
11573
11574 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
11575
11576         Sync from coreutils.
11577
11578         Add POSIX ACL support
11579         * lib/acl.h (copy_acl, set_acl): Add declarations.
11580         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
11581         systems other than Linux.
11582         (chmod_or_fchmod): New function: use fchmod when possible,
11583         and chmod otherwise.
11584         (file_has_acl): Add a POSIX ACL implementation, with a
11585         Linux-specific subcase.
11586         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
11587         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
11588         acls are unsupported.
11589         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
11590         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
11591         are unsupported.
11592
11593 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
11594
11595         Sync from coreutils.
11596         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
11597
11598 2006-01-07  Bruno Haible  <bruno@clisp.org>
11599
11600         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
11601         gl_EARLY.
11602
11603 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11604
11605         * lib/strftime.c (tzname): Don't declare if it is already #defined.
11606         Problem reported for Mingw by Mark Junker.
11607
11608 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11609
11610         * README: Gnulib normally doesn't generate a tarball.
11611
11612 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
11613
11614         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
11615         long int, not int, for nanosecond counts, so that people who are
11616         used to POSIX struct timespec won't be surprised.  Reported by Jim
11617         Meyering.
11618
11619 2005-12-28  Bruno Haible  <bruno@clisp.org>
11620
11621         * build-aux/config.rpath: Update from GNU gettext.
11622
11623 2005-12-16  Jim Meyering  <jim@meyering.net>
11624
11625         * modules/fprintftime: New module.
11626         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
11627
11628 2005-12-16  Jim Meyering  <jim@meyering.net>
11629
11630         * m4/fprintftime.m4: New file.
11631
11632 2005-12-16  Jim Meyering  <jim@meyering.net>
11633
11634         * lib/fprintftime.c, lib/fprintftime.h: New files.
11635
11636 2005-12-15  Simon Josefsson  <jas@extundo.com>
11637
11638         * modules/socklen (configure.ac): Fix M4 macro name, to align with
11639         new m4/socklen.m4.
11640
11641 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11642
11643         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
11644         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
11645
11646 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11647
11648         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
11649         * lib/argp-help.c (fill_in_uparams): Check if the constructed
11650         struct uparams is valid. Fall back to the default values if it is
11651         not.
11652
11653 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11654
11655         * modules/argp (Files): Add argp-pin.c
11656         (Depends-on): dirname
11657         (lib_SOURCES): Add argp-pin.c
11658
11659 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11660
11661         * m4/argp.m4:  Check if program_invocation_name and
11662         program_invocation_short_name are declared and define appropriate
11663         macros if they are not.
11664
11665 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11666
11667         * lib/argp-help.c (__argp_base_name): New function
11668         (__argp_short_program_name): Rewrite using __argp_base_name
11669         * lib/argp-namefrob.h: Define program_invocation_name and
11670         program_invocation_short_name if requested
11671         (__argp_base_name): Add prototype
11672         * lib/argp-parse.c (argp_def): Use gettext wrappers
11673         (argp_default_parser): Use __argp_base_name
11674         * lib/argp-pin.c: New file. Defines program_invocation_name and
11675         program_invocation_short_name on systems that lack them.
11676
11677 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11678
11679         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
11680         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11681         porting problem reported by Georg Schwarz in
11682         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11683
11684 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11685
11686         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
11687         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11688         porting problem reported by Georg Schwarz in
11689         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11690
11691 2005-12-05  Bruno Haible  <bruno@clisp.org>
11692
11693         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
11694         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
11695         Reported by Mark Junker <mjscod@gmx.de>.
11696
11697 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
11698
11699         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
11700         Use implementation from Albert Chin, with some
11701         comments/corrections by Stepan Kasal and myself.
11702
11703 2005-12-02  Bruno Haible  <bruno@clisp.org>
11704
11705         * gnulib-tool (func_import): Accept GPLed build tool modules when
11706         --lgpl is given.
11707         * modules/csharpcomp-script: New file.
11708         * modules/csharpcomp: Depend on it.
11709         * modules/javacomp-script: New file.
11710         * modules/javacomp: Depend on it.
11711         Suggested by Simon Josefsson.
11712
11713 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
11714
11715         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
11716         statement, to work around an HP-UX 10.20 compiler bug reported by
11717         Peter O'Gorman.
11718
11719 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11720
11721         * modules/savedir (Depends-on): Add openat.
11722
11723 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11724
11725         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
11726         (uintmax_t) [defined uintmax_t]: Do not declare.
11727         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
11728         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
11729         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
11730         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
11731         sake of portability to weird hosts that C allows (though we don't
11732         know of any practical examples).
11733
11734         * lib/savedir.h (fdsavedir): New decl.
11735         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
11736         contains most of the former guts of savedir.
11737         (savedir): Use savedirstream.
11738         Include "openat.h".
11739
11740 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11741
11742         * modules/obstack (Files): Add m4/ulonglong.m4.
11743         Problem reported by Davide Angelocola.
11744
11745 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
11746
11747         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
11748         coreutils no longer futzes with rounding modes.
11749
11750 2005-11-14  Jim Meyering  <jim@meyering.net>
11751
11752         * lib/mkstemp-safer.c: Include <config.h>, required for possible
11753         replacement of mkstemp.
11754
11755 2005-11-10  Simon Josefsson  <jas@extundo.com>
11756
11757         * lib/readline.c: Remove EOL.
11758
11759 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11760
11761         * modules/gethrxtime (Depends-on): Add gettime.
11762
11763 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11764
11765         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
11766         or gettimeofday; no longer needed.
11767
11768 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11769
11770         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
11771         time business.
11772         (gethrxtime) [! (HAVE_NANOUPTIME
11773         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
11774         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
11775         our own approximation.
11776
11777 2005-11-08  Eric Blake  <ebb9@byu.net>
11778
11779         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11780
11781 2005-11-08  Eric Blake  <ebb9@byu.net>
11782
11783         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11784
11785 2005-11-04  Bruno Haible  <bruno@clisp.org>
11786
11787         * gnulib-tool: Implement --update mode.
11788
11789 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11790
11791         Fix porting problem reported by Theodoros V. Kalamatianos.
11792         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
11793         Don't assume that futimes failing means we must fail.
11794
11795 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11796
11797         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
11798         variables to suggest the intended function of the PATH_MAX check.
11799
11800 2005-10-30  Kean Johnston  <jkj@sco.com>
11801
11802         Trivial changes to support SCO systems.
11803         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
11804         as PATH_MAX.
11805         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
11806         where __ptr is null when no I/O is pending.
11807
11808 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11809
11810         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
11811         leave errno alone.  Problem reported by Dmitry V. Levin.
11812
11813 2005-10-28  Simon Josefsson  <jas@extundo.com>
11814
11815         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
11816         Test more.
11817
11818         * tests/test-gc-md2.c, tests/test-md2.c: New files.
11819
11820         * modules/md2, modules/md2-tests: New files.
11821
11822 2005-10-28  Simon Josefsson  <jas@extundo.com>
11823
11824         * m4/inet_ntop.m4: More tests.
11825
11826         * m4/gc-md2.m4, md2.m4: New file.
11827
11828 2005-10-28  Simon Josefsson  <jas@extundo.com>
11829
11830         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
11831         "restrict" keywords, as per POSIX.  Protect the function
11832         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
11833         Don't use K&R prototypes.  Check the sprintf return values.
11834         Re-define EAFNOSUPPORT if not present.  Indent.
11835
11836         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
11837         suggested by Bruno Haible <bruno@clisp.org>.
11838
11839         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
11840
11841         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
11842
11843         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
11844         libgcrypt).
11845
11846         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
11847
11848         * lib/md2.h, lib/md2.c: New files.
11849
11850 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
11851
11852         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
11853         errno alone.  Problem reported by Frederic Jolliton.
11854
11855 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11856
11857         * modules/verify (License): Change from GPL to LGPL.  This is a
11858         tiny module and there are apparently near-equivalents that are
11859         under the BSD license.
11860
11861 2005-10-24  Simon Josefsson  <jas@extundo.com>
11862
11863         * modules/sha1: Relicense to LGPL.
11864
11865 2005-10-24  Simon Josefsson  <jas@extundo.com>
11866
11867         * lib/md4.h: Shrink buffer size, now that we changed the type.
11868
11869 2005-10-23  Simon Josefsson  <jas@extundo.com>
11870
11871         * gnulib-tool (func_import): Fix --tests-base.
11872
11873 2005-10-22  Simon Josefsson  <jas@extundo.com>
11874
11875         * modules/arcfour (Depends-on): Need stdint.
11876
11877 2005-10-22  Simon Josefsson  <jas@extundo.com>
11878
11879         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
11880         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
11881
11882 2005-10-22  Simon Josefsson  <jas@extundo.com>
11883
11884         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
11885         suggested by Bruno Haible <bruno@clisp.org>.
11886
11887 2005-10-22  Simon Josefsson  <jas@extundo.com>
11888
11889         * lib/crc.h: Include stddef.h, for size_t.
11890
11891 2005-10-22  Simon Josefsson  <jas@extundo.com>
11892
11893         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
11894         arcfour_context struct (simplify test vector testing in GNU
11895         Shishi).
11896
11897 2005-10-21  Simon Josefsson  <jas@extundo.com>
11898
11899         * modules/des, modules/des-tests: New files.
11900
11901         * modules/gc-des, modules/gc-des-tests: New files.
11902
11903         * tests/test-des.c, tests/test-gc-des.c: New file.
11904
11905 2005-10-21  Simon Josefsson  <jas@extundo.com>
11906
11907         * modules/arctwo, modules/arctwo-tests: New files.
11908
11909         * tests/test-arctwo.c: New file.
11910
11911         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
11912
11913         * tests/test-gc-arctwo.c: New file.
11914
11915 2005-10-21  Simon Josefsson  <jas@extundo.com>
11916
11917         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
11918         Bruno Haible <bruno@clisp.org>.
11919
11920         * m4/gc-des.m4: New file.
11921
11922 2005-10-21  Simon Josefsson  <jas@extundo.com>
11923
11924         * m4/arctwo.m4: New file.
11925
11926         * m4/gc-arctwo.m4: New file.
11927
11928 2005-10-21  Simon Josefsson  <jas@extundo.com>
11929
11930         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
11931         block.
11932
11933 2005-10-21  Simon Josefsson  <jas@extundo.com>
11934
11935         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
11936         <bruno@clisp.org>.
11937
11938         * lib/hmac-sha1.c (hmac_sha1): Likewise.
11939
11940         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
11941         Bruno Haible <bruno@clisp.org>.
11942
11943         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
11944         <bruno@clisp.org>.
11945
11946 2005-10-21  Simon Josefsson  <jas@extundo.com>
11947
11948         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
11949
11950 2005-10-21  Simon Josefsson  <jas@extundo.com>
11951
11952         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
11953
11954 2005-10-21  Simon Josefsson  <jas@extundo.com>
11955
11956         * lib/des.h, lib/des.c: New files.
11957
11958         * lib/gc-gnulib.c: Support DES.c
11959
11960 2005-10-21  Simon Josefsson  <jas@extundo.com>
11961
11962         * lib/arctwo.h, lib/arctwo.c: New files.
11963
11964         * lib/gc-gnulib.c: Support ARCTWO.
11965
11966 2005-10-21  Simon Josefsson  <jas@extundo.com>
11967
11968         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
11969         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11970
11971 2005-10-21  Simon Josefsson  <jas@extundo.com>
11972
11973         * gnulib-tool (func_import, func_create_testdir): Define automake
11974         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
11975         Makefile.am snippet),
11976         suggested by Bruno Haible <bruno@clisp.org>.
11977
11978         * modules/gc (Makefile.am): Use it.
11979
11980 2005-10-21  Bruno Haible  <bruno@clisp.org>
11981
11982         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
11983         patch.
11984
11985 2005-10-19  Simon Josefsson  <jas@extundo.com>
11986
11987         * tests/test-gc-rijndael.c: New file.
11988
11989         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
11990
11991 2005-10-19  Simon Josefsson  <jas@extundo.com>
11992
11993         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
11994         interface too.
11995
11996 2005-10-19  Simon Josefsson  <jas@extundo.com>
11997
11998         * tests/test-gc-arcfour.c: New file.
11999
12000         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
12001
12002 2005-10-19  Simon Josefsson  <jas@extundo.com>
12003
12004         * modules/gc-md4, modules/gc-md4-tests: New file.
12005
12006         * tests/test-gc-md4.c: New file.
12007
12008 2005-10-19  Simon Josefsson  <jas@extundo.com>
12009
12010         * m4/gc-md4.m4: New file.
12011
12012 2005-10-19  Simon Josefsson  <jas@extundo.com>
12013
12014         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
12015         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
12016         <kasal@ucw.cz>.
12017
12018 2005-10-19  Simon Josefsson  <jas@extundo.com>
12019
12020         * m4/gc-arcfour.m4: New file.
12021
12022         * m4/gc-rijndael.m4: New file.
12023
12024 2005-10-19  Simon Josefsson  <jas@extundo.com>
12025
12026         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
12027
12028 2005-10-19  Simon Josefsson  <jas@extundo.com>
12029
12030         * lib/gc-gnulib.c: Support ARCFOUR.
12031
12032 2005-10-19  Simon Josefsson  <jas@extundo.com>
12033
12034         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
12035         support.
12036
12037         * lib/gc.h: Add ECB enum type.
12038
12039         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
12040
12041 2005-10-18  Simon Josefsson  <jas@extundo.com>
12042
12043         * tests/test-md5.c: New file.
12044
12045         * modules/md5-tests: New file.
12046
12047 2005-10-18  Simon Josefsson  <jas@extundo.com>
12048
12049         * tests/test-md4.c: New file.
12050
12051         * modules/md4, modules/md4-tests: New files.
12052
12053 2005-10-18  Simon Josefsson  <jas@extundo.com>
12054
12055         * m4/md4.m4: New file.
12056
12057 2005-10-18  Simon Josefsson  <jas@extundo.com>
12058
12059         * lib/md4.h, lib/md4.c: New files, based on md5.?.
12060
12061 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
12062
12063         * gnulib-tool (func_create_testdir): Omit the second check whether
12064         BUILT_SOURCES in nonempty.
12065
12066 2005-10-17  Simon Josefsson  <jas@extundo.com>
12067
12068         * tests/test-rijndael.c: New file.
12069
12070 2005-10-17  Simon Josefsson  <jas@extundo.com>
12071
12072         * modules/sha1: Depend on stdint instead of md5.
12073
12074         * modules/md5: Depend on stdint, remove uint32_t.
12075
12076 2005-10-17  Simon Josefsson  <jas@extundo.com>
12077
12078         * modules/gc-sha1-tests: New file.
12079
12080         * tests/test-gc-sha1.c: New file.
12081
12082 2005-10-17  Simon Josefsson  <jas@extundo.com>
12083
12084         * m4/md5.m4: Remove call to uint32_t.m4.
12085
12086 2005-10-17  Simon Josefsson  <jas@extundo.com>
12087
12088         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
12089
12090         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
12091         md5.h.
12092
12093         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
12094
12095         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
12096
12097 2005-10-17  Simon Josefsson  <jas@extundo.com>
12098
12099         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
12100
12101 2005-10-17  Simon Josefsson  <jas@extundo.com>
12102
12103         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
12104
12105 2005-10-17  Simon Josefsson  <jas@extundo.com>
12106
12107         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
12108
12109         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
12110
12111 2005-10-17  Bruno Haible  <bruno@clisp.org>
12112
12113         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
12114         that it can also be used in a test.
12115
12116 2005-10-16  Bruno Haible  <bruno@clisp.org>
12117
12118         * gnulib-tool (func_emit_tests_Makefile_am): Also define
12119         TESTS_ENVIRONMENT, so that individual tests can augment it.
12120
12121         * gnulib-tool (func_create_testdir): Use an intermediate target for
12122         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
12123         macros, like $(ALLOCA_H), which cannot be passed through the command
12124         line.
12125
12126 2005-10-15  Simon Josefsson  <jas@extundo.com>
12127
12128         * modules/rijndael-tests: New file.
12129
12130         * modules/rijndael: New file.
12131
12132 2005-10-15  Simon Josefsson  <jas@extundo.com>
12133
12134         * m4/rijndael.m4: New file.
12135
12136 2005-10-15  Simon Josefsson  <jas@extundo.com>
12137
12138         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
12139
12140         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
12141
12142 2005-10-14  Simon Josefsson  <jas@extundo.com>
12143
12144         * tests/test-arcfour.c: New file.
12145
12146         * modules/arcfour, modules/arcfour-tests: New files.
12147
12148 2005-10-14  Simon Josefsson  <jas@extundo.com>
12149
12150         * m4/arcfour.m4: New file.
12151
12152 2005-10-14  Simon Josefsson  <jas@extundo.com>
12153
12154         * lib/arcfour.h, lib/arcfour.c: New files.
12155
12156 2005-10-14  Roland McGrath  <roland@redhat.com>
12157
12158         Import from libc.  [BZ #1331]
12159         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
12160         macro argument.
12161         Reported by Matej Vela <vela@debian.org>.
12162
12163 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12164
12165         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
12166         include <wchar.h>; no longer needed.
12167
12168 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12169
12170         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
12171
12172 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
12173         and  Ulrich Drepper  <drepper@redhat.com>
12174
12175         Import from libc.
12176         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
12177         instead of inline stream orientation test and two separate
12178         function calls.  Pay no attention to USE_IN_LIBIO.
12179
12180 2005-10-13  Simon Josefsson  <jas@extundo.com>
12181
12182         * modules/gc-hmac-md5-tests: New file.
12183
12184         * tests/test-gc-hmac-sha1.c: New file.
12185
12186         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
12187
12188         * modules/gc-hmac-md5-tests: New file.
12189
12190         * tests/test-gc-md5.c: New file.
12191
12192         * modules/gc-md5-tests: New file.
12193
12194 2005-10-13  Simon Josefsson  <jas@extundo.com>
12195
12196         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
12197         Move memory allocation outside of loop.
12198
12199 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12200
12201         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
12202         intermediate directory is in a read-only file system.  Problem
12203         reported by Eric Blake.
12204
12205 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
12206
12207         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
12208
12209 2005-10-12  Simon Josefsson  <jas@extundo.com>
12210
12211         * tests/test-hmac-sha1.c: New file.
12212
12213         * modules/hmac-sha1-tests: New file.
12214
12215         * modules/hmac-sha1: New file.
12216
12217 2005-10-12  Simon Josefsson  <jas@extundo.com>
12218
12219         * modules/gc-sha1: New file.
12220
12221 2005-10-12  Simon Josefsson  <jas@extundo.com>
12222
12223         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
12224
12225         * tests/test-gc-pbkdf2-sha1.c: New file.
12226
12227 2005-10-12  Simon Josefsson  <jas@extundo.com>
12228
12229         * modules/gc-md5, modules/gc-hmac-md5: New files.
12230
12231         * modules/gc (Files): Remove md5, memxor and hmac files.
12232
12233 2005-10-12  Simon Josefsson  <jas@extundo.com>
12234
12235         * m4/gc-pbkdf2-sha1.m4: New file.
12236
12237         * m4/gc-hmac-sha1.m4: New file.
12238
12239         * m4/gc-sha1: New file.
12240
12241         * m4/hmac-sha1.m4: New file.
12242
12243 2005-10-12  Simon Josefsson  <jas@extundo.com>
12244
12245         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
12246
12247         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
12248
12249 2005-10-12  Simon Josefsson  <jas@extundo.com>
12250
12251         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
12252         suggested by Bruno Haible <bruno@clisp.org>.
12253
12254 2005-10-12  Simon Josefsson  <jas@extundo.com>
12255
12256         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
12257
12258 2005-10-12  Simon Josefsson  <jas@extundo.com>
12259
12260         * lib/gc-pbkdf2-sha1.c: New file.
12261
12262         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
12263
12264 2005-10-12  Simon Josefsson  <jas@extundo.com>
12265
12266         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
12267
12268         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
12269
12270 2005-10-12  Simon Josefsson  <jas@extundo.com>
12271
12272         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
12273         GC_USE_HMAC_MD5, respectively.
12274
12275         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
12276         (gc_md5): Fix typo.
12277
12278         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
12279
12280         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
12281
12282         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
12283
12284 2005-10-12  Bruno Haible  <bruno@clisp.org>
12285
12286         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
12287         Reported by Stepan Kasal <kasal@ucw.cz>.
12288
12289 2005-10-11  Simon Josefsson  <jas@extundo.com>
12290
12291         * tests/test-crc.c: New file.
12292
12293         * modules/crc, modules/crc-tests: New files.
12294
12295 2005-10-11  Simon Josefsson  <jas@extundo.com>
12296
12297         * m4/crc.m4: New file.
12298
12299 2005-10-11  Simon Josefsson  <jas@extundo.com>
12300
12301         * lib/gc.h: Add gc_hash and gc_hash_buffer.
12302
12303         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
12304
12305         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
12306
12307 2005-10-11  Simon Josefsson  <jas@extundo.com>
12308
12309         * lib/crc.h, lib/crc.c: New files.
12310
12311         * lib/gc.h (gc_hash_buffer): Add doc.
12312
12313 2005-10-11  Bruno Haible  <bruno@clisp.org>
12314
12315         * modules/c-strcasestr: New file.
12316         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
12317
12318 2005-10-11  Bruno Haible  <bruno@clisp.org>
12319
12320         * modules/c-strcase: New file.
12321         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
12322
12323 2005-10-11  Bruno Haible  <bruno@clisp.org>
12324
12325         * lib/strcasecmp.c: Include limits.h.
12326         (strcasecmp): Avoid integer overflow on exotic platforms.
12327         * lib/strncasecmp.c: Include limits.h.
12328         (strncasecmp): Avoid integer overflow on exotic platforms.
12329         Reported by Paul Eggert.
12330
12331 2005-10-11  Bruno Haible  <bruno@clisp.org>
12332
12333         * lib/c-strcasestr.h: New file, from GNU gettext.
12334         * lib/c-strcasestr.c: New file, from GNU gettext.
12335
12336 2005-10-11  Bruno Haible  <bruno@clisp.org>
12337
12338         * lib/c-strcase.h: New file, from GNU gettext.
12339         * lib/c-strcasecmp.c: New file, from GNU gettext.
12340         * lib/c-strncasecmp.c: New file, from GNU gettext.
12341
12342 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12343
12344         * modules/mempcpy (License): GPL -> LGPL.
12345         * modules/strchrnul (License): Likewise.
12346         * modules/sysexits (License): Likewise.
12347
12348 2005-10-08  Simon Josefsson  <jas@extundo.com>
12349
12350         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
12351
12352 2005-10-07  Simon Josefsson  <jas@extundo.com>
12353
12354         * m4/memxor.m4: Remove gl_C_RESTRICT call.
12355
12356 2005-10-06  Simon Josefsson  <jas@extundo.com>
12357
12358         * tests/test-hmac-md5.c: New file.
12359
12360         * modules/hmac-md5-tests: New file.
12361
12362         * modules/hmac-md5: New file.
12363
12364 2005-10-06  Simon Josefsson  <jas@extundo.com>
12365
12366         * m4/hmac-md5.m4: New file.
12367
12368         * m4/memxor.m4: Require gl_C_RESTRICT.
12369
12370 2005-10-06  Simon Josefsson  <jas@extundo.com>
12371
12372         * lib/memxor.c (memxor): Avoid casts and warnings.
12373
12374 2005-10-06  Simon Josefsson  <jas@extundo.com>
12375
12376         * lib/hmac-md5.c: New file.
12377
12378         * lib/hmac.h: New file.
12379
12380 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12381
12382         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
12383         promotes to int, not unsigned int, to catch the AIX 5.3
12384         compiler bug.
12385
12386 2005-10-05  Simon Josefsson  <jas@extundo.com>
12387
12388         * modules/memxor: New file.
12389
12390         * modules/iconv (Files): Move config.rpath to havelib, it is used
12391         there.
12392
12393         * modules/havelib (Files): Add config.rpath.
12394
12395 2005-10-05  Simon Josefsson  <jas@extundo.com>
12396
12397         * m4/memxor.m4: New file.
12398
12399 2005-10-05  Simon Josefsson  <jas@extundo.com>
12400
12401         * lib/memxor.c (memxor): Fix compiler error.
12402
12403         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
12404         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
12405
12406         * lib/memxor.h, lib/memxor.c: New files.
12407
12408         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
12409         we assume all systems have it, suggested by Jim Meyering
12410         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
12411         any systems lack sys/socket.h; mingw32 is known to lack it, but we
12412         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
12413         same reasons.
12414
12415 2005-10-05  Simon Josefsson  <jas@extundo.com>
12416
12417         * config/srclist.txt: Add glibc bug 1423 for md5.h.
12418
12419 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12420
12421         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
12422         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
12423         needed, since the source code now assumes these .h files.
12424
12425 2005-10-05  Derek Price  <derek@ximbiot.com>
12426
12427         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
12428
12429 2005-10-05  Bruno Haible  <bruno@clisp.org>
12430
12431         * modules/stdint (License): Change to LGPL.
12432
12433 2005-10-04  Simon Josefsson  <jas@extundo.com>
12434
12435         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
12436         D. Baushke" <mdb@gnu.org>.
12437
12438 2005-10-04  Bruno Haible  <bruno@clisp.org>
12439
12440         * lib/verify.h (verify_true): Provide alternative definition for C++.
12441
12442 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
12443
12444         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
12445         (SSIZE_MAX): New macro, if not already defined.
12446         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
12447         than 2 GiB.
12448
12449 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12450
12451         Sync from coreutils.
12452         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
12453         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
12454         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
12455         ULLONG_MAX doesn't work with 2.7.2.1.
12456
12457 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12458
12459         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
12460         From Ben Pfaff.
12461
12462         * modules/exclude (Depends-on): Depend on verify.
12463         * modules/strtoimax (Depends-on): Likewise.
12464         * modules/utimecmp (Depends-on): Likewise.
12465
12466 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12467
12468         * lib/exclude.c: Include verify.h.
12469         (verify): Remove.  All callers changed to use verify.h's version.
12470         * lib/strtoimax.c: Likewise.
12471         * lib/utimecmp.c: Likewis.e
12472
12473         Sync from coreutils.
12474         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
12475         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
12476         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
12477         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
12478         bother returning ENOSYS if settimeofday or stime fails; just let
12479         them return whatever errno they want to return.
12480         * lib/utimens.c: Include unistd.h, for dup2.
12481         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
12482         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
12483
12484 2005-10-02  Jim Meyering  <jim@meyering.net>
12485
12486         Sync from coreutils.
12487         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
12488         from glibc-2.2.5 that fails for read-only files.
12489
12490 2005-10-02  Jim Meyering  <jim@meyering.net>
12491
12492         Sync from coreutils.
12493         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
12494         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
12495         `#if HAVE_CONFIG_H'.
12496         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
12497         Remove AT_FDCWD test.
12498         Do not consume the fd unless successful.
12499         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
12500         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
12501         block, so that we don't even try to compile it if settimeofday is
12502         available.  This works around a compilation failure on OSF1 V5.1,
12503         due to stime requiring a `long int*' while tv_sec is `int'.
12504
12505 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
12506
12507         Sync from coreutils.
12508         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
12509         against `yes', rather than just testing for nonempty.
12510
12511 2005-10-01  Simon Josefsson  <jas@extundo.com>
12512
12513         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
12514         and Darwin.
12515
12516         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
12517         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
12518         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
12519         freeaddrinfo and gai_strerror are declared by the POSIX headers.
12520         Check if struct addrinfo is declared.
12521
12522 2005-10-01  Simon Josefsson  <jas@extundo.com>
12523
12524         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
12525         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
12526         AI_* and EAI_* definitions.  Protect function declarations.
12527
12528 2005-10-01  Jim Meyering  <jim@meyering.net>
12529
12530         Sync from coreutils.
12531
12532         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
12533         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
12534         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
12535         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
12536         in the inet and nsl libraries.  Required on Solaris 5.7.
12537
12538 2005-10-01  Jim Meyering  <jim@meyering.net>
12539
12540         Sync from coreutils.
12541         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
12542         in the inet and nsl libraries.  Required on Solaris 5.7.
12543
12544 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
12545
12546         * lib/getdelim.c (getdelim): Remove unused variables.
12547
12548 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
12549
12550         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
12551         so that the code works even with ancient cpp.  Portability problem
12552         with GCC 2.7.2.1 reported by Thomas M.Ott.
12553
12554 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
12555
12556         * modules/regex (Depends-on): Add strcase.
12557
12558         * modules/gethostname (Licence): Change from GPL to LGPL, since
12559         gethostname.c is a trivial implementation of a standard library
12560         function.
12561         * modules/poll (License): Change from GPL to LGPL, since it's
12562         derived from LGPL code.
12563
12564 2005-09-27  Jim Meyering  <jim@meyering.net>
12565
12566         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
12567         HAVE_CONFIG_H.
12568
12569         * lib/intprops.h (signed_type_or_expr__): Define.
12570         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
12571         for unsigned types.
12572
12573 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12574
12575         * lib/verify.h (verify_expr): Remove, replacing with:
12576         (verify_true): New macro that returns true instead of void.
12577         (verify_type__): Remove.
12578         (verify): Use verify_true rather than verify_type__.
12579
12580 2005-09-26  Bruno Haible  <bruno@clisp.org>
12581
12582         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
12583         is necessary.
12584         (lib_SOURCES): Remove mbchar.c.
12585         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
12586         (Files): Add m4/mbrtowc.m4.
12587         * modules/mbiter: Likewise.
12588         * modules/mbuiter: Likewise.
12589
12590 2005-09-26  Bruno Haible  <bruno@clisp.org>
12591
12592         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
12593         compile mbchar.c if they are not both present.
12594         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
12595         * m4/mbiter.m4 (gl_MBITER): Likewise.
12596         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
12597         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
12598         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
12599
12600 2005-09-25  Jim Meyering  <jim@meyering.net>
12601
12602         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
12603         also uses socklen_t.
12604
12605 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12606
12607         * lib/utimens.c (ENOSYS): Define if not already defined.
12608         (futimens): Support having a null PATH if the file descriptor
12609         is nonnegative.
12610
12611         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
12612         Remove.
12613         (__attribute): Define to empty unless GCC 3.1 or later.
12614         This works around a core dump on OpenBSD 3.4, which has GCC
12615         2.95.3, which dumps core when given __attribute__(()).  It also
12616         simplifies other tests, since we really don't want to bother with
12617         worrying about which ancient version of GCC supported what.
12618         Original problem reported by Yoann Vandoorselaere, with part of
12619         the fix suggested by Derek Price.
12620
12621 2005-09-24  Jim Meyering  <jim@meyering.net>
12622
12623         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
12624         so we can once again use a positive bitfield width of 1 -- now we
12625         don't have to explain why we were using a bitfield width of 2.
12626
12627 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12628
12629         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
12630         and similarly for the other external symbols.  Problem reported
12631         by James Gallager.
12632
12633         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
12634         bug reported by Jim Meyering.
12635
12636         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
12637         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
12638         not needed, since socklen is a prerequisite module.
12639
12640 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12641
12642         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
12643         Problem reported by Eric Blake.
12644         (getaddrinfo): Initialize se so that it's not garbage.
12645         Redo internal storage allocation so that it doesn't make unportable
12646         assumptions about alignment.
12647         Fix a memory leak.
12648
12649         * lib/utimens.c (futimens): Use futimesat if available.
12650         Prefer it to futimes since it doesn't have the futimes bug.
12651
12652         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
12653         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
12654         Instead, declare a function that returns a pointer to an array,
12655         and use verify_type__ to declare the size of the array.
12656         Problem and germ of a solution reported by Bruno Haible.
12657         (verify_type__): Use 2, not 1, for bitfield size, to avoid
12658         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
12659
12660 2005-09-23  Jim Meyering  <jim@meyering.net>
12661
12662         Sync from coreutils.
12663         Correct build failure (socklen_t not defined) on at least
12664         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
12665         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
12666
12667 2005-09-23  Jim Meyering  <jim@meyering.net>
12668
12669         * modules/getaddrinfo (Depends-on): Add socklen.
12670
12671 2005-09-23  Bruno Haible  <bruno@clisp.org>
12672
12673         * tests/test-verify.c: New file.
12674
12675 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12676
12677         Sync from coreutils.
12678
12679         * modules/argmatch (Depends-on): Add verify.
12680         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
12681         unistd-safer.
12682         * modules/save-cwd (Depends-on): Likewise.
12683
12684         * modules/openat (Files): Add lib/openat-die.c.
12685         (Depends-on): Remove error, exitfail.
12686         Add dirname.
12687
12688         * modules/verify: New file.
12689         * MODULES.html.sh (Diagnostics <assert.h>): New section,
12690         with "verify" module.
12691
12692 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12693
12694         Sync from coreutils.
12695
12696         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
12697         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
12698         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
12699         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
12700         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
12701         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
12702         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
12703         Don't bother checking for string.h, stdlib.h, unistd.h.
12704         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
12705         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
12706         module's job.
12707         * m4/jm-macros.m4 (gl_MACROS): Likewise.
12708         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
12709
12710         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
12711         (gl_GETDATE): Use it.
12712
12713         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
12714
12715 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12716
12717         Sync from coreutils.
12718
12719         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
12720         stat-time.h.
12721         * lib/argmatch.h: Include verify.h
12722         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
12723         (ARGMATCH_ASSERT): Remove; unused.
12724         * lib/canonicalize.c: Assume STDC_HEADERS.
12725         * lib/exclude.c: Include "strcase.h".
12726         * lib/regex_internal.h [!defined _LIBC]: Likewise.
12727         * lib/getusershell.c: Include stdio--.h rather than stdio.h
12728         and stdio-safer.h.
12729         (getusershell): Call fopen, not fopen_safer.
12730         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
12731         Do not include unistd-safer.h.
12732         (save_cwd): Don't call fd_safer; no longer needed
12733         now that we include fcntl--.h.
12734
12735         * lib/getdate.y (relative_time): New type.
12736         (RELATIVE_TIME_0): New constant.
12737         (parser_control): Use relative_time instead of doing it ourselves.
12738         (%union): Add new relative_time rel member.
12739         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
12740         Now typeless.
12741         (relunit, relunit_snumber): Now of type rel.
12742         (zone, rel, relunit, get_date): Adjust to above changes.
12743
12744         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
12745         Do not include unistd-safer.h.
12746         (getloadavg): Don't call fd_safer; no longer needed
12747         now that we include fcntl--.h.
12748
12749         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
12750         (make_dir_parents): Treat ENOSYS like EEXIST.
12751
12752         Improve quality of diagnostics on restore_cwd failure.
12753         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
12754         (make_dir_parents): Last arg is now int * (for errno), not bool *.
12755         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
12756         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
12757         each time through the loop.  Do not diagnose restore_cwd failure;
12758         that is the caller's job (and perhaps the caller does not care).
12759
12760         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
12761         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
12762         If the file already exists but is not a directory, don't bother
12763         to try to make its parents.
12764         Close potential file descriptor leak if we can't chdir("/") (!).
12765         Don't always return true if chdir($PWD) fails; return true only
12766         if the requested action was done successfully (except for the
12767         chdir($PWD)).
12768         Don't log final directory unless we actually made it.
12769         Refactor to avoid duplicate code to fix up permissions.
12770         Don't attempt to fix up parent permissions if chdir($PWD) fails.
12771
12772         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
12773         to make it a bit faster and (I hope) clearer.
12774         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
12775         Fix bug in formats like %2N.
12776
12777         * lib/verify.h: New file.
12778
12779 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12780
12781         Sync from coreutils.
12782         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
12783
12784 2005-09-22  Jim Meyering  <jim@meyering.net>
12785
12786         Sync from coreutils.
12787
12788         * m4/lstat.m4 (gl_FUNC_LSTAT):
12789         Use AC_LIBSOURCES to require lstat.c and lstat.h.
12790         Remove obsolete comment.
12791         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
12792         * m4/xstrtod.m4: Likewise.
12793
12794         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
12795
12796 2005-09-22  Jim Meyering  <jim@meyering.net>
12797
12798         Sync from coreutils.
12799
12800         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
12801
12802         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
12803         the .tm_year member, since otherwise gcc-4.0 would now warn about
12804         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
12805
12806         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
12807         order to avoid an unsuppressible warning from gcc on 64-bit systems.
12808
12809         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
12810         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
12811         when run in a time zone for which daylight savings time is in effect
12812         for the starting date.
12813
12814         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
12815         stop us from restricting permissions of just-created absolute-named
12816         directories.
12817         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
12818         to restore initial working directory.
12819         * lib/mkdir-p.c (make_dir_parents): New parameter:
12820         different_working_dir, to tell caller if/when we change the working
12821         directory and are unable to return to the initial one.
12822         * lib/mkdir-p.h (make_dir_parents): Update prototype.
12823         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
12824         `return false'.  This fixes a bug introduced on 2004-07-30.
12825
12826         * lib/openat.c (fdopendir): Be sure to close the supplied
12827         file descriptor before returning.  This makes our replacement
12828         implementation a little closer to Solaris's, where fdopendir
12829         ties the file descriptor to the returned DIR* pointer.
12830         * lib/openat.c (unlinkat): New function.
12831         * lib/openat.h (unlinkat): Add prototype.
12832         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
12833         (openat_restore_fail): Rename from openat_restore_die.
12834         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
12835
12836         Provide an alternative to exiting immediately upon save_cwd or
12837         restore_cwd failure.  Now, an application can arrange e.g.,
12838         to perform a longjump in that case.
12839         * lib/openat.c: Include dirname.h.
12840         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
12841         (rpl_openat, fdopendir, fstatat): Call openat_save_die
12842         and openat_restore_die rather than calling error directly.
12843         Don't include "error.h" or "exitfail.h"; they're no longer needed.
12844
12845         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
12846         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
12847         define.
12848
12849         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
12850         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
12851                             int utc, int nanoseconds);
12852         Background:
12853         date should not have to allocate a megabyte of virtual memory to
12854         handle a format argument like +%1048575T.  When implemented with
12855         strftime, it must allocate such a buffer, use strftime to fill it
12856         in, print it, then free it.
12857         With fprintftime, it simply prints everything and exits.
12858         With no need for memory allocation, that's one fewer way to fail.
12859         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
12860         optional field width, not before, so we accept %9:z, not %:9z.
12861         (my_strftime): Be sure to use L_('x') for literals.
12862
12863         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
12864         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
12865         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
12866         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
12867         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
12868         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
12869         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
12870         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
12871         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
12872         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
12873         * lib/xgethostname.c, lib/xreadlink.c:
12874         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
12875
12876         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
12877         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
12878         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
12879         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
12880         and don't include <sys/file.h>).
12881
12882 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
12883
12884         Sync from coreutils.
12885
12886         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
12887         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
12888         [!LDAV_DONE]: Avoid unused variable warning.
12889
12890 2005-09-21  Bruno Haible  <bruno@clisp.org>
12891
12892         * lib/unicodeio.h (unicode_to_mb): New declaration.
12893
12894 2005-09-20  Derek Price  <derek@ximbiot.com>
12895
12896         * lib/getaddrinfo.c: Don't include <netdb.h> included from
12897         getaddrinfo.h.
12898
12899 2005-09-20  Bruno Haible  <bruno@clisp.org>
12900
12901         * gnulib-tool: Remove trailing slashes from the values specified for
12902         --source-base, --m4-base, --tests-base, --aux-dir.
12903         Suggested by Simon Josefsson <jas@extundo.com>.
12904
12905 2005-09-20  Bruno Haible  <bruno@clisp.org>
12906
12907         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
12908         func_modules_to_filelist, func_import, func_create_testdir): Make all
12909         sorting results locale-independent, so that gnulib-cache.m4 doesn't
12910         change when gnulib-tool is invoked in a different locale.
12911
12912 2005-09-19  Simon Josefsson  <jas@extundo.com>
12913
12914         * m4/socklen.m4: Fix typo.
12915
12916 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12917
12918         Use a consistent style for including <config.h>.
12919         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
12920         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
12921         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
12922         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
12923         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
12924         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
12925         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
12926         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
12927         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
12928         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
12929         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
12930         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
12931         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
12932         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
12933         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
12934         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
12935         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
12936         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
12937         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
12938         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
12939         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
12940         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
12941         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
12942         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
12943         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
12944         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
12945         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
12946         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
12947         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
12948         lib/xstrtoumax.c, lib/yesno.c:
12949         Standardize inclusion of config.h.
12950         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
12951         lib/inttostr.h:  Removed inclusion of config.h from header files.
12952         * lib/inttostr.c:  Adjusted in-tree users.
12953         * lib/timespec.h: Remove superfluous warning to include config.h.
12954         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
12955         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
12956         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
12957         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
12958         config.h with HAVE_CONFIG_H.
12959
12960 2005-09-19  Jim Meyering  <jim@meyering.net>
12961
12962         * modules/pathmax (License): Change to LGPL.
12963
12964 2005-09-19  Derek Price  <derek@ximbiot.com>
12965
12966         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
12967
12968 2005-09-19  Bruno Haible  <bruno@clisp.org>
12969
12970         * gnulib-tool (import): Provide default for --tests-base.
12971
12972 2005-09-19  Bruno Haible  <bruno@clisp.org>
12973
12974         * doc/quote.texi: New file, extracted from gnulib.texi.
12975         * doc/ctime.texi: New file, extracted from gnulib.texi.
12976         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
12977         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
12978         * doc/gnulib.texi: Include them.
12979
12980 2005-09-18  Bruno Haible  <bruno@clisp.org>
12981
12982         Portability fix.
12983         * gnulib-tool (func_readlink): New function.
12984         (func_ln_if_changed): Use it.
12985
12986 2005-09-18  Bruno Haible  <bruno@clisp.org>
12987
12988         * gnulib-tool: Support --with-tests also with --import.
12989         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
12990         (func_import): Use variables $testsbase and $inctests. Emit a
12991         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
12992         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
12993         SUBDIRS += $testsdir.
12994         (func_create_testdir): Update.
12995
12996 2005-09-18  Bruno Haible  <bruno@clisp.org>
12997
12998         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
12999         instead of $dry_run.
13000         (func_cp_if_changed, func_mv_if_changed): Remove functions.
13001         (func_ln_if_changed): Don't handle dry-run here.
13002         (func_import): In dry-run mode, detect more precisely which actions
13003         would be performed, and don't use "...ing" verbs.
13004
13005 2005-09-18  Bruno Haible  <bruno@clisp.org>
13006
13007         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
13008         (func_import): Use join on two temporary files instead of three nested
13009         loops, in order to determine which files are new or old.
13010
13011 2005-09-18  Bruno Haible  <bruno@clisp.org>
13012
13013         * gnulib-tool (func_import): Comment out code that spits out the
13014         new files with --dry-run.
13015
13016 2005-09-18  Bruno Haible  <bruno@clisp.org>
13017
13018         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
13019
13020 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
13021
13022         * lib/stat-time.h: New file.
13023         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
13024         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
13025         in a different way.
13026         (timespec_cmp): New function.
13027         * lib/utimecmp.c: Include stat-time.h.
13028         (SYSCALL_RESOLUTION): Depend on whether various struct stat
13029         members exist, not on the obsolescent ST_MTIM_NSEC.
13030         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
13031
13032 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
13033
13034         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
13035
13036 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
13037
13038         * MODULES.html.sh (File system functions): Add stat-time.
13039         * modules/stat-time: New file.
13040         * modules/timespec (Files): Remove m4/st_mtim.m4; this
13041         is now done in a different way, by the stat-time module.
13042         * modules/utimecmp (Depends-on): Add stat-time.
13043
13044 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13045
13046         * m4/st_mtim.m4: Remove.  Superseded by...
13047         * m4/stat-time.m4: New file.
13048         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
13049         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
13050
13051 2005-09-15  Derek Price  <derek@ximbiot.com>
13052
13053         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
13054
13055 2005-09-15  Derek Price  <derek@ximbiot.com>
13056
13057         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
13058         * lib/regex_internal.c: Ditto, using this...
13059         (__GNUC_PREREQ): ...new macro.
13060         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
13061         using...
13062         (__GNUC_PREREQ): ...this new macro.
13063
13064         * lib/strstr.h: Include string.h. Define strstr as a macro here.
13065
13066 2005-09-15  Derek Price  <derek@ximbiot.com>
13067             Paul Eggert  <eggert@cs.ucla.edu>
13068
13069         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
13070         changes, consolidating in...
13071         * lib/regex_internal.h: ...this file.
13072
13073 2005-09-13  Jim Meyering  <jim@meyering.net>
13074
13075         * lib/canon-host.c: Filter through gnu indent and reword comments
13076         slightly.
13077         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
13078
13079 2005-09-13  Derek Price  <derek@ximbiot.com>
13080
13081         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
13082         failure.
13083         Reported by Jim Meyering  <jim@meyering.net>.
13084
13085 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
13086
13087         * lib/base64.c: Typo.
13088         (base64_encode): Put b64str in initialized data section.
13089
13090 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
13091
13092         Merge glibc and coreutils changes into gnulib, plus a few
13093         extra fixes.
13094         * lib/md5.c: Use #error rather than a string.
13095         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
13096         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
13097         (__attribute__): Define to empty for non recent-GCC.
13098         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
13099         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
13100         Renamed from their non-__ counterparts, with new macros replacing
13101         them if not _LIBC.  Add __THROW attribute.
13102         (rol): Remove.
13103         (struct md5_ctx): Align buffer if using GCC.
13104         * lib/sha1.h (struct sha1_ctx): Likewise.
13105         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
13106         The old name was backwards.
13107         (NOTSWAP): Remove; not used.
13108         (rol): New macro, moved here from md5.h.
13109         (sha1_process_block): Remove a FIXME that doesn't make sense.
13110
13111 2005-09-12  Derek Price  <derek@ximbiot.com>
13112
13113         Return usable errors from canon-host.
13114         * lib/canon-host.h: New file.
13115         * lib/canon-host.c (canon_host): Wrap...
13116         (canon_host_r): ...this new function, which now relies exclusively on
13117         getaddrinfo.
13118         (ch_strerror): New function.
13119         (last_cherror): New global.
13120         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
13121         interface.
13122         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
13123         void *.
13124         (freeaddrinfo): Free ai->ai_canonname when set.
13125
13126 2005-09-12  Derek Price  <derek@ximbiot.com>
13127
13128         Make canon-host require getaddrinfo.
13129         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
13130         AC_LIBSOURCE canon-host.h.  Call...
13131         (gl_PREREQ_CANON_HOST): ...this new function, which requires
13132         gl_GETADDRINFO.
13133         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
13134
13135 2005-09-12  Derek Price  <derek@ximbiot.com>
13136
13137         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
13138         LGPL.
13139         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
13140
13141 2005-09-12  Derek Price  <derek@ximbiot.com>
13142
13143         * lib/gai_strerror.c: Include config.h when available.  Include
13144         getaddrinfo.h before other headers to test interface.
13145         Reported by Larry Jones <lawrence.jones@ugs.com>.
13146
13147 2005-09-12  Derek Price  <derek@ximbiot.com>
13148             Paul Eggert  <eggert@cs.ucla.edu>
13149
13150         * modules/glob (Files): Add glob-libc.h.
13151
13152 2005-09-12  Derek Price  <derek@ximbiot.com>
13153             Paul Eggert  <eggert@cs.ucla.edu>
13154
13155         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
13156         glob_.h, glob-libc.h.
13157         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
13158
13159 2005-09-12  Derek Price  <derek@ximbiot.com>
13160             Paul Eggert  <eggert@cs.ucla.edu>
13161
13162         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
13163         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
13164         protecting things that should be done only in gnulib contexts.
13165         * lib/glob_.h: New file, containing only the glob things needed for
13166         gnulib.
13167         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
13168         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
13169         (glob, globfree, glob_pattern_p): Now defined simply in terms of
13170         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
13171         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
13172         and to respect the namespace rules better.
13173
13174 2005-09-08  Simon Josefsson  <jas@extundo.com>
13175
13176         * modules/socklen: New file.
13177
13178 2005-09-08  Simon Josefsson  <jas@extundo.com>
13179
13180         * m4/socklen.m4: New file.
13181
13182 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13183
13184         * modules/utimens (Files): Add m4/utimbuf.m4, since
13185         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
13186         Reported by Sergey Poznyakoff.
13187
13188 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13189
13190         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
13191         definitions, since that's the preferred style in glibc.
13192         Fix a minor spacing issue, and update copyright notice to match
13193         glibc's.
13194
13195 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13196
13197         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
13198
13199 2005-09-06  Simon Josefsson  <jas@extundo.com>
13200
13201         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
13202         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
13203
13204 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
13205
13206         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
13207         warning.
13208
13209 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
13210
13211         * config/srclist.txt: Add glibc bug 1302.
13212
13213 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13214
13215         Change bitset word type from unsigned int to unsigned long int,
13216         as this has better performance on typical 64-bit hosts.
13217         Port bitset code to hosts with unusual word sizes.
13218         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
13219         (build_collating_symbol):
13220         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
13221         argument is a bitset.  This is merely a style issue, but it makes
13222         it clearer that an entire array is expected.
13223         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
13224         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
13225         Port to the case where bitset_word is not the same as unsigned int.
13226         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
13227         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
13228         Likewise.
13229         * lib/regexec.c (check_dst_limits_calc_pos_1,
13230         check_subexp_matching_top):
13231         (build_trtable, group_nodes_into_DFAstates):
13232         Likewise.
13233         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
13234         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
13235         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
13236         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
13237         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
13238         * lib/regcomp.c (optimize_subexps, lower_subexp):
13239         Work even if bitset_word has holes in its bitwise representation.
13240         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
13241         * lib/regexec.c (check_dst_limits_calc_pos_1,
13242         check_subexp_matching_top):
13243         Likewise.
13244         * lib/regex_internal.c (re_string_reconstruct):
13245         Don't assume UCHAR_MAX == 255.
13246         * lib/regex_internal.h (bitset_set_all): Likewise.
13247         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
13248         All uses changed.
13249         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
13250         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
13251         All uses changed.
13252         (BITSET_WORD_MAX): New macro.
13253         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
13254         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
13255         (bitset_empty, bitset_copy):
13256         Prefer sizeof (bitset) to multiplying it out ourselves.
13257         (bitset_not_merge): Remove; unused.
13258         (bitset_contain): Return bool, not unsigned int with one bit on.
13259         All callers changed.
13260         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
13261         alignment than re_node_set; do this by defining a new internal
13262         type struct dests_alloc and using it to allocate memory.
13263
13264 2005-09-05  Bruno Haible  <bruno@clisp.org>
13265
13266         * gnulib-tool (func_import): Fix comparison in handling of symbolic
13267         links.
13268
13269 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
13270
13271         * modules/size_max (Makefile.am): Add size_max.h
13272
13273 2005-09-04  Derek Price  <derek@ximbiot.com>
13274
13275         * gnulib-tool (func_import): Fix reversed $symbolic logic.
13276
13277 2005-09-03  Simon Josefsson  <jas@extundo.com>
13278
13279         * gnulib-tool: Fix typo.
13280
13281 2005-09-03  Simon Josefsson  <jas@extundo.com>
13282
13283         * config/srclist.txt: Add glibc bug 1293.
13284
13285 2005-09-03  Derek Price  <derek@ximbiot.com>
13286
13287         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
13288         From Larry Jones <lawrence.jones@ugs.com>.
13289
13290 2005-09-02  Simon Josefsson  <jas@extundo.com>
13291
13292         * modules/socklen: New file.
13293
13294 2005-09-02  Simon Josefsson  <jas@extundo.com>
13295
13296         * modules/havelib: New module.
13297
13298         * modules/gettext, modules/iconv, modules/lock, modules/readline:
13299         Use havelib.
13300
13301 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13302
13303         Check for arithmetic overflow when calculating sizes, to prevent
13304         some buffer-overflow issues.  These patches are conservative, in the
13305         sense that when I couldn't determine whether an overflow was possible,
13306         I inserted a run-time check.
13307         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
13308         macros.
13309         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
13310         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
13311         (re_xnrealloc, re_x2nrealloc): New inline functions.
13312         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
13313         parse_bracket_exp):
13314         (build_equiv_class, build_charclass): Check for arithmetic overflow
13315         in size expression calculations.
13316         * lib/regex_internal.c (re_string_realloc_buffers):
13317         (build_wcs_upper_buffer, re_node_set_add_intersect):
13318         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
13319         (re_dfa_add_node, register_state): Likewise.
13320         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
13321         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
13322         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
13323         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
13324
13325 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13326
13327         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
13328         m4/ulonglong.m4.  Problem reported by Martin Lambers.
13329
13330 2005-09-02  Bruno Haible  <bruno@clisp.org>
13331
13332         Support for lib vs. lib64 distinction on biarch platforms.
13333         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
13334         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
13335         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
13336
13337 2005-09-02  Bruno Haible  <bruno@clisp.org>
13338
13339         * gnulib-tool (import): In the other first-use case, provide defaults
13340         as well.
13341
13342 2005-09-02  Bruno Haible  <bruno@clisp.org>
13343
13344         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
13345         patches not yet found in the latest gettext release.
13346
13347 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13348
13349         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
13350         to avoid a collision with bits/local_lim.h in glibc.
13351         All uses changed.  Problem reported by Dmitry V. Levin in
13352         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
13353
13354         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
13355         bugs in int versus size_t comparisons.
13356         (re_string_context_at): Fix bug where the code assumed that
13357         Idx is signed.
13358
13359         Use bool where appropriate.
13360         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
13361         All callers changed.
13362         (calc_eclosure_iter): Likewise, for ROOT arg.
13363         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
13364         (build_charclass_op): Likewise, for NON_MATCH arg.
13365         * lib/regex_internal.c (re_string_allocate, re_string_construct):
13366         (re_string_construct_common): Likewise, for ICASE arg.
13367         * lib/regexec.c (re_search_2_stub, re_search_stub):
13368         Likewise, for RET_LEN arg.
13369         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
13370         (set_regs): Likewise, for FL_BACKTRACK arg.
13371         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
13372         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
13373         (calc_eclosure_iter, parse_bracket_exp):
13374         Use bool for internal variables that are booleans.
13375         * lib/regexec.c (re_search_internal, check_matching,
13376         proceed_next_node):
13377         (set_regs, build_sifted_states, sift_states_bkref):
13378         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
13379         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
13380         (find_collation_sequence_value):
13381         Likewise.
13382         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
13383         (re_node_set_compare):
13384         Return bool, not int. All callers changed.
13385         * lib/regexec.c (check_halt_node_context, check_dst_limits):
13386         (build_trtable, check_node_accept): Likewise.
13387         * lib/regex_internal.h: Include stdbool.h.
13388
13389         Fix bugs uncovered when converting to bool.
13390         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
13391         failure instead of charging ahead blindly.
13392         * lib/regex_internal.c (register_state): Likewise.
13393         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
13394         for freeing internal storage.
13395         (group_nodes_into_DFA_states): Use unsigned int, not int, for
13396         bitset pieces used as boolean, to avoid undefined behavior
13397         on hosts that do int overflow checking.
13398
13399 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13400
13401         * config/srclist.txt: Add glibc bugs 1285-1287.
13402
13403 2005-09-01  Jim Meyering  <jim@meyering.net>
13404
13405         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
13406         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
13407         Require gl_STAT_MACROS, too.
13408
13409 2005-09-01  Bruno Haible  <bruno@clisp.org>
13410
13411         * gnulib-tool (import): In the first-use case, provide defaults.
13412
13413 2005-09-01  Bruno Haible  <bruno@clisp.org>
13414
13415         * gnulib-tool (func_import): Remove the .tmp files.
13416
13417 2005-09-01  Bruno Haible  <bruno@clisp.org>
13418
13419         * gnulib-tool (func_import): Fix handling of symbolic links.
13420
13421 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13422
13423         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
13424         old glibc regex code mishandles strings longer than 2**31 bytes.
13425         This patch fixes this when the regex code is used in gnulib
13426         (i.e., outside glibc).
13427
13428         This patch should not affect the use of the regex code inside
13429         glibc.  No doubt this problem also needs to be handled for glibc
13430         as well, but the result will be an incompatible change to the
13431         glibc ABI, and the old ABI will have to be supported too.  That
13432         can be the the subject for another patch.
13433
13434         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
13435         governing whether the rest of this patch is active.  By default,
13436         the macro is disabled and the patch has no effect.
13437         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
13438         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
13439         (struct re_pattern_buffer, re_search, re_search_2, re_match):
13440         (re_match_2, re_set_registers): Use the new types.
13441         * lib/regex_internal.h (Idx, re_hashval_t): New types.
13442         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
13443         New macros.
13444         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
13445         (re_string_context_at, bin_tree_t, re_dfastate_t):
13446         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
13447         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
13448         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
13449         (re_string_char_size_at, re_string_wchar_at):
13450         (re_string_elem_size_at):
13451         Use the new types and macros to port to 64-bit hosts.
13452         Use unsigned types for internal values, so that the code
13453         mostly works even for arrays larger than SSIZE_MAX.
13454         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
13455         (search_duplicated_node, calc_eclosure_iter, fetch_number):
13456         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
13457         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
13458         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
13459         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
13460         (calc_inveclosure, parse_dup_op, build_range_exp):
13461         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
13462         (fetch_number, create_token_tree, mark_opt_subexp):
13463         Likewise.
13464         * lib/regex_internal.c (re_string_construct_common,
13465         create_ci_newstate):
13466         (create_cd_newstate, re_string_allocate, re_string_construct):
13467         (re_string_realloc_buffers, build_wcs_upper_buffer):
13468         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
13469         (re_string_reconstruct, re_string_peek_byte_case):
13470         (re_string_fetch_byte_case, re_string_context_at):
13471         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
13472         (re_node_set_init_copy, re_node_set_add_intersect):
13473         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13474         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13475         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
13476         (re_acquire_state, re_acquire_state_context, register_state):
13477         Likewise.
13478         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
13479         search_cur_bkref_entry):
13480         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
13481         (re_search_internal, re_search_2_stub, re_search_stub)
13482         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
13483         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
13484         (update_cur_sifted_state, check_dst_limits):
13485         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
13486         (check_subexp_limits, sift_states_bkref, merge_state_array):
13487         (check_subexp_matching_top, get_subexp, get_subexp_sub):
13488         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
13489         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
13490         (expand_bkref_cache, check_node_accept_bytes):
13491         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
13492         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
13493         (acquire_init_state_context, check_halt_node_context):
13494         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
13495         (sift_states_backward, clean_state_log_if_needed):
13496         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
13497         (find_recover_state, transit_state_sb, transit_state_mb):
13498         (transit_state_bkref, build_trtable, match_ctx_clean):
13499         Likewise.
13500         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
13501         to work around an assumption that REG_MISSING is negative.
13502
13503         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
13504         (seek_collating_symbol_entry) [defined _LIBC]:
13505         (lookup_collation_sequence_value) [defined _LIBC]:
13506         (build_range_exp, build_collating_symbol) [defined _LIBC]:
13507         Use prototypes rather than old-style function definitions.
13508         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
13509         (transit_state_sb) [0]:
13510         (find_collation_sequence_value) [defined _LIBC]: Likewise.
13511
13512         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
13513         rm_eo.
13514
13515         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
13516         (optimize_subexps, lower_subexp):
13517         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
13518         since the signed shift might overflow.  Use 1u<<31 instead.
13519         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
13520         Likewise.
13521         * lib/regexec.c (check_dst_limits_calc_pos_1,
13522         check_subexp_matching_top): Likewise.
13523
13524         * lib/regcomp.c (optimize_subexps, lower_subexp):
13525         Use CHAR_BIT rather than 8, for clarity.
13526         * lib/regexec.c (check_dst_limits_calc_pos_1):
13527         (check_subexp_matching_top): Likewise.
13528         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
13529         have to worry about portability issues when shifting it left.
13530         Remove no-longer-needed test for table_size > 0.
13531         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
13532         in a word, as the resulting behavior is undefined.
13533         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
13534         in one case, a <= should have been an <, and in another case the
13535         whole test was missing.
13536         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
13537         the standard name CHAR_BIT.
13538         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
13539         this is not true on one's complement and signed-magnitude hosts.
13540
13541         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
13542         next_last_offset.
13543         (struct re_dfa_t): Remove unused member states_alloc.
13544         * lib/regcomp.c (init_dfa): Don't initialize unused members.
13545
13546 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13547
13548         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
13549         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
13550         and large-file glibc and in 32-bit large-file Solaris.
13551
13552 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13553
13554         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
13555         lengths fit in regoff_t; this isn't true if regoff_t is the same
13556         width as size_t.
13557         * lib/regex.c (re_search_internal): 5th arg is LAST_START
13558         (= START + RANGE) instead of RANGE.  This avoids overflow
13559         problems when regoff_t is the same width as size_t.
13560         All callers changed.
13561         (re_search_2_stub): Check for overflow when adding the
13562         sizes of the two strings.
13563         (re_search_stub): Check for overflow when adding START
13564         to RANGE; if it occurs, substitute the extreme value.
13565
13566 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13567
13568         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
13569
13570 2005-08-31  Jim Meyering  <jim@meyering.net>
13571
13572         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
13573         a pointer-to-const.
13574         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
13575         (register_state): Likewise.
13576         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
13577         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
13578         (group_nodes_into_DFAstates): Likewise.
13579
13580 2005-08-31  Jim Meyering  <jim@meyering.net>
13581
13582         * check-module: Add a FIXME comment.
13583
13584 2005-08-31  Eric Blake  <ebb9@byu.net>
13585
13586         * modules/unistd-safer (Files): Add unistd--.h.
13587         * modules/stdio-safer (Files): Add stdio--.h.
13588
13589 2005-08-31  Derek Price  <derek@ximbiot.com>
13590
13591         * lib/getdelim.c (getdelim): Return EOF on EOF.
13592         Reported by Larry Jones <lawrence.jones@ugs.com>.
13593
13594 2005-08-31  Bruno Haible  <bruno@clisp.org>
13595
13596         Avoid unnecessary diffs in the generated lib/Makefile.am.
13597         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
13598         the generated files.
13599         (func_import): Don't set cmd.
13600
13601 2005-08-31  Bruno Haible  <bruno@clisp.org>
13602
13603         * lib/strstr.c: Include <stddef.h>, for NULL.
13604         * lib/strcasestr.c: Likewise.
13605         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13606
13607 2005-08-31  Bruno Haible  <bruno@clisp.org>
13608
13609         * gnulib-tool: New option --macro-prefix.
13610         (func_import): Use macro_prefix.
13611         (import): Handle option --macro-prefix.
13612
13613 2005-08-31  Bruno Haible  <bruno@clisp.org>
13614
13615         * gnulib-tool (import): Rename most ac_* variables to cached_*.
13616         Also use new variables cached_lgpl, cached_libtool.
13617
13618 2005-08-31  Bruno Haible  <bruno@clisp.org>
13619
13620         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
13621         always instantiating them.
13622
13623 2005-08-31  Bruno Haible  <bruno@clisp.org>
13624
13625         * gnulib-tool (func_import): Read the previous cached settings
13626         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
13627         earlier added by gnulib but are now dropped. Warn when a gnulib file
13628         overwrites a non-gnulib file.
13629
13630 2005-08-31  Bruno Haible  <bruno@clisp.org>
13631
13632         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
13633         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
13634         projects that don't keep autogenerated files in CVS. Put into
13635         actioncmd only the specified modules, not the transitive closure.
13636
13637 2005-08-31  Bruno Haible  <bruno@clisp.org>
13638
13639         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
13640         Create directories that shall be filled.
13641         (import): Don't look for gl_* macros in configure.ac. Recurse across
13642         all directories containing a gnulib-cache.m4 files, if meaningful.
13643
13644 2005-08-31  Bruno Haible  <bruno@clisp.org>
13645
13646         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
13647         (import): Set seen_libtool when we see gl_LIBTOOL.
13648
13649 2005-08-31  Bruno Haible  <bruno@clisp.org>
13650
13651         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
13652         declaration macro definitions from generated gnulib.m4.
13653
13654 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
13655
13656         * lib/iconvme.h: Add prototype for iconv_alloc.
13657
13658 2005-08-29  Simon Josefsson  <jas@extundo.com>
13659
13660         * lib/iconvme.c: Fix errno.
13661
13662 2005-08-29  Bruno Haible  <bruno@clisp.org>
13663
13664         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
13665         that it works when the directory contains spaces.
13666
13667 2005-08-29  Bruno Haible  <bruno@clisp.org>
13668
13669         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
13670
13671 2005-08-29  Bruno Haible  <bruno@clisp.org>
13672
13673         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
13674         Emit more advice.
13675
13676 2005-08-29  Bruno Haible  <bruno@clisp.org>
13677         and Stepan Kasal  <kasal@ucw.cz>
13678
13679         * check-module: If more parameters are given, check each of them
13680         separately; add more exceptions, as noted by Jim Meyering.
13681         (check_module): New procedure.
13682         (%exempt_header): Now contains all exceptions.
13683
13684 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
13685
13686         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
13687
13688 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
13689
13690         * lib/iconvme.c: Split iconv_string into iconv_alloc.
13691
13692 2005-08-28  Bruno Haible  <bruno@clisp.org>
13693
13694         * m4/gnulib-tool.m4: New file.
13695
13696 2005-08-27  Jim Meyering  <jim@meyering.net>
13697
13698         * modules/unistd-safer (Files): Add pipe-safer.c.
13699         * modules/fcntl-safer (Files): Add creat-safer.c.
13700
13701 2005-08-27  Jim Meyering  <jim@meyering.net>
13702
13703         * m4/stdlib-safer.m4: New file.  From coreutils.
13704         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
13705         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
13706         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
13707         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
13708         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
13709
13710 2005-08-27  Jim Meyering  <jim@meyering.net>
13711
13712         * lib/fopen-safer.c: Merge minor changes from coreutils.
13713         * lib/dup-safer.c: Likewise.
13714         * lib/fd-safer.c: Likewise.
13715
13716         Merge from coreutils.
13717         * lib/stdio--.h: New file.
13718         * lib/stdlib--.h: New file.
13719         * lib/mkstemp-safer.c: New file.
13720
13721         GNU tar needs these.
13722         * lib/pipe-safer.c: New file.
13723         * lib/creat-safer.c: New file.
13724         * lib/fcntl--.h (creat): Define to creat_safer.
13725         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
13726         * lib/unistd--.h (pipe): Define to pipe_safer.
13727         * lib/unistd-safer.h: Declare pipe_safer.
13728
13729 2005-08-26  Simon Josefsson  <jas@extundo.com>
13730
13731         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
13732         Haible <bruno@clisp.org>.
13733
13734 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13735
13736         * lib/regex_internal.h: Remove all references to
13737         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
13738         or better.
13739         (bitset_not, bitset_merge, bitset_not_merge):
13740         (bitset_mask, re_string_allocate, re_string_construct):
13741         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
13742         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
13743         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
13744         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
13745         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13746         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13747         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
13748         (re_acquire_state_context):
13749         Remove unnecessary forward decls.
13750         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
13751         Put __attribute at function definition,
13752         now that the function decl has been removed.
13753         * lib/regex_internal.c (re_string_peek_byte_case):
13754         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
13755         Likewise.
13756
13757 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
13758
13759         * m4/regex.m4: Add AC_PREREQ(2.50).
13760         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
13761
13762 2005-08-25  Simon Josefsson  <jas@extundo.com>
13763
13764         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
13765         __fsetlocking.
13766
13767 2005-08-25  Simon Josefsson  <jas@extundo.com>
13768
13769         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
13770         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
13771         GLIBC specific code.
13772
13773 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13774
13775         Make regex safe for g++.  This fixes one real bug (an "err"
13776         that should have been "*err").  g++ problem reported by
13777         Sam Steingold.
13778         * lib/regex_internal.h (re_calloc): New macro, consistent with
13779         re_malloc etc.  All callers of calloc changed to use re_calloc.
13780         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
13781         not int.  All callers changed.
13782         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
13783         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
13784         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
13785         (find_recover_state): Change "err" to "*err"; this fixes what
13786         appears to be a real bug.
13787         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
13788         versus int.
13789
13790 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13791
13792         * modules/regex (Depends-on): Add malloc, since the code
13793         assumes that !malloc(0) means failure.
13794
13795 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13796
13797         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
13798
13799         alloca modernization/simplification for regex.
13800         * lib/regex.c: Remove portability cruft for alloca.  This no longer
13801         needs to be at the start of the file, and can be moved into
13802         regex_internal.h and simplified.
13803         * lib/regex_internal.h: Include <alloca.h>.
13804         (__libc_use_alloca) [!defined _LIBC]: New macro.
13805         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
13806         now works outside glibc.
13807
13808 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13809
13810         * config/srclist.txt: Add glibc bugs 1241, 1245.
13811
13812 2005-08-25  Jim Meyering  <jim@meyering.net>
13813
13814         * lib/open-safer.c: Include <config.h>.
13815         Otherwise, we'd lose LARGEFILE support in any file using
13816         e.g. "fcntl--.h"
13817
13818 2005-08-25  Bruno Haible  <bruno@clisp.org>
13819
13820         * m4/minmax.m4: Require autoconf 2.52.
13821         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
13822         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
13823         alternatives of translit over the alphabet.
13824         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
13825
13826 2005-08-24  Simon Josefsson  <jas@extundo.com>
13827
13828         * tests/test-getpass.c: New file.
13829
13830 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13831
13832         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
13833         for GNU regex features.
13834
13835 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13836
13837         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
13838         * lib/regex.h (regerror): Likewise.
13839
13840         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
13841         requires this.  (The code never needed it.)
13842
13843         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
13844         All uses of recently-renamed identifiers changed to use the new,
13845         POSIX-compliant names.  The code will build and run just fine
13846         without these changes, but it's better to eat our own dog food
13847         and use the standard-conforming names.
13848
13849         * lib/regex.h: Fix a multitude of POSIX name space violations.
13850         These changes have an effect only for programs that define
13851         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
13852         do not change anything for programs compiled in the normal way.
13853         Also, there is no effect on the ABI.
13854
13855         (_REGEX_SOURCE): New macro.
13856         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
13857         defined and _GNU_SOURCE is not; this fixes a name space violation.
13858
13859         Rename the following macros to obey POSIX requirements.
13860         The old names are still visible as macros if _REGEX_SOURCE is defined.
13861         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
13862         RE_BACKSLASH_ESCAPE_IN_LISTS.
13863         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
13864         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
13865         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
13866         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
13867         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
13868         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
13869         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
13870         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
13871         (REG_INTERVALS): renamed from RE_INTERVALS.
13872         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
13873         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
13874         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
13875         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
13876         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
13877         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
13878         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
13879         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
13880         RE_UNMATCHED_RIGHT_PAREN_ORD.
13881         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
13882         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
13883         (REG_DEBUG): renamed from RE_DEBUG.
13884         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
13885         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
13886         unusual, since we can't clash with the POSIX REG_ICASE.
13887         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
13888         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
13889         (REG_NO_SUB): renamed from RE_NO_SUB.
13890         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
13891         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
13892         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
13893         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
13894         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
13895         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
13896         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
13897         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
13898         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
13899         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
13900         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
13901         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
13902         RE_SYNTAX_POSIX_MINIMAL_BASIC.
13903         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
13904         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
13905         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
13906         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
13907         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
13908         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
13909         (REG_FIXED): Renamed from REGS_FIXED.
13910         (REG_NREGS): Renamed from RE_NREGS.
13911
13912         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
13913         of other REG_* macros, since POSIX says the user is allowed to
13914         #undef these macros selectively.
13915
13916         (reg_errcode_t): Update comment stating what other tables need
13917         to be consistent.
13918
13919         Rename the following enum values to obey POSIX requirements.
13920         The old names are still visible as macros.
13921         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
13922         is not defined, since GNU is supposed to be a superset of POSIX as
13923         much as possible, and since we want reg_errcode_t to be a signed
13924         type for implementation consistency.
13925         (_REG_NOERROR): Renamed from REG_NOERROR.
13926         (_REG_NOMATCH): Renamed from REG_NOMATCH.
13927         (_REG_BADPAT): Renamed from REG_BADPAT.
13928         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
13929         (_REG_ECTYPE): Renamed from REG_ECTYPE.
13930         (_REG_EESCAPE): Renamed from REG_EESCAPE.
13931         (_REG_ESUBREG): Renamed from REG_ESUBREG.
13932         (_REG_EBRACK): Renamed from REG_EBRACK.
13933         (_REG_EPAREN): Renamed from REG_EPAREN.
13934         (_REG_EBRACE): Renamed from REG_EBRACE.
13935         (_REG_BADBR): Renamed from REG_BADBR.
13936         (_REG_ERANGE): Renamed from REG_ERANGE.
13937         (_REG_ESPACE): Renamed from REG_ESPACE.
13938         (_REG_BADRPT): Renamed from REG_BADRPT.
13939         (_REG_EEND): Renamed from REG_EEND.
13940         (_REG_ESIZE): Renamed from REG_ESIZE.
13941         (_REG_ERPAREN): Renamed from REG_ERPAREN.
13942         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
13943         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
13944         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
13945         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
13946
13947         (_REG_RE_NAME, _REG_RM_NAME): New macros.
13948         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
13949         changed.  But support the old name if the new one is not defined
13950         and if _REGEX_SOURCE.
13951
13952         Change the following member names in struct re_pattern_buffer.
13953         The old names are still supported if !_REGEX_SOURCE.
13954         The new names are always supported, regardless of _REGEX_SOURCE.
13955         (re_buffer): Renamed from buffer.
13956         (re_allocated): Renamed from allocated.
13957         (re_used): Renamed from used.
13958         (re_syntax): Renamed from syntax.
13959         (re_fastmap): Renamed from fastmap.
13960         (re_translate): Renamed from translate.
13961         (re_can_be_null): Renamed from can_be_null.
13962         (re_regs_allocated): Renamed from regs_allocated.
13963         (re_fastmap_accurate): Renamed from fastmap_accurate.
13964         (re_no_sub): Renamed from no_sub.
13965         (re_not_bol): Renamed from not_bol.
13966         (re_not_eol): Renamed from not_eol.
13967         (re_newline_anchor): Renamed from newline_anchor.
13968
13969         Change the following member names in struct re_registers.
13970         The old names are still supported if !_REGEX_SOURCE.
13971         The new names are always supported, regardless of _REGEX_SOURCE.
13972         (rm_num_regs): Renamed from num_regs.
13973         (rm_start): Renamed from start.
13974         (rm_end): Renamed from end.
13975
13976         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
13977         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
13978         Prepend __ to parameter names.
13979
13980         Undo yesterday's changes.
13981
13982 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13983
13984         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
13985         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
13986         lib/regex.c.
13987
13988 2005-08-24  Jim Meyering  <jim@meyering.net>
13989
13990         Sync from coreutils.
13991         * m4/fcntl-safer.m4: New file.
13992
13993         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
13994         and object files for this module.
13995
13996 2005-08-24  Jim Meyering  <jim@meyering.net>
13997
13998         Sync from coreutils.
13999         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
14000
14001 2005-08-24  Jim Meyering  <jim@meyering.net>
14002
14003         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
14004         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
14005
14006 2005-08-24  Jim Meyering  <jim@meyering.net>
14007
14008         * modules/fcntl-safer: New module.
14009         * modules/fts (Depends-on): Add fcntl-safer.
14010         * MODULES.html.sh (File descriptor based Input/Output):
14011         Add fcntl-safer.
14012
14013 2005-08-24  Bruno Haible  <bruno@clisp.org>
14014
14015         Support for unit test modules.
14016         * modules/README: Mention tests modules.
14017         * modules/TEMPLATE-TESTS: New file.
14018         * gnulib-tool: New options --extract-tests-module, --with-tests and
14019         --tests-base (unused for the moment).
14020         (testsbase, inctests): New variables.
14021         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
14022         (func_verify_module): Exclude TEMPLATE-TESTS.
14023         (func_verify_nontests_module, func_verify_tests_module): New functions.
14024         (func_get_dependencies): Add implicit dependency for tests modules.
14025         (func_get_tests_module): New function.
14026         (func_modules_transitive_closure): When --with-tests was specified,
14027         include the unit tests as well, unless explicitly avoided.
14028         (func_emit_lib_Makefile_am): Ignore the tests modules here.
14029         (func_emit_tests_Makefile_am): New function.
14030         (func_create_testdir): When --with-tests was specified, emit a
14031         tests/ directory.
14032         * MODULES.html.sh (Future developments): Update.
14033
14034 2005-08-24  Bruno Haible  <bruno@clisp.org>
14035
14036         * modules/tls-tests: New file.
14037         * tests/test-tls.c: New file, from GNU gettext.
14038
14039 2005-08-24  Bruno Haible  <bruno@clisp.org>
14040
14041         * modules/lock-tests: New file.
14042         * tests/test-lock.c: New file, from GNU gettext.
14043
14044 2005-08-24  Bruno Haible  <bruno@clisp.org>
14045
14046         * lib/lock.h: Add multiple inclusion guard.
14047         * lib/tls.h: Add multiple inclusion guard.
14048
14049 2005-08-24  Bruno Haible  <bruno@clisp.org>
14050
14051         * gnulib-tool: Add support for the --aux-dir option to
14052         --create-testdir, --create-megatestdir, --test, --megatest.
14053         (func_create_testdir, func_create_megatestdir): Optionally emit a
14054         AC_CONFIG_AUX_DIR directive.
14055         (create-testdir, create-megatestdir, test, megatest): Provide a
14056         default value for $auxdir.
14057
14058 2005-08-24  Bruno Haible  <bruno@clisp.org>
14059
14060         * gnulib-tool (import): Use compound statement instead of subshell
14061         where possible.
14062
14063 2005-08-24  Bruno Haible  <bruno@clisp.org>
14064
14065         * gnulib-tool (import): Change --aux-dir default to "build-aux".
14066
14067 2005-08-24  Bruno Haible  <bruno@clisp.org>
14068
14069         * gnulib-tool (func_version): Update.
14070
14071 2005-08-24  Bruno Haible  <bruno@clisp.org>
14072
14073         * gnulib-tool (func_import, func_create_testdir,
14074         func_create_megatestdir): Quote all autoconf macro arguments.
14075
14076 2005-08-24  Bruno Haible  <bruno@clisp.org>
14077
14078         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
14079         option --force, because --force causes the aclocal.m4 of each
14080         subdirectory to be newer than the corresponding config.h.in.
14081
14082 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14083
14084         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
14085         All contents moved to gl_REGEX.
14086         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
14087         assume that it does.
14088
14089 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14090
14091         * lib/regex.h (REG_NOSYS)
14092         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
14093         Define, since POSIX requires it as of 2001.
14094         (_REG_ENOSYS)
14095         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
14096         New private symbol, used to keep the enum signed in all cases.
14097         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
14098         Youngman in
14099         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
14100
14101         * lib/regex_internal.c (re_string_skip_chars, register_state):
14102         (calc_state_hash):
14103         Remove forward decls; no longer needed now that we use prototypes.
14104         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
14105         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
14106         (clean_state_log_if_needed): Likewise.
14107
14108 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14109
14110         * config/srclist.txt: Add glibc bugs 1231-1233.
14111
14112 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
14113
14114         Fix problems reported by Sam Steingold in
14115         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
14116         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
14117         assumed that reg_errcode_t is a signed type, which is not
14118         necessarily true if _XOPEN_SOURCE is not defined.
14119         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
14120         since some compilers warn about it otherwise.
14121
14122 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
14123
14124         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
14125         (init_word_char, create_initial_state, duplicate_node_closure):
14126         (fetch_token, peek_token_bracket, build_range_exp):
14127         (build_collating_symbol): Remove forward decls; no longer needed
14128         now that we use prototypes.
14129
14130         * lib/regcomp.c:
14131         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
14132         (re_compile_fastmap_iter, regcomp, regerror, regfree):
14133         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
14134         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
14135         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
14136         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
14137         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
14138         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
14139         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
14140         (build_range_exp, build_collating_symbol, parse_bracket_exp):
14141         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
14142         (build_charclass, build_charclass_op, fetch_number, create_tree):
14143         (create_token_tree, mark_opt_subexp, duplicate_tree):
14144         Use prototypes rather than old-style definitions.
14145
14146         * lib/regex_internal.c:
14147         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
14148         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
14149         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
14150         (re_string_reconstruct, re_string_peek_byte_case):
14151         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
14152         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
14153         (re_node_set_init_copy, re_node_set_add_intersect):
14154         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
14155         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
14156         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
14157         (re_acquire_state, re_acquire_state_context, register_state):
14158         (create_ci_newstate, create_cd_newstate, free_state):
14159         Likewise.
14160         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
14161         re_search_2):
14162         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
14163         (re_search_internal, prune_impossible_nodes):
14164         (acquire_init_state_context, check_matching, static):
14165         (check_halt_node_context, check_halt_state_context, proceed_next_node):
14166         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
14167         (update_regs, sift_states_backward, build_sifted_states):
14168         (clean_state_log_if_needed, merge_state_array):
14169         (update_cur_sifted_state, add_epsilon_src_nodes):
14170         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
14171         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
14172         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
14173         (find_recover_state, check_subexp_matching_top, transit_state_mb):
14174         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
14175         (check_arrival, check_arrival_add_next_nodes):
14176         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
14177         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
14178         (check_node_accept_bytes, check_node_accept, extend_buffers):
14179         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
14180         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
14181         (sift_ctx_init):
14182         Likewise.
14183
14184         * lib/regex_internal.h:
14185         (re_string_allocate, re_string_construct, re_string_reconstruct):
14186         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
14187         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
14188         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
14189         (re_string_context_at, re_string_peek_byte_case):
14190         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
14191         is defined, since we now use prototypes always.
14192
14193         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
14194         C89 or better.  All uses removed.
14195
14196 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
14197
14198         * config/srclist.txt: Add glibc bugs 1220-1227.
14199
14200 2005-08-20  Jim Meyering  <jim@meyering.net>
14201
14202         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
14203         of unused local, dfa.
14204
14205 2005-08-20  Bruno Haible  <bruno@clisp.org>
14206
14207         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
14208
14209 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14210
14211         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
14212         (re_node_set_insert_last, re_dfa_add_node):
14213         Rename local variables to avoid GCC shadowing warnings.
14214
14215 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14216
14217         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
14218         [defined lint]: Suppress bogus uninitialized-variable warnings.
14219
14220         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
14221         and let the caller return REG_ESPACE if out of space.  This
14222         removes an uninitialied-variable warning with GCC 4.0.1, and also
14223         avoids taking the address of a local variable.  All callers
14224         changed.
14225
14226 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14227
14228         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
14229         $LIBCSRC/posix/regexec.c.
14230         Add glibc bug 1217 for regcomp.c.
14231
14232 2005-08-19  Jim Meyering  <jim@meyering.net>
14233
14234         * lib/regexec.c (proceed_next_node): Redo local variables to
14235         avoid GCC shadowing warnings.
14236
14237 2005-08-18  Bruno Haible  <bruno@clisp.org>
14238
14239         * lib/strstr.c (strstr): Fix return value in multibyte case.
14240         * lib/strcasestr.c (strcasestr): Likewise.
14241
14242 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
14243
14244         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
14245
14246 2005-08-17  Jim Meyering  <jim@meyering.net>
14247
14248         Make the %s format (seconds since the epoch) work for a negative
14249         number and when used with a zero-padded field width, e.g. %015s.
14250
14251         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
14252         label so that it precedes the code to set `digits'.  Otherwise,
14253         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
14254         print `00-22'.  Now, it prints `-0022', as it should.
14255
14256 2005-08-17  Bruno Haible  <bruno@clisp.org>
14257
14258         * modules/strstr (Files): Add m4/mbrtowc.m4.
14259         (Depends-on): Add mbuiter.
14260
14261 2005-08-17  Bruno Haible  <bruno@clisp.org>
14262
14263         * modules/strcasestr: New file.
14264         * MODULES.html.sh (String handling, based on ANSI C 89): Add
14265         strcasestr.
14266
14267 2005-08-17  Bruno Haible  <bruno@clisp.org>
14268
14269         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
14270
14271 2005-08-17  Bruno Haible  <bruno@clisp.org>
14272
14273         * modules/mbuiter: New file.
14274         * MODULES.html.sh (Extended multibyte and wide character utilities):
14275         Add mbuiter.
14276
14277 2005-08-17  Bruno Haible  <bruno@clisp.org>
14278
14279         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
14280         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
14281
14282 2005-08-17  Bruno Haible  <bruno@clisp.org>
14283
14284         * m4/strcasestr.m4: New file.
14285
14286 2005-08-17  Bruno Haible  <bruno@clisp.org>
14287
14288         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
14289         * lib/strstr.c: Completely rewritten, with multibyte locale support.
14290
14291 2005-08-17  Bruno Haible  <bruno@clisp.org>
14292
14293         * lib/strcasestr.h: New file.
14294         * lib/strcasestr.c: New file.
14295
14296 2005-08-17  Bruno Haible  <bruno@clisp.org>
14297
14298         * lib/strcasecmp.c: Use mbuiter.h.
14299
14300 2005-08-17  Bruno Haible  <bruno@clisp.org>
14301
14302         * lib/mbuiter.h: New file.
14303
14304 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
14305
14306         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
14307         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
14308         and gl_GETOPT are both invoked via different paths (as happens
14309         with GNU tar CVS because it uses both argp and getopt), the former
14310         wins.
14311
14312 2005-08-16  Bruno Haible  <bruno@clisp.org>
14313
14314         * modules/tls: New file.
14315         * MODULES.html.sh (Multithreading): Add tls.
14316
14317 2005-08-16  Bruno Haible  <bruno@clisp.org>
14318
14319         * modules/strnlen1: New file.
14320         * MODULES.html.sh (String handling): Add strnlen1.
14321
14322 2005-08-16  Bruno Haible  <bruno@clisp.org>
14323
14324         * modules/strcase (Files): Add m4/mbrtowc.m4.
14325         (Depends-on): Add strnlen1, mbchar.
14326
14327 2005-08-16  Bruno Haible  <bruno@clisp.org>
14328
14329         * modules/mbiter: New file.
14330         * MODULES.html.sh (Extended multibyte and wide character utilities):
14331         Add mbiter.
14332
14333 2005-08-16  Bruno Haible  <bruno@clisp.org>
14334
14335         * modules/mbfile: New file.
14336         * MODULES.html.sh (Extended multibyte and wide character utilities):
14337         Add mbfile.
14338
14339 2005-08-16  Bruno Haible  <bruno@clisp.org>
14340
14341         * modules/mbchar: New file.
14342         * MODULES.html.sh (Extended multibyte and wide character utilities):
14343         New section.
14344
14345 2005-08-16  Bruno Haible  <bruno@clisp.org>
14346
14347         * m4/tls.m4: New file, from GNU gettext.
14348
14349 2005-08-16  Bruno Haible  <bruno@clisp.org>
14350
14351         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
14352         always.
14353         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
14354
14355 2005-08-16  Bruno Haible  <bruno@clisp.org>
14356
14357         * m4/mbiter.m4: New file.
14358
14359 2005-08-16  Bruno Haible  <bruno@clisp.org>
14360
14361         * m4/mbfile.m4: New file.
14362
14363 2005-08-16  Bruno Haible  <bruno@clisp.org>
14364
14365         * m4/mbchar.m4: New file.
14366
14367 2005-08-16  Bruno Haible  <bruno@clisp.org>
14368
14369         * lib/tls.h: New file, from GNU gettext.
14370         * lib/tls.c: New file, from GNU gettext.
14371
14372 2005-08-16  Bruno Haible  <bruno@clisp.org>
14373
14374         * lib/strnlen1.h: New file.
14375         * lib/strnlen1.c: New file.
14376
14377 2005-08-16  Bruno Haible  <bruno@clisp.org>
14378
14379         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
14380         (mbi_init): Update.
14381         (mbi_avail, mbi_advance): Let the iteration end before the terminating
14382         NUL byte, not after it.
14383
14384 2005-08-16  Bruno Haible  <bruno@clisp.org>
14385
14386         * lib/strcase.h (strcasecmp): Add note in comments.
14387         * lib/strncasecmp.c: Use code from strcasecmp.c.
14388         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
14389         (strcasecmp): Work correctly in multibyte locales.
14390
14391 2005-08-16  Bruno Haible  <bruno@clisp.org>
14392
14393         * lib/mbiter.h: New file.
14394
14395 2005-08-16  Bruno Haible  <bruno@clisp.org>
14396
14397         * lib/mbfile.h: New file.
14398
14399 2005-08-16  Bruno Haible  <bruno@clisp.org>
14400
14401         * lib/mbchar.h: New file.
14402         * lib/mbchar.c: New file.
14403
14404 2005-08-16  Bruno Haible  <bruno@clisp.org>
14405
14406         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
14407         the valid ones. Makes the comparison operations transitive:
14408         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
14409         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
14410
14411 2005-08-15  Simon Josefsson  <jas@extundo.com>
14412
14413         * modules/ssize_t (License): Change to 'unlimited'.
14414
14415         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
14416
14417 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14418
14419         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
14420         Add comments for each pending glibc patch.
14421
14422 2005-08-15  Bruno Haible  <bruno@clisp.org>
14423
14424         * lib/regex.h (__restrict_arr): Don't define to __restrict if
14425         __cplusplus is defined.
14426
14427 2005-08-14  Jim Meyering  <jim@meyering.net>
14428
14429         Sync from coreutils.
14430
14431         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
14432         Use the hash-table-based cycle-detection code not just when
14433         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
14434         Reported by James Youngman in
14435         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
14436         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
14437         FTS_TIGHT_CYCLE_CHECK.
14438         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
14439         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
14440         once again.
14441         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
14442         * lib/fts.c (fd_safer): Remove decl.
14443         Include fcntl--.h rather than unistd-safer.h
14444         (fts_safe_changedir): Don't call fd_safer; no longer needed
14445         now that we include fcntl--.h.
14446
14447 2005-08-12  Simon Josefsson  <jas@extundo.com>
14448
14449         * modules/getndelim2: Use ssize_t module.
14450         * modules/getnline: Likewise.
14451         * modules/safe-read: Likewise.
14452         * modules/xreadlink: Likewise.
14453
14454         * modules/ssize_t: New file.
14455
14456 2005-08-12  Simon Josefsson  <jas@extundo.com>
14457
14458         * m4/readline.m4: Look for termcap, curses or ncurses if required.
14459
14460 2005-08-12  Simon Josefsson  <jas@extundo.com>
14461
14462         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14463         ssize_t.
14464
14465 2005-08-12  Simon Josefsson  <jas@extundo.com>
14466
14467         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
14468         readline, getdelim and check_version.
14469         (Support for systems lacking ISO C 99: Sizes of integer types):
14470         Add size_max.
14471
14472 2005-08-12  Bruno Haible  <bruno@clisp.org>
14473
14474         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
14475
14476 2005-08-11  Simon Josefsson  <jas@extundo.com>
14477
14478         * modules/readline: New file.
14479
14480         * modules/strnlen (Files): Add strnlen.h.
14481
14482 2005-08-11  Simon Josefsson  <jas@extundo.com>
14483
14484         * m4/readline.m4: New file.
14485
14486 2005-08-11  Simon Josefsson  <jas@extundo.com>
14487
14488         * lib/readline.h, readline.c: New file.
14489
14490 2005-08-11  Simon Josefsson  <jas@extundo.com>
14491
14492         * doc/gnulib.texi (Initial import, Finishing touches): Mention
14493         gl_AVOID.
14494
14495 2005-08-11  Bruno Haible  <bruno@clisp.org>
14496
14497         * lib/strnlen.h (strnlen): Change parameter name to match comment.
14498
14499 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
14500
14501         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
14502
14503 2005-08-10  Simon Josefsson  <jas@extundo.com>
14504
14505         * tests/test-iconvme.c: New file.
14506
14507 2005-08-10  Simon Josefsson  <jas@extundo.com>
14508
14509         * m4/strnlen.m4: New file.
14510
14511         * m4/strndup.m4: Don't check for strnlen declaration, done in
14512         strnlen.m4.
14513
14514 2005-08-10  Simon Josefsson  <jas@extundo.com>
14515
14516         * lib/strndup.c: Use strnlen.h.
14517
14518         * lib/strnlen.h: New file.
14519
14520 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
14521
14522         * README: Typos.
14523
14524 2005-08-02  Simon Josefsson  <jas@extundo.com>
14525
14526         * modules/readline: New file.
14527
14528 2005-08-02  Simon Josefsson  <jas@extundo.com>
14529
14530         * modules/getdelim: New file.
14531
14532         * modules/getline: Rewrite, don't use getndelim2.
14533
14534 2005-08-02  Simon Josefsson  <jas@extundo.com>
14535
14536         * m4/getline.m4: Separate out getdelim stuff into separate module.
14537
14538         * m4/getdelim.m4: New file.
14539
14540 2005-08-02  Simon Josefsson  <jas@extundo.com>
14541
14542         * lib/getline.h, getline.c: Rewrite.
14543
14544         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
14545
14546 2005-07-31  Bruno Haible  <bruno@clisp.org>
14547
14548         * lib/lock.h (gl_lock_initializer): New macro.
14549         (gl_lock_define_initialized): Use it.
14550         (gl_rwlock_initializer): New macro.
14551         (gl_rwlock_define_initialized): Use it.
14552         (gl_recursive_lock_initializer): New macro.
14553         (gl_recursive_lock_define_initialized): Use it.
14554
14555 2005-07-30  Karl Berry  <karl@gnu.org>
14556
14557         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
14558         Report from Ben Pfaff, regarding getopt.
14559
14560 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
14561
14562         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
14563         normal way.
14564         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
14565         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
14566         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
14567         (gl_GETOPT): Use the new macros.  Most of the implementation
14568         is moved to the new macros.  This is for programs like Emacs
14569         that don't want all the functionality of gl_GETOPT.
14570
14571 2005-07-26  Bruno Haible  <bruno@clisp.org>
14572
14573         * m4/lock.m4: Update from GNU gettext.
14574
14575 2005-07-26  Bruno Haible  <bruno@clisp.org>
14576
14577         * lib/lock.h: Update from GNU gettext.
14578         * lib/lock.c: Update from GNU gettext.
14579
14580 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14581
14582         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
14583         obsolescent AC_TRY_RUN.  Include the default includes files, for
14584         'exit'.
14585
14586 2005-07-24  Bruno Haible  <bruno@clisp.org>
14587
14588         * modules/visibility: New file.
14589         * MODULES.html.sh (Misc): Add visibility.
14590
14591 2005-07-24  Bruno Haible  <bruno@clisp.org>
14592
14593         * m4/visibility.m4: New file.
14594
14595 2005-07-24  Bruno Haible  <bruno@clisp.org>
14596
14597         * doc/visibility.texi: New file.
14598
14599 2005-07-22  Bruno Haible  <bruno@clisp.org>
14600
14601         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
14602         $(ALLOCA_H), redundant through BUILT_SOURCES.
14603         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
14604         redundant through BUILT_SOURCES.
14605         * modules/byteswap (Makefile.am): Remove explicit dependency on
14606         $(BYTESWAP_H), redundant through BUILT_SOURCES.
14607         * modules/fnmatch (Makefile.am): Remove explicit dependency on
14608         $(FNMATCH_H), redundant through BUILT_SOURCES.
14609         * modules/getopt (Makefile.am): Remove explicit dependency on
14610         $(GETOPT_H), redundant through BUILT_SOURCES.
14611         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
14612         redundant through BUILT_SOURCES.
14613         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
14614         redundant through BUILT_SOURCES.
14615         * modules/stdbool (Makefile.am): Remove explicit dependency on
14616         $(STDBOOL_H), redundant through BUILT_SOURCES.
14617         * modules/stdint (Makefile.am): Remove explicit dependency on
14618         $(STDINT_H), redundant through BUILT_SOURCES.
14619         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
14620         Remove explicit dependency on $(SYSEXITS_H).
14621         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
14622
14623 2005-07-18  Simon Josefsson  <jas@extundo.com>
14624
14625         * lib/check-version.c (check_version): Accept identical versions too.
14626
14627 2005-07-18  Bruno Haible  <bruno@clisp.org>
14628
14629         * modules/lock: New file.
14630         * MODULES.html.sh (Multithreading): New section.
14631
14632 2005-07-18  Bruno Haible  <bruno@clisp.org>
14633
14634         * m4/lock.m4: New file, from GNU gettext.
14635
14636 2005-07-18  Bruno Haible  <bruno@clisp.org>
14637
14638         * lib/lock.h: New file, from GNU gettext.
14639         * lib/lock.c: New file, from GNU gettext.
14640
14641 2005-07-18  Bruno Haible  <bruno@clisp.org>
14642
14643         * lib/lock.h (gl_once_t): New type.
14644         (gl_once_define, gl_once): New macros.
14645         * lib/lock.c (fresh_once): New variable.
14646         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
14647         functions.
14648
14649 2005-07-16  Simon Josefsson  <jas@extundo.com>
14650
14651         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
14652         workaround, suggested by Bruno.
14653
14654 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14655
14656         * modules/xalloc (Depends-on): Add xalloc-die.
14657         * modules/xvasprintf (Depends-on): Add xalloc-die.
14658
14659 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14660
14661         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
14662         with a minor change.
14663
14664 2005-07-15  Bruno Haible  <bruno@clisp.org>
14665
14666         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
14667         When using lib/poll.c, define poll as rpl_poll.
14668
14669 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
14670
14671         * modules/argp (Depends-on): Remove unlocked-io.
14672
14673 2005-07-14  Derek Price  <derek@ximbiot.com>
14674
14675         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
14676         for glob symlink bug.
14677
14678 2005-07-14  Bruno Haible  <bruno@clisp.org>
14679
14680         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
14681         Instead, test for *_unlocked function declarations directly.
14682
14683 2005-07-11  Simon Josefsson  <jas@extundo.com>
14684
14685         * modules/size_max: New file.
14686
14687         * modules/xsize: Depend on size_max module for size_max.m4.
14688
14689 2005-07-11  Simon Josefsson  <jas@extundo.com>
14690
14691         * lib/size_max.h: New file.
14692
14693 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
14694
14695         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
14696         copyright symbol and the year.
14697         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
14698         (version_etc_va): Use parameterized copyright notice.
14699         Reword to conform to the current GNU coding standards.
14700
14701 2005-07-11  Karl Berry  <karl@gnu.org>
14702
14703         * doc/gnulib.texi (Quoting): new node.
14704         (Initial import): more info, from Patrice.
14705
14706 2005-07-11  Bruno Haible  <bruno@clisp.org>
14707
14708         * gnulib-tool (func_usage): Document option --avoid.
14709         (Command line options): Handle --avoid.
14710         (func_acceptable): New function.
14711         (func_modules_transitive_closure): Use it.
14712
14713 2005-07-11  Bruno Haible  <bruno@clisp.org>
14714
14715         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
14716         Reported by Jim Meyering.
14717
14718 2005-07-10  Bruno Haible  <bruno@clisp.org>
14719
14720         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
14721         Needed when size_t is smaller than 'unsigned int'.
14722         Reported by Paul Eggert.
14723
14724 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14725
14726         * modules/argp (Depends-on): Add unlocked-io
14727
14728 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14729
14730         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
14731         block of defines.
14732
14733 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14734
14735         * config/srclist.txt: Comment out regcomp.c, since we have a porting
14736         fix now.
14737
14738 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
14739         and Paul Eggert  <eggert@cs.ucla.edu>
14740
14741         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
14742         in wint_t, not wchar_t.  Remove now-unnecessary cast.
14743
14744 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14745
14746         * modules/regex (Files): Add lib/regex_internal.c,
14747         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
14748         (Depends-on): Add extensions.
14749         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
14750
14751 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14752
14753         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
14754         pathconf.
14755         * m4/same.m4 (gl_SAME): Likewise.
14756         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
14757
14758         * m4/regex.m4: Adjust to new libc regex implementation.
14759         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
14760         all the .c and .h parts of (the new) regex.
14761         Quote the m4 stuff better.
14762         Check for RE_ICASE bug of old gnulib.
14763         Check for REG_STARTEND of recent libc.
14764         Rename local variables from jm_* to gl_*.
14765         Quote operand of "test -f".
14766         Say "recent enough" version of libc, not "version 2".
14767         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
14768         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
14769         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
14770         Remove check for btowc, isascii.
14771         Require AM_LANGINFO_CODESET.
14772
14773 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14774
14775         * lib/regex.c, regex.h: Sync from libc.
14776         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
14777         * lib/regexec.c:
14778         New files, synced from libc, except that regex_internal.h
14779         currently has a small porting fix.
14780
14781 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14782
14783         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
14784         regex_internal.c, regexec.c.
14785         Add regex_internal.h too, but as a comment, since the libc version
14786         is currently broken in gnulib mode.
14787
14788 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14789
14790         Support programs like Emacs that use gnulib but not gettext.
14791         * MODULES.html.sh (Internationalization functions): Add gettext-h.
14792         * modules/gettext-h: New file.
14793         * modules/gettext (Files): Remove lib/gettext.h.
14794         (Depends-on): Add gettext-h.
14795         (Makefile.am): Remove lib_SOURCES.
14796         * modules/argmatch, modules/c-stack, modules/closeout:
14797         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
14798         * modules/execute, modules/file-type, modules/getaddrinfo:
14799         * modules/getopt, modules/human, modules/javacomp:
14800         * modules/javaexec, modules/mkdir-p, modules/obstack:
14801         * modules/openat, modules/pagealign_alloc, modules/pipe:
14802         * modules/quotearg, modules/regex, modules/rpmatch:
14803         * modules/unicodeio, modules/userspec, modules/version-etc:
14804         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
14805         * modules/xsetenv:
14806         Depend on gettext-h, not gettext.
14807
14808 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14809
14810         * gnulib-tool (func_import): Add support for 'public domain' license.
14811         * modules/alloca, modules/atexit, modules/memmove:
14812         Now public domain, not GPL.
14813         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
14814         * modules/realloc, modules/strerror, modules/strtod:
14815         Now LGPL, not GPL.
14816
14817 2005-07-05  Bruno Haible  <bruno@clisp.org>
14818
14819         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
14820         autoconf CVS. Needed for mingw.
14821
14822 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14823
14824         Remove the dependency of the strftime module on the tzset module.
14825         * modules/strftime (Depends-on): Remove dependency on tzset.
14826
14827 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14828
14829         Remove the dependency of the strftime module on the tzset module.
14830         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
14831         gl_FUNC_TZSET_CLOBBER.
14832
14833 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14834
14835         Remove the dependency of the strftime module on the tzset module.
14836         * lib/strftime.c (my_strftime)
14837         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
14838         Copy the input structure, to work around some of the bug with
14839         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
14840         Solaris releases, you should also use the tzset module, but we won't
14841         require it as a dependency any more since we don't want LGPLed code
14842         to depend on GPLed code.
14843
14844 2005-07-02  Jim Meyering  <jim@meyering.net>
14845
14846         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
14847         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
14848         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
14849         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
14850
14851 2005-07-02  Jim Meyering  <jim@meyering.net>
14852
14853         * lib/backupfile.c (backup_args): Change a `0' to NULL.
14854
14855 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
14856
14857         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
14858         declares only 'struct timespec;' (!).
14859
14860 2005-07-01  Jim Meyering  <jim@meyering.net>
14861
14862         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
14863         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
14864         * lib/save-cwd.c, tempname.c:
14865         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
14866         and don't include <sys/file.h>).
14867
14868 2005-06-29  Jim Meyering  <jim@meyering.net>
14869
14870         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
14871         type name.  Use the variable name instead.
14872         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
14873         Likewise.
14874
14875 2005-06-28  Simon Josefsson  <jas@extundo.com>
14876
14877         * modules/check-version (Files): Add check-version.m4.
14878
14879 2005-06-28  Simon Josefsson  <jas@extundo.com>
14880
14881         * m4/check-version.m4: New file, suggested by Jim Meyering
14882         <jim@meyering.net>.
14883
14884 2005-06-28  Simon Josefsson  <jas@extundo.com>
14885
14886         * lib/check-version.h, lib/check-version.c: New files.
14887
14888 2005-06-28  Simon Josefsson  <jas@extundo.com>
14889
14890         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
14891         collision with global variable.  Better indentation.  Don't
14892         increment buffer pointer beyond buffer end.  Based on comments
14893         from Paul Eggert <eggert@cs.ucla.edu>.
14894
14895         * lib/base64.h: Indent.
14896
14897 2005-06-28  Simon Josefsson  <jas@extundo.com>
14898
14899         * doc/gnulib.texi (Library version handling): New section.
14900
14901 2005-06-28  Jim Meyering  <jim@meyering.net>
14902
14903         * check-module (find_included_lib_files): Hard-code another
14904         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
14905         but modules/fts-lgpl (correctly) does not list those files.
14906
14907         * modules/canonicalize (Files): Add lib/pathmax.h.
14908
14909 2005-06-25  Simon Josefsson  <jas@extundo.com>
14910
14911         * modules/check-version: New file.
14912
14913 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14914
14915         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
14916         initializer of struct addrinfo, as an indication that we don't
14917         care how many members the structure has.
14918
14919 2005-06-24  Derek Price  <derek@ximbiot.com>
14920         and Bruno Haible  <bruno@clisp.org>
14921
14922         Remove stat module & update lstat.
14923         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
14924         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14925         * m4/stat.m4: Remove this file.
14926
14927 2005-06-24  Derek Price  <derek@ximbiot.com>
14928         and Bruno Haible  <bruno@clisp.org>
14929
14930         Remove stat module & update lstat.
14931         * lib/stat.c: Remove this file...
14932         (slash_aware_lstat): ...moving this content and its support...
14933         * lib/lstat.c (rpl_lstat): ...into here.
14934         * lib/lstat.h: New file.
14935
14936 2005-06-24  Derek Price  <derek@ximbiot.com>
14937         and Bruno Haible  <bruno@clisp.org>
14938
14939         Remove stat module & update lstat.
14940         * config/srclist.txt (libc sources): Remove stat.
14941
14942 2005-06-24  Derek Price  <derek@ximbiot.com>
14943         and Bruno Haible  <bruno@clisp.org>
14944
14945         Remove stat module & update lstat.
14946         * MODULES.html.sh (stat): Remove.
14947         * MODULES.html: Regenerated.
14948         * modules/lstat (Description): Correct function name.
14949         (Files): Add "lstat.h".
14950         (Depends-on): Remove stat, add xalloc, stat-macros.
14951         * modules/stat: Remove this file.
14952         (Include): Add "lstat.h", remove <sys/stat.h>.
14953
14954 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14955
14956         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
14957         (ranged_convert): Don't save conversion in a temporary struct.
14958         This causes a warning with GCC 4.0.0, and anyway in the typical
14959         case it's not worth the extra 100 bytes or so of code.
14960         (ranged_convert, __mktime_internal): When calling a function via a
14961         pointer P, use P () rather than (*P) (), as we now assume C89 or
14962         better.
14963
14964 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14965
14966         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
14967         "who -r" failed to give output.  Problem reported by Tim Waugh.
14968
14969         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
14970         (xcalloc): Use it to avoid needless tests.
14971         Problem reported by Jim Meyering.
14972
14973 2005-06-20  Derek Price  <derek@ximbiot.com>
14974
14975         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
14976         unnecessary for Autoconfs > 2.59c.
14977
14978 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14979
14980         * lib/argp.h (__option_is_short): Check upper limit of
14981         __key. Isprint() requires its argument to have the value
14982         of an unsigned char or EOF.
14983
14984 2005-06-16  Jim Meyering  <jim@meyering.net>
14985
14986         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
14987         when either N or S is zero.
14988
14989 2005-06-16  Derek Price  <derek@ximbiot.com>
14990
14991         * m4/bison.m4: Declare YACC & YFLAGS precious.
14992
14993 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
14994
14995         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
14996         multibyte string or pattern, fall back on unibyte matching.
14997         Problem reported by James Youngman.
14998
14999 2005-06-08  Bruno Haible  <bruno@clisp.org>
15000
15001         * modules/csharpcomp: New file.
15002         * MODULES.html.sh (C#): Add csharpcomp.
15003
15004 2005-06-08  Bruno Haible  <bruno@clisp.org>
15005
15006         * m4/csharpcomp.m4: New file, from GNU gettext.
15007
15008 2005-06-08  Bruno Haible  <bruno@clisp.org>
15009
15010         * lib/csharpcomp.h: New file, from GNU gettext.
15011         * lib/csharpcomp.c: New file, from GNU gettext.
15012         * lib/csharpcomp.sh.in: New file, from GNU gettext.
15013
15014 2005-06-08  Bruno Haible  <bruno@clisp.org>
15015
15016         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
15017         warning on mingw.
15018
15019 2005-06-07  Derek Price  <derek@ximbiot.com>
15020
15021         Sync from CVS.
15022         * lib/glob_.h: Indent nested #ifdef.
15023
15024 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
15025
15026         Sync from coreutils.
15027         Use "file name" when talking about file names, instead of "filename"
15028         or "path", as per the GNU coding standards.
15029         * lib/mkdir-p.c: Renamed from makepath.c.
15030         (make_dir_parents): Renamed from make_path.  All callers changed.
15031         * lib/mkdir-p.h: Likewise.  All includers changed.
15032         * lib/filenamecat.c: Renamed from path-concat.c.
15033         (file_name_concat): Renamed from path_concat.  All callers changed.
15034         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
15035         * lib/filenamecat.h: Likewise.  All includers changed.
15036         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
15037         in comments or local variable names.
15038         * lib/basename.c: Likewise.
15039         * lib/canonicalize.c, canonicalize.h: Likewise.
15040         * lib/dirname.c, dirname.h: Likewise.
15041         * lib/euidaccess.c: Likewise.
15042         * lib/exclude.c: Likewise
15043         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
15044         * lib/fsusage.c, fsuage.h: Likewise.
15045         * lib/fts.c, fts_.h: Likewise.
15046         * lib/getcwd.c: Likewise.
15047         * lib/getloadavg.c: Likewise.
15048         * lib/mkstemp.c: Likewise.
15049         * lib/mountlist.c, mountlist.h: Likewise.
15050         * lib/openat.c, openat.h: Likewise.
15051         * lib/readlink-stub.c: Likewise.
15052         * lib/readutmp.c, readutmp.h: Likewise.
15053         * lib/rename.c: Likewise.
15054         * lib/rmdir.c: Likewise.
15055         * lib/same.c: Likewise.
15056         * lib/savedir.c: Likewise.
15057         * lib/stripslash.c: Likewise.
15058         * lib/tempname.c: Likewise.
15059         * lib/xreadlink.c: Likewise.
15060         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
15061         All uses changed.
15062         * lib/exclude.h: Likewise.
15063
15064         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
15065         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
15066         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
15067         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
15068         * lib/pathmax.h: Include <limits.h> unconditionally, since other
15069         files have been getting away with it for years (MORE/BSD 4.3
15070         is extinct now).
15071         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
15072         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
15073
15074         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
15075         Define to 256, not 255, as per modern POSIX.
15076
15077 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
15078
15079         Sync from coreutils.
15080         Use "file name" when talking about file names, instead of "filename"
15081         or "path", as per the GNU coding standards.
15082         * MODULES.html.sh: mkdir-p renamed from makepath.
15083         filenamecat renamed from path-concat.
15084         * modules/filenamecat: Renamed from modules/path-concat.
15085         (Files): filenamecat.h and filenamecat.c renamed from
15086         path-concat.h and path-concat.c.
15087         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
15088         (Include): filenamecat.h, not path-concat.h.
15089         * modules/mkdir-p: Renamed from modules/makepath.
15090         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
15091         makepath.c.
15092         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
15093         (Include): mkdir-p.h, not makepath.h.
15094
15095 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
15096
15097         Sync from coreutils.
15098         * m4/mkdir-p.m4: Renamed from makepath.m4.
15099         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
15100         Rename files from makepath.c to mkdir-p.c, and from
15101         makepath.h to mkdir-p.h.
15102         * m4/filenamecat.m4: Renamed from path-concat.m4.
15103         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
15104         Rename files from path-concat.c to filenamecat.c,
15105         and from path-concat.h to filenamecat.h.
15106         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
15107         "file name" in local variables or comments.
15108         * m4/rename.m4: Likewise.
15109
15110 2005-06-01  Bruno Haible  <bruno@clisp.org>
15111
15112         * modules/csharpexec: New file.
15113         * MODULES.html.sh (C#): New section.
15114
15115 2005-06-01  Bruno Haible  <bruno@clisp.org>
15116
15117         * m4/csharp.m4: New file, from GNU gettext.
15118         * m4/csharpexec.m4: New file, from GNU gettext.
15119
15120 2005-06-01  Bruno Haible  <bruno@clisp.org>
15121
15122         * lib/csharpexec.h: New file, from GNU gettext.
15123         * lib/csharpexec.c: New file, from GNU gettext.
15124         * lib/csharpexec.sh.in: New file, from GNU gettext.
15125
15126 2005-05-31  Derek Price  <derek@ximbiot.com>
15127             Paul Eggert  <eggert@cs.ucla.edu>
15128
15129         Sync from cvs.
15130         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
15131
15132 2005-05-31  Derek Price  <derek@ximbiot.com>
15133             Paul Eggert  <eggert@cs.ucla.edu>
15134
15135         Sync from cvs.
15136         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
15137
15138 2005-05-29  Derek Price  <derek@ximbiot.com>
15139
15140         * config/srclist.txt (glob_.h, glob.c): Add these files.
15141
15142 2005-05-29  Derek Price  <derek@ximbiot.com>
15143
15144         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
15145         * modules/glob: New file.
15146         * modules/getlogin_r: Add link to POSIX spec in description.
15147
15148 2005-05-29  Derek Price  <derek@ximbiot.com>
15149             Paul Eggert  <eggert@cs.ucla.edu>
15150
15151         * m4/glob.m4: New file.
15152
15153 2005-05-29  Derek Price  <derek@ximbiot.com>
15154             Paul Eggert  <eggert@cs.ucla.edu>
15155
15156         * lib/glob_.h, lib/glob.c: New files.
15157
15158 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
15159
15160         * modules/fts (Files): Remove m4/inttypes-pri.m4.
15161         * modules/fts-lgpl (Depends-on): Remove gettext.
15162
15163 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
15164
15165         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
15166         and don't require gt_INTTYPES_PRI.
15167
15168 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
15169
15170         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
15171
15172         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
15173         the configuration hassle isn't worth it.
15174         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
15175         (LONGEST_MODIFIER, PRIuMAX): Remove.
15176
15177 2005-05-27  Bruno Haible  <bruno@clisp.org>
15178
15179         * lib/getlogin_r.h: Remove second include of <stddef.h>.
15180
15181 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
15182
15183         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
15184         _POSIX_PTHREAD_SEMANTICS for Solaris.
15185
15186 2005-05-25  Derek Price  <derek@ximbiot.com>
15187
15188         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
15189
15190 2005-05-25  Derek Price  <derek@ximbiot.com>
15191             Paul Eggert  <eggert@cs.ucla.edu>
15192
15193         * modules/getlogin_r, m4/getlogin_r.m4: New files.
15194         * lib/getlogin_r.c, getlogin_r.h: New files.
15195
15196 2005-05-25  Bruno Haible  <bruno@clisp.org>
15197             Derek Price  <derek@ximbiot.com>
15198
15199         * lib/getlogin_r.h: Simplify API documentation.
15200
15201 2005-05-23  Derek Price  <derek@ximbiot.com>
15202
15203         * modules/minmax (Files): Add m4/minmax.m4.
15204         (configure.ac): Add gl_MINMAX.
15205
15206 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
15207
15208         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
15209         so that unistd-safer.h (GPL'ed code) need not be included.
15210
15211 2005-05-22  Bruno Haible  <bruno@clisp.org>
15212
15213         * m4/minmax.m4: New file.
15214         Based on a patch by Derek Price <derek@ximbiot.com>.
15215
15216 2005-05-22  Bruno Haible  <bruno@clisp.org>
15217
15218         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
15219         (INT64_MIN): Fix definition.
15220         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
15221
15222         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
15223         NEED_SIGNED_INT_TYPES.
15224
15225         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
15226         HAVE_SYSTEM_INTTYPES.
15227
15228 2005-05-22  Bruno Haible  <bruno@clisp.org>
15229
15230         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
15231         Also include <sys/param.h> if it defines MIN, MAX.
15232         Based on a patch by Derek Price <derek@ximbiot.com>.
15233
15234 2005-05-21  Jim Meyering  <jim@meyering.net>
15235
15236         * modules/fts (Files): Add m4/inttypes-pri.m4.
15237         (Depends-on): Add lstat and remove gettext.  Alphabetize.
15238
15239 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15240
15241         New fts module.
15242         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
15243         (setup_dir, free_dir): New functions.
15244         (enter_dir, leave_dir): Define trivial
15245         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
15246         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
15247         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
15248         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
15249         Move to fts-cycle.c.
15250         (fts_open): Use setup_dir.
15251         (fts_close): Use free_dir.
15252         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
15253         This adds a label and some gotos, but the alternatives were messier.
15254         Check for memory allocation failure when entering a dir.
15255         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
15256         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
15257         (FTS): New member fts_cycle, that is a union that contains the
15258         old active_dir_ht and cycle_state.  All uses changed to mention
15259         fts_cycle.ht and fts_cycle.state.
15260         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
15261         fts.c, with the following changes:
15262         (setup_dir, free_dir): New functions.
15263         (enter_dir): Now returns bool.  Return true if successful, false
15264         if memory exhausted.  All callers changed.
15265         Do not bother partly cleaning up on
15266         memory allocation failure; that is free_dir's job.
15267         However, free ad if hash_insert fails, to avoid memory leak.
15268         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
15269         fts->fts_options to see which union member to use.
15270
15271 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15272
15273         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
15274         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
15275
15276 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15277
15278         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
15279
15280 2005-05-20  Jim Meyering  <jim@meyering.net>
15281
15282         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
15283         Now a macro, to pacify GCC.
15284
15285 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
15286
15287         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
15288         of -1.
15289
15290 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
15291
15292         * lib/chown.c (rpl_chown): Return -1 on failure.
15293
15294 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
15295
15296         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
15297         Don't check for stddef.h.
15298         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
15299         don't use its results.
15300         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
15301         since we include them unconditionally.  Don't require
15302         AM_STDBOOL_H, since stdbool is a prerequisite.
15303         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
15304         since we assume C89 or better.
15305         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
15306         as we don't use their results.
15307         Don't check for fchdir, memmove, memset, strrchr, as we use
15308         them unconditionally.
15309         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
15310         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
15311
15312 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
15313
15314         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
15315         Include <stddef.h> unconditionally, since we assume C89 now.
15316         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
15317         * lib/fts.c: Include fts_.h first, to check interface.
15318         Do not include intprops.h; no longer needed.
15319         Include cycle-check.h and hash.h, since fts_.h no longer does.
15320         Remove unnecessary casts of closedir to void.
15321         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
15322         decide whether to decrement nlinks.
15323         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
15324         (FTS): Use struct hash_table * instead of Hash_table, so that
15325         we no longer need to include hash.h here.
15326
15327 2005-05-18  Jim Meyering  <jim@meyering.net>
15328
15329         * modules/dirfd (License): Change to LGPL.  Most of the code
15330         is already in the public domain.
15331
15332 2005-05-18  Jim Meyering  <jim@meyering.net>
15333
15334         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
15335         Reported by Yoann Vandoorselaere.
15336
15337 2005-05-17  Jim Meyering  <jim@meyering.net>
15338
15339         * m4/fts.m4: New file, from coreutils.
15340
15341 2005-05-17  Jim Meyering  <jim@meyering.net>
15342
15343         * lib/fts.c, lib/fts_.h: New files, from coreutils.
15344
15345 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15346
15347         Sync from coreutils.
15348         * m4/unlinkdir.m4: New file.
15349
15350 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15351
15352         Sync from coreutils.
15353         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
15354         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
15355         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
15356         White space changes only.
15357         * lib/makepath.c (make_path): Port to hosts where leading "//" is
15358         special.
15359         * lib/yesno.c: Include getline.h, not ctype.h.
15360         (yesno): Don't remove leading white space; POSIX doesn't allow it.
15361         Use getline to remove arbitrary restriction on response length.
15362
15363 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15364
15365         * config/srclist-update: Spell out "Street" in FSF postal
15366         mail address; this is the style the FSF seems to prefer.
15367
15368         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
15369         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
15370         this updates FSF postal mail address.
15371
15372         Sync from coreutils.
15373         * modules/unlinkdir: New file.
15374         * modules/yesno (Depends-on): Add getline.
15375         * MODULES.html.sh (File system functions): Add unlinkdir.
15376
15377 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15378
15379         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
15380         lib/strsep.h:
15381         Change the initial comment to refer to GPL, not LGPL.
15382         gnulib-tool will change it to LGPL as needed.
15383
15384         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
15385         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
15386         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
15387         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
15388         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
15389         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
15390         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
15391         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
15392         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
15393         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
15394         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
15395         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
15396         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
15397         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
15398         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
15399         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
15400         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
15401         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
15402         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
15403         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
15404         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
15405         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
15406         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
15407         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
15408         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
15409         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
15410         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
15411         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
15412         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
15413         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
15414         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
15415         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
15416         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
15417         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
15418         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
15419         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
15420         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
15421         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
15422         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
15423         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
15424         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
15425         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
15426         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
15427         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
15428         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
15429         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
15430         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
15431         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
15432         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
15433         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
15434         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
15435         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
15436         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
15437         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
15438         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
15439         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
15440         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
15441         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
15442         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
15443         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
15444         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
15445         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
15446         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
15447         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
15448         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
15449         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
15450         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
15451         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
15452         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
15453         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
15454         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
15455         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
15456         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
15457         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
15458         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
15459         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
15460         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
15461         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
15462         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
15463         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
15464         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
15465         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
15466         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
15467         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
15468         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
15469         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
15470         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
15471         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
15472         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
15473         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
15474         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
15475         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
15476         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
15477         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
15478         lib/yesno.c, lib/yesno.h:
15479         Update FSF postal mail address.
15480
15481 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15482
15483         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
15484         tests/test-memmem.c, tests/test-stpncpy.c:
15485         Update FSF postal mail address.
15486
15487 2005-05-13  Bruno Haible  <bruno@clisp.org>
15488
15489         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
15490         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
15491         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
15492         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
15493         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
15494         Add support for 64-bit integers in the MSVC compiler.
15495
15496 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15497
15498         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
15499
15500 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
15501
15502         * gnulib-tool (func_import): Sort and uniquify recommended includes.
15503
15504 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
15505
15506         * doc/getdate.texi (General date syntax): Don't say that date
15507         date --iso-8601=ns generates acceptable dates; it doesn't yet.
15508         Problem reported by Nic Ferrier.
15509
15510 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15511
15512         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
15513         specified in ai_socktype. Fix invalid ai_protocol
15514         check. ai_protocol is usually set to 0 or depending on
15515         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
15516         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
15517         ai_socktype / ai_protocol in the returned addrinfo structure.
15518
15519 2005-05-10  Simon Josefsson  <jas@extundo.com>
15520
15521         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
15522         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
15523
15524 2005-05-10  Karl Berry  <karl@gnu.org>
15525
15526         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
15527         (from http://www.gnu.org/licenses).
15528         * doc/COPYING.LIB: also rename to COPYING.LESSER.
15529         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
15530         fdl.texi suffices.
15531
15532 2005-05-10  Karl Berry  <karl@gnu.org>
15533
15534         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
15535         (COPYING.DOC): remove.
15536
15537         * config/srclist-update: new FSF address.
15538
15539 2005-05-10  Derek Price  <derek@ximbiot.com>
15540
15541         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
15542         possible.
15543
15544 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15545             Bruno Haible  <bruno@clisp.org>
15546
15547         * modules/inet_ntop: New file.
15548         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15549         inet_ntop.
15550
15551 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15552             Bruno Haible  <bruno@clisp.org>
15553
15554         * m4/inet_ntop.m4: New file.
15555
15556 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15557             Bruno Haible  <bruno@clisp.org>
15558
15559         * lib/inet_ntop.h: New file.
15560         * lib/inet_ntop.c: New file, from glibc with modifications.
15561
15562 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
15563
15564         * modules/time_r (License): Change to LGPL.
15565         * modules/extensions (License): Change to LGPL.  Actually,
15566         the license is more permissive than that, but currently gnulib-tool
15567         doesn't know how to handle more-permissive licenses.
15568
15569         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
15570         Problem reported by Dave Love.
15571
15572 2005-05-08  Jim Meyering  <jim@meyering.net>
15573
15574         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
15575         blank.
15576
15577 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15578
15579         * modules/argmatch (Depends-on): Add stdbool.
15580         * modules/backupfile (Depends-on): Likewise.
15581         * modules/chdir-long (Depends-on): Likewise.
15582         * modules/closeout (Depends-on): Likewise.
15583         * modules/cycle-check (Depends-on): Likewise.
15584         * modules/dirname (Depends-on): Likewise.
15585         * modules/fnmatch (Depends-on): Likewise.
15586         * modules/fsusage (Depends-on): Likewise.
15587         * modules/fwriteerror (Depends-on): Likewise.
15588         * modules/getcwd (Depends-on): Likewise.
15589         * modules/getloadavg (Depends-on): Likewise.
15590         * modules/hard-locale (Depends-on): Likewise.
15591         * modules/makepath (Depends-on): Likewise.
15592         * modules/mountlist (Depends-on): Likewise.
15593         * modules/nanosleep (Depends-on): Likewise.
15594         * modules/posixtm (Depends-on): Likewise.
15595         * modules/quotearg (Depends-on): Likewise.
15596         * modules/readtokens (Depends-on): Likewise.
15597         * modules/readtokens0 (Depends-on): Likewise.
15598         * modules/readutmp (Depends-on): Likewise.
15599         * modules/save-cwd (Depends-on): Likewise.
15600         * modules/strftime (Depends-on): Likewise.
15601         * modules/userspec (Depends-on): Likewise.
15602         * modules/utimecmp (Depends-on): Likewise.
15603         * modules/xgetcwd (Depends-on): Likewise.
15604         * modules/xnanosleep (Depends-on): Likewise.
15605         * modules/xstrtod (Depends-on): Likewise.
15606         * modules/yesno (Depends-on): Likewise.
15607
15608 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15609
15610         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
15611         needless checks.
15612
15613 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15614
15615         Merge from coreutils.  Among other things,
15616         add bulletproofing for cases where stdin, stdout, or stderr are closed.
15617         * lib/fd-safer.c: New file.
15618         * lib/fcntl-safer.h, open-safer.c: Remove.
15619         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
15620         * lib/dup-safer.c: Include unistd-safer.h first.
15621         Don't include errno.h.
15622         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
15623         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
15624         * lib/file-type.c: Rely on file-type.h change.
15625         * lib/getloadavg.c: Include unistd-safer.h.
15626         (getloadavg): Use safer open.
15627         * lib/getusershell.c: Include "stdio-safer.h".
15628         (getusershell): Use safer fopen.
15629         * lib/long-options.c (long_options): Use NULL rather than 0.
15630         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
15631         'free'.
15632         * lib/modechange.c: Likewise.
15633         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
15634         (MODE_DONE): New constant.
15635         (struct mode_change): Remove 'next' member.
15636         (make_node_op_equals): New function; like the old one of the
15637         same name, except it allocates an array.
15638         (mode_compile, mode_create_from_ref): Use it.
15639         (mode_compile): Allocate result as an array, not a linked list.
15640         Parse octal string ourself, so that we catch mistakes like "+0".
15641         (mode_adjust): Arg is an array, not a linked list.
15642         * lib/modechange.c: Include stat-macros.h, xalloc.h.
15643         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
15644         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
15645         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
15646         Remove.  This is now stat-macros.h's job.
15647         (talloc): Remove.  All callers replaced by xalloc, so that
15648         our invokers don't have to worry about reporting memory failures.
15649         (make_node_op_equals): Remove.
15650         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15651         New constants.
15652         (struct mode_change): Moved here from modechange.h.
15653         (mode_append_entry): Remove.
15654         (mode_compile): Remove MASKED_OPS arg, since it encouraged
15655         apps to have incorrect behavior.  Use simpler algorithm for head
15656         and tail.  Don't futz with umask; that's now the job of mode_adjust.
15657         Detect more invalid usages rather than having somewhat-random behavior.
15658         Don't insert an "a=" action, as that leads to incorrect behavior.
15659         (mode_compile, mode_create_from_ref): Return NULL on error instead
15660         of an enum, since now there's only one way to have an error.  All
15661         callers changed.
15662         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
15663         at the correct time.  Simplify calculation of "+u" and its ilk.
15664         Don't mishandle "+X".
15665         (mode_free): Remove "register" and localize decls.
15666         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15667         (struct mode_change): Move to modechange.c; callers don't
15668         need to see this stuff.
15669         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
15670         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
15671         (mode_change, mode_adjust): Reflect the new signatures noted above.
15672         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
15673         that might redefine system include files.
15674         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
15675         (my_usleep): Use NULL rather than (void *) 0.
15676         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
15677         Use siginterrupt to specify that system calls should be interrupted.
15678         (rpl_nanosleep): Move initialization of suspended closer to call of
15679         my_usleep.
15680         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
15681         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
15682         (desirable_utmp_entry): New function.
15683         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
15684         using x2nrealloc, to simplify logic.
15685         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
15686         size calculation.  Do not assume utmp file is a regular file.
15687         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
15688         (READ_UTMP_CHECK_PIDS): New constant.
15689         * lib/save-cwd.c: Include unistd-safer.h.
15690         (save_cwd): Use fd_safer.
15691         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
15692         [!_LIBC] Include "stat-macros.h" instead.
15693         * lib/unistd-safer.h (fd_safer): New decl.
15694
15695 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15696
15697         * modules/getloadavg (Depends-on): Add unistd-safer.
15698         * modules/getusershell (Depends-on): Add stdio-safer.
15699         * modules/lstat (Depends-on): Remove xalloc.
15700         * modules/mkstemp (Depends-on): Add stat-macros.
15701         * modules/modechange (Depends-on): Remove xstrtol.
15702         Add stat-macros, xalloc.
15703         * modules/save-cwd (Depends-on): Add unistd-safer.
15704         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
15705         * modules/unistd-safer (Files): Add lib/fd-safer.c
15706         (Makefile.am): Remove lib_SOURCES.
15707
15708         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
15709         Remove fcntl-safer; unistd-safer supersedes it.
15710
15711 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15712
15713         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
15714         AC_HEADER_STAT.
15715         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
15716         (gl_PREREQ_CHOWN): Remove.
15717         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
15718         it.  Don't require AC_HEADER_STAT.
15719         (gl_PREREQ_LSTAT): Remove.
15720         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
15721         Don't require AC_HEADER_STAT.
15722         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
15723         (gl_PREREQ_RMDIR): Remove.
15724         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
15725         mention stat-macros.h or AC_HEADER_STAT, since we'll make
15726         the stat-macros module a prerequisite.
15727         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
15728         * m4/filemode.m4 (gl_FILEMODE): Likewise.
15729         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
15730         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
15731         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
15732         variable names.
15733         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
15734         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
15735         variable prefixes.
15736         * m4/fcntl-safer.m4: Remove.
15737         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
15738         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
15739         Invoke gl_PREREQ_FD_SAFER.
15740         (gl_PREREQ_FD_SAFER): New macro.
15741         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
15742         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
15743         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
15744         Remove duplicate call to AC_LIBOBJ(readutmp).
15745         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
15746
15747         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
15748         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
15749
15750 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15751
15752         * MODULES.html.sh (Misc): Add byteswap.
15753
15754 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15755
15756         * modules/getcwd (Depends-on): Add extensions.
15757         * modules/openat (Depends-on): Likewise.
15758
15759 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15760
15761         * modules/byteswap: New file.
15762
15763 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15764
15765         * m4/byteswap.m4: New file.
15766
15767 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15768
15769         * lib/byteswap_.h: New file.
15770
15771 2005-04-25  Karl Berry  <karl@gnu.org>
15772
15773         * m4/gettext.m4: Update from GNU gettext 0.14.4.
15774
15775 2005-04-25  Albert Chin  <china@thewrittenword.com>
15776
15777         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
15778         Toolkit C bug.
15779
15780 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
15781
15782         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
15783         (func_ln_if_changed) Remove forcibly for no error message
15784         in case file does not exist.
15785
15786 2005-04-19  Simon Josefsson  <jas@extundo.com>
15787
15788         * gnulib-tool (Options): Make --symlink mean --symbolic.
15789
15790 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
15791
15792         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
15793
15794 2005-04-16  Simon Josefsson  <jas@extundo.com>
15795
15796         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
15797
15798 2005-04-15  Simon Josefsson  <jas@extundo.com>
15799
15800         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
15801
15802 2005-04-15  Simon Josefsson  <jas@extundo.com>
15803
15804         * gnulib-tool: Rename --symlink to --symbolic.
15805
15806 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
15807
15808         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
15809         symbolic links to files instead of copying/moving.  Add --aux-dir,
15810         specifying directory relative --dir where auxiliary build tools
15811         are placed.
15812
15813 2005-04-14  Bruno Haible  <bruno@clisp.org>
15814
15815         * modules/allocsa (License): Change to LGPL.
15816         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15817
15818 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
15819
15820         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
15821         that "UTC +1 second" continues to work.  Problem reported
15822         by Dmitry V. Levin.
15823         (relunit_snumber): New rule.
15824         (relunit): Use it.
15825
15826 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
15827
15828         * lib/getdate.y (universal_time_zone_table): New constant.
15829         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
15830         universal_time_zone_table.
15831         (lookup_zone): Prefer universal_time_zone_table to
15832         local_time_zone_table, so that "GMT" time stamps are allowed in
15833         London during the summer.  Problem reported by Ian Abbott.
15834
15835 2005-04-12  Jim Meyering  <jim@meyering.net>
15836
15837         * lib/human.c (humblock): Set *options even when returning due to
15838         xstrtoumax conversion failure.  Thanks to a used-uninitialized
15839         warning from gcc-4.
15840
15841 2005-04-09  Jim Meyering  <jim@meyering.net>
15842
15843         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
15844         -Wuninitialized: initialize tm0.tm_year.
15845
15846 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
15847
15848         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
15849         count, since there's no maximum.  All uses changed.
15850         Add member dsts_seen.
15851         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
15852         not being INT_MAX.
15853         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
15854         Use pc_rels_seen to decide whther a date is absolute.
15855
15856         * lib/getdate.y (number): Don't overwrite year.
15857         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
15858         check.
15859
15860 2005-04-02  Simon Josefsson  <jas@extundo.com>
15861
15862         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
15863         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
15864
15865 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
15866
15867         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
15868         where no absolute path name can be longer than PATH_MAX.
15869
15870 2005-03-27  Jim Meyering  <jim@meyering.net>
15871
15872         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
15873
15874 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
15875
15876         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
15877         "one's complement" -> "ones' complement" in comment, as per Knuth.
15878         "value of type" -> "type or expression" in comment.
15879         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
15880
15881 2005-03-26  Jim Meyering  <jim@meyering.net>
15882
15883         Comment nits.
15884         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
15885         Correct typos: s/or/of/.
15886
15887 2005-03-26  Jim Meyering  <jim@meyering.net>
15888
15889         * modules/check-include-files: Move to ../ and rename to...
15890         * check-module: ...this.
15891
15892 2005-03-25  Jim Meyering  <jim@meyering.net>
15893
15894         * modules/xvasprintf (Files): Add xalloc.h.
15895
15896 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
15897
15898         * modules/gettext (Files): config/config.rpath ->
15899         build-aux/config.rpath
15900         * modules/iconv (Files): Likewise.
15901         Problem reported by Oskar Liljeblad.
15902
15903 2005-03-23  Jim Meyering  <jim@meyering.net>
15904
15905         * modules/check-include-files: New script to check for
15906         missing dependencies, multiple includes, etc.
15907
15908         * modules/c-strtold (Depends-on): Add xalloc.
15909         * modules/c-strtod (Depends-on): Add xalloc.
15910         * modules/hash (Depends-on): Add xalloc.
15911         (Files): Remove lib/xalloc.h.
15912
15913         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
15914         * modules/userspec (Files): Add lib/inttostr.h.
15915
15916 2005-03-23  Jim Meyering  <jim@meyering.net>
15917
15918         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
15919
15920 2005-03-22  Jim Meyering  <jim@meyering.net>
15921
15922         * modules/stat-macros: New module.
15923         * modules/canonicalize, modules/euidaccess, modules/file-type,
15924         * modules/filemode, modules/lchown, modules/makepath,
15925         * modules/rmdir, modules/stat: Depend on new stat-macros module
15926         rather than listing lib/stat-macros.h manually.
15927         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
15928
15929 2005-03-22  Jim Meyering  <jim@meyering.net>
15930
15931         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
15932
15933 2005-03-22  Bruno Haible  <bruno@clisp.org>
15934
15935         * config/srclist.txt: Replace target directory 'config' with
15936         'build-aux'.
15937         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
15938         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
15939         ../build-aux/.
15940
15941 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
15942
15943         * modules/chdir-long (Depends-on): Add mempcpy.
15944
15945         * modules/acl, modules/backupfile, modules/c-strtod,
15946         modules/c-strtold, modules/canon-host, modules/canonicalize,
15947         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
15948         modules/exclude, modules/exitfail, modules/file-type,
15949         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
15950         modules/getdate, modules/getline, modules/getpagesize,
15951         modules/getpass, modules/getugroups, modules/group-member,
15952         modules/hard-locale, modules/hash, modules/human, modules/idcache,
15953         modules/inttostr, modules/long-options, modules/makepath,
15954         modules/md5, modules/memcasecmp, modules/memcoll,
15955         modules/modechange, modules/mountlist, modules/path-concat,
15956         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
15957         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
15958         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
15959         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
15960         modules/strftime, modules/strndup, modules/strverscmp,
15961         modules/timespec, modules/unlocked-io, modules/userspec,
15962         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
15963         modules/yesno:
15964         Remove lib_SOURCES line from Makefile.am section, as this is now
15965         done automatically by the corresponding Autoconf macro.
15966
15967 2005-03-21  Jim Meyering  <jim@meyering.net>
15968
15969         Changes imported from coreutils.
15970
15971         * lib/cycle-check.c: Don't include xalloc.h.
15972
15973         * lib/path-concat.c: Don't include assert.h.
15974         (path_concat): Remove assertion that would have triggered
15975         for ABASE starting with more than one slash.
15976         Reported by Andreas Schwab.
15977
15978         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
15979         properly when ABASE is an absolute file name.
15980         Correct the description of this function.
15981         Include <assert.h>.
15982         Add an assertion and a test driver.
15983         This fixes a bug introduced on 2004-07-02.
15984         Andreas Schwab reported the resulting failure of cp --parents:
15985         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
15986
15987 2005-03-21  Jim Meyering  <jim@meyering.net>
15988
15989         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
15990         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
15991
15992 2005-03-21  Jim Meyering  <jim@meyering.net>
15993         and  Paul Eggert  <eggert@cs.ucla.edu>
15994
15995         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
15996         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
15997         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
15998         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
15999         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
16000         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
16001         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
16002         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
16003         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
16004         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
16005         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
16006         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
16007         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
16008         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
16009         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
16010         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
16011         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
16012         for these modules.
16013
16014 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
16015
16016         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
16017         (which shouldn't happen), generate nothing instead of returning 0
16018         immediately, so that nstrftime (NULL, ...) doesn't return 0.
16019
16020 2005-03-16  Bruno Haible  <bruno@clisp.org>
16021
16022         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
16023         HAVE_LONGLONG_64BIT.
16024
16025 2005-03-16  Bruno Haible  <bruno@clisp.org>
16026
16027         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
16028         HAVE_LONGLONG_64BIT.
16029
16030 2005-03-16  Bruno Haible  <bruno@clisp.org>
16031
16032         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
16033         HAVE_LONGLONG_64BIT.
16034
16035 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
16036
16037         * lib/strftime.c (my_strftime): Prepend space to format so that we can
16038         reliably distinguish strftime failure from empty output on POSIX
16039         hosts.
16040
16041 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
16042
16043         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
16044         (iconv_string): Don't guess a size-zero buffer, as that might cause
16045         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
16046         result would be 'too large', where 'too large' is (heuristically)
16047         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
16048         overflow concerns.  This will prevent some unwanted malloc failures
16049         when the inputs are very large.
16050
16051 2005-03-15  Karl Berry  <karl@gnu.org>
16052
16053         * config/srclist.txt (config.rpath): from gettext.
16054         * config/config.rpath: update.
16055
16056 2005-03-15  Bruno Haible  <bruno@clisp.org>
16057
16058         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
16059         to 'negate'.
16060
16061         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
16062         variable.
16063
16064         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
16065         results.
16066
16067 2005-03-14  Simon Josefsson  <jas@extundo.com>
16068
16069         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
16070         <fx@gnu.org>.
16071
16072 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
16073
16074         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
16075         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
16076         intprops.h.
16077         * lib/strtol.c: Likewise.
16078
16079 2005-03-14  Jim Meyering  <jim@meyering.net>
16080
16081         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
16082         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
16083         to be nonzero so that we (and caller) can detect the difference
16084         between a valid zero-length expansion and an error return, even
16085         when the underlying strftime fails before writing anything into
16086         that location.
16087
16088 2005-03-14  Bruno Haible  <bruno@clisp.org>
16089
16090         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
16091         Update from GNU gettext 0.14.3.
16092
16093 2005-03-10  Jim Meyering  <jim@meyering.net>
16094
16095         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
16096
16097 2005-03-10  Jim Meyering  <jim@meyering.net>
16098
16099         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
16100         so that this module works on systems without fchdir.
16101
16102 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
16103
16104         Factor int-properties macros into a single file, except for
16105         glibc-related files.
16106         * lib/intprops.h: New file.
16107         * lib/getloadavg.c: Include it instead of limits.h.
16108         (INT_STRLEN_BOUND): Remove.
16109         * lib/human.c: Include intprops.h.
16110         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
16111         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
16112         302/1000.
16113         * lib/inttostr.h: Include intprops.h instead of limits.h.
16114         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
16115         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
16116         for consistency with intprops.h.
16117         (time_t_is_integer, twos_complement_arithmetic): Use them.
16118         * lib/sig2str.h: Include <signal.h>, intprops.h.
16119         (INT_STRLEN_BOUND): Remove.
16120         * lib/strftime.c (TYPE_SIGNED): Remove.
16121         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
16122         * lib/strtol.c: Adjust comments to match intprops.h.
16123         * lib/userspec.c: Include intprops.h.
16124         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
16125         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
16126         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
16127         instead of rolling our own expressions.
16128         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
16129
16130         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
16131         instead of int.
16132         (my_strftime): Do not mishandle years close to INT_MAX, by doing
16133         the right thing even if adding 1900 would overflow.  Similarly
16134         for tm_mon + 1 and tm_yday + 1.
16135         Make %Y always equivalent to %C%y, and similarly for %G and %g.
16136         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
16137         (DO_SIGNED_NUMBER): New macro.
16138         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
16139
16140 2005-03-07  Bruno Haible  <bruno@clisp.org>
16141
16142         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
16143
16144 2005-03-07  Bruno Haible  <bruno@clisp.org>
16145
16146         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
16147
16148 2005-03-04  Derek R. Price  <derek@ximbiot.com>
16149
16150         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
16151         (func_import): Only replace files via --import when they have actually
16152         changed.
16153
16154 2005-03-03  Derek R. Price  <derek@ximbiot.com>
16155
16156         * m4/mmap-anon.m4: New file.
16157         * m4/pagealign_alloc.m4: New file.
16158
16159 2005-03-03  Derek R. Price  <derek@ximbiot.com>
16160             Bruno Haible  <bruno@clisp.org>
16161
16162         * modules/pagealign_alloc: New file.
16163         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
16164
16165 2005-03-03  Derek R. Price  <derek@ximbiot.com>
16166             Bruno Haible  <bruno@clisp.org>
16167
16168         * lib/pagealign_alloc.h: New file.
16169         * lib/pagealign_alloc.c: New file.
16170
16171 2005-03-03  Bruno Haible  <bruno@clisp.org>
16172
16173         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
16174         Use an all-permissive copyright notice, recommended by RMS.
16175
16176 2005-03-02  Bruno Haible  <bruno@clisp.org>
16177
16178         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
16179         of AIX, the replacement has to be done only after <string.h> is
16180         included, therefore not in config.h. stpncpy.h does the replacement,
16181         and stpncpy.c uses it.
16182
16183 2005-03-02  Bruno Haible  <bruno@clisp.org>
16184
16185         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
16186         stpncpy.c uses it.
16187
16188 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
16189
16190         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
16191         The workaround isn't strictly needed for POSIX conformance, and
16192         it's too much of a pain to configure and maintain.  We'll ask
16193         people to fix their kernels instead.
16194         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
16195         (NANOSLEEP_BUG_WORKAROUND): Remove.
16196         (xnanosleep): Remove the workaround.
16197
16198 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
16199
16200         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
16201         Reported by Derek Price.
16202         (Include): Add "timespec.h".
16203
16204         * modules/xnanosleep (Depends-on): Remove gethrxtime.
16205
16206 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
16207
16208         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
16209         to detect nanosleep bug.
16210
16211 2005-03-01  Bruno Haible  <bruno@clisp.org>
16212
16213         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
16214
16215 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
16216
16217         * modules/gethrxtime: New file.
16218         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
16219         (Depends-on): Add gethrxtime.
16220         (configure.ac): Add gl_XNANOSLEEP.
16221         (Makefile.am): Remove lib_SOURCES line.
16222
16223 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
16224
16225         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
16226         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
16227
16228 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
16229
16230         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
16231         * lib/timespec.h (gettime): Return void, since it always
16232         succeeds now.  All uses changed.
16233         * lib/gettime.c (gettime) Likewise.
16234         [HAVE_NANOTIME]: Prefer nanotime.
16235         Assume gettimeofday succeeds, as POSIX requires.
16236         Assime time () succeeds, since other code already does.
16237         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
16238         (timespec_subtract): Remove.
16239         (NANOSLEEP_BUG_WORKAROUND): New constant.
16240         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
16241         things considerably.  Use it only on GNU/Linux hosts, since the
16242         workaround shouldn't be needed elsewhere.
16243
16244 2005-02-24  Bruno Haible  <bruno@clisp.org>
16245
16246         * modules/gettext (Files): Add m4/glibc2.m4.
16247
16248 2005-02-24  Bruno Haible  <bruno@clisp.org>
16249
16250         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
16251         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
16252         * m4/progtest.m4:
16253         Update from GNU gettext 0.14.2.
16254         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
16255
16256 2005-02-24  Bruno Haible  <bruno@clisp.org>
16257
16258         * lib/localcharset.c: Update from GNU gettext 0.14.2.
16259         * lib/config.charset: Update from GNU gettext 0.14.2.
16260
16261 2005-02-24  Bruno Haible  <bruno@clisp.org>
16262
16263         * lib/gettext.h: Update from GNU gettext 0.14.2.
16264
16265 2005-02-23  Simon Josefsson  <jas@extundo.com>
16266
16267         * m4/iconvme.m4: New file.
16268
16269 2005-02-23  Jim Meyering  <jim@meyering.net>
16270
16271         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
16272         change.
16273         Thanks to Bruno Haible for catching it.
16274
16275 2005-02-22  Simon Josefsson  <jas@extundo.com>
16276
16277         * modules/iconvme: New file.
16278
16279         * MODULES.html.sh: Add iconvme.
16280
16281 2005-02-22  Simon Josefsson  <jas@extundo.com>
16282
16283         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
16284
16285 2005-02-22  Simon Josefsson  <jas@extundo.com>
16286
16287         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
16288
16289 2005-02-22  Jim Meyering  <jim@meyering.net>
16290
16291         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
16292         s/ifndef/ifdef/.
16293
16294 2005-02-20  Neil Conway  <neilc@samurai.com>
16295
16296         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
16297         returned by OSX/Darwin if the specified buffer is not large
16298         enough for the hostname.
16299
16300 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16301
16302         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
16303         pass it to _help, otherwise the latter coredumps trying to
16304         dereference state.root_argp.
16305
16306 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
16307
16308         * modules/chdir-long (Depends-on): Add memrchr.
16309         * modules/memrchr (Files): Add lib/memrchr.h.
16310         (Include): "memrchr.h".
16311
16312 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
16313
16314         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
16315
16316 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
16317
16318         * lib/memrchr.h: New file.
16319         * lib/chdir-long.c: Include it.
16320         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
16321         Don't bother including stddef.h.
16322
16323 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
16324
16325         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
16326         inclusion.
16327         Include <sys/types.h>, for dev_t.
16328         (ME_DUMMY, ME_REMOTE): Move from here....
16329         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
16330         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
16331         Dmitry V. Levin.
16332         Include mountlist.h first, to test the interface.
16333
16334 2005-01-29  Bruno Haible  <bruno@clisp.org>
16335
16336         * lib/progname.c (program_name): Initialize.
16337         Needed when linking statically on MacOS X.
16338
16339 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
16340
16341         Sync from coreutils.
16342         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
16343         (Depends-on): Add c-strtod.
16344         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
16345
16346 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
16347
16348         Sync from coreutils.
16349         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
16350
16351         Remove files that are specific to coreutils.
16352         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
16353
16354 2005-01-28  Bruno Haible  <bruno@clisp.org>
16355
16356         * modules/javacomp: New file.
16357         * MODULES.html.sh (Java): Add javacomp.
16358
16359 2005-01-28  Bruno Haible  <bruno@clisp.org>
16360
16361         * m4/javacomp.m4: New file, from GNU gettext.
16362
16363 2005-01-28  Bruno Haible  <bruno@clisp.org>
16364
16365         * lib/javacomp.sh.in: New file, from GNU gettext.
16366         * lib/javacomp.h: New file, from GNU gettext.
16367         * lib/javacomp.c: New file, from GNU gettext.
16368
16369 2005-01-26  Simon Josefsson  <jas@extundo.com>
16370
16371         * lib/gai_strerror.c: Use GPL in header.
16372
16373 2005-01-26  Bruno Haible  <bruno@clisp.org>
16374
16375         * modules/javaexec: New file.
16376         * MODULES.html.sh (Java): Add javaexec.
16377
16378 2005-01-26  Bruno Haible  <bruno@clisp.org>
16379
16380         * m4/javaexec.m4: New file, from GNU gettext.
16381
16382 2005-01-26  Bruno Haible  <bruno@clisp.org>
16383
16384         * lib/javaexec.sh.in: New file, from GNU gettext.
16385         * lib/javaexec.h: New file, from GNU gettext.
16386         * lib/javaexec.c: New file, from GNU gettext.
16387
16388 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16389
16390         * modules/lchown (Depends-on): Remove lchown.h
16391
16392 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16393
16394         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
16395         must be defined if the header file was not found, in order
16396         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
16397
16398 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16399
16400         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
16401         initializers for struct pentry_state.
16402         (__argp_error): Check return value of __asprintf
16403         (__argp_failure): Translate error message
16404
16405         * lib/argp-parse.c: Removed braces around the expansion of N_()
16406
16407 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
16408
16409         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
16410         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
16411         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
16412         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
16413         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
16414         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
16415         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
16416         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
16417         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
16418         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
16419         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
16420         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
16421         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
16422         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
16423         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
16424         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
16425         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
16426         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
16427         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
16428         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
16429         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
16430         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
16431         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
16432         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
16433         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
16434         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
16435         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
16436         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
16437         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
16438         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
16439         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
16440         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
16441         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
16442         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
16443         xstrtol.m4, xstrtoumax.m4, yesno.m4:
16444         Use an all-permissive copyright notice, recommended by RMS.
16445
16446 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
16447
16448         * modules/chdir-long (Depends-on): Remove mempcpy.
16449
16450 2005-01-21  Jim Meyering  <jim@meyering.net>
16451
16452         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
16453         same value as for Solaris 9.
16454
16455         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
16456         component length.  This included changing the parameter to be
16457         of type `char *' rather than `char const *'.
16458         * lib/chdir-long.h (chdir_long): Update prototype.
16459
16460         * lib/openat.c (fdopendir, fstatat): New functions.
16461         * lib/openat.h: Include headers required for use of DIR and struct
16462         stat.
16463         [AT_SYMLINK_NOFOLLOW]: Define.
16464         (fdopendir, fstatat): Add prototypes.
16465
16466 2005-01-21  Bruno Haible  <bruno@clisp.org>
16467
16468         * modules/classpath: New file.
16469         * MODULES.html.sh (Java): Add classpath.
16470
16471 2005-01-21  Bruno Haible  <bruno@clisp.org>
16472
16473         * lib/classpath.h: New file, from GNU gettext.
16474         * lib/classpath.c: New file, from GNU gettext.
16475
16476 2005-01-20  Simon Josefsson  <jas@extundo.com>
16477
16478         * modules/version-etc-fsf: New file.
16479
16480 2005-01-20  Simon Josefsson  <jas@extundo.com>
16481
16482         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
16483         * lib/version-etc.c: Remove version_etc_copyright.
16484         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
16485         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
16486
16487 2005-01-20  Simon Josefsson  <jas@extundo.com>
16488
16489         * lib/base64.h (isbase64): Add.
16490
16491         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
16492         using a unsigned prototype, don't inline.
16493         (base64_decode): Use it.
16494
16495 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16496
16497         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
16498         it.
16499
16500 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16501
16502         * lib/save-cwd.c (save_cwd): Remove code to support the case
16503         where fchdir is missing or flaky.
16504
16505 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16506
16507         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
16508
16509 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
16510
16511         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
16512         AC_LIBSOURCES now does this.
16513         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
16514         with new ullong_max module.
16515
16516 2005-01-19  Bruno Haible  <bruno@clisp.org>
16517
16518         * modules/sh-quote: New file.
16519         * MODULES.html.sh (Executing programs): Add sh-quote.
16520
16521 2005-01-19  Bruno Haible  <bruno@clisp.org>
16522
16523         * lib/sh-quote.h: New file, from GNU gettext.
16524         * lib/sh-quote.c: New file, from GNU gettext.
16525
16526 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16527
16528         Merge from coreutils.
16529         * m4/ullong_max.m4: New file.
16530         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
16531         (gl_MACROS): Assume localeconv exists.
16532
16533 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16534
16535         Merge changes from coreutils, as described below in several
16536         changelogs dated today.
16537
16538         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
16539         (O_DIRECTORY): Remove; not needed here, since "." must be
16540         a directory.  All uses removed.
16541         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
16542         universal on Suns, and we also need to test for IRIX.
16543         Revamp code to use 'if' rather than '#if'.
16544         Avoid unnecessary comparison of cwd->desc to 0.
16545
16546         * lib/utimens.c (futimens): Robustify the previous patch, by checking
16547         for known valid error numbers rather than observed invalid ones.
16548
16549 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16550
16551         * modules/ullong_max: New file.
16552
16553         * modules/chdir-long, modules/openat: New files.
16554         * modules/save-cwd (Depends-on): Depend on chdir-long.
16555         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
16556
16557 2005-01-18  Jim Meyering  <jim@meyering.net>
16558
16559         Merge from coreutils.
16560         * m4/chdir-long.m4, m4/openat.m4: New files.
16561         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
16562         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
16563         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
16564         is sane and DOES follow symlinks.  Besides, testing 20 different
16565         systems found no broken chown implementations.
16566         Prompted by a change in rsync's copy of this macro.
16567         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
16568
16569         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
16570
16571         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
16572         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
16573         NULL-means-set-to-current-time semantics.
16574         Remove temporary file immediately, rather than waiting
16575         for configure's at-exit trap code to do it.
16576
16577 2005-01-18  Jim Meyering  <jim@meyering.net>
16578
16579         * lib/version-etc.c (version_etc_copyright): Update copyright date.
16580
16581         * lib/utimens.c (futimens): Account for the fact that futimes
16582         can also fail with errno == ENOSYS or errno == ENOENT.
16583         Patch from Dmitry V. Levin.
16584
16585         Change the name of the robust chdir function from chdir to chdir_long.
16586         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
16587         (restore_cwd): Use chdir_long, not chdir.
16588         * lib/chdir-long.c: Renamed from chdir.c.
16589         * lib/chdir-long.h: Renamed from chdir.h.
16590         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
16591         Hurd.
16592
16593 2005-01-18  Bruno Haible  <bruno@clisp.org>
16594
16595         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
16596         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
16597         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
16598         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
16599         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
16600         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
16601         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
16602         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
16603         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
16604         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
16605         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
16606         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
16607         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
16608         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
16609         Use an all-permissive copyright notice, recommended by RMS.
16610
16611 2005-01-18  Bob Proulx  <bob@proulx.com>
16612
16613         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
16614         simplify offsetof() macro construct to avoid compile failure with
16615         native HP-UX 11.0 ANSI C compiler.
16616
16617 2005-01-17  Bruno Haible  <bruno@clisp.org>
16618
16619         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
16620         redundant because stpncpy.m4 takes care of it.
16621
16622 2005-01-17  Bruno Haible  <bruno@clisp.org>
16623
16624         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
16625
16626 2005-01-17  Bruno Haible  <bruno@clisp.org>
16627
16628         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
16629         used.
16630
16631 2005-01-17  Bruno Haible  <bruno@clisp.org>
16632
16633         * lib/fwriteerror.h (fwriteerror): Change specification to include
16634         fclose.
16635         * lib/fwriteerror.c: Include <stdbool.h>.
16636         (fwriteerror): At the end, close the file stream. Record whether
16637         stdout was already closed.
16638
16639 2005-01-17  Bruno Haible  <bruno@clisp.org>
16640
16641         * lib/execute.c (environ): Declare if needed.
16642         * lib/pipe.c (environ): Likewise.
16643         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
16644
16645 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16646
16647         * modules/argp: Depend on vsnprintf
16648
16649 2005-01-10  Jim Meyering  <jim@meyering.net>
16650
16651         * modules/closeout (Depends-on): Add atexit.
16652
16653 2005-01-06  Bruno Haible  <bruno@clisp.org>
16654
16655         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
16656
16657 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
16658
16659         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
16660         definitions to be after all include files, to avoid collisions.
16661         Problem reported by Bob Proulx.
16662
16663 2005-01-04  Jim Meyering  <jim@meyering.net>
16664
16665         Changes imported from coreutils.
16666         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
16667         as the mkstemp template, use a temporary directory and an
16668         8.3-friendly template to avoid trouble on systems like DJGPP.
16669         Reported by Juan M. Guerrero via Stepan Kasal.
16670         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
16671         close. Remove the temporary directory right away, rather than waiting
16672         for configure's at-exit trap code to do it.
16673         Suggestion from Stepan Kasal.
16674
16675 2005-01-01  Simon Josefsson  <jas@extundo.com>
16676
16677         * gnulib-tool: Print #include directives when --import'ing.
16678
16679 2004-12-28  Simon Josefsson  <jas@extundo.com>
16680
16681         * tests/test-base64.c: Include required header files.  Remove
16682         unused variables.
16683
16684 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16685
16686         * modules/error (Depends-on): Remove gettext.
16687
16688 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16689
16690         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
16691         not needed.  This removes a dependency on the gettext module.
16692         [defined _LIBC]: Do not include <libintl.h>; not needed.
16693
16694 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16695
16696         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
16697         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
16698
16699 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16700
16701         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
16702         HAVE_DECL_STRTOLD.
16703
16704 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16705
16706         * modules/getdate (Depends-on): Remove alloca-opt.
16707
16708 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16709
16710         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
16711
16712 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16713
16714         * lib/argp-parse.c: Include <stddef.h>.
16715         (alignof, alignto): New macros.
16716         (parser_init): Don't assume that void * is aligned sufficiently
16717         for struct option.
16718
16719         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
16720         need to extend the stack.
16721         (YYINITDEPTH): New macro, so that the initial stack isn't overly
16722         large.
16723
16724 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16725
16726         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
16727
16728 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16729
16730         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
16731         (2004-10-24) change.  Apparently this was a false alarm.
16732
16733         * modules/getdate: Depend on alloca-opt, not alloca.
16734
16735 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16736
16737         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
16738         Remove now-obsolete comment about AIX.
16739         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
16740         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
16741         (YYMAXDEPTH): New macro.
16742
16743 2004-12-18  Simon Josefsson  <jas@extundo.com>
16744
16745         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
16746
16747 2004-12-18  Bruno Haible  <bruno@clisp.org>
16748
16749         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
16750
16751 2004-12-18  Bruno Haible  <bruno@clisp.org>
16752
16753         * lib/fatal-signal.c (fatal_signals): Make non-const.
16754         (init_fatal_signals): New function.
16755         (uninstall_handlers, install_handlers): Ignore signals that were set to
16756         SIG_IGN.
16757         (at_fatal_signal): Call init_fatal_signals.
16758         (init_fatal_signal_set): Likewise. Ignore signals that were set to
16759         SIG_IGN.
16760         Reported by Paul Eggert.
16761
16762 2004-12-18  Bruno Haible  <bruno@clisp.org>
16763
16764         * doc/alloca.texi: New file.
16765         * doc/alloca-opt.texi: New file.
16766
16767 2004-12-17  Jim Meyering  <jim@meyering.net>
16768
16769         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
16770         Otherwise, install-sh could exit with improper exit status when
16771         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
16772
16773 2004-12-16  Simon Josefsson  <jas@extundo.com>
16774
16775         * tests/test-base64.c: Add license.
16776
16777 2004-12-15  Stepan Kasal  <address@hidden>
16778
16779         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
16780
16781 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
16782
16783         * modules/getcwd (Files): Add m4/d-ino.m4.
16784         Suggested by Mark D. Baushke.
16785
16786 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16787
16788         * lib/getdate.y (textint): New member "negative".
16789         (time_zone_hhmm): New function.
16790         Expect 14 shift-reduce conflicts, not 13.
16791         (o_colon_minutes): New rule.
16792         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
16793         (yylex): Set the "negative" member of signed numbers.
16794
16795 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16796
16797         * doc/getdate.texi (Time of day items, Time zone items):
16798         Describe new formats +00:00, UTC+00:00.
16799
16800 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16801
16802         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
16803         spurious "-l"s.  Problem reported by Stepan Kasal.
16804
16805 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
16806
16807         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
16808         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
16809
16810 2004-12-04  Simon Josefsson  <jas@extundo.com>
16811
16812         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
16813         Vandoorselaere <yoann@prelude-ids.org>.
16814
16815 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16816
16817         Changes imported from coreutils.
16818         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
16819         exist.
16820         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
16821
16822 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16823
16824         Changes imported from coreutils.
16825         * lib/hard-locale.c: Assume <locale.h> exists.
16826         Include "strdup.h".
16827         (GLIBC_VERSION): New macro.
16828         (hard_locale): Assume setlocale exists.
16829         Rewrite to avoid #ifdef.
16830         Use strdup rather than malloc + strcpy.
16831         * lib/human.c: Assume <locale.h> exists.
16832         (human_readable): Assume localeconv exists.
16833
16834 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16835
16836         * modules/hard-locale (Depends-on): Add strdup.
16837
16838 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
16839
16840         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
16841         convert T2, not T.  (Imported from libc.)
16842
16843 2004-11-30  Simon Josefsson  <jas@extundo.com>
16844
16845         * modules/restrict (License): Change to LGPL.
16846
16847 2004-11-30  Simon Josefsson  <jas@extundo.com>
16848
16849         * m4/restrict.m4: Add copyright and copying conditions.
16850
16851 2004-11-30  Simon Josefsson  <jas@extundo.com>
16852
16853         * m4/base64.m4: New file.
16854
16855 2004-11-30  Simon Josefsson  <jas@extundo.com>
16856
16857         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
16858         base64.
16859
16860         * tests/test-base64.c: New file.
16861
16862         * modules/base64: New file.
16863
16864 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16865
16866         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
16867         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
16868
16869         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
16870
16871 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16872
16873         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
16874         (__getcwd.c): Don't restore errno; glibc doesn't.
16875         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
16876         first, falling back to our code only if its results look suspicious.
16877         Ensure that the resulting buffer is only as large as necessary.
16878
16879         * lib/readutmp.c: Include readutmp.h first.
16880         Include <errno.h>, since readutmp.h no longer does that.
16881         * lib/readutmp.h: Don't include <errno.h>,
16882         <sys/param.h>, <time.h>; not needed to establish interface.
16883         (errno): Remove decl.
16884         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
16885         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
16886         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
16887
16888 2004-11-28  Simon Josefsson  <jas@extundo.com>
16889
16890         * lib/base64.h, base64.c: New file.
16891
16892 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
16893
16894         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
16895
16896 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
16897
16898         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
16899         (Depends-on): Remove pathmax, same.  Add mempcpy.
16900         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
16901         (Makefile.am): Append getcwd.h to lib_SOURCES.
16902         (Include): Add getcwd.h.
16903         (Maintainer): Change from Jim Meyering to "all, glibc",
16904         since getdate now uses intended-for-glibc code.
16905         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
16906         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
16907
16908 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16909
16910         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
16911         HP's ANSI C compiler.
16912         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
16913         Declaring int functions causes warnings on some modern systems and
16914         shouldn't be needed to compile on ancient ones.
16915         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
16916         defined.
16917
16918         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
16919         with the following changes.
16920         (__set_errno): Parenthesize properly.
16921         Include <stdbool.h>.
16922         (MIN, MAX, MATCHING_INO): New macros.
16923         (__getcwd): Define with prototype, not K&R form.
16924         Use heuristics to allocate default buffer on stack if possible.
16925         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
16926         behavior, and to avoid the PATH_MAX limit when computing
16927         ../../../../...
16928         Use MATCHING_INO to compare inode number to file.
16929         Check for arithmetic overflow in size calculations.
16930         Fix bug in reallocation of dot array that caused getcwd to fail
16931         on directories nested deeper than 75.
16932         Be more careful about saving errno on error.
16933         Do not use realloc; use only free+malloc, as this is a bit
16934         more flexible and avoids a needless copy operation.
16935         Do not inspect st_dev and st_ino for symbolic links; POSIX
16936         doesn't specify the latter.
16937         Check for closedir errors.
16938         Avoid needless casts.
16939         Use "#ifdef weak_alias" around weak_alias, to be like other
16940         glibc code.
16941         The following changes to getcwd.c have effect only when used in
16942         gnulib; they have no effect inside glibc proper.
16943         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
16944         as alloca isn't used.
16945         (alloca, __alloca): Likewise.
16946         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
16947         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16948         unconditionally, as gnulib assumes C89 or better.
16949         Do not include <sys/param.h>.
16950         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
16951         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
16952         better.
16953         (NULL) [!defined NULL]: Remove; we assume C89 or better.
16954         Include <dirent.h> in a way that is compatible with modern Autoconf.
16955         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
16956         New macros, if not already defined.
16957         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
16958         Use "_LIBC", not "defined _LIBC", for consistency.
16959         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
16960         a mempcpy module.
16961         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
16962         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
16963         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
16964         credit only to Jim Meyering and adjust the copyright dates.
16965         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
16966         <stdlib.h>, <unistd.h>, "pathmax.h".
16967         Instead, include "xgetcwd.h" (first) and "getcwd.h".
16968         (INITIAL_BUFFER_SIZE): Remove.
16969         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
16970
16971 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16972
16973         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
16974         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
16975         Use the _ONCE methods, for efficiency.
16976         Check for fcntl.h.  In test program, include <errno.h>
16977         and <fcntl.h> if available.  Remove old K&R cruft from
16978         test program.  Check for common errors in GNU/Linux,
16979         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
16980         don't do AC_LIBOBJ, as that's getcwd.m4's job.
16981         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
16982         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
16983         name accordingly.
16984         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
16985         accommodate new getcwd.c.
16986         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
16987         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
16988         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
16989         that's all we need now.
16990
16991 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16992
16993         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
16994         argp-parse.c depends on getopt internals, that means we should
16995         always use our getopt, to be on the safe side.
16996         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
16997         order not to spoil the result of an eventual previous invocation
16998         of gl_GETOPT_SUBSTITUTE.
16999
17000 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17001
17002         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
17003         redefinition warnings. To avoid them, include the defines
17004         in `#if !defined __need_getopt ... #endif'. The only place
17005         where __getopt_argv_const is used is in definitions
17006         of getopt_long and getopt_long_only below, which are as well
17007         protected by `#ifndef __need_getopt'.
17008         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
17009         __need_getopt after including <stdio.h> and <unistd.h> These
17010         headers might have defined it.
17011
17012 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
17013
17014         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
17015
17016 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
17017
17018         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
17019         (futimens): New function, which uses futimes if available.
17020         (futimens, utimens): Support timespec==NULL, with same semantics
17021         as utime and utimens.
17022         * lib/utimens.h (futimens): New decl.
17023
17024 2004-11-23  Jim Meyering  <jim@meyering.net>
17025
17026         * lib/getopt_.h: Remove trailing blanks.
17027
17028 2004-11-23  Jim Meyering  <jim@meyering.net>
17029
17030         * lib/__fpending.c: Add comment.
17031
17032 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
17033
17034         * modules/canonicalize (Depends-on): Add xreadlink.
17035         Problem reported by James Youngman.
17036
17037 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
17038
17039         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
17040         New macros.
17041         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
17042         optopt): Use them instead of invoking ## directly; otherwise, the
17043         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
17044
17045 2004-11-19  Bruno Haible  <bruno@clisp.org>
17046
17047         * lib/strtok_r.c: Move comments from here...
17048         * lib/strtok_r.h: ... to here.
17049
17050 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
17051
17052         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
17053         implementations that mishandle size_t overflow.
17054
17055 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
17056
17057         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
17058         might fail.  Problem reported by Yoann Vandoorselaere.
17059         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
17060         implementations that mishandle size_t overflow.
17061
17062 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
17063
17064         * modules/canon-host (Depends-on): Add strdup.
17065
17066 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
17067
17068         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
17069
17070 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
17071
17072         * lib/canon-host.c: Include "strdup.h".
17073         (canon_host): Use getaddrinfo if available, so that IPv6 works.
17074         Use strdup instead of malloc/strcpy to duplicate strings.
17075
17076         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
17077         (human_space_before_unit): New constant.
17078         * lib/human.c (human_readable): Support it.
17079
17080         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
17081         (xgetcwd): Set errno correctly when failing.
17082         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
17083         the failure is actually due to a PATH_MAX problem.
17084
17085         Further getopt changes to make it more likely that glibc will
17086         buy the changes back.
17087         * lib/getopt.c (POSIXLY_CORRECT): New constant.
17088         (getopt): Use it, so to preserve glibc semantic
17089         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
17090         when compiling for libc.
17091         * lib/getopt_.h (__getopt_argv_const): Bring it back.
17092         (getopt_long, getopt_long_only): Use it.
17093
17094         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
17095         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
17096         (getopt): Argv is now char * const *, as per standard.
17097         (_getopt_internal_r, _getopt_internal): Argv is now char **,
17098         not char *__getopt_argv_const *.
17099         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
17100         _getopt_long_only_r): Likewise.
17101         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
17102         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
17103         _getopt_long_r, _getopt_long_only_r): Likewise.
17104         * lib/getopt_.h (__getopt_argv_const): Remove.
17105         (getopt): Argv is now char * const *, as per standard.
17106
17107         * lib/getdate.y (tORDINAL): New token.
17108         (day, relunit): Allow it for relative times.
17109         (relative_time_table): Use tORDINAL for ordinals.
17110
17111 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
17112
17113         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
17114         Document that "second" isn't allowed as an ordinal number.
17115
17116 2004-11-16  Jim Meyering  <jim@meyering.net>
17117
17118         * modules/closeout (Depends-on): Add fpending.
17119
17120 2004-11-15  Jim Meyering  <jim@meyering.net>
17121
17122         * lib/closeout.c: Include "__fpending.h" once again.
17123         Include <stdbool.h>.
17124         (close_stdout): Don't fail just because stdout was closed initially,
17125         since some programs don't write to stdout in the normal course of
17126         operation (other than --version and --help), and we don't want this
17127         function to make e.g. `touch file >&-' fail.
17128         But do fail if it was closed and someone has tried to write to it.
17129         E.g., `printf foo >&-' must fail.
17130
17131 2004-11-13  Jim Meyering  <jim@meyering.net>
17132
17133         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
17134
17135 2004-11-12  Simon Josefsson  <jas@extundo.com>
17136
17137         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
17138         small doc fix is still pending.
17139
17140 2004-11-11  Simon Josefsson  <jas@extundo.com>
17141
17142         * modules/strtok_r: New file.
17143
17144         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17145         strtok_r.
17146
17147 2004-11-11  Simon Josefsson  <jas@extundo.com>
17148
17149         * m4/strtok_r.m4: New file.
17150
17151         * m4/getopt.m4: Replace opterr.
17152
17153 2004-11-11  Simon Josefsson  <jas@extundo.com>
17154
17155         * lib/strtok_r.h, strtok_r.c: New file.
17156
17157 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
17158
17159         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
17160         of replacing opterr, getopt, etc.  This should handle the
17161         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
17162
17163 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
17164
17165         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
17166         we can stop lying to compilers about the constness of argv when we
17167         are compiled outside glibc.
17168         (getopt, getopt_long, getopt_long_only): Use it.
17169         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
17170         _getopt_internal, getopt): Likewise.
17171         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
17172         _getopt_long_only_r): Likewise.
17173         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
17174         _getopt_long_r, _getopt_long_only_r): Likewise.
17175
17176         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
17177         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
17178         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
17179         the other external symbols.
17180         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
17181         declaration, since the above renaming now works around collisions.
17182
17183 2004-11-11  Jim Meyering  <jim@meyering.net>
17184
17185         * lib/linebreak.c: Remove trailing blanks.
17186         * lib/alloca_.h: Likewise.
17187         * lib/acosl.c: Likewise.
17188         * lib/euidaccess.c: Likewise.
17189         * lib/allocsa.h: Likewise.
17190
17191 2004-11-10  Simon Josefsson  <jas@extundo.com>
17192
17193         * m4/getaddrinfo.m4: New file.
17194
17195 2004-11-10  Simon Josefsson  <jas@extundo.com>
17196
17197         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
17198
17199 2004-11-10  Simon Josefsson  <jas@extundo.com>
17200
17201         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17202         getaddrinfo.
17203
17204         * modules/getaddrinfo: New file.
17205
17206 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
17207
17208         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
17209
17210 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
17211
17212         * lib/mktime.c (SHR): New macro, which is a portable
17213         substitute for >> that should work even on Crays.
17214         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
17215         Problem reported by Mark D. Baushke in
17216         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
17217         * lib/getdate.y (SHR): Likewise.
17218         (tm_diff): Use it.
17219         * lib/strftime.c (SHR): Likewise.
17220         (tm_diff): Use it.
17221         * lib/quotearg.c (struct quoting_options): Use unsigned int for
17222         quote_these_too, so that right shifts are well defined.  All uses
17223         changed.
17224
17225 2004-11-10  Jim Meyering  <jim@meyering.net>
17226
17227         Ensure that no close failure goes unreported.
17228         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
17229         return early when it seems there's nothing to flush.
17230         Don't include __fpending.h.
17231
17232 2004-11-10  Jim Meyering  <jim@meyering.net>
17233
17234         * modules/closeout (Depends-on): Remove fpending.
17235
17236 2004-11-10  Jim Meyering  <jim@meyering.net>
17237
17238         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
17239
17240 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
17241
17242         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
17243         gl_FUNC_STRFTIME.
17244         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
17245         and AC_REQUIRE when possible, to avoid duplicate checks.
17246         Check for <wchar.h>.
17247
17248 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
17249
17250         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
17251
17252 2004-11-09  Bruno Haible  <bruno@clisp.org>
17253
17254         * m4/sockpfaf.m4: New file.
17255
17256 2004-11-05  Bruno Haible  <bruno@clisp.org>
17257
17258         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
17259         Reported by Mark D. Baushke <mdb@cvshome.org>.
17260
17261 2004-11-04  Bruno Haible  <bruno@clisp.org>
17262
17263         2004-09-11  Bruno Haible  <bruno@clisp.org>
17264                 * allocsa.valgrind: New file.
17265         2004-02-06  Bruno Haible  <bruno@clisp.org>
17266                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
17267                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
17268                 Reported by Christopher Seip <chris.seip@hp.com>.
17269
17270 2004-11-04  Bruno Haible  <bruno@clisp.org>
17271
17272         * modules/allocsa (Files): Add lib/allocsa.valgrind.
17273         (Makefile.am): Distribute it.
17274
17275 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17276
17277         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
17278         with errno == ERANGE if the buffer is too small.
17279         Problem reported by Mark D. Baushke.
17280
17281 2004-11-03  Albert Chin  <china@thewrittenword.com>
17282             Paul Eggert  <eggert@cs.ucla.edu>
17283
17284         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
17285         equivalent, substitute $ac_type for equivalent type rather than
17286         blindly using uint32_t *always* which won't work if uint32_t is not
17287         available.  Define _UINT32_T to work around typedef of uint32_t if
17288         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
17289         2.5.1.
17290
17291 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17292
17293         * m4/jm-macros.m4: Sync from coreutils.
17294         (gl_MACROS): Check for mbrlen, for pathchk.
17295         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
17296
17297 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17298
17299         * lib/xreadlink.c (MAXSIZE): New macro.
17300         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
17301         size does not exceed MAXSIZE.  Avoid cast.
17302         As suggested by Mark D. Baushke in
17303         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
17304         if readlink fails with buffer size just under MAXSIZE, try again
17305         with MAXSIZE.
17306
17307 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17308
17309         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
17310
17311 2004-11-02  Derek R. Price  <derek@ximbiot.com>
17312         and  Paul Eggert  <eggert@cs.ucla.edu>
17313
17314         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
17315         (get_date): Overparenthesize to avoid GCC warning.
17316
17317 2004-11-02  Bruno Haible  <bruno@clisp.org>
17318
17319         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
17320         returns void.
17321
17322 2004-11-02  Bruno Haible  <bruno@clisp.org>
17323
17324         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
17325         function returns void.
17326
17327 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
17328
17329         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
17330         fflush_unlocked, flockfile, funlockfile, funlockfile,
17331         fputs_unlocked, putc_unlocked.
17332
17333 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
17334
17335         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
17336         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
17337         already declared.
17338
17339 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
17340
17341         * modules/getdate (Files): Add doc/getdate.texi.
17342         (Depends-on): Add setenv, xalloc.
17343
17344 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
17345
17346         * lib/getdate.y: Add support for TZ="foo" within a date string.
17347         Fix some bugs near time_t boundaries.  Reject dates with
17348         out-of-range components, e.g., "Sept 31".
17349         Include <stdlib.h>, "setenv.h", "xalloc.h".
17350         (ISDIGIT_LOCALE): Remove; unused.
17351         Note that the TZ and time functions used here are not reentrant.
17352         (mktime_ok, get_tz): New functions.
17353         (TZBUFSIZE): New constant.
17354         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
17355         This requires that we sometimes generate our own TZ="XXX..." setting.
17356
17357 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
17358
17359         * doc/getdate.texi: New file, from coreutils with modifications for
17360         the new TZ parsing.
17361
17362 2004-10-27  Derek R. Price  <derek@ximbiot.com>
17363
17364         * lib/mktime.c (not_equal_tm): Remove redundant check.
17365
17366 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
17367
17368         * modules/regex (lib_SOURCES): Add regex.c.
17369         Reported by James Youngman in
17370         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
17371
17372 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
17373
17374         * lib/getdate.y: Use Bison 1.875 features, and some minor
17375         code cleanups.  This change does not affect semantics.
17376         Don't include <stdlib.h>; no longer needed.
17377         Don't include unlocked-io.h; only the "#if TEST" code uses
17378         stdio, and performance isn't crucial there.
17379         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
17380         Bison 1.875 features as described below.
17381         All uses of "PC." replaced by "pc->".
17382         (YYSTYPE): Add a forward declaration.
17383         (yylex, yyerror): Use full prototypes in forward decls.
17384         Use "%pure-parser" rather than obsolescent "%pure_parser".
17385         Use %parse-param and %lex-param instead of obsolescent
17386         YYPARSE_PARAM and YYLEX_PARAM.
17387         (meridian_table, month_and_day_table, time_units_table,
17388         relative_time_table, time_zone_table, military_table,
17389         lookup_zone, lookup_word, get_date):
17390         Use NULL instead of 0 where appropriate.
17391         (to_hour): Avoid abort (), to avoid a dependency on
17392         stdlib.h.
17393         (yyerror, yylex): Now accepts parser_control * arg.
17394         (main) [TEST]: Use '\0' rather than 0 for char.
17395
17396 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
17397
17398         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
17399
17400 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
17401
17402         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
17403         It's now the caller's responsibility to handle the case where
17404         !HAVE_GETPAGESIZE && !defined getpagesize.
17405
17406         * lib/mktime.c (leapyear): Arg is long int, not int.
17407
17408 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
17409
17410         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
17411
17412 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
17413
17414         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
17415         missing.  Problem reported by James Youngman.
17416
17417 2004-10-16  Simon Josefsson  <jas@extundo.com>
17418
17419         * gnulib-tool: Fix comments.  Fix parse problem.
17420         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
17421
17422 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
17423
17424         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
17425         implementation of getopt_long.  Problem reported by Alexander Taler in:
17426         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
17427
17428 2004-10-15  Bruno Haible  <bruno@clisp.org>
17429
17430         * gnulib-tool: Untabify. Initialize supplied_libname.
17431         (func_usage): More homogenous output.
17432         (func_modules_transitive_closure, func_modules_to_filelist,
17433         func_emit_lib_Makefile_am): New functions.
17434         (func_import): New function, extracted from big case statement. Use
17435         func_get_license, func_modules_transitive_closure,
17436         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
17437         opt_lgpl. Don't use test -a, as it's not portable.
17438         (func_create_testdir): Use func_modules_transitive_closure,
17439         func_modules_to_filelist, func_emit_lib_Makefile_am.
17440
17441 2004-10-15  Bruno Haible  <bruno@clisp.org>
17442
17443         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
17444
17445 2004-10-15  Bruno Haible  <bruno@clisp.org>
17446
17447         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
17448         the portions belonging to each module.
17449         Suggested by Derek Robert Price <derek@ximbiot.com>.
17450
17451 2004-10-12  Simon Josefsson  <jas@extundo.com>
17452
17453         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
17454         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
17455         to real functions.
17456
17457 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17458
17459         * modules/vsnprintf: New file.
17460
17461 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17462
17463         * m4/vsnprintf.m4: New file.
17464
17465 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17466
17467         * lib/vsnprintf.h: New file.
17468         * lib/vsnprintf.c: New file.
17469
17470 2004-10-11  Bruno Haible  <bruno@clisp.org>
17471
17472         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
17473         vsnprintf.
17474
17475 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17476
17477         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
17478
17479 2004-10-07  Bruno Haible  <bruno@clisp.org>
17480
17481         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
17482         fits into the provided buffer.
17483
17484 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17485
17486         * lib/diacrit.c, diacrit.h: Add GPL notice.
17487
17488         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
17489         notice.
17490         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
17491         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
17492         This avoids a potential constant-folding bug.
17493
17494 2004-10-05  Bruno Haible  <bruno@clisp.org>
17495
17496         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
17497         for the declaration of strsep.
17498
17499 2004-10-05  Bruno Haible  <bruno@clisp.org>
17500
17501         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
17502
17503 2004-10-04  Simon Josefsson  <jas@extundo.com>
17504
17505         * modules/memmem: New file.
17506         * tests/test-memmem.c: New file.
17507         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
17508
17509 2004-10-04  Simon Josefsson  <jas@extundo.com>
17510
17511         * m4/memmem.m4: New file.
17512
17513 2004-10-04  Simon Josefsson  <jas@extundo.com>
17514
17515         * lib/memmem.h: New file.
17516         * lib/memmem.c: New file, taken from glibc.
17517
17518 2004-10-04  Simon Josefsson  <jas@extundo.com>
17519
17520         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
17521         '#ifdef USE_UNLOCKED_IO'.
17522
17523 2004-10-04  Simon Josefsson  <jas@extundo.com>
17524
17525         * config/srclist.txt: Add memmem from glibc.
17526
17527 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17528
17529         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
17530
17531         * modules/argmatch, modules/argp, modules/closeout, modules/error,
17532         modules/exclude, modules/getdate, modules/getline,
17533         modules/getndelim2, modules/getpass, modules/getpass-gnu,
17534         modules/getusershell, modules/linebuffer, modules/md5,
17535         modules/mountlist, modules/posixtm, modules/readtokens,
17536         modules/readutmp, modules/regex, modules/sha1,
17537         modules/version-etc, modules/yesno:
17538         Remove dependency on unlocked-io.
17539
17540 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17541
17542         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
17543
17544         * m4/unlocked-io.m4: Add copyright notice.
17545         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
17546
17547 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17548
17549         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
17550         * lib/xmalloc.c (xmemdup): Likewise.
17551         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
17552         XFREE): Remove these long-obsolescent macros.
17553         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
17554         * lib/xstrdup.c: Remove.
17555
17556         * lib/regex.c (re_comp): Cast gettext return value to char *,
17557         Problem reported by Martin Neitzel via Mark D. Baushke.
17558
17559 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17560
17561         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
17562         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
17563         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
17564         regex.c, sha1.c, version-etc.c, yesno.c:
17565         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
17566         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
17567         the includer's responsibility.
17568
17569         Sync from coreutils.
17570
17571         * lib/modechange.c (mode_compile): Don't decrement a pointer that
17572         points to the start of a string, as the C Standard says the
17573         resulting behavior is undefined.
17574
17575         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
17576         simple -> simple_backups, numbered_existing ->
17577         numbered_existing_backups, numbered -> numbered_backups
17578         to avoid shadowing problems.  All uses changed.
17579         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
17580         * lib/backupfile.c (check_extension, numbered_backup):
17581         Rename locals to avoid shadowing 'basename'.
17582         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
17583         once.
17584
17585         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
17586         * lib/.cvsignore: Add getopt.h.
17587
17588 2004-10-04  Bruno Haible  <bruno@clisp.org>
17589
17590         * modules/README: New file.
17591         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
17592         not a module.
17593
17594 2004-10-02  Jim Meyering  <jim@meyering.net>
17595
17596         * lib/dirfd.h, getpagesize.h: Add copyright notice.
17597
17598 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17599
17600         * modules/strsep: New file.
17601
17602 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17603
17604         * m4/strsep.m4: New file.
17605
17606 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17607
17608         * lib/strsep.h: New file.
17609         * lib/strsep.c: New file.
17610
17611 2004-10-01  Simon Josefsson  <jas@extundo.com>
17612
17613         * lib/snprintf.c (snprintf): Handle size==0.
17614
17615 2004-10-01  Simon Josefsson  <jas@extundo.com>
17616             Bruno Haible  <bruno@clisp.org>
17617
17618         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
17619         (snprintf): Declare 'args'.
17620
17621 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
17622
17623         * lib/snprintf.c: Remove comments as to why each header is needed.
17624
17625 2004-10-01  Bruno Haible  <bruno@clisp.org>
17626
17627         * MODULES.html.sh: Add strsep.
17628
17629 2004-09-30  Simon Josefsson  <jas@extundo.com>
17630
17631         * modules/snprintf: New file.
17632
17633 2004-09-30  Simon Josefsson  <jas@extundo.com>
17634
17635         * m4/snprintf.m4: New file.
17636
17637 2004-09-30  Simon Josefsson  <jas@extundo.com>
17638
17639         * lib/snprintf.h, lib/snprintf.c: New files.
17640
17641 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17642
17643         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
17644         (hol_entry_help): Never translate an empty string.
17645         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
17646         * lib/argp.h (OPTION_NO_TRANS): New option.
17647
17648 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17649
17650         * modules/argp (Maintainer): Replace Simon Josefsson
17651         by Sergey Poznyakoff.
17652
17653 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17654
17655         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
17656         changes merged back into glibc.
17657
17658 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17659
17660         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
17661
17662 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
17663
17664         * lib/xvasprintf.c: Include xalloc.h.
17665         (xvasprintf): Use xalloc_die, not xmalloc_die.
17666
17667 2004-09-29  Bruno Haible  <bruno@clisp.org>
17668
17669         * modules/alloca-opt: New file, derived from modules/alloca.
17670         * modules/allocsa: Depend on alloca-opt instead of alloca.
17671         * modules/setenv: Likewise.
17672         * modules/vasnprintf: Likewise.
17673         * MODULES.html.sh: Add alloca-opt.
17674
17675 2004-09-28  Simon Josefsson  <jas@extundo.com>
17676
17677         * gnulib-tool: New parameter --lgpl, to asseert that modules are
17678         LGPL, and to replace license template from GPL to LGPL.
17679
17680 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17681
17682         * modules/dummy: Change license to LGPL.
17683
17684 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17685
17686         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
17687
17688 2004-09-24  Simon Josefsson  <jas@extundo.com>
17689
17690         * modules/minmax (License): Change from GPL to LGPL.
17691
17692 2004-09-23  Simon Josefsson  <jas@extundo.com>
17693
17694         * gnulib-tool (--import): Typo.
17695
17696 2004-09-23  Simon Josefsson  <jas@extundo.com>
17697
17698         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
17699
17700 2004-09-22  Bruno Haible  <bruno@clisp.org>
17701
17702         * modules/*: Add 'License' field.
17703         * gnulib-tool: Accept --extract-license option.
17704         (func_get_license): New function.
17705
17706 2004-09-21  Bruno Haible  <bruno@clisp.org>
17707
17708         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
17709         Reported by Simon Josefsson.
17710
17711 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17712
17713         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
17714         gl_AC_TYPE_LONG_LONG.
17715
17716 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17717
17718         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
17719
17720 2004-09-18  Simon Josefsson  <jas@extundo.com>
17721         and  Paul Eggert  <eggert@cs.ucla.edu>
17722
17723         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
17724         calls with autoreconf.  Define GL_LIB.
17725
17726 2004-09-14  Karl Berry  <karl@gnu.org>
17727
17728         * config/srclist.txt: unsync setenv.c, sigh.
17729
17730 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17731
17732         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
17733         Problem reported by Bruno Haible in:
17734         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
17735
17736 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17737
17738         * config/srclist.txt: Comment out argp-pvh.c.
17739
17740 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17741
17742         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
17743         in case some system header has #define'd it.  Problem reported by
17744         Soeren D. Schulze in
17745         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
17746
17747 2004-09-09  Karl Berry  <karl@gnu.org>
17748
17749         * regex.[ch]: delete from the root.  These were supposed to be
17750                 synced with emacs cvs, but this has not happened for about
17751                 a year, and anyway nothing else uses emacs regex.[ch].
17752                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
17753                 lib/regex[.ch] is untouched.
17754
17755 2004-09-09  Bruno Haible  <bruno@clisp.org>
17756
17757         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
17758
17759 2004-09-09  Bruno Haible  <bruno@clisp.org>
17760
17761         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
17762         modifications.
17763         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
17764
17765 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17766
17767         * modules/xvasprintf: New file.
17768         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
17769
17770 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17771
17772         * lib/xvasprintf.h: New file.
17773         * lib/xvasprintf.c: New file.
17774         * lib/xasprintf.c: New file.
17775
17776 2004-09-08  Bruno Haible  <bruno@clisp.org>
17777
17778         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
17779
17780 2004-09-08  Bruno Haible  <bruno@clisp.org>
17781
17782         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
17783         length is > INT_MAX.
17784         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
17785         more.
17786
17787 2004-09-08  Bruno Haible  <bruno@clisp.org>
17788
17789         * lib/stdint_.h: New file, taken from GNU clisp.
17790
17791 2004-09-08  Bruno Haible  <bruno@clisp.org>
17792             Oskar Liljeblad  <oskar@osk.mine.nu>
17793
17794         * modules/stdint: New file.
17795         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
17796
17797 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17798
17799         Import from coreutils.
17800         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
17801         strings on unbounded length.  alloca's performance benefits aren't
17802         that important here.
17803         (V_STRDUP): Remove.
17804         (parse_with_separator): New function, with most of the internals
17805         of the old parse_user_spec.  Allow user to omit both user and group,
17806         for compatibility with FreeBSD.
17807         Clone only the user name, not the entire spec.
17808         Do not set *uid, *gid unless entirely successful.
17809         Avoid memory leak in some failing cases.
17810         Fix regression for USER.GROUP reported by Dmitry V. Levin in
17811         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
17812         (parse_user_spec): Rewrite to use parse_with_separator.
17813
17814 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17815
17816         * modules/userspec: Don't depend on alloca.
17817
17818 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17819
17820         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
17821
17822 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
17823
17824         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
17825         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
17826         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
17827
17828 2004-08-16  Simon Josefsson  <jas@extundo.com>
17829
17830         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
17831         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
17832         Add --dry-run for --import.
17833         Let user provided command line parameters override configure.ac
17834         settings.
17835
17836 2004-08-12  Simon Josefsson  <jas@extundo.com>
17837
17838         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
17839         as discussed with Paul Eggert in threads rooted at
17840         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
17841         and
17842         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
17843         Before, the test was empty, and relied on ELIDE_CODE in source
17844         code.)
17845         (gl_PREREQ_GETOPT): New macro.
17846         (gl_GETOPT): Use them.
17847
17848 2004-08-12  Simon Josefsson  <jas@extundo.com>
17849
17850         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
17851         * lib/getopt_.h: Renamed from getopt.h.
17852
17853 2004-08-12  Simon Josefsson  <jas@extundo.com>
17854
17855         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
17856         Change default library name from libfoo to libgnu.
17857         Now, if you have a configure.ac that says:
17858                 gl_SOURCE_BASE(gl)
17859                 gl_M4_BASE(gl/m4)
17860                 gl_MODULES(error getopt etcetera)
17861                 gl_INIT
17862         you can import all you need by running:
17863                 ../gnulib/gnulib-tool --import
17864
17865         * modules/getopt (Files): Rename getopt.h to getopt_.h.
17866         (Makefile.am): Rewrite, use logic from argz.
17867         (Include): Use <getopt.h> instead of "getopt.h".
17868
17869 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17870
17871         * modules/argp (Files): Add m4/unlocked-io.m4.
17872         (Depends-on): Add extensions.
17873
17874 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17875
17876         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
17877         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
17878         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
17879         Check for program_invocation_name, program_invocation_short_name,
17880         flockfile, funlockfile, features.h, _getopt_long_only_r.
17881
17882 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17883
17884         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
17885         its complicated substitute.
17886         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
17887         and program_invocation_name.
17888         (__argp_basename) [!_LIBC]: Remove; the only use was
17889         replaced by its body.
17890         (__argp_short_program_name): Change condition from
17891         !defined __argp_short_program_name to
17892         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
17893         to match argp-namefrob.h.
17894         (__argp_failure): Don't assume strerror_r returns char *.
17895         * lib/argp-parse.c (N_): Define unconditionally.
17896         (argp_default_options): Fill out initializers with 0 to avoid
17897         gcc warnings.
17898
17899 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17900
17901         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
17902         getopt1.c.
17903
17904 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17905
17906         Merge from coreutils.
17907
17908         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
17909
17910         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
17911         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
17912
17913 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17914
17915         Merge from coreutils.
17916
17917         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
17918         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
17919         for Reliant Unix 5.43.
17920
17921         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
17922         (union fooround): Use uintmax_t, not long int.
17923         The rest is a merge from libc:
17924         [defined _LIBC]: Include <shlib-compat.h>.
17925         (_obstack) [defined _LIBC]: Remove after 2.3.4.
17926
17927         * lib/settime.c (settime): Recode to avoid warning with
17928         Sun Forte C 6U2.
17929
17930         * lib/strverscmp.c: Convert to UTF-8.
17931
17932 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17933
17934         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
17935         m4/uintmax_t.m4.
17936
17937 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17938
17939         * modules/xalloc-die: New file.
17940         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
17941
17942         * modules/md5 (Files): Add m4/uint32_t.m4.
17943         * modules/sha1: Renamed from modules/sha.
17944         (Files):
17945         Rename lib/sha.h to lib/sha1.h.
17946         Rename lib/sha.c to lib/sha1.c.
17947         Rename m4/sha.m4 to m4/sha1.m4.
17948         (lib_SOURCES): Likewise.
17949         (configure.ac): Rename gl_SHA to gl_SHA1.
17950         (Include): sha.h -> sha1.h.
17951
17952 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17953
17954         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
17955         * m4/sha1.m4: Renamed from sha.m4.
17956         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
17957
17958 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17959
17960         * lib/obstack.h (obstack_empty_p):
17961         Don't assume that chunk->contents is suitably aligned.
17962         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
17963         Likewise. Problem reported by Benno in
17964         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
17965
17966         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
17967         readable.  This could be improved further but it'd take some work.
17968
17969 2004-08-08  Simon Josefsson  <jas@extundo.com>
17970
17971         * modules/xgethostname (Depends-on): Remove exit and error (not
17972         used).
17973
17974         * modules/getpass-gnu: Add getpass.h.
17975         (Depends-on): Add stdbool.
17976         * modules/getpass: Add getpass.h.
17977
17978 2004-08-08  Simon Josefsson  <jas@extundo.com>
17979
17980         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
17981         Check getpass declaration.
17982
17983 2004-08-08  Simon Josefsson  <jas@extundo.com>
17984
17985         * lib/xgethostname.c: Don't include error.h (not used).
17986
17987         * lib/getpass.h: Add.
17988         * lib/getpass.c: Include getpass.h first.
17989
17990 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
17991
17992         * lib/xalloc-die.c: New file.
17993         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
17994         All uses removed.
17995         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
17996         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
17997         xalloc-die.c.
17998         (_, N_, xalloc_die): Move to xalloc-die.c.
17999         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
18000         so that we needn't mess with xalloc_msg_memory_exhausted.
18001
18002         * lib/sha1.h: Renamed from sha.h.
18003         (SHA1_H): Renamed from _SHA_H.
18004         (sha1_ctx): Renamed from sha_ctx.
18005         (sha1_init_ctx): Renamed from sha_init_ctx.
18006         (sha1_process_block): Renamed from sha_process_block.
18007         (sha1_process_bytes): Renamed from sha_process_bytes.
18008         (sha1_finish_ctx): Renamed from sha_finish_ctx.
18009         (sha1_read_ctx): Renamed from sha_read_ctx.
18010         (sha1_stream): Renamed from sha_stream.
18011         (sha1_buffer): Renamed from sha_buffer.
18012         * lib/sha1.c: Likewise; renamed from sha.c.
18013         Do not include <sys/types.h>.
18014         Include <stddef.h> rather than <stdlib.h>.
18015
18016 2004-08-08  Bruno Haible  <bruno@clisp.org>
18017
18018         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
18019         FILESYSTEM_PREFIX_LEN.
18020         * lib/progreloc.c: Likewise.
18021         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
18022
18023 2004-08-06  Simon Josefsson  <jas@extundo.com>
18024
18025         * modules/progname (Depends-on): Don't depend on stdbool.
18026
18027 2004-08-06  Simon Josefsson  <jas@extundo.com>
18028
18029         * modules/getsubopt: New file.
18030         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18031         getsubopt.
18032
18033 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
18034
18035         More merge from coreutils.
18036
18037         * m4/utimens.m4, m4/utimecmp.m4: New files.
18038         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
18039         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
18040         prereq.m4, sha.m4: Import changes from coreutils.
18041
18042 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
18043
18044         More merge from coreutils.
18045         * modules/raise, modules/readtokens0, modules/utimens:
18046         * modules/utimecmp, module/xnanosleep: New files.
18047         * modules/strftime: Add lib/strftime.h.
18048         Change include from <time.h> to "strftime.h".
18049         * modules/yesno: Add lib/yesno.h.
18050         * modules/backupfile: Remove lib/addext.c.
18051         * modules/euidaccess: Add stat-macros.h.
18052         * modules/canonicalize, modules/euidaccess,
18053         modules/filemode, modules/lchown, modules/makepath,
18054         modules/rmdir, modules/stat: Likewise.
18055
18056 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
18057
18058         Merge from tar.
18059         * lib/argp-help.c (make_hol, hol_append): Don't assume that
18060         SIZE_MAX is a valid preprocessor constant.
18061         (__argp_basename): Change from "#ifndef _LIBC"
18062         to "#ifndef __argp_short_program_name", so that
18063         we don't compile these functions for tar.
18064
18065         More merges from coreutils.
18066         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
18067         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
18068         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
18069         * lib/addext.c: Remove; no longer needed.
18070         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
18071         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
18072         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
18073         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
18074         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
18075         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
18076         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
18077         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
18078         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
18079         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
18080         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
18081         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
18082         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
18083         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
18084         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
18085         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
18086         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
18087         Import changes from coreutils.
18088
18089 2004-08-05  Simon Josefsson  <jas@extundo.com>
18090
18091         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
18092
18093 2004-08-05  Simon Josefsson  <jas@extundo.com>
18094
18095         * m4/getsubopt.m4: New file.
18096
18097 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
18098
18099         Merge from coreutils.
18100
18101         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
18102         * m4/getcwd-path-max.m4: New files.
18103
18104         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
18105         FILESYSTEM_PREFIX_LEN ->
18106         FILE_SYSTEM_PREFIX_LEN.
18107         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
18108         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
18109         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
18110         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
18111
18112         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
18113         prerequisite modules now handle the DOS stuff.
18114         Don't check for unistd.h.
18115
18116 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
18117
18118         Merge from coreutils.
18119
18120         * lib/.gdb-history: Remove; this doesn't belong here.
18121
18122         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
18123         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
18124         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
18125         * lib/getcwd.c: New files.
18126
18127         * lib/dirname.h: Include <stdbool.h>.
18128         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
18129         for consistency with POSIX terminology.  All uses changed.
18130         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
18131         (strip_trailing_slashes): Use bool for booleans.
18132         * lib/stripslash.c (strip_trailing_slashes): Likewise.
18133
18134         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
18135         sometimes returns a positive errno value even when it succeeds.
18136         (print_errno_message) [!LIBC]: Fall back on strerror if
18137         __strerror_r fails.
18138
18139         * lib/path-concat.c (mempcpy): Don't define if a system header defines
18140         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
18141         (longest_relative_suffix): New function.
18142         (path_concat): Use it.  Assume first argument is not NULL.
18143         Port to DOS.  Omit redundant separators.
18144         Report an error instead of returning NULL.
18145         Use mempcpy instead of memcpy.
18146         (xpath_concat): Remove: not declared or used.
18147
18148         * lib/same.h: Include <stdbool.h>
18149         (same_name): Return bool, not int.
18150         * lib/same.c (same_name): Likewise.
18151         (errno): Don't declare; we assume C89 or better now.
18152
18153         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
18154         if not already defined.
18155
18156         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
18157         * lib/dup-safer.c (errno): Likewise.
18158
18159 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
18160
18161         Merge from coreutils.
18162         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
18163         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
18164         * modules/path-concat: Don't depend on strdup.
18165
18166 2004-08-03  Simon Josefsson  <jas@extundo.com>
18167
18168         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
18169         * lib/progname.h: Don't include stdbool.h.
18170
18171 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
18172
18173         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
18174         * MODULES.html.sh (func_all_modules): Remove fatal.
18175
18176 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
18177
18178         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
18179
18180 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
18181
18182         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
18183         working.
18184
18185 2004-08-02  Simon Josefsson  <jas@extundo.com>
18186
18187         * lib/getsubopt.h: New file, with comments from Bruno Haible.
18188         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
18189         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
18190
18191 2004-08-01  Simon Josefsson  <jas@extundo.com>
18192
18193         * lib/xgetdomainname.c: Include stdlib.h, for free().
18194
18195 2004-07-19  Bruno Haible  <bruno@clisp.org>
18196
18197         * MODULES.html.sh (func_all_modules): Add dummy.
18198
18199 2004-07-16  Simon Josefsson  <jas@extundo.com>
18200
18201         * modules/dummy: New file.
18202
18203 2004-07-16  Simon Josefsson  <jas@extundo.com>
18204
18205         * lib/dummy.c: New file.
18206
18207 2004-07-16  Bruno Haible  <bruno@clisp.org>
18208
18209         * lib/backupfile.h: Add extern "C" for C++.
18210         * lib/closeout.h: Likewise.
18211         * lib/copy-file.h: Likewise.
18212         * lib/findprog.h: Likewise.
18213         * lib/full-write.h: Likewise.
18214         * lib/pathname.h: Likewise.
18215         * lib/progname.h: Likewise.
18216         * lib/stpcpy.h: Likewise.
18217         * lib/stpncpy.h: Likewise.
18218         * lib/strcase.h: Likewise.
18219         * lib/strstr.h: Likewise.
18220         * lib/xalloc.h: Likewise.
18221
18222         * lib/mbswidth.h: Add extern "C" for C++.
18223         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
18224
18225 2004-07-13  Robert Millan  <robertmh@gnu.org>
18226
18227         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
18228
18229 2004-07-09  Simon Josefsson  <jas@extundo.com>
18230
18231         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
18232         failed without this.)
18233
18234 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18235
18236         * modules/chown (Files): Add lib/fchown-stub.c, since
18237         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
18238
18239 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18240
18241         * lib/fchown-stub.c: New file.
18242
18243 2004-06-24  Jim Meyering  <jim@meyering.net>
18244
18245         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
18246
18247 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18248
18249         * modules/argz: Omit "#include".
18250
18251         * MODULES.html.sh (func_all_modules): Add calloc, to match
18252         2004-06-01 addition of calloc module.
18253
18254 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18255
18256         * m4/argz.m4: New file, which is autoupdated from libtool.
18257
18258 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18259
18260         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
18261         libtool.
18262
18263 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18264
18265         * config/srclist-update: Don't insist on "USA." before the
18266         close-comment, as libtool omits the period and puts the */ on a
18267         separate line.
18268         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
18269         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
18270
18271 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
18272
18273         * modules/argz: New file.
18274         * MODULES.html.sh (func_all_modules): Add argz.
18275
18276 2004-06-12  Jim Meyering  <jim@meyering.net>
18277         and  Paul Eggert  <eggert@cs.ucla.edu>
18278
18279         * modules/hash (Files): Add lib/xalloc.h.
18280         * modules/pipe (Depends-on): Add wait-process.
18281         * modules/stat (Depends-on): Add xalloc.
18282         * modules/userspec (Files): Add lib/userspec.h.
18283         * modules/xstrto
18284
18285         Upgrade from gettext-0.13.
18286         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
18287         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
18288         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
18289
18290 2004-06-10  Jim Meyering  <jim@meyering.net>
18291
18292         * lib/calloc.c: New file.
18293
18294 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
18295
18296         * lib/getdate.y (yylex): Allow space between sign and number.
18297         Problem reported by Dan Jacobson.
18298
18299 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
18300
18301         Merge from coreutils CVS.
18302
18303         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
18304         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
18305         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
18306         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
18307         xstrtol.m4: Fix copyright date and/or serial number.
18308
18309         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
18310         See if we need an fchown replacement.
18311         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
18312         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
18313         and use the replacement function if we detect either defect.
18314
18315         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
18316         gl_UTIMECMP.
18317
18318 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
18319         and  Jim Meyering  <jim@meyering.net>
18320
18321         Merge from coreutils CVS.
18322
18323         * lib/stat-macros.h: New file, with contents from file-type.h
18324         and coreutils' system.h.
18325         * lib/file-type.c: Include "stat-macros.h".
18326         * lib/file-type.h (file_type): Move all macro definitions to new file,
18327         stat-macros.h.
18328
18329         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
18330         Wrap old code with this conditional.
18331         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
18332         function that does not dereference symlinks.
18333         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
18334
18335         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
18336         dependency problems.
18337         (xreadlink): Accept new arg SIZE, for efficiency.
18338         All decls and uses changed.
18339         * lib/xreadlink.h: Include <stddef.h>, for size_t.
18340
18341         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
18342         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
18343
18344         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
18345         sysexits.h.
18346
18347 2004-06-01  Jim Meyering  <jim@meyering.net>
18348
18349         * m4/calloc.m4: New file.
18350
18351 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
18352
18353         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
18354         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
18355         Also, fix a typo in a diagnostic.
18356
18357 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
18358
18359         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
18360         or AC_FUNC_REALLOC.
18361
18362 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
18363
18364         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
18365         macros to be defined.
18366         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
18367         the allocator returns NULL because the requested size is zero.
18368
18369 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
18370
18371         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
18372         var.  Add comment explaining why libc still defines it.  This
18373         merges the following patch from glibc:
18374         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
18375
18376 2004-05-20  Andreas Schwab  <schwab@suse.de>
18377
18378         * m4/free.m4: Replace free if it not known to work, not the other
18379         way round.
18380
18381 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18382
18383         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
18384         present in glibc since revision 1.1 of this file.
18385         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
18386         obstack_alignment_mask, obstack_alloc, obstack_base,
18387         obstack_blank, obstack_blank_fast, obstack_chunk_size,
18388         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
18389         obstack_grow0, obstack_init, obstack_int_grow,
18390         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
18391         obstack_next_free, obstack_object_size, obstack_ptr_grow,
18392         obstack_ptr_grow_fast, obstack_room): Remove declarations of
18393         nonexistent functions.
18394
18395 2004-05-18  Karl Berry  <karl@gnu.org>
18396
18397         * config/srclist.txt: break link for vasnprintf.c.
18398
18399 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
18400
18401         Port obstack to the AS/400, where pointers are 16 bytes wide and
18402         you cannot cast an integer to a valid pointer.  This patch is
18403         currently waiting to be integrated into glibc; see
18404         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
18405
18406         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
18407         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
18408         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
18409         (struct obstack): temp member is now a union of a pointer and
18410         an integer, instead of an integer.  All integer uses changed.
18411         This does not affect the physical layout of struct obstack,
18412         except on hosts (like the AS/400) where the size or alignment of
18413         void * is greater than that of ptrdiff_t.
18414         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
18415         __STDC__)]: Store temporary in pointer member of union, not
18416         integer member.
18417         * lib/obstack.c: Include <stddef.h>, for offsetof.
18418         (struct fooalign): Remove; it doesn't need a name.
18419         (union fooround): Change double to long double, and add void *.
18420         (DEFAULT_ALIGNMENT): Use offsetof to compute.
18421         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
18422         not a macro.  Hence the values are always int; so remove all
18423         casts-to-int in uses.
18424
18425 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
18426
18427         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
18428         we can get this patch merged into glibc.
18429
18430 2004-05-17  Derek R. Price  <derek@ximbiot.com>
18431             Paul Eggert  <eggert@cs.ucla.edu>
18432
18433         * m4/argp: Depend on alloca.
18434
18435 2004-05-17  Derek R. Price  <derek@ximbiot.com>
18436             Paul Eggert  <eggert@cs.ucla.edu>
18437
18438         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
18439         freecoding.
18440
18441 2004-05-17  Bruno Haible  <bruno@clisp.org>
18442
18443         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
18444         precision that consists of a '.' followed by an empty digit string.
18445         Patch by Tor Lillqvist <tml@iki.fi>.
18446
18447 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18448
18449         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
18450         for backward compatibility with older code.  We need our own
18451         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
18452         it under some other name, and our alloca.h will define it.
18453
18454 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18455             Derek Price  <derek@ximbiot.com>
18456
18457         * lib/alloca.c: Include <alloca.h>, to get our interface.
18458         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
18459         include <alloca.h> first.  Use C89 prototype for alloca; this
18460         requires including <stddef.h> for size_t.  Use extern "C" if C++.
18461         Use #elif for simplicity, since we can assume C89 now.
18462         Don't try to source the system alloca.h since it will not be found
18463         and to prevent recursively including its replacement.
18464         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
18465         * lib/regex.c: Likewise.
18466
18467 2004-05-16  Derek Price  <derek@ximbiot.com>
18468             Paul Eggert  <eggert@cs.ucla.edu>
18469
18470         getline cleanup.  This changes the getndelim2 API: both order of
18471         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
18472         no delimiter).
18473
18474         * lib/getline.c: Don't include stddef.h or stdio.h, since our
18475         interface does that.
18476         (getline): Always use getdelim, so that we don't have two
18477         copies of this code.
18478         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
18479         if available.
18480         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
18481         (GETNDELIM2_MAXIMUM): New macro.
18482         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
18483         instead of the old practice of delim2==0.  All callers changed.
18484         Return -1 on overflow, instead of returning junk.
18485         Do not set *linesize unless allocation succeeds.
18486         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
18487         that we include sys/types.h.
18488         * lib/getnline.h: Likewise.
18489         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
18490         (getndelim2): Reorder arguments.
18491         * lib/getnline.c (getnline, getndelim):
18492         Don't discard the NMAX argument.
18493         (getnline): Invoke getndelim, to avoid code duplication.
18494         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
18495         of (size_t) -1 by callers of the getnline family.
18496
18497 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18498
18499         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
18500         Check for gettimeofday.
18501         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
18502         Check for settimeofday, stime.
18503
18504 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18505
18506         * lib/nanosleep.c (suspended): Change its type from int to
18507         sig_atomic_t volatile.
18508         (first_call): Make it private to rpl_nanosleep, and have it
18509         be zero initially as that's a bit faster.
18510         (my_usleep): Round up fractional times instead of truncating them,
18511         as this is the usual meaning for 'sleep'.
18512
18513         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
18514         doesn't work.
18515         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
18516         (ENOSYS): Define if not defined.
18517         (settime): Fall back on stime if it exists and settimeofday fails.
18518         But don't bother with fallbacks if a method fails with errno == EPERM.
18519
18520 2004-05-11  Jim Meyering  <jim@meyering.net>
18521
18522         Prior to this change, the save_cwd caller required read access to the
18523         current directory on most systems (ones with the fchdir function).
18524
18525         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
18526         fails, try write-only, and finally, resort to using xgetcwd.
18527
18528 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
18529
18530         * lib/obstack.c, obstack.h: Import changes from libc.
18531
18532 2004-04-28  Bruno Haible  <bruno@clisp.org>
18533
18534         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
18535         also implicitly appends .exe to executables.
18536         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
18537         accepts Windows pathnames.
18538         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
18539         Treat Cygwin like Windows, since it now accepts Windows pathnames.
18540         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
18541         Treat Cygwin like Windows, since it now accepts Windows pathnames.
18542         Reported by Derek Robert Price <derek@ximbiot.com>.
18543
18544 2004-04-21  Karl Berry  <karl@gnu.org>
18545
18546         * config/srclist.txt (localcharset.c): break sync.
18547
18548 2004-04-20  Paul Eggert  <eggert@twinsun.com>
18549
18550         * m4/host-os.m4: Add a copyright notice.
18551
18552 2004-04-20  Jim Meyering  <jim@meyering.net>
18553
18554         Change UTILS_ to gl_ in AC_DEFINE'd names.
18555         Change utils_- and jm_-prefixed variables, too.
18556         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
18557         UTILS_FUNC_MKDIR_TRAILING_SLASH.
18558         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
18559
18560         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
18561         Don't emit trailing blanks.
18562         Also rename jm_-prefixed variables to have gl_ prefix.
18563
18564         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
18565         Also rename jm_-prefixed variables to have gl_ prefix.
18566
18567         * m4/jm-macros.m4: Reflect the renamings.
18568         * m4/prereq.m4: Likewise.
18569
18570 2004-04-20  Jim Meyering  <jim@meyering.net>
18571
18572         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
18573         memory.
18574
18575 2004-04-20  Jim Meyering  <jim@meyering.net>
18576             Bruno Haible  <bruno@clisp.org>
18577
18578         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
18579         memory when realloc fails.
18580
18581 2004-04-19  Jim Meyering  <jim@meyering.net>
18582
18583         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
18584         now that readutmp.c may call `free (0)'.
18585
18586 2004-04-19  Bruno Haible  <bruno@clisp.org>
18587
18588         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
18589         * m4/inttypes_h.m4: Likewise.
18590         * m4/stdint_h.m4: Likewise.
18591         * m4/intmax_t.m4: Likewise.
18592         * m4/uintmax_t.m4: Likewise.
18593
18594 2004-04-18  Jim Meyering  <jim@meyering.net>
18595
18596         * m4/prereq.m4: Don't forbid jm_ prefix.
18597
18598         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
18599         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
18600         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
18601         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
18602         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
18603         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
18604         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
18605         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
18606         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
18607         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
18608         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
18609         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
18610         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
18611         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
18612         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
18613         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
18614         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
18615         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
18616         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
18617
18618 2004-04-18  Jim Meyering  <jim@meyering.net>
18619
18620         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
18621         failure, don't leak memory and do call END_UTMP_ENT.
18622
18623 2004-04-16  Jim Meyering  <jim@meyering.net>
18624
18625         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
18626         coreutils' stat program.
18627         (gl_PREREQ): Don't require jm_PREREQ_STAT.
18628
18629 2004-04-11  Paul Eggert  <eggert@twinsun.com>
18630
18631         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
18632         C89.
18633         (CHAR_BIT): Remove, since we assume C89.
18634         Include <stdint.h> if available, as per current Autoconf CVS advice.
18635
18636 2004-03-31  Jim Meyering  <jim@meyering.net>
18637
18638         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
18639         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
18640         * m4/xalloc.m4: Likewise.
18641
18642 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18643
18644         Merge from coreutils.
18645
18646         * m4/inttostr.m4: New file.
18647         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
18648         Require AM_STDBOOL_H and gl_TIMESPEC instead.
18649         Require gl_CLOCK_TIME.
18650         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
18651
18652 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18653
18654         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
18655         not bool, to be more consistent with Unix conventions.
18656         Suggested by Bruno Haible.
18657
18658         Merge from coreutils.
18659
18660         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
18661         * lib/umaxtostr.c: New files.
18662
18663         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
18664         the usual <time.h> dance.
18665         (get_date): Change signature to support fractional time stamps.
18666         All callers changed.
18667         * lib/getdate.y: Include "getdate.h" first, as we can now
18668         assume C89 and don't need to worry about 'const'.
18669         Similarly, include "unlocked-io.h" near start, not in middle.
18670         Include <limits.h>.
18671         (textint.value): Use long int rather than int.
18672         (textint.digits): Use size_t rather than int.
18673         (BILLION, LOG10_BILLION): New constants.
18674         (parser_control): New member rel_ns.  Members day_ordinal,
18675         time_zone, month, day, hour, minutes, rel_year, rel_month,
18676         rel_day, rel_hour, rel_minutes, rel_seconds
18677         are now long int, not int.  Member seconds is now struct timespec,
18678         not int.  New member timespec_seen.  Members dates_seen, days_seen,
18679         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
18680         not int.
18681         (%union.intval): Now long int, not int.
18682         New member timespec.
18683         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
18684         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
18685         (spec): Now is a timespec or an item list.
18686         (timespec, items): New nonterminals.
18687         (time, rel, relunit, number, get_date):
18688         Add support for fractional seconds.
18689         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
18690         (gmtime, localtime, mktime): Remove decls; not needed with C89.
18691         (to_hour): First arg is now long int, not int.
18692         (to_year): Returns long int, not int.
18693         Don't treat year -70 like 70.
18694         (tm_diff): Returns long int, not int.
18695         (lookup_word): Use bool instead of int when appropriate.
18696         (yylex): Use size_t for count, not int.
18697         Detect overflow when parsing large integer constants.
18698         Add support for fractions.
18699         (get_date): Make pointers 'const' if possible.
18700         Use more-portable code to detect integer overflow.
18701         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
18702         Don't use ctime; it's not reliable if the year has >4 digits.
18703
18704         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
18705         This is for compatibility with BSD.
18706
18707         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
18708         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
18709         From coreutils' system.h.
18710
18711         * lib/userspec.c: Don't include "posixver.h".
18712         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
18713         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
18714         compatible extension.  Simplify code by removing a boolean int
18715         that was always nonzero if a string was nonnull.
18716
18717 2004-03-30  Jim Meyering  <jim@meyering.net>
18718
18719         Merge from coreutils.
18720
18721         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
18722         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
18723         on some systems one must include <grp.h> before it.
18724         Reported by Christian Krackowizer.
18725
18726 2004-03-30  Jim Meyering  <jim@meyering.net>
18727
18728         Merge from coreutils.
18729
18730         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
18731
18732         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
18733         an empty input stream.
18734
18735         * lib/readtokens.c: Include <stdbool.h>.
18736         (readtoken): Use `size_t' rather than int/long.
18737         All callers adjusted.
18738         Use `bool' rather than `int' where appropriate.
18739         Use memset rather than an explicit loop.
18740         Use x2nrealloc rather than xrealloc.
18741         Allow the use of `\0' as a delimiter.
18742         (readtokens): Likewise.
18743         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
18744
18745 2004-03-30  Jim Meyering  <jim@meyering.net>
18746
18747         * m4/realloc.m4: Remove file, since now it does no more than
18748         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
18749         the `configure.ac' section of module/realloc.
18750         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
18751
18752 2004-03-30  Bruno Haible  <bruno@clisp.org>
18753
18754         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
18755         nonnull.
18756
18757 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18758
18759         Merge changes to getloadavg.c from coreutils and Emacs.
18760
18761         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
18762         Define to an expression, not to the empty string.
18763         Include cloexec.h and xalloc.h.
18764         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
18765         Use set_cloexec_flag rather than rolling our own.
18766         * lib/cloexec.c, lib/cloexec.h: New files.
18767
18768 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18769
18770         * m4/cloexec.m4: New file.
18771
18772 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18773
18774         * lib/getopt.h: Sync with libc CVS.
18775
18776 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18777             Bruno Haible  <bruno@clisp.org>
18778
18779         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
18780         mbswidth.
18781
18782 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18783             Bruno Haible  <bruno@clisp.org>
18784
18785         * lib/mbswidth.h: Include <wchar.h> only if
18786         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
18787         <wchar.h>.
18788         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
18789
18790 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18791
18792         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
18793         Sync with libc CVS.
18794         * lib/getopt_int.h: New file, also synced from libc.
18795
18796 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18797
18798         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
18799         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
18800         Bring back getopt.c, getopt.h, getopt1.c.
18801
18802 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18803
18804         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
18805         All uses changed.  Check for sa_sigaction member; this fixes
18806         a bug first reported by Jason Andrade in
18807         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18808
18809 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18810
18811         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
18812         '#if' expressions.  Unlike the code it replaces, it does not
18813         depend on (defined _SC_PAGESIZE).  However, it does depend on
18814         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
18815         first reported by Jason Andrade in
18816         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18817
18818 2004-02-25  Simon Josefsson  <jas@extundo.com>
18819
18820         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
18821
18822 2004-02-25  Simon Josefsson  <jas@extundo.com>
18823
18824         * lib/strdup.h: New file.
18825         * lib/strdup.c: Include it.
18826         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
18827         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
18828
18829 2004-02-23  Karl Berry  <karl@gnu.org>
18830
18831         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
18832         (from fencepost.gnu.org:/gd/gnuorg).
18833
18834 2004-02-23  Karl Berry  <karl@gnu.org>
18835
18836         * config/srclistvars.sh (GNUORG) [karl]: redefine.
18837         * config/srclist.txt: add maintain/standards documents.
18838
18839 2004-02-18  Bruno Haible  <bruno@clisp.org>
18840
18841         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
18842         Reported by Derek Robert Price <derek@ximbiot.com>.
18843
18844 2004-02-16  Karl Berry  <karl@gnu.org>
18845
18846         * config/mkinstalldirs, install-sh: update from automake.
18847
18848 2004-02-06  Karl Berry  <karl@gnu.org>
18849
18850         * m4/po.m4: update from gettext 0.14.1.
18851
18852 2004-02-06  Karl Berry  <karl@gnu.org>
18853
18854         * lib/config.charset: update from gettext 0.14.1.
18855
18856 2004-02-05  Paul Eggert  <eggert@twinsun.com>
18857
18858         Add comments and code, prompted by suggestions from Bruno Haible
18859         for sh-quote.
18860         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
18861         describing the enum quoting_style values.
18862         * lib/quotearg.c (quotearg_alloc): New function.
18863         (quotearg_buffer_restyled): Treat lone { and } as special.
18864         Treat = as special.  Work around bug with older shells
18865         that "see" a '\' that is really the 2nd byte of a multibyte char.
18866         Quote empty string with shell_quoting_style.
18867
18868 2004-02-03  Bruno Haible  <bruno@clisp.org>
18869
18870         * m4/pipe.m4: New file, from GNU gettext.
18871
18872 2004-02-03  Bruno Haible  <bruno@clisp.org>
18873
18874         * lib/pipe.h: New file, from GNU gettext.
18875         * lib/pipe.c: New file, from GNU gettext.
18876
18877 2004-01-27  Bruno Haible  <bruno@clisp.org>
18878
18879         * m4/execute.m4: New file, from GNU gettext.
18880
18881 2004-01-27  Bruno Haible  <bruno@clisp.org>
18882
18883         * lib/execute.h: New file, from GNU gettext.
18884         * lib/execute.c: New file, from GNU gettext.
18885         * lib/w32spawn.h: New file, from GNU gettext.
18886
18887 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18888
18889         Merge from diffutils.
18890
18891         * lib/file-type.c (file_type): Add typed memory objects.
18892         * lib/file-type.h (S_TYPEISTMO): New macro.
18893
18894         * lib/c-stack.h (c_stack_action): Remove argv argument.
18895         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
18896         (die): Don't calculate message unless segv_action returns.
18897         (get_stack_location, min_address_from_argv, max_address_from_argv,
18898         volatile stack_base, volatile_stack_size): Remove.
18899         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
18900         that every segmentation violation is a stack overflow.  (Ouch!)
18901         See Debian bug 136249 (still outstanding) for more info about why
18902         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
18903
18904 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18905
18906         Exit-status fix from coreutils.
18907
18908         Use exit_failure consistently in place of EXIT_FAILURE,
18909         so that program exit statuses are consistent on failure.
18910
18911         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
18912         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
18913         * lib/argmatch.h: Comment fix to match the above.
18914         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
18915         Now a macro referring to exit_failure, instead of a separate
18916         variable.  Include "exitfail.h" to get it.
18917         * lib/xstrtol.h: Include "exitfail.h".
18918         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
18919
18920         * lib/long-options.c (parse_long_options): Use prototype
18921         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
18922         for clarity.
18923
18924 2004-01-21  Jim Meyering  <jim@meyering.net>
18925
18926         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
18927         so as not to conflict with a different-sized __mktime_internal
18928         function in GNU libc.
18929         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
18930         Problem building statically-linked `ls' reported by Michael Brunnbauer.
18931
18932 2004-01-20  Karl Berry  <karl@gnu.org>
18933
18934         * config/config.guess: update from config.
18935
18936         * config/srclistvars.sh: GNUWWWLICENSES for karl.
18937
18938 2004-01-20  Bruno Haible  <bruno@clisp.org>
18939
18940         Safer stack allocation.
18941         * lib/setenv.c: Include allocsa.h.
18942         (alloca): Remove fallback definition.
18943         (freea): Remove macro.
18944         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
18945         instead of freea.
18946
18947 2004-01-20  Bruno Haible  <bruno@clisp.org>
18948
18949         * m4/eealloc.m4: New file, from GNU gettext.
18950
18951 2004-01-20  Bruno Haible  <bruno@clisp.org>
18952
18953         * m4/allocsa.m4: New file, from GNU gettext.
18954
18955 2004-01-20  Bruno Haible  <bruno@clisp.org>
18956
18957         * lib/xallocsa.h: New file, from GNU gettext.
18958         * lib/xallocsa.c: New file, from GNU gettext.
18959
18960 2004-01-20  Bruno Haible  <bruno@clisp.org>
18961
18962         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
18963
18964 2004-01-20  Bruno Haible  <bruno@clisp.org>
18965
18966         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
18967         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
18968         specially.
18969
18970 2004-01-20  Bruno Haible  <bruno@clisp.org>
18971
18972         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
18973         patch.
18974
18975 2004-01-20  Bruno Haible  <bruno@clisp.org>
18976
18977         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
18978
18979 2004-01-20  Bruno Haible  <bruno@clisp.org>
18980
18981         * lib/eealloc.h: New file.
18982
18983 2004-01-20  Bruno Haible  <bruno@clisp.org>
18984
18985         * lib/binary-io.h: Avoid warnings on Cygwin.
18986
18987 2004-01-20  Bruno Haible  <bruno@clisp.org>
18988
18989         * lib/allocsa.h: New file, from GNU gettext.
18990         * lib/allocsa.c: New file, from GNU gettext.
18991
18992 2004-01-18  Karl Berry  <karl@gnu.org>
18993
18994         * doc/gpl.texi, doc/lgpl.texi: new files.
18995
18996 2004-01-18  Karl Berry  <karl@gnu.org>
18997
18998         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
18999         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
19000
19001 2004-01-15  Paul Eggert  <eggert@twinsun.com>
19002
19003         Merge from coreutils.
19004
19005         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
19006         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
19007         (gl_DEFAULT_POSIX2_VERSION): Move
19008         the documentation from 'configure' into 'config.hin',
19009         so that 'configure --help' isn't burdened by it and
19010         we don't have to worry about its formatting there.
19011         Reword the documentation so that it's more succinct
19012         and can be run together into a single paragraph.
19013         * m4/same.m4 (gl_SAME): Check for pathconf.
19014
19015 2004-01-15  Paul Eggert  <eggert@twinsun.com>
19016
19017         Merge from coreutils.
19018
19019         * lib/posixver.c: Include posixver.h.
19020
19021         * lib/same.c: Include <stdbool.h>, <limits.h>.
19022         (_POSIX_NAME_MAX): Define if not defined.
19023         (MIN): New macro.
19024         (same_name): If file names are silently truncated, report
19025         that the file names are the same if they are the same after
19026         the silent truncation.
19027
19028         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
19029         conversion function.
19030         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
19031         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
19032         longer needed.
19033
19034 2004-01-15  Jim Meyering  <jim@meyering.net>
19035
19036         Merge from coreutils.
19037
19038         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
19039         if no library is required.
19040         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
19041         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
19042         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
19043         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
19044         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
19045         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
19046         value, $ac_cv_search_crypt, if it's "none required".
19047         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
19048         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
19049         not gl_FUNC_GETLOADAVG.
19050         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
19051         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
19052
19053 2004-01-15  Jim Meyering  <jim@meyering.net>
19054
19055         Merge from coreutils.
19056
19057         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
19058         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
19059         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
19060
19061         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
19062         optional configure-time default.
19063
19064         * lib/version-etc.c (version_etc_copyright): Update copyright date.
19065
19066         * lib/xreadlink.c (xreadlink): Correct outdated comment.
19067
19068 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
19069
19070         Merge from coreutils.
19071
19072         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
19073         value, $ac_cv_search_nanosleep, if it's "none required".
19074
19075 2004-01-14  Paul Eggert  <eggert@twinsun.com>
19076
19077         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
19078         with like-named macro in fnmatch.c.
19079         (EXT): Use an internal constant instead.
19080
19081         Merge fnmatch patches from glibc.
19082         * lib/fnmatch.c (mbsinit): Remove define.
19083         Add libc_hidden_ver (__fnmatch, fnmatch).
19084         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
19085         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
19086
19087 2004-01-14  Karl Berry  <karl@gnu.org>
19088
19089         * config/install-sh: update from automake.
19090
19091 2004-01-13  Karl Berry  <karl@gnu.org>
19092
19093         * config/install-sh: update from automake.
19094
19095 2004-01-09  Karl Berry  <karl@gnu.org>
19096
19097         * config/install-sh: update from automake.
19098
19099 2004-01-05  Karl Berry  <karl@gnu.org>
19100
19101         * config/config.{sub,guess}: update from config.
19102
19103 2003-12-31  Karl Berry  <karl@gnu.org>
19104
19105         * config/depcomp: update from automake.
19106
19107 2003-12-14  Karl Berry  <karl@gnu.org>
19108
19109         * lib/config.charset: update from gettext-runtime.
19110
19111 2003-12-03  Paul Eggert  <eggert@twinsun.com>
19112
19113         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
19114         Bug reported by Alfred M. Szmidt.
19115
19116 2003-12-03  Bruno Haible  <bruno@clisp.org>
19117
19118         * m4/gettext.m4: Upgrade from gettext-0.13.
19119         * m4/po.m4: Upgrade from gettext-0.13.
19120         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
19121         * m4/intmax.m4: New file, from gettext-0.13.
19122         * m4/printf-posix.m4: New file, from gettext-0.13.
19123
19124 2003-11-29  Karl Berry  <karl@gnu.org>
19125
19126         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
19127
19128 2003-11-25  Paul Eggert  <eggert@twinsun.com>
19129             Bruno Haible  <bruno@clisp.org>
19130
19131         * lib/printf-parse.h: Don't include sys/types.h.
19132         (ARG_NONE): New macro.
19133         (char_directive): Change type of *arg_index fields to size_t.
19134         * lib/printf-parse.c: Don't include sys/types.h.
19135         (SSIZE_MAX): Remove macro.
19136         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
19137         Remove unnecessary overflow check.
19138         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
19139         fields.
19140
19141 2003-11-25  Bruno Haible  <bruno@clisp.org>
19142
19143         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
19144
19145 2003-11-25  Bruno Haible  <bruno@clisp.org>
19146
19147         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
19148         gt_TYPE_SSIZE_T.
19149
19150 2003-11-24  Paul Eggert  <eggert@twinsun.com>
19151
19152         * modules/alloca: Remove dependency on xalloc.
19153
19154 2003-11-24  Paul Eggert  <eggert@twinsun.com>
19155
19156         * lib/alloca.c: Remove dependency on xalloc module.
19157         (xalloc_die): Remove.
19158         (memory_full) [!defined emacs]: New macro.
19159         [!defined emacs]: Don't include xalloc.h.
19160         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
19161         address arithmetic overflows.  Change datatypes a bit to avoid
19162         unnecessary casts.
19163
19164 2003-11-22  Jim Meyering  <jim@meyering.net>
19165
19166         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
19167         s/size/size_t/.
19168
19169 2003-11-21  Karl Berry  <karl@gnu.org>
19170
19171         * config/config.{sub,guess}: update from config.
19172
19173 2003-11-18  Karl Berry  <karl@gnu.org>
19174
19175         * config/config.{sub,guess}: update from config.
19176
19177         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
19178
19179 2003-11-17  Paul Eggert  <eggert@twinsun.com>
19180
19181         * README: Mention that S+T cannot overflow if S is the size of
19182         an existing object and T is sufficiently small.
19183
19184 2003-11-17  Jim Meyering  <jim@meyering.net>
19185
19186         On systems without utime and without a utimes function capable of
19187         dealing with a NULL struct utimbuf* argument, this utime replacement
19188         could -- in unusual circumstances -- leak a file descriptor.
19189         * lib/utime.c: Include <unistd.h> and <errno.h>.
19190         (utime_null): Be sure to close `fd' and to preserve errno.
19191         Reported by Geoff Collyer via Arnold Robbins.
19192
19193 2003-11-17  Bruno Haible  <bruno@clisp.org>
19194
19195         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
19196         (Depends-on): Add xsize.
19197
19198 2003-11-17  Bruno Haible  <bruno@clisp.org>
19199
19200         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
19201
19202 2003-11-17  Bruno Haible  <bruno@clisp.org>
19203
19204         * lib/vasnprintf.c (alloca): Remove fallback definition.
19205         (freea): Remove definition.
19206         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
19207         Reported by Paul Eggert.
19208
19209 2003-11-16  Paul Eggert  <eggert@twinsun.com>
19210             Bruno Haible  <bruno@clisp.org>
19211
19212         Protect against address arithmetic overflow.
19213         * lib/printf-args.h: Include stddef.h.
19214         (arguments): Change type of field 'count' to size_t.
19215         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
19216         'unsigned int' where appropriate.
19217         * lib/printf-parse.h: Include sys/types.h.
19218         (char_directive): Change type of *arg_index fields to ssize_t.
19219         (char_directives): Change type of fields 'count', max_*_length to
19220         size_t.
19221         * lib/printf-parse.c: Include sys/types.h and xsize.h.
19222         (SSIZE_MAX): Define fallback value.
19223         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
19224         instead of 'int' where appropriate. Check a_allocated, d_allocated
19225         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
19226         * lib/vasnprintf.c: Include xsize.h.
19227         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
19228         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
19229         overflow. Avoid wraparound when converting a width or precision from
19230         decimal to binary.
19231
19232 2003-11-16  Bruno Haible  <bruno@clisp.org>
19233
19234         Update from GNU gettext.
19235         * lib/printf-parse.c: Generalize to it can be compiled for wide
19236         strings.
19237         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
19238         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
19239         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
19240         SNPRINTF): New macros.
19241         Don't include <alloca.h> if the file is used inside libintl.
19242         (local_wcslen): New function, for Solaris 2.5.1.
19243         (VASNPRINTF): Use it instead of wcslen.
19244
19245 2003-11-16  Bruno Haible  <bruno@clisp.org>
19246
19247         * lib/xsize.h (xmax): New function.
19248         (xsum, xsum3, xsum4): Declare as "pure" functions.
19249
19250 2003-11-12  Paul Eggert  <eggert@twinsun.com>
19251
19252         * modules/xalloc (Files): Undo latest change, since xalloc.h
19253         no longer needs SIZE_MAX or PTRDIFF_MAX.
19254
19255 2003-11-12  Paul Eggert  <eggert@twinsun.com>
19256
19257         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
19258         gl_PTRDIFF_MAX.
19259
19260 2003-11-12  Paul Eggert  <eggert@twinsun.com>
19261
19262         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
19263         "return", to pacify some unknown compiler.  Problem reported
19264         by Joerg Schilling.
19265
19266 2003-11-12  Paul Eggert  <eggert@twinsun.com>
19267
19268         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
19269         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
19270         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
19271         heuristic is just as accurate as far as we know, and it removes a
19272         dependency on size_max.m4 and ptrdiff_max.m4.
19273
19274 2003-11-11  Bruno Haible  <bruno@clisp.org>
19275
19276         * modules/xsize (Files): Add m4/size_max.m4.
19277         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
19278
19279 2003-11-11  Bruno Haible  <bruno@clisp.org>
19280
19281         * m4/size_max.m4: New file.
19282         * m4/ptrdiff_max.m4: New file.
19283         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
19284         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
19285         (gl_XALLOC): Invoke it.
19286
19287 2003-11-11  Bruno Haible  <bruno@clisp.org>
19288
19289         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
19290         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
19291         defined.
19292
19293 2003-11-10  Paul Eggert  <eggert@twinsun.com>
19294
19295         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
19296         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
19297         rejected some allocations of exactly SIZE_MAX - 2 bytes.
19298         From Bruno Haible.
19299         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
19300         not (size_t) -1, since it's defined here.
19301
19302 2003-11-09  Karl Berry  <karl@gnu.org>
19303
19304         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
19305
19306 2003-11-06  Paul Eggert  <eggert@twinsun.com>
19307
19308         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
19309         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
19310         Reject sizes of exactly SIZE_MAX bytes.
19311         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
19312         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
19313
19314 2003-11-05  Bruno Haible  <bruno@clisp.org>
19315
19316         * lib/xsize.h: Include limits.h, to avoid a possible collision with
19317         SIZE_MAX defined in <limits.h> on Solaris.
19318
19319 2003-11-04  Jim Meyering  <jim@meyering.net>
19320
19321         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
19322         variable names, rather than @VAR@.
19323         * modules/poll: Likewise.
19324
19325 2003-11-04  Bruno Haible  <bruno@clisp.org>
19326
19327         * modules/xsize: New file.
19328         * modules/linebreak: Depend on xsize.
19329         * MODULES.html.sh (func_all_modules): Add xsize.
19330
19331 2003-11-04  Bruno Haible  <bruno@clisp.org>
19332
19333         * m4/xsize.m4: New file.
19334
19335 2003-11-04  Bruno Haible  <bruno@clisp.org>
19336
19337         * lib/xsize.h: New file.
19338         * lib/linebreak.c: Include xsize.h.
19339         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
19340         argument for overflow.
19341         Suggested by Paul Eggert.
19342
19343 2003-11-03  Karl Berry  <karl@gnu.org>
19344
19345         * config/config.{guess,sub}: update from config.
19346
19347 2003-11-03  Jim Meyering  <jim@meyering.net>
19348
19349         * modules/userspec (lib_SOURCES): Add userspec.h.
19350         (Include): Add "userspec.h".
19351         Improve description.
19352
19353 2003-11-03  Jim Meyering  <jim@meyering.net>
19354
19355         * lib/userspec.c: Include "userspec.h".
19356         * lib/userspec.h: New file.
19357
19358 2003-11-03  Bruno Haible  <bruno@clisp.org>
19359
19360         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
19361
19362 2003-11-03  Bruno Haible  <bruno@clisp.org>
19363
19364         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
19365         available, to avoid (extremely rare) race condition.
19366         Suggested by Paul Eggert.
19367
19368 2003-11-02  Karl Berry  <karl@gnu.org>
19369
19370         * config/srclist.txt (vasprintf.c): sync broken, sigh.
19371
19372 2003-10-31  Paul Eggert  <eggert@twinsun.com>
19373
19374         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
19375         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
19376         (read_filesystem_list): Set and use me_type_malloced.
19377         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
19378         whatever the type happens to be), for brevity and consistency.
19379         Check for size calculation overflow on Alphas running OSF/1.
19380
19381 2003-10-31  Jim Meyering  <jim@meyering.net>
19382
19383         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
19384
19385         * lib/linebuffer.c: Include <string.h> for declaration of memset.
19386
19387 2003-10-30  Paul Eggert  <eggert@twinsun.com>
19388             Bruno Haible  <bruno@clisp.org>
19389
19390         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
19391         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
19392
19393 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
19394
19395         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
19396         netbsd*-gnu*.  Suggested by Robert Millan.
19397
19398 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19399
19400         * modules/group-member: Depend on stdbool.
19401
19402 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19403
19404         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
19405
19406 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19407
19408         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
19409         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
19410         after the 'gnu' in these cases.  This fixes some bugs in the
19411         previous change, and is based on suggestions by Robert Millan.
19412
19413 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19414
19415         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
19416         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
19417         no longer needed.
19418         * lib/quotearg.c (quotearg_n_options): Use it.
19419         * lib/group-member.c: Include <stdbool.h>.
19420         (free_group_info): Arg is now const *; don't free arg.
19421         (get_group_info): Now returns bool and accepts struct group_info *,
19422         rather than returning a malloc'ed struct group_info *.
19423         All uses changed.  Check for overflow in internal size calculation.
19424
19425         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
19426         rather than xmalloc/xrealloc.
19427         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
19428         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
19429         conformance bug: the old code used a pointer after freeing the
19430         storage that it addressed.
19431         * lib/hash.c (hash_initialize): Simplify the code by using
19432         xalloc_oversized rather than doing it by hand.
19433         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
19434         the buffer preserved.  Use free and xmalloc instead.
19435         * lib/quotearg.c (quotearg_n_options): Likewise.
19436         Use a simpler test for size overflow.  Don't use xalloc_oversized
19437         because unsigned int might be wider than size_t (!); this suggests
19438         that we should switch from unsigned int to size_t for slot numbers.
19439
19440 2003-10-28  Paul Eggert  <eggert@twinsun.com>
19441
19442         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
19443         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
19444         NetBSD kernels.  Requested by Richard Stallman.
19445
19446 2003-10-27  Paul Eggert  <eggert@twinsun.com>
19447
19448         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
19449         to allocate the returned structure.  Do not allocate a subarray,
19450         as x2nrealloc will do that.
19451         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
19452         instead of xnrealloc.
19453         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
19454
19455 2003-10-27  Bruno Haible  <bruno@clisp.org>
19456
19457         * lib/stdbool_.h: Better support for BeOS.
19458
19459 2003-10-26  Paul Eggert  <eggert@twinsun.com>
19460
19461         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
19462         now uses inline.
19463
19464 2003-10-26  Paul Eggert  <eggert@twinsun.com>
19465
19466         * lib/xalloc.h (xalloc_oversized): New static inline function, for
19467         callers that want to do their own size-overflow checking.  Include
19468         <stdbool.h>, since xalloc_oversized returns bool.
19469         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
19470         to use xalloc_oversized.
19471
19472         Add two functions x2realloc, x2nrealloc, for programs that grow
19473         arrays dynamically by doubling their sizes.
19474         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
19475         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
19476         New functions.
19477
19478         Port to C99 semantics for 'inline' of external functions.
19479         Bug reported by Bruno Haible.
19480         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
19481         with the old contents of xnmalloc.
19482         (xnmalloc, xmalloc): Use it.
19483         (xnrealloc_inline): New static inline function,
19484         with the old contents of xnrealloc.
19485         (xnrealloc, xrealloc): Use it.
19486
19487         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
19488         that.
19489
19490 2003-10-26  Karl Berry  <karl@gnu.org>
19491
19492         * config/srclist.txt (COPYING.DOC): no longer available from
19493         /gd/gnuorg; don't know where the ultimate source is.
19494
19495 2003-10-25  Paul Eggert  <eggert@twinsun.com>
19496
19497         Fix several address-calculation bugs in the hash modules,
19498         plus some minor code cleanup.
19499
19500         * lib/hash.h: Include <stdbool.h>, for bool.
19501         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
19502         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
19503         hash_get_n_entries, hash_get_max_bucket_length,
19504         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
19505         hash_rehash): Use size_t rather than unsigned.
19506         * lib/hash.c (struct hash_table, hash_get_n_buckets,
19507         hash_get_n_buckets_used, hash_get_n_entries,
19508         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
19509         hash_get_entries, hash_do_for_each, hash_string, is_prime,
19510         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
19511         Likewise.
19512         (SIZE_MAX): Define if not defined.
19513         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
19514         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
19515         hash_print):
19516         Use const * when possible.
19517         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
19518         (check_tuning): Fix bug: if tuning parameters were very close to
19519         0 or 1, rounding errors could have caused subscript violations.
19520         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
19521         (hash_initialize): Add 'fail:' label
19522         to free table and return NULL, and use it to simplify code.
19523         Use calloc rather than clearing the storage ourself.
19524         (hash_initialize, hash_rehash): Check for arithmetic overflow in
19525         buffer size calculations.
19526         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
19527         Include <stddef.h>, for size_t.
19528         * lib/hash-pjw.c (hash_pjw): Likewise.
19529         Switch to method described by Bruno Haible.
19530         Include <limits.h>, for CHAR_BIT.
19531         (SIZE_BITS): New macro.
19532
19533 2003-10-23  Paul Eggert  <eggert@twinsun.com>
19534
19535         * m4/getline.m4 (AM_FUNC_GETLINE):
19536         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
19537         hosts.  Problem reported by Derek Robert Price in
19538         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
19539         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
19540         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
19541
19542 2003-10-21  Paul Eggert  <eggert@twinsun.com>
19543
19544         * lib/getndelim2.c (getndelim2): When size calculation overflows,
19545         ceiling the allocation at NMAX bytes rather than silently
19546         discarding input bytes before NMAX is reached.  This makes
19547         a difference only if NMAX exceeds SIZE_MAX / 2.
19548
19549         * lib/obstack.c: Merge from glibc.
19550         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
19551         Add libc_hidden_def (_obstack_newchunk).
19552         (_obstack_free) [! defined _LIBC]: Remove.
19553         [defined _LIBC]: Make a strong alias from obstack_free, rather than
19554         a clone of the function body.
19555         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
19556         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
19557
19558         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
19559         glibc.
19560         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
19561         arg to memcpy.
19562
19563         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
19564         (obstack_ptr_grow_fast, obstack_int_grow_fast):
19565         Don't use lvalue casts, as GCC plans to remove support for them
19566         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
19567         was also present in the non-GCC version, indicating that this
19568         code had always been buggy and had never been widely used.
19569         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
19570         Use the fast variant of each macro, rather than copying the
19571         definiens of the fast variant; that way, we'll be more likely to
19572         catch future bugs in the fast variants.
19573
19574 2003-10-20  Bruno Haible  <bruno@clisp.org>
19575
19576         * modules/wait-process: New file.
19577         * MODULES.html.sh (func_all_modules): Add wait-process.
19578
19579 2003-10-20  Bruno Haible  <bruno@clisp.org>
19580
19581         * m4/wait-process.m4: New file.
19582
19583 2003-10-20  Bruno Haible  <bruno@clisp.org>
19584
19585         * lib/wait-process.h: New file, from GNU gettext.
19586         * lib/wait-process.c: New file, from GNU gettext.
19587
19588 2003-10-19  Jim Meyering  <jim@meyering.net>
19589
19590         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
19591         HPUX 10.20.
19592
19593 2003-10-18  Karl Berry  <karl@gnu.org>
19594
19595         * config/config.guess: update from config.
19596
19597 2003-10-16  Paul Eggert  <eggert@twinsun.com>
19598
19599         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
19600         (getgroups): First arg is int, not size_t.
19601         Don't let 'free' mangle errno.
19602
19603 2003-10-16  Paul Eggert  <eggert@twinsun.com>
19604
19605         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
19606
19607 2003-10-16  Karl Berry  <karl@gnu.org>
19608
19609         * config/config.{guess,sub}: update from config.
19610
19611 2003-10-16  Jim Meyering  <jim@meyering.net>
19612
19613         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
19614         memcpy.
19615
19616 2003-10-15  Paul Eggert  <eggert@twinsun.com>
19617
19618         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
19619         (SIZE_MAX): Remove.
19620         (new_exclude, add_exclude_file): Initial size no longer needs to
19621         be a power of 2.
19622         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
19623         our own address arithmetic overflow checking.
19624
19625         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
19626         (fnmatch): Do not alloca more than 2000 wide characters;
19627         instead, use malloc for large buffers.
19628         Check for address arithmetic overflow, and return -1
19629         with errno set to ENOMEM in that case.
19630         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
19631         (NEW_PATTERN): Do not alloca more than 8000 bytes;
19632         instead, return -1.  Check for address arithmetic overflow.
19633
19634 2003-10-14  Paul Eggert  <eggert@twinsun.com>
19635
19636         Handle invalid suffixes and overflow independently, so that
19637         callers can treat them independently as needed.  Fix some bugs in
19638         suffix handling, e.g., "100k@" was not diagnosed as an invalid
19639         suffix for a human-readable blocksize.  The major caller-visible
19640         change is the addition of a new
19641         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
19642         that both overflow and suffix chars were found.
19643
19644         * lib/human.c (humblock): Don't check separately for invalid suffix
19645         char; that is xstrtoumax's job (now that its bug is fixed).
19646         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
19647         INTMAX_MAX]: New macros.
19648         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
19649         TYPE_MAXIMUM): New macros.
19650         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
19651         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
19652         if overflow occurs, as it's what __strtol does and it's more useful
19653         in practice.
19654         (__xstrtol): If __strtol reports some error other than ERANGE,
19655         reflect it to the caller as LONGINT_INVALID.  If it reports
19656         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
19657         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
19658         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
19659         value.
19660         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
19661         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
19662         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
19663         [defined UINTMAX_MAX]: New macros.
19664
19665 2003-10-14  Bruno Haible  <bruno@clisp.org>
19666
19667         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
19668
19669 2003-10-14  Bruno Haible  <bruno@clisp.org>
19670
19671         * m4/sig_atomic_t: New file, from GNU gettext.
19672         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
19673
19674 2003-10-14  Bruno Haible  <bruno@clisp.org>
19675
19676         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
19677         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
19678         Also use volatile where needed.
19679
19680 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19681
19682         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
19683         Change maintainer from Bruno Haible to 'all'.
19684
19685 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19686
19687         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
19688
19689 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19690
19691         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
19692         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
19693         and define in terms of the other primitives.
19694         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
19695         (SIZE_MAX): Define if not already defined.
19696         (array_size_overflow): New function.
19697         (xalloc_die): Abort instead of exiting if 'error' returns.
19698         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
19699         (xmalloc, xrealloc): Use them.
19700         (xcalloc): Check for address arithmetic overflow.
19701         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
19702         a bit faster than strcpy.
19703
19704 2003-10-10  Simon Josefsson  <jas@extundo.com>
19705
19706         * modules/argp (Depends-on): Add restrict and strcase.
19707
19708 2003-10-10  Simon Josefsson  <jas@extundo.com>
19709
19710         * m4/argp.m4: Add AC_C_INLINE.
19711
19712 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19713
19714         Merge getpass from libc, plus a few fixes.
19715
19716         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
19717         Include <stdbool.h>.
19718         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
19719         __fsetlocking to empty.
19720         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
19721         do include <bits/libc-lock.h>.
19722         Do not include <fcntl.h>; not needed.
19723         [_LIBC]: Include <wchar.h>.
19724         (NOTCANCEL_MODE): New macro.
19725         (flockfile, funlockfile) [_LIBC]: New macros.
19726         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
19727         [!_LIBC]: New macros.
19728         (call_fclose): New function.
19729         (getpass): Use it.  Save tty stream separately; this simplifies the
19730         code and makes it more reliable if stdin happens to equal stdout.
19731         Invoke __fsetlocking on tty.
19732         Handle thread cancellation if needed.
19733         Namespace cleanup (use __tcgetattr, __getline).
19734         Use bool for Booleans.
19735         [USE_IN_LIBIO]: Handle wide streams.
19736         [!_LIBC]: Unconditionally do the fseek, since we don't know what
19737         stream might go where.
19738
19739         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
19740         doesn't have to include <stdio.h> before us.
19741         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
19742         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
19743         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
19744         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
19745         if not declared, so that we can use getpass.c code from libc without
19746         rewriting it.
19747         (flockfile, ftrylockfile, funlockfile): New macros.
19748
19749 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19750
19751         * modules/getpass: Depend on stdbool.
19752
19753 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19754
19755         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
19756
19757 2003-10-07  Karl Berry  <karl@gnu.org>
19758
19759         * config/config.{guess,sub}: update from config.
19760
19761 2003-10-06  Jim Meyering  <jim@meyering.net>
19762             Bruno Haible  <bruno@clisp.org>
19763
19764         This lets translators provide better translations for the
19765         "Written by ..." part of --version output.
19766         * lib/version-etc.h: Include stdarg.h.
19767         (version_etc_copyright): Declare as readonly.
19768         (version_etc): Make this function variadic with a NULL-terminated list
19769         of author name strings.
19770         (version_etc_va): New declaration.
19771         * lib/version-etc.c: Include stdarg.h, stdlib.h.
19772         (version_etc_copyright): Declare as readonly.
19773         (version_etc_va): New function. Provide a different translatable string
19774         for each possible number of authors < 10. Abbreviate when there are 10
19775         authors or more.
19776         (version_etc): Make this function variadic. Call version_etc_va.
19777         Suggestion from Gary V. Vaughan.
19778
19779         * lib/long-options.h (parse_long_options): Change prototype: the
19780         authors string is moved to the end and becomes variadic.
19781         * lib/long-options.c: Include stdarg.h.
19782         (parse_long_options): Make this function variadic, too.
19783         Call version_etc_va, not version_etc.
19784
19785 2003-10-06  Bruno Haible  <bruno@clisp.org>
19786
19787         * modules/version-etc-2: Remove file.
19788         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
19789
19790 2003-10-06  Bruno Haible  <bruno@clisp.org>
19791
19792         * modules/fatal-signal: New file.
19793         * MODULES.html.sh (func_all_modules): Add fatal-signal.
19794
19795 2003-10-06  Bruno Haible  <bruno@clisp.org>
19796
19797         * m4/fatal-signal.m4: New file.
19798         * m4/signalblocking.m4: New file, from GNU gettext.
19799
19800 2003-10-06  Bruno Haible  <bruno@clisp.org>
19801
19802         * lib/version-etc-2.h: Remove file.
19803         * lib/version-etc-2.c: Remove file.
19804
19805 2003-10-06  Bruno Haible  <bruno@clisp.org>
19806
19807         * lib/fatal-signal.h: New file, from GNU gettext.
19808         * lib/fatal-signal.c: New file, from GNU gettext.
19809
19810 2003-10-05  Paul Eggert  <eggert@twinsun.com>
19811
19812         * README: Rework advice for preventing empty .o files.
19813         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
19814         not <sys/types.h>.
19815
19816 2003-10-04  Karl Berry  <karl@gnu.org>
19817
19818         * lib/argp*: update from libc.
19819
19820 2003-10-04  Karl Berry  <karl@gnu.org>
19821
19822         * config/config.{guess,sub}: update from config.
19823
19824 2003-10-02  Bruno Haible  <bruno@clisp.org>
19825
19826         * modules/lchown (Include): Add lchown.h.
19827         * modules/time_r (Include): Use "..." syntax.
19828         * modules/xgetdomainname (Include): Add xgetdomainname.h.
19829
19830 2003-10-01  Simon Josefsson  <jas@extundo.com>
19831
19832         * MODULES.html.sh (func_all_modules): Move gethostname from section
19833         'based on' to section 'lacking' POSIX:2001.
19834
19835 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
19836
19837         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
19838         to output mode on the same stream.
19839
19840 2003-09-29  Paul Eggert  <eggert@twinsun.com>
19841
19842         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
19843         Fix arg typo in previous patch.
19844
19845 2003-09-28  Jim Meyering  <jim@meyering.net>
19846
19847         * lib/error.c: Correct cpp indentation.
19848
19849 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19850
19851         * modules/free: New file.
19852
19853 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19854
19855         * m4/free.m4: New file.
19856
19857 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19858
19859         * lib/minmax.h (MIN, MAX)
19860         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
19861         Omit the special code that used __typeof__, since we worry that
19862         it could be more trouble than it's worth.  See:
19863         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
19864         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
19865
19866         * lib/free.c: New file.
19867
19868 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
19869
19870         Trivial fixes to Makefile.am parts of module listings.
19871         * modules/strstr: Append strstr.h to lib_SOURCES.
19872         * modules/strcase: Likewise, for strcase.h.
19873
19874 2003-09-27  Karl Berry  <karl@gnu.org>
19875
19876         * config/mkinstalldirs: update from automake.
19877
19878 2003-09-26  Paul Eggert  <eggert@twinsun.com>
19879
19880         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
19881         (error_tail): Do not loop, reallocating temporary buffer, since
19882         the output cannot contain more wide characters than the input
19883         contains bytes, the size must be big enough already.  This avoids
19884         one potential size overflow calculation.  Check for size overflow
19885         when calculating temporary buffer size.  Free temporary buffer
19886         when done, if it was allocated with malloc; this plugs a memory
19887         leak.  Remove casts from void * to pointers, that are no longer
19888         needed now that we're assuming C89 or better.
19889
19890         Merge error changes from glibc.
19891
19892         * lib/error.c, error.h: Update copyright notice header to match glibc.
19893         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
19894         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
19895         Disable cancellation while printing error.
19896         * lib/error.h: Prepend __ to parameter names.
19897
19898 2003-09-26  Jim Meyering  <jim@meyering.net>
19899
19900         * lib/error.c (error_tail): Move some declarations
19901         into inner scope where the local variables are used.
19902
19903 2003-09-26  Bruno Haible  <bruno@clisp.org>
19904
19905         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
19906         stpncpy().
19907         Don't define stpncpy through config.h; it's now done through stpncpy.h.
19908
19909 2003-09-26  Bruno Haible  <bruno@clisp.org>
19910
19911         * lib/stpncpy.h (gnu_stpncpy): New declaration.
19912         (stpncpy): Define as alias for gnu_stpncpy.
19913         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
19914
19915 2003-09-25  Simon Josefsson  <jas@extundo.com>
19916
19917         * lib/xgetdomainname.h: New file.
19918         * lib/xgetdomainname.c: New file.
19919
19920 2003-09-25  Simon Josefsson  <jas@extundo.com>
19921             Bruno Haible  <bruno@clisp.org>
19922
19923         * modules/getdomainname: New file.
19924         * modules/xgetdomainname: New file.
19925         * MODULES.html.sh (func_all_modules): Add getdomainname,
19926         xgetdomainname.
19927
19928 2003-09-25  Simon Josefsson  <jas@extundo.com>
19929             Bruno Haible  <bruno@clisp.org>
19930
19931         * m4/getdomainname.m4: New file.
19932
19933 2003-09-25  Simon Josefsson  <jas@extundo.com>
19934             Bruno Haible  <bruno@clisp.org>
19935
19936         * lib/getdomainname.h: New file.
19937         * lib/getdomainname.c: New file.
19938
19939 2003-09-25  Karl Berry  <karl@gnu.org>
19940
19941         * lib/argp-fmtstream.c, argp-help.c: update from libc.
19942
19943 2003-09-25  Karl Berry  <karl@gnu.org>
19944
19945         * config/install-sh: update from automake.
19946
19947 2003-09-25  Bruno Haible  <bruno@clisp.org>
19948
19949         * modules/version-etc-2: New file, from modules/version-etc with
19950         modifications.
19951         * MODULES.html.sh (func_all_modules): Add version-etc-2.
19952
19953 2003-09-25  Bruno Haible  <bruno@clisp.org>
19954
19955         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
19956         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
19957
19958 2003-09-24  Simon Josefsson  <jas@extundo.com>
19959
19960         * modules/xgethostname: Add xgethostname.h.
19961
19962 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19963
19964         * lib/linebuffer.c (freebuffer): Don't free the argument, just
19965         the buffer associated with the argument.  Bug reported by
19966         Simon Josefsson.
19967
19968 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19969
19970         * README: Document assumptions that 'int' is at least 32 bits
19971         wide, that integer arithmetic is 2's complement without overflow,
19972         that there are no holes in integer values, that adding sizes of
19973         two nonoverlapping objects can't overflow, and that all-bits-zero
19974         yields scalar zero.  Fix spelling and capitalization typos.
19975
19976 2003-09-19  Karl Berry  <karl@gnu.org>
19977
19978         * lib/argp.h: update from libc.
19979
19980 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19981
19982         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
19983         to avoid spurious warnings like "AC_RUN_IFELSE was called before
19984         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
19985
19986 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19987
19988         * gnulib-tool: Use "test -h", not "test -L", for portability
19989         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
19990         (tags_regexp): Remove, since \| doesn't conform to POSIX.
19991         (sed_extract_prog): Issue s commands one-by-one, rather than
19992         using \| in one s command.
19993
19994 2003-09-16  Paul Eggert  <eggert@twinsun.com>
19995
19996         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
19997         input error, instead of returning NULL the next time we are called
19998         (and therefore losing track of errno).
19999
20000 2003-09-16  Bruno Haible  <bruno@clisp.org>
20001
20002         * gnulib-tool (func_create_testdir): Warn about duplicated
20003         dependencies.
20004
20005 2003-09-15  Paul Eggert  <eggert@twinsun.com>
20006
20007         * modules/argmatch, modules/fatal, modules/obstack,
20008         modules/xalloc, modules/xgethostname: Sort dependencies by
20009         importance, not alphabetically.
20010
20011 2003-09-15  Paul Eggert  <eggert@twinsun.com>
20012
20013         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
20014         fails, so that the caller gets the proper errno.
20015
20016         * lib/readutmp.c (read_utmp): Likewise.
20017         Check for fstat error.  Close stream and free storage
20018         when failing.
20019
20020 2003-09-14  Karl Berry  <karl@gnu.org>
20021
20022         * config/srclist.txt (strdup.c): disable for c89 changes.
20023
20024 2003-09-14  Jim Meyering  <jim@meyering.net>
20025
20026         * lib/getloadavg.c: Correct cpp indentation.
20027         * lib/strdup.c: Likewise.
20028         * lib/vasnprintf.c: Likewise.
20029
20030 2003-09-14  Bruno Haible  <bruno@clisp.org>
20031
20032         * modules/fwriteerror: New file.
20033         * MODULES.html.sh (func_all_modules): Add fwriteerror.
20034
20035 2003-09-14  Bruno Haible  <bruno@clisp.org>
20036
20037         * lib/fwriteerror.h: New file.
20038         * lib/fwriteerror.c: New file.
20039
20040 2003-09-12  Paul Eggert  <eggert@twinsun.com>
20041
20042         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
20043         modules/xgethostname, modules/xalloc: Depend on exit.
20044
20045 2003-09-12  Paul Eggert  <eggert@twinsun.com>
20046
20047         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
20048
20049         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
20050         and AC_MINIX, too, so that their extensions are available.
20051
20052         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
20053         This macro has been superseded by gl_BACKUPFILE.
20054
20055         More patches to assume C89 or better.
20056
20057         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
20058
20059         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
20060         unconditionally.
20061         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
20062         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
20063         Include <string.h>, <stdlib.h> unconditionally.
20064         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
20065         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
20066         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
20067         headers or for string.h.
20068         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
20069         or strtoul.
20070
20071         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
20072         headers.
20073         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
20074         * m4/userspec.m4 (gl_USERSPEC): Likewise.
20075         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
20076         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
20077         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
20078         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
20079         memcpy, memset.
20080         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
20081         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
20082         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
20083         strtol.
20084         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
20085         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
20086         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
20087         strtoul.
20088
20089 2003-09-12  Paul Eggert  <eggert@twinsun.com>
20090
20091         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
20092         * lib/obstack.c [!defined _LIBC]: Likewise.
20093         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
20094         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
20095         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
20096
20097         More changes to assume C89 or better.
20098
20099         * lib/error.c (error_tail): Assume vprintf.
20100
20101         * lib/argmatch.c (getenv): Remove decl.
20102         * lib/progreloc.c (get_full_program_name): Define via prototype.
20103         * lib/setenv.c (clearenv): Likewise.
20104         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
20105         needed.
20106         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
20107         (malloc, memcpy): Remove decls.
20108         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
20109         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
20110         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
20111         (memcpy): Remove macro.
20112         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
20113         (__P): Remove.  All uses removed.
20114         (PTR): Remove.  All uses changed to void *.
20115         (CHAR_BIT, NULL): Remove.
20116         (spaces, zeros, memset_space, memset_zero)
20117         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
20118         Remove.
20119         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
20120         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
20121         Define with prototype.
20122         Remove now-unnecessary prototype decl.
20123         (extra_args_spec): Assume ANSI C.  All uses changed.
20124         (extra_args_spec_iso): Remove.
20125         (my_strftime, emacs_strftimeu): Define via prototype.
20126         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
20127         unconditionally.
20128         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
20129         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
20130         (strtoul, strtol): Remove decls.
20131         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
20132         LONG_MAX): Remove.
20133         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
20134         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
20135         (LOCALE_PARAM_PROTO): New macro.
20136         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
20137         (INTERNAL (strtol), strtol): Define with a prototype.
20138         (PARAMS): Remove.  All uses removed.
20139         * lib/tempname.c: Include <string.h> unconditionally.
20140         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
20141         * lib/xgethostname.c (main): Define with a prototype.
20142         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
20143         Include <stdlib.h> unconditionally.
20144         (calloc, malloc, realloc, free): Remove decls.
20145         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
20146         Include <stdlib.h> unconditionally.  Sort include file names.
20147         (strtod): Remove.
20148         (xstrtod): Define with a prototype.
20149         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
20150         (strtol, strtoul): Remove decls.
20151
20152 2003-09-11  Paul Eggert  <eggert@twinsun.com>
20153
20154         More patches to assume C89 or better.
20155         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
20156         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
20157         string.h, memchr, STDC_HEADERS.
20158
20159 2003-09-11  Paul Eggert  <eggert@twinsun.com>
20160
20161         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
20162         Include <stdlib.h>, <string.h> unconditionally.
20163         Remove now-unnecessary cast to char *.
20164         * lib/strnlen.c: Include <string.h> unconditionally.
20165         * lib/yesno.c (yesno): Define with a prototype.
20166
20167 2003-09-11  Bruno Haible  <bruno@clisp.org>
20168
20169         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
20170
20171 2003-09-10  Jim Meyering  <jim@meyering.net>
20172
20173         * lib/error.c: Correct indentation of cpp directives.
20174
20175 2003-09-10  Bruno Haible  <bruno@clisp.org>
20176
20177         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
20178         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
20179         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
20180         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
20181         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
20182         <stdlib.h> and <string.h> checks.
20183         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
20184         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
20185
20186 2003-09-10  Bruno Haible  <bruno@clisp.org>
20187
20188         * lib/strcspn.c: Include <string.h> unconditionally.
20189         * lib/strpbrk.c: Include <string.h> unconditionally.
20190         * lib/strstr.c: Include <string.h> unconditionally.
20191         * lib/unicodeio.c: Include <string.h> unconditionally.
20192         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
20193         * lib/unsetenv.c: Likewise.
20194         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
20195         * lib/yesno.c: Include <stdlib.h> unconditionally.
20196         (rpmatch): Add prototype.
20197
20198 2003-09-09  Paul Eggert  <eggert@twinsun.com>
20199
20200         More patches to assume C89 or better.
20201         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
20202         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
20203         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
20204         or for string.h.
20205         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
20206         stdlib.h.
20207         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
20208         C headers.
20209         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
20210         string.h.
20211         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
20212         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
20213         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
20214         or for string.h.
20215         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
20216         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
20217         C headers.
20218         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
20219         memcpy.
20220         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
20221         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
20222         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
20223         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
20224         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
20225         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
20226         string.h, free.
20227         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
20228         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
20229         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
20230         C headers, or for string.h.
20231         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
20232         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
20233         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
20234         headers, memory.h, stdlib.h, string.h, strings.h.
20235         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
20236         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
20237         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
20238         strchr.
20239         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
20240         headers, memory.h, string.h.
20241         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
20242         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
20243         free.
20244         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
20245         headers.
20246         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
20247         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
20248         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
20249         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
20250         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
20251
20252 2003-09-09  Paul Eggert  <eggert@twinsun.com>
20253
20254         More K&R removal.
20255
20256         * lib/acosl.c (main): Use a prototype.
20257         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
20258         tanl.c: Likewise.
20259
20260         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
20261
20262         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
20263         (getopt, etopt_long, getopt_long_only, _getopt_internal)
20264         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
20265         with a prototype.
20266         * lib/getopt.c (const): Remove macro.
20267         Include <string.h> unconditionally.
20268         (my_index): Remove; all uses changed to strchr.
20269         (strlen): Remove decl.
20270         (exchange): Remove forward decl; no longer needed.
20271         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
20272         Define with prototype.
20273         * lib/getopt1.c (const): Remove macro.
20274         (getopt_long, getopt_long_only, main): Define with prototype.
20275
20276         * lib/getugroups.c: Include <string.h> unconditionally.
20277
20278         * lib/getusershell.c: Include <stdlib.h> unconditionally.
20279         (getusershell, setusershell, endusershell, readname, main):
20280         Define with prototypes.
20281
20282         * lib/group-member.c: Include group-member.h first.
20283         Include <stdlib.h> unconditionally.
20284
20285         * lib/hard-locale.c: Include hard-locale.h first.
20286         Include <stdlib.h>, <string.h> unconditionally.
20287
20288         * lib/hash.c (free, malloc): Remove decls.
20289         Include <stdlib.h> unconditionally.
20290
20291         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
20292         (getenv): Do not declare.
20293
20294         * lib/idcache.c: Include <string.h> unconditionally.
20295
20296         * lib/long-options.c: Include long-options.h first, to test interface.
20297         Include <stdlib.h> unconditionally.
20298
20299         * lib/makepath.c: Include makepath.h first, to test interface.
20300         Include <stdlib.h> and <string.h> unconditionally.
20301
20302         * lib/linebuffer.c: Include <stdlib.h>.
20303         (free): Remove decl.
20304
20305         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
20306         stddef.h. rpl_malloc returns void *, not char *.
20307         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
20308         prototype.
20309
20310         * lib/md5.h: Include <limits.h> unconditionally.
20311         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
20312         (__P): Remove; all uses removed.
20313         * lib/md5.c: Include "md5.h" first.
20314         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
20315         md5_buffer, md5_process_bytes, md5_process_block):
20316         Define with prototypes.
20317         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
20318         * lib/sha.c: Include "sha.h" first.
20319         Include <stdlib.h>, <string.h> unconditionally.
20320
20321         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
20322         * lib/memcmp.c (__ptr_t): Likewise.
20323         * lib/memrchr.c (__ptr_t): Likewise.
20324         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
20325         Include <string.h> unconditionally.
20326         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
20327         * lib/memchr.c: Include <stdlib.h> unconditionally.
20328         * lib/memchr.c (LONG_MAX): Remove.
20329         * lib/memrchr.c (LONG_MAX): Likewise.
20330         * lib/memchr.c (__memchr): Define via a prototype.
20331         * lib/memrchr.c (__memrchr): Likewise.
20332         * lib/memcmp.c (__P): Remove, and remove all uses.
20333         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
20334         Remove forward decls; no longer needed.
20335         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
20336         Use types required by C89 in prototype.
20337
20338         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
20339         * lib/savedir.c: Likewise.
20340         * lib/mkdir.c (free): Remove decl.
20341         * lib/rmdir.c (rmdir): Define with a prototype.
20342         * lib/savedir.c: Include savedir.h first, to test interface.
20343
20344         * lib/mktime.c (STDC_HEADERS): Remove.
20345         Include <stdlib.h>, <string.h> unconditionally.
20346
20347         * lib/modechange.c: Include <stdlib.h> unconditionally.
20348         (malloc): Remove decl.
20349
20350         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
20351         (free): Remove decl.
20352
20353         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
20354         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
20355         (This type really should be intptr_t, but that's a C99ism.)
20356         (_obstack_memcpy): Remove: all uses changed to memcpy.
20357         Include <string.h> unconditionally.
20358         (struct obstack): Assume __STDC__ for types of members
20359         chunkfun, freefun, extra_arg.
20360         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
20361         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
20362         obstack_begin, obstack_specify_allocation,
20363         obstack_specify_allocation_with_arg, obstack_chunkfun,
20364         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
20365         Remove unprototyped decls and the macros that use them.
20366         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
20367         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
20368         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
20369         (defined __STDC__ && __STDC__)]:
20370         Remove nonprototyped code.
20371         Include <stdlib.h> unconditionally.
20372         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
20373         _obstack_allocated_p, _obstack_free, obstack_free,
20374         _obstack_memory_used, print_and_abort):
20375         Define using prototypes.
20376         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
20377         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
20378         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
20379         obstack_next_free, obstack_object_size, obstack_room) [0]:
20380         Remove unused, unprototyped code.
20381
20382         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
20383
20384         * lib/physmem.c (physmem_total, physmem_available, main): Define
20385         with prototypes.
20386
20387         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
20388         (main): Define with a prototype.
20389
20390         * lib/posixver.c (getenv): Remove decl.
20391
20392         * lib/putenv.c (malloc): Returns void *, not char *.
20393         Include <string.h> unconditionally.
20394         (strchr, memcpy, NULL): Do not define.
20395
20396         * lib/readtokens.c: Include readtokens.h first, to test interface.
20397         Include <stdlib.h>, <string.h> unconditionally.
20398         (init_tokenbuffer): Define with a prototype.
20399
20400         * lib/regex.c (PARAMS): Remove.  All uses removed.
20401         All uses of _RE_ARGS removed, too.
20402         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
20403         unconditionally.
20404         (bzero): Assume memset exists.
20405         (memcmp, memcpy, NULL): Remove.
20406         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
20407         char, or assignments to local vars of type signed char.
20408         (init_syntax_once, PREFIX(extract_number_and_incr),
20409         PREFIX(print_partial_compiled_pattern),
20410         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
20411         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
20412         PREFIX(regex_grow_registers), PREFIX(regex_compile),
20413         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
20414         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
20415         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
20416         wcs_compile_range, byte_compile_range, truncate_wchar,
20417         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
20418         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
20419         count_mbs_length, wcs_re_match_2_internal,
20420         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
20421         PREFIX(alt_match_null_string_p),
20422         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
20423         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
20424         regfree, PREFIX(extract_number)): Define with prototype.  Remove
20425         now-unnecessary declaration, if any.
20426         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
20427         regcomp, regexec):
20428         Remove now-unnecessary casts among pointer types.
20429         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
20430
20431         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
20432         (free): Remove decl.
20433
20434         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
20435
20436         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
20437         (free): Remove decl.
20438
20439         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
20440         * lib/xgetcwd.c: Likewise.
20441
20442         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
20443         (free): Remove decl.
20444
20445         * lib/strchrnul.c (strchrnul): Define with a prototype.
20446         Fix bug: c_in was not converted to char before searching.
20447
20448         The following changes are not K&R related:
20449
20450         * lib/group-member.h: Include <sys/types.h>, so that this file is
20451         self-contained.
20452         * lib/makepath.h: Likewise.
20453
20454         * lib/getusershell.c (readname, default_index, line_size, readname):
20455         Use size_t, not int, for sizes.
20456         (readname): If the size overflows, report an error instead of
20457         looping forever.
20458
20459 2003-09-09  Paul Eggert  <eggert@twinsun.com>
20460
20461         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
20462         libc.
20463
20464 2003-09-09  Paul Eggert  <eggert@twinsun.com>
20465
20466         * README: New section: portability guidelines.
20467
20468 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
20469
20470         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
20471         C89 spec.
20472
20473 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
20474
20475         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
20476
20477 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20478
20479         Assume C89 or better; remove K&R cruft.
20480         A few of these changes were first proposed by Derek Robert Price
20481         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
20482
20483         * lib/addext.c: Include <string.h> unconditionally.
20484         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
20485         Don't declare getenv or malloc.
20486
20487         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
20488         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
20489         (NULL): Remove.
20490         (find_stack_direction, alloca): Use prototypes.
20491
20492         * lib/atexit.c (atexit): Define using a prototype.
20493
20494         * lib/basename.c, dirname.c, stripslash.c:
20495         Include <string.h> unconditionally.
20496
20497         * lib/bcopy.c: Include <stddef.h>.
20498         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
20499
20500         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
20501
20502         * lib/error.h (error, error_at_line, error_print_progname)
20503         [! (defined (__STDC__) && __STDC__)]: Remove decls.
20504         * lib/error.c: Include error.h first, to check interface.
20505         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
20506         (VA_START): Remove; all uses changeed to va_start.
20507         (exit, strerror): Remove decls.
20508         (error_print_progname): Prototype uncondionally.
20509         Don't include <errno.h>; no longer needed.
20510         (private_strerror): Remove.
20511         (error_tail): Always define.
20512         (error, error_at_line): Assume C89 or better; always use prototypes.
20513         * lib/fatal.c: Include "fatal.h" first, to test interface.
20514         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
20515         (VA_START): Remove; all uses changed to va_start.
20516         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
20517         this case.
20518         (exit): Remove decl.
20519         (fatal): Prototype unconditionally.  Assume va_start works.
20520         Abort at end, to pacify gcc.
20521
20522         * lib/euidaccess.c (main): Define with a prototype.
20523
20524         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
20525
20526         * lib/exitfail.c: Include <stdlib.h> unconditionally.
20527
20528         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
20529         prototypes.
20530         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
20531         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
20532         (getenv): Remove decl.
20533         (fnmatch): Define using a prototype.
20534         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
20535         (FCT): Define using a prototype.
20536
20537         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
20538
20539         * lib/gethostname.c: Include <stddef.h>.
20540         (gethostname): Define with prototype.  Length is size_t, not int.
20541
20542 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20543
20544         Assume C89 or better; remove K&R cruft.
20545         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
20546         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
20547         string.h, getenv, malloc.
20548         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
20549         headers.
20550         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
20551         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
20552         do not check for strerror.
20553         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
20554         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
20555         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
20556         do not check for doprnt or vprintf.
20557         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
20558         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
20559
20560 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20561
20562         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
20563         getversion.c should have been removed then, but was accidentally
20564         preserved.
20565
20566         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
20567         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
20568
20569 2003-09-08  Karl Berry  <karl@gnu.org>
20570
20571         * config/config.sub, config.guess, srclistvars.sh: update from savannah
20572                 config, forget about prep.
20573
20574         * config/depcomp, missing: update from automake.
20575
20576 2003-09-07  Paul Eggert  <eggert@twinsun.com>
20577
20578         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
20579         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
20580
20581 2003-09-07  Paul Eggert  <eggert@twinsun.com>
20582
20583         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
20584         copy_tm_result.  Bug reported by Simon Josefsson in
20585         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
20586
20587 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20588
20589         * m4/time_r.m4: New file.
20590         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
20591         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
20592         is. Check for timegm declaration.
20593         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
20594         Do not check for gmtime_r.
20595         Replace mktime if __mktime_internal does not exist and if mktime
20596         hasn't been replaced already.
20597
20598 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20599
20600         * lib/time_r.c, lib/time_r.h: New files.
20601
20602         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
20603         __localtime_r.
20604         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
20605         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
20606
20607         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
20608         __gmtime_r.
20609         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
20610         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
20611         Include <time_r.h>.
20612
20613         * lib/timegm.c: Switch to glibc implementation, with the following
20614         changes:
20615         [defined HAVE_CONFIG_H]: Include <config.h>.
20616         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
20617         (__mktime_internal) [!defined _LIBC]: New decl.
20618         (__gmtime_r) [!defined _LIBC]: New macro and function.
20619         (timegm): Use a prototype, since gnulib assumes C89.
20620         Do not bother declaring tmp to be const, as it's not really usefu.
20621         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
20622         (timegm): Declare only if HAVE_DECL_TIMEGM.
20623
20624 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20625
20626         * MODULES.html.sh (func_all_modules): Add time_r.
20627         * modules/time_r: New file.
20628         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
20629         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
20630
20631 2003-09-03  Paul Eggert  <eggert@twinsun.com>
20632
20633         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
20634         Bug reported by Lute Kamstra in
20635         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
20636
20637         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
20638         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
20639         course with correspondingly smaller numbers for tomorrow and
20640         yesterday.  From Tadayoshi Funaba.  Originally installed into
20641         sh-utils on 1999-08-07, but the patch got lost (I guess during the
20642         coreutils merge?).
20643
20644 2003-08-31  Simon Josefsson  <jas@extundo.com>
20645
20646         * modules/timegm: New file.
20647         * MODULES.html.sh (func_all_modules): Add timegm.
20648
20649 2003-08-31  Simon Josefsson  <jas@extundo.com>
20650
20651         * m4/timegm.m4: New file.
20652
20653 2003-08-31  Simon Josefsson  <jas@extundo.com>
20654
20655         * lib/timegm.h: New file.
20656         * lib/timegm.c: New file.  Based on
20657         wget-1.8.2/src/http.c:mktime_from_utc.
20658
20659 2003-08-31  Karl Berry  <karl@gnu.org>
20660
20661         * lib/argp.h: update from libc.
20662
20663 2003-08-28  Bruno Haible  <bruno@clisp.org>
20664
20665         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
20666         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
20667         followed by '#define fnmatch fnmatch_posix' gives an error.
20668
20669 2003-08-28  Bruno Haible  <bruno@clisp.org>
20670
20671         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
20672         warning on QNX, which defines O_BINARY to 000000.
20673
20674 2003-08-27  Jim Meyering  <jim@meyering.net>
20675
20676         * m4/mkstemp.m4: Require that the system mkstemp be able to create
20677         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
20678         would fail after 32.  Reported by Danny Levinson.  Details here:
20679         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
20680
20681 2003-08-24  Bruno Haible  <bruno@clisp.org>
20682
20683         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
20684         MSVC7 <stdio.h> is included later.
20685
20686 2003-08-22  Simon Josefsson  <jas@extundo.com>
20687
20688         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
20689
20690 2003-08-20  Karl Berry  <karl@gnu.org>
20691
20692         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
20693
20694 2003-08-20  Bruno Haible  <bruno@clisp.org>
20695
20696         * modules/progname: New file.
20697         * MODULES.html.sh (func_all_modules): Add progname.
20698
20699 2003-08-20  Bruno Haible  <bruno@clisp.org>
20700
20701         * lib/progname.h: New file, from GNU gettext.
20702         * lib/progname.c: New file, from GNU gettext.
20703         * lib/progreloc.c: New file, from GNU gettext.
20704
20705 2003-08-19  Jim Meyering  <jim@meyering.net>
20706
20707         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
20708         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
20709
20710 2003-08-19  Bruno Haible  <bruno@clisp.org>
20711
20712         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
20713         more.
20714
20715 2003-08-19  Bruno Haible  <bruno@clisp.org>
20716
20717         * lib/xstrdup.c: Assume <string.h> exists.
20718
20719 2003-08-18  Paul Eggert  <eggert@twinsun.com>
20720
20721         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
20722         in makefile rules.
20723
20724 2003-08-18  Jim Meyering  <jim@meyering.net>
20725
20726         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
20727         * m4/lib-ld.m4: Likewise.
20728
20729 2003-08-18  Jim Meyering  <jim@meyering.net>
20730
20731         * lib/setenv.h: Indent nested cpp directive.
20732         * lib/vasnprintf.c: Remove trailing blanks.
20733
20734 2003-08-17  Simon Josefsson  <jas@extundo.com>
20735
20736         * modules/xstrndup: New file.
20737         * MODULES.html.sh (func_all_modules): Add xstrndup.
20738
20739 2003-08-17  Simon Josefsson  <jas@extundo.com>
20740
20741         * modules/argp: Fix autoconf macro name. Add more dependencies.
20742
20743 2003-08-17  Simon Josefsson  <jas@extundo.com>
20744
20745         * m4/xstrndup.m4: New file.
20746
20747 2003-08-17  Simon Josefsson  <jas@extundo.com>
20748
20749         * m4/argp.m4: New file.
20750
20751 2003-08-17  Simon Josefsson  <jas@extundo.com>
20752             Bruno Haible  <bruno@clisp.org>
20753
20754         * lib/xstrndup.h: New file.
20755         * lib/xstrndup.c: New file.
20756
20757 2003-08-17  Bruno Haible  <bruno@clisp.org>
20758
20759         * modules/strndup (Files, Include): Add lib/strndup.h.
20760
20761 2003-08-17  Bruno Haible  <bruno@clisp.org>
20762
20763         * modules/euidaccess (Files): Add lib/euidaccess.h.
20764
20765 2003-08-17  Bruno Haible  <bruno@clisp.org>
20766
20767         * lib/strndup.h: New file.
20768
20769 2003-08-17  Bruno Haible  <bruno@clisp.org>
20770
20771         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
20772         like AC_GNU_SOURCE.
20773         * modules/extensions (configure.ac): Comment out the invocation of
20774         gl_USE_SYSTEM_EXTENSIONS.
20775
20776 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20777
20778         Merges from coreutils, etc.
20779         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
20780         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
20781         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
20782         fixing a typo.
20783         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
20784         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
20785
20786 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20787
20788         Document merge from coreutils.
20789         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
20790         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
20791         * modules/utime: Add m4/utimes-null.m4.
20792
20793 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20794
20795         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
20796         space, undoing this 2003-08-12 change:
20797         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20798
20799 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20800
20801         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
20802         strtoul.c from libc, undoing this 2003-08-12 change:
20803         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20804
20805 2003-08-16  Jim Meyering  <jim@meyering.net>
20806
20807         Merges from coreutils.
20808         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
20809         prefix.  Adjust cache variables similarly.  Create 500 rather than
20810         just 300 files, to exercise bug on Darwin6.5, too.
20811         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
20812         $missing_dir.
20813         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
20814         AM_SYS_POSIX_TERMIOS.
20815         Reported by mkc@mathdogs.com.
20816         Also change use of $am_cv_sys_posix_termios
20817         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
20818         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
20819         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
20820         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
20821         in /proc/mounts until it finds one with matching device number.  This
20822         is unnecessary when the FILE argument *is* a mount point.  No stat call
20823         is necessary in that case.  So, disable the statvfs-testing code on
20824         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
20825         as RedHat bug# 84846.
20826         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20827         to 1MB, so as not to render systems with no stack size limit (e.g.,
20828         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20829         Include <unistd.h>.  On some systems,
20830         it is required for the definition of _SC_PAGESIZE.
20831
20832 2003-08-16  Jim Meyering  <jim@meyering.net>
20833
20834         Merge from coreutils.
20835         * lib/xstrtoimax.c: #else #if -> #elif.
20836         * lib/xstrtoumax.c: Likewise.
20837
20838 2003-08-16  Jim Meyering  <jim@meyering.net>
20839
20840         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
20841         * m4/utimes.m4: Removed.
20842         * m4/utimes-null.m4: Renamed from utimes.m4.
20843
20844         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20845         to 1MB, so as not to render systems with no stack size limit (e.g.,
20846         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20847         Include <unistd.h>.  On some systems,
20848         it is required for the definition of _SC_PAGESIZE.
20849
20850 2003-08-16  Jim Meyering  <jim@meyering.net>
20851         and Paul Eggert  <eggert@cs.ucla.edu>
20852
20853         Merges from coreutils, etc.
20854
20855         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
20856         using the latest version from cvs.  This avoids problems with #line
20857         directives using a vendor (Sun) compiler.
20858         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
20859         Don't set GETGROUPS_LIB here; now it's
20860         done via getgroups.m4's wrapper function.
20861         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
20862         rather than just in sh-util/configure.in, so that the
20863         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
20864         same.
20865         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
20866         AC_FUNC_GETLOADAVG where to find getloadavg.c.
20867         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
20868         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
20869         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
20870         Remove code that is now done by the newly-required macros.
20871         Append $(EXEEXT) to DF_PROG.
20872         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
20873         Do not invoke or require the following here,
20874         since prereq.m4 or some gnulib .m4 now does this for us:
20875         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
20876         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
20877         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
20878         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
20879         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
20880         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
20881         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
20882         AC_FUNC_OBSTACK.
20883         Do not replace the following functions, as this is now the job
20884         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
20885         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
20886         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
20887         atexit getpass, strdup, getpagesize.
20888         Replace 'raise'.
20889         Do not check for the following functions, as this is now the job
20890         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
20891         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
20892         setregid.
20893         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
20894         Check for sys/sysctl.h.
20895         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
20896         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
20897         of checking for ssize_t ourselves.
20898
20899         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
20900         Require every macro that gnulib/modules/* suggests for us.
20901         (jm_PREREQ_ADDEXT): New macro.
20902         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
20903         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
20904
20905         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
20906         (gl_PHYSMEM): Use it.
20907         Also check for `table' function.
20908         Check for new headers and functions.
20909         Add check for sys/sysmp.h.
20910         With suggestions from Kaveh Ghazi.
20911         Ignore headers that are present but cannot be compiled.  This
20912         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
20913         C 5.4.
20914
20915 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20916
20917         Document merge from coreutils.
20918         * modules/userspec: Depend on posixver.
20919         * modules/strftime: Depend on tzset.
20920
20921 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20922
20923         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
20924         rather than tab, after '#' in shell-script copyright notices.
20925         Suggested by Bruno Haible.
20926
20927 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20928
20929         * config/srclist-update: Use three spaces, rather than tab, after '#'
20930         in shell-script copyright notices.  Suggested by Bruno Haible.
20931         Remove unnecessary parenthesization in regular expression.
20932
20933 2003-08-15  Jim Meyering  <jim@meyering.net>
20934
20935         Merge from coreutils.
20936         * lib/xgethostname.c: Include <stdlib.h>.
20937         (xghostname): Don't exit for anything other than memory-related
20938         failure; just return NULL.
20939         * lib/userspec.c: Include "posixver.h".
20940         (parse_user_spec): Accept `.' as a separator only
20941         in pre-POSIX-200112 mode.
20942         * lib/strtoimax.c: Use #elif rather than #else #if.
20943         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
20944         Remove function, now that we can rely on a working tzset function.
20945         [!_LIBC]: Ensure that the required autoconf test has been run.
20946         [!defined _NL_CURRENT && HAVE_STRFTIME]:
20947         Use underlying_strftime for %r.
20948         * lib/sha.c: Merge in some clean-up and optimization changes from
20949         glibc.
20950         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
20951         Ensure that it is a multiple of 64.
20952         Rearrange loop exit tests so as to avoid performing an
20953         additional fread after encountering an error or EOF.
20954         * lib/realloc.c: Update copyright date.
20955
20956 2003-08-15  Jim Meyering  <jim@meyering.net>
20957         and Paul Eggert  <eggert@twinsun.com>
20958
20959         Merge from coreutils.
20960         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
20961         member but strut utmpx does not.  Needed for AIX 4.3.3.
20962         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
20963
20964 2003-08-15  Jim Meyering  <jim@meyering.net>
20965         and Paul Eggert  <eggert@cs.ucla.edu>
20966
20967         Merges from coreutils, etc.
20968         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
20969         Require gl_FUNC_TZSET_CLOBBER.
20970         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
20971         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
20972         members.
20973
20974 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20975
20976         Help the merge from coreutils.
20977         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
20978         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
20979         * m4/tzset.m4: Use it too.
20980
20981 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20982
20983         * modules/tzset: New file.
20984
20985 2003-08-14  Jim Meyering  <jim@meyering.net>
20986
20987         Merges from coreutils.
20988         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
20989         variable names, rather than @FNMATCH_H@.
20990         * modules/alloca: Likewise for $(ALLOCA_H).
20991
20992         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
20993         the three copies of the literal target, `fnmatch.h'.
20994         * modules/alloca (alloca.h): Likewise.
20995
20996 2003-08-14  Jim Meyering  <jim@meyering.net>
20997
20998         Merge from coreutils.
20999         * m4/tzset.m4: New file.
21000         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
21001         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
21002         otherwise, AIX 5.1 systems would end up using the latter.
21003         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
21004         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
21005         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
21006         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
21007
21008 2003-08-14  Jim Meyering  <jim@meyering.net>
21009
21010         Merge from coreutils.
21011         * lib/obstack.h: Whitespace changes.
21012         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
21013         and xcalloc return values.
21014         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
21015         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
21016         hang on OSF/1 5.1 for DIR on both local and remote file systems.
21017         Reported by (and fix confirmed by) Nelson H. F. Beebe.
21018         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
21019         error from mntctl.
21020         Use mntctl's return value to drive the entry-processing loop, since
21021         we can't rely on the value of the vmt_length member in the last
21022         entry.  On some systems doing so could result in exhausting
21023         virtual memory.  Based in part on a patch from Mike Jetzer.
21024
21025 2003-08-14  Jim Meyering  <jim@meyering.net>
21026         and Paul Eggert  <eggert@twinsun.com>
21027
21028         Merges from coreutils, plus other fixes.
21029         * lib/physmem.c: Merge in portability changes from gcc/libiberty
21030         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
21031         for credits and details.  Thanks to Kaveh Ghazi for helping
21032         to keep these files in sync.
21033         (ARRAY_SIZE): Define it.
21034         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
21035         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
21036         (memcasecmp): Don't assume size_t fits in unsigned int.
21037         Remove casts and duplicate code.
21038         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
21039         (memcpy): Remove definition.
21040         Merge in some clean-up and optimization changes from glibc.
21041         [BLOCKSIZE]: Move definition to top of file.
21042         Ensure that it is a multiple of 64.
21043         Rearrange loop exit tests so as to avoid performing an
21044         additional fread after encountering an error or EOF.
21045         * lib/md5.h (md5_uintptr): Define.
21046         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
21047         return to the initial working directory.  Preserve errno
21048         for caller.
21049         * lib/idcache.c: Include "xalloc.h".
21050         (xmalloc, xrealloc): Remove decls.
21051         (getuser): Remove casts no longer required in C89.
21052         * lib/human.c: Include stdio.h, for sprintf.
21053         * lib/group-member.c: Include "xalloc.h".
21054         (xmalloc, xrealloc): Remove decls.
21055         (get_group_info): Remove casts no longer required in C89.
21056         * lib/getusershell.c (readname): Remove casts no longer required in
21057         C89.
21058         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
21059         * lib/getline.c: Whitespace fix, from coreutils.
21060
21061 2003-08-13  Paul Eggert  <eggert@twinsun.com>
21062
21063         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
21064         Check for isascii.
21065
21066         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
21067         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
21068         Undo previous (whitespace-only) change.
21069
21070 2003-08-13  Paul Eggert  <eggert@twinsun.com>
21071
21072         * lib/exclude.c: Include <ctype.h>
21073         (IN_CTYPE_DOMAIN): New macro.
21074         (is_space): New fn.
21075         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
21076         and empty lines.
21077
21078         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
21079         Undo previous (whitespace-only) change.
21080
21081 2003-08-13  Paul Eggert  <eggert@twinsun.com>
21082
21083         * config/srclist-update: Change update back to the old behavior,
21084         leaving whitespace alone.  Use one 'sed' command rather than a
21085         pipeline.
21086         (fixlicense): Now a variable, not a function.
21087         (remove_trailing_blanks): Remove.
21088         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
21089         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
21090         Undo previous (whitespace-only) change.
21091
21092 2003-08-12  Paul Eggert  <eggert@twinsun.com>
21093
21094         Merge from coreutils.
21095         * modules/euidaccess: Add lib_SOURCES, include for new
21096         file euidaccess.h
21097
21098 2003-08-12  Paul Eggert  <eggert@twinsun.com>
21099
21100         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
21101         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
21102         Normalize leading white space and remove trailing white space.
21103
21104         Merge from coreutils
21105         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
21106
21107         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
21108         0.12.1.  These files are now being upgraded automatically by
21109         ../config/srclist-update.
21110
21111 2003-08-12  Paul Eggert  <eggert@twinsun.com>
21112
21113         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
21114         Normalize leading white space and remove trailing white space.
21115         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
21116         notice, as per ../config/srclist-update.
21117
21118         Merge from coreutils.
21119         * lib/euidaccess.h: New file.
21120         * lib/euidaccess.c: Include it.
21121         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
21122         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
21123         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
21124
21125 2003-08-12  Paul Eggert  <eggert@twinsun.com>
21126
21127         * config/srclist-update: Add copyright notice.
21128         (remove_id_lines, remove_trailing_blanks): New constants.
21129         (fixfile): Use them to normalize spacing a bit in copied files.
21130         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
21131         Normalize leading white space and remove trailing white space.
21132
21133         * config/texinfo.tex: Sync with texinfo.
21134
21135         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
21136         strtoul.c from libc, to merge coreutils whitespace changes.
21137
21138         * config/srclist.txt: Get the following m4 files from gettext:
21139         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
21140         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
21141         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
21142         wint_t.m4.
21143
21144 2003-08-12  Karl Berry  <karl@gnu.org>
21145
21146         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
21147         been made.
21148
21149 2003-08-11  Paul Eggert  <eggert@twinsun.com>
21150
21151         * modules/gnu-source, m4/gnu-source.m4:
21152         Remove; we're assuming Autoconf 2.54 or later now.
21153         Suggested by Bruno Haible.
21154         * MODULES.html.sh (func_all_modules): Remove gnu-source.
21155
21156 2003-08-11  Bruno Haible  <bruno@clisp.org>
21157
21158         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
21159
21160 2003-08-11  Bruno Haible  <bruno@clisp.org>
21161
21162         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
21163         (vasnprintf): Use it instead of wcslen.
21164
21165 2003-08-11  Bruno Haible  <bruno@clisp.org>
21166
21167         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
21168         value to ensure that _Bool promotes to int. Use #define for _Bool when
21169         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
21170
21171 2003-08-10  Karl Berry  <karl@gnu.org>
21172
21173         * lib/regex.h: update from libc (whitespace fix).
21174
21175 2003-08-09  Paul Eggert  <eggert@twinsun.com>
21176
21177         Merge some files from coreutils.  These changes were
21178         originally made by Jim Meyering.
21179         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
21180         many older Unixes require this.
21181         * lib/alloca.c (alloca): Remove cast to argument of free;
21182         no longer needed in C89.
21183         * lib/alloca_.h, regex.h: Fix white space to match
21184         what GNU indent does.
21185
21186 2003-08-09  Paul Eggert  <eggert@twinsun.com>
21187
21188         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
21189         apparently Emacs's Unicode mode got confused before my 2003-08-05
21190         checkin.
21191
21192 2003-08-08  Paul Eggert  <eggert@twinsun.com>
21193
21194         * m4/extensions.m4: New file.
21195         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
21196         Require gl_USE_SYSTEM_EXTENSIONS.
21197         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
21198         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
21199
21200 2003-08-08  Paul Eggert  <eggert@twinsun.com>
21201
21202         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
21203         * modules/extensions, modules/gnu-source: New files.
21204         * modules/timespec, modules/unlocked-io: Depend on extensions.
21205
21206 2003-08-07  Paul Eggert  <eggert@twinsun.com>
21207
21208         * modules/restrict: New file.
21209         * MODULES.html.sh (func_all_modules): Add restrict.
21210         * modules/regex: Depend on restrict.
21211
21212 2003-08-07  Paul Eggert  <eggert@twinsun.com>
21213
21214         * m4/restrict.m4: New file.
21215         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
21216
21217 2003-08-07  Bruno Haible  <bruno@clisp.org>
21218
21219         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
21220         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
21221
21222 2003-08-07  Bruno Haible  <bruno@clisp.org>
21223
21224         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
21225         makes the module 'getndelim2' compatible with the module 'getline'.
21226
21227 2003-08-05  Paul Eggert  <eggert@twinsun.com>
21228
21229         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
21230         byte with "\201" to avoid glitches when editing that source file
21231         with multi-gnome-terminal.
21232
21233 2003-08-05  Paul Eggert  <eggert@twinsun.com>
21234
21235         * lib/bumpalloc.h: Remove.
21236
21237 2003-08-05  Paul Eggert  <eggert@twinsun.com>
21238
21239         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
21240         * modules/bumpalloc: Remove.
21241
21242 2003-08-04  Paul Eggert  <eggert@twinsun.com>
21243
21244         * lib/getloadavg.c: Change copyright notice and spacing to conform to
21245         GNU coding style.
21246
21247         Merge from coreutils.
21248         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
21249         1. From glibc.
21250         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
21251         from Karl Berry, implemented by Jim Meyering.
21252         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
21253         from Dmitry V. Levin.
21254         Remove anachronistic cast of xrealloc.
21255         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
21256         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
21257         type. Otherwise, it wouldn't compile with at least /bin/cc on
21258         ymp-cray-unicos9.0.2.X.
21259         Combine two mostly-identical uses of alloca into one.
21260         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
21261
21262 2003-08-04  Dave Love  <d.love@dl.ac.uk>
21263
21264         [From Emacs.]
21265
21266         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
21267         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
21268         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
21269         obsolete NLIST_NAME_UNION.
21270         [__GNU__]: Undef BSD and FSCALE.
21271         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
21272
21273 2003-08-03  Paul Eggert  <eggert@twinsun.com>
21274
21275         * lib/stdbool_.h (_Bool): Make it signed char, instead of
21276         an enum type, so that it's guaranteed to promote to int.  See:
21277         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
21278
21279 2003-08-03  Karl Berry  <karl@gnu.org>
21280
21281         * config/depcomp: update from automake.
21282
21283 2003-07-31  Paul Eggert  <eggert@twinsun.com>
21284
21285         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
21286         (strerror): Don't assume that a printable int fits in 14 bytes.
21287
21288 2003-07-31  Bruno Haible  <bruno@clisp.org>
21289
21290         * modules/getpass-gnu: New file.
21291         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
21292
21293 2003-07-31  Bruno Haible  <bruno@clisp.org>
21294
21295         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
21296
21297 2003-07-24  Karl Berry  <karl@gnu.org>
21298
21299         * config/missing: update from automake.
21300
21301 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
21302             Bruno Haible  <bruno@clisp.org>
21303
21304         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
21305         * lib/getline.c (getline, getdelim): Likewise.
21306         Remove _GNU_SOURCE define; now it's defined in config.h through
21307         m4/getline.m4.
21308
21309 2003-07-23  Karl Berry  <karl@gnu.org>
21310
21311         * config/config.sub: update from prep.
21312
21313 2003-07-22  Paul Eggert  <eggert@twinsun.com>
21314
21315         * modules/xalloc (Depends-on): Add exitfail.
21316         * modules/xmemcoll: Likewise.
21317
21318 2003-07-22  Paul Eggert  <eggert@twinsun.com>
21319
21320         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
21321         over-parenthesization in macros.
21322
21323         Sync with coreutils.
21324
21325         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
21326         required by C99.
21327
21328         Use `exit_failure' for xalloc and xmemcoll instead of their own
21329         private exit-failure variables.
21330         * lib/xalloc.h (xalloc_exit_failure): Remove.
21331         * lib/xmalloc.c: Likewise.  Include exitfail.h.
21332         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
21333         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
21334         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
21335         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
21336
21337 2003-07-20  Jim Meyering  <jim@meyering.net>
21338
21339         * modules/closeout (Depends-on): Add exitfail.
21340         Suggestion from Bruno Haible.
21341
21342 2003-07-19  Karl Berry  <karl@gnu.org>
21343
21344         * config/config.sub: update from prep.
21345
21346 2003-07-18  Paul Eggert  <eggert@twinsun.com>
21347
21348         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
21349         Remove.
21350         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
21351         to test that it can stand by itself.  Include "exitfail.h".
21352         Clients should set exit_failure instead.
21353         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
21354
21355 2003-07-18  Bruno Haible  <bruno@clisp.org>
21356
21357         * modules/getndelim2: New file.
21358         * modules/getline: Share files with module getndelim2.
21359         * modules/getnline: Depend on getndelim2 instead of sharing files with
21360         it. Add getnline.c to lib_SOURCES.
21361         * MODULES.html.sh (func_all_modules): Add getndelim2.
21362
21363 2003-07-18  Bruno Haible  <bruno@clisp.org>
21364
21365         * m4/getndelim2.m4: New file.
21366         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
21367         invoke gl_PREREQ_GETNDELIM2.
21368         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
21369         gl_PREREQ_GETNDELIM2.
21370         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
21371         gl_GETNDELIM2.
21372
21373 2003-07-18  Bruno Haible  <bruno@clisp.org>
21374
21375         * lib/getndelim2.h: New file.
21376         * lib/getndelim2.c: Make into a module of its own. Include config.h,
21377         getndelim2.h.
21378         (getndelim2): Make non-static. Change return type to ssize_t.
21379         * lib/getline.h: Change argument names.
21380         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
21381         * lib/getnline.c: Include getndelim2.h.
21382
21383 2003-07-18  Andreas Schwab  <schwab@suse.de>
21384
21385         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
21386
21387 2003-07-17  Karl Berry  <karl@gnu.org>
21388
21389         * config/config.sub: update from prep.
21390
21391 2003-07-17  Bruno Haible  <bruno@clisp.org>
21392
21393         * modules/getnline: New file.
21394         * modules/getline: Add lib/getndelim2.c to source file list.
21395         * MODULES.html.sh (func_all_modules): Add getnline.
21396
21397 2003-07-17  Bruno Haible  <bruno@clisp.org>
21398
21399         * m4/getnline.m4: New file.
21400
21401 2003-07-17  Bruno Haible  <bruno@clisp.org>
21402
21403         * m4/Makefile.am.in: Remove file.
21404         * m4/Makefile.am: Remove file.
21405         * m4/Makefile.in: Remove file.
21406
21407 2003-07-17  Bruno Haible  <bruno@clisp.org>
21408
21409         * lib/getnline.h: New file.
21410         * lib/getnline.c: New file.
21411         * lib/getndelim2.c: New file, extracted from getline.c.
21412         (getndelim2): Renamed from getdelim2, with added nmax argument.
21413         * lib/getline.c: Include getndelim2.c.
21414         (getdelim2): Moved out to getndelim2.c.
21415         (getline, getdelim): Update.
21416
21417 2003-07-17  Bruno Haible  <bruno@clisp.org>
21418
21419         * lib/Makefile.am: Remove file.
21420         * lib/Makefile.in: Remove file.
21421
21422 2003-07-17  Bruno Haible  <bruno@clisp.org>
21423
21424         * configure.in: Remove file.
21425         * Makefile.in: Remove file.
21426
21427 2003-07-17  Bruno Haible  <bruno@clisp.org>
21428
21429         * MODULES.html.sh: Put the </BODY> right before </HTML>.
21430
21431 2003-07-16  Karl Berry  <karl@gnu.org>
21432
21433         * config/srclist-update: was running fixlicense twice, which caused
21434                 texinfo.tex to be nullified for some reason.  Simplify,
21435                 $gplsrc is no longer needed as far as I can see?
21436
21437 2003-07-16  Jim Meyering  <jim@meyering.net>
21438
21439         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
21440
21441 2003-07-15  Paul Eggert  <eggert@twinsun.com>
21442
21443         * config/srclist.txt: Get the following files from gettext-runtime/intl
21444         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
21445         ref-del.sin.  From Bruno Haible.
21446         * config/srclist-update (fixfile): Change grep pattern again, since the
21447         previous fix didn't work (there was another trailing $).  Use
21448         '[$]' to escape the $s.
21449
21450 2003-07-15  Karl Berry  <karl@gnu.org>
21451
21452         * lib/vasnprintf.c: update from gettext.
21453
21454 2003-07-15  Karl Berry  <karl@gnu.org>
21455
21456         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
21457         gets expanded when surrounded by '$'.
21458
21459 2003-07-15  Jim Meyering  <jim@meyering.net>
21460
21461         * modules/save-cwd: Don't depend on error.  From Derek Price.
21462
21463 2003-07-15  Jim Meyering  <jim@meyering.net>
21464
21465         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
21466
21467 2003-07-14  Simon Josefsson  <jas@extundo.com>
21468
21469         * modules/mempcpy: New file.
21470         * MODULES.html.sh (func_all_modules): Add mempcpy.
21471
21472 2003-07-14  Simon Josefsson  <jas@extundo.com>
21473
21474         * m4/mempcpy.m4: New file.
21475
21476 2003-07-14  Simon Josefsson  <jas@extundo.com>
21477
21478         * lib/mempcpy.h: New file.
21479         * lib/mempcpy.c: New file.
21480
21481 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21482
21483         * modules/getdate, modules/posixtm: Depend on mktime.
21484
21485 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21486
21487         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
21488         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
21489         unicodeio.c, unicodeio.h, unlocked-io.h:
21490         Switch from LGPL to GPL.
21491
21492 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21493
21494         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
21495         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
21496         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
21497         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
21498         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
21499         updated automatically by ../config/srclist-update.  This changes
21500         their license from LPGL to GPL.
21501
21502 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21503
21504         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
21505         assumed to refer to the root of the most recent stable gettext version.
21506         * config/srclistvars.sh: Add defaults for eggert.
21507         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
21508         Match "This program" as well as "The program".  This is needed
21509         for gettext.
21510
21511 2003-07-14  Jim Meyering  <jim@meyering.net>
21512
21513         Don't emit diagnostics.  Let callers do that.
21514         * lib/save-cwd.c: Don't include "error.h".
21515         (save_cwd): Don't call error.  Ensure that errno is valid
21516         when returning nonzero.
21517
21518         * lib/save-cwd.h (restore_cwd): Update prototype.
21519         * lib/save-cwd.c (restore_cwd): Remove two parameters.
21520         Simplify.  Don't call error upon failure.  Let callers do that.
21521         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
21522         when auditing is enabled.  But don't bother updating the #if.
21523
21524 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
21525
21526         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
21527         it breaks C++ compilation.
21528         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
21529
21530 2003-07-10  Simon Josefsson  <jas@extundo.com>
21531
21532         * modules/strchrnul (Makefile.am): Add strchrnul.h.
21533
21534 2003-07-10  Jim Meyering  <jim@meyering.net>
21535
21536         * m4/clock_time.m4: Remove trailing blank.
21537         * m4/intmax_t.m4: Likewise.
21538
21539 2003-07-10  Jim Meyering  <jim@meyering.net>
21540
21541         * lib/vasnprintf.c: Remove trailing blanks.
21542         Make cpp indentation consistent.
21543
21544 2003-07-09  Paul Eggert  <eggert@twinsun.com>
21545
21546         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
21547         posixver.c, strftime.c, strnlen.c, strverscmp.c:
21548         Switch from LGPL to GPL.
21549
21550 2003-07-09  Paul Eggert  <eggert@twinsun.com>
21551
21552         * config/srclist.txt: Sort sublists.  Add
21553         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
21554         that differ from gnulib for one reason or another; we'd like this list
21555         to be smaller but for now let's document what we have.
21556
21557 2003-07-08  Paul Eggert  <eggert@twinsun.com>
21558
21559         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
21560         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
21561         and sweeter "eval x=$x".
21562         * config/srclist.txt: Get lib/argp* from glibc.
21563
21564 2003-07-07  Paul Eggert  <eggert@twinsun.com>
21565
21566         * lib/mktime.c: Fix some boundary cases and remove need for floating
21567         point.
21568
21569         Issue a compile-time diagnostic if time_t is floating point, or if
21570         two's complement arithmetic is not in effect, or if arithmetic
21571         right shift does not propagate the sign.  These assumptions were
21572         all in the original code but they weren't checked.
21573
21574         (TIME_T_MIDPOINT, verify): New macros.
21575         (__isleap): Remove; it has integer overflow problems.
21576         (leapyear): New function, without those problems.
21577         (ydhms_tm_diff): Remove; splitting into two parts.
21578         (ydhms_diff): New function, containing the arithmetic part of
21579         the old ydhms_tm_diff function.  Issue a compile-time
21580         diagnostic if we are not using C99 integer division.
21581         Avoid casts when possible.
21582         (guess_time_tm): New function, containing the checking part of
21583         the old ydhms_tm_diff function.  Return the new value, rather than
21584         the difference between it and the old.  Accept a new argument T
21585         so that *T specifies the old value.  Check for overflow in the result.
21586
21587         (__mktime_internal): Use a time_t offset, not a long int offset.
21588         This undoes the 2003-06-04 change, which is no longer needed now
21589         that we have better overflow checking.
21590         (localtime_offset): Likewise.
21591
21592         (__mktime_internal): Avoid harmful overflow on hosts where time_t
21593         and long are 64-bit but int is only 32-bit.
21594         (ydhms_diff): Use long int to store year1 and yday1.
21595         Issue a compile-time diagnostic if long int is not wide enough.
21596
21597         (__mktime_internal): Use long int to store adjusted year and yday.
21598         Use plain C rather than preprocessor commands, if that doesn't
21599         affect efficiency.
21600         Check for overflow (and try to repair) after each probe
21601         rather than checking only at the very end.  This avoids some bugs
21602         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
21603         does not equal GMT offset at maximum time).
21604         Use integer to check for overflow rather than floating point; this
21605         is more portable to non-IEEE hosts, and is a tad faster.
21606         When we detect that we are oscillating between two values,
21607         don't check whether tm_isdst has the requested value, since
21608         we already know the answer.  When tm_isdst has the wrong value,
21609         use a different heuristic to find the right one, based on the
21610         extreme values actually observed in practice in tz2003a,
21611         rather than the (overly optimistic) "previous 3 calendar quarters".
21612
21613         (not_equal_tm, print_tm, check_result): Use "const T" rather than
21614         "T const" to accommodate glibc style.
21615         (check_result): Use less-confusing report format.  "long" -> "long int.
21616         (main): Likewise.
21617         Don't loop if the iteration overflows time_t.
21618         Allow a negative step in the iteration.
21619
21620 2003-07-06  Karl Berry  <karl@gnu.org>
21621
21622         * config/depcomp: update from automake.
21623         * config/config.sub: update from prep.
21624
21625 2003-07-03  Karl Berry  <karl@gnu.org>
21626
21627         * config/config.guess: update from prep.
21628
21629 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21630
21631         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
21632         xreadlink.c now includes it unconditionally.
21633
21634 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21635
21636         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
21637         having it depend on HAVE_SYS_TYPES_H.
21638
21639 2003-07-01  Bruno Haible  <bruno@clisp.org>
21640
21641         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
21642         <sys/types.h> should be sufficient.
21643         Reported by Paul Eggert.
21644
21645 2003-06-26  Karl Berry  <karl@gnu.org>
21646
21647         * config/depcomp: update from automake.
21648
21649 2003-06-26  Bruno Haible  <bruno@clisp.org>
21650
21651         * modules/human: Depend on module stdbool.
21652
21653 2003-06-25  Bruno Haible  <bruno@clisp.org>
21654
21655         * modules/readlink: New file.
21656         * modules/xreadlink: Depend on it.
21657         * MODULES.html.sh (func_all_modules): Add readlink.
21658
21659 2003-06-25  Bruno Haible  <bruno@clisp.org>
21660
21661         * m4/readlink.m4: New file.
21662
21663 2003-06-25  Bruno Haible  <bruno@clisp.org>
21664
21665         * lib/readlink.c: New file.
21666
21667 2003-06-22  Karl Berry  <karl@gnu.org>
21668
21669         * config/srclist.txt: update mkinstalldirs from automake.
21670         * config/mkinstalldirs: update.
21671
21672 2003-06-22  Bruno Haible  <bruno@clisp.org>
21673
21674         Portability to mingw32.
21675         * m4/ssize_t.m4: New file, from GNU gettext.
21676         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
21677         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
21678
21679 2003-06-22  Bruno Haible  <bruno@clisp.org>
21680
21681         * modules/safe-read: Add m4/ssize_t.m4.
21682         * modules/xreadlink: Add m4/ssize_t.m4.
21683
21684 2003-06-20  Bruno Haible  <bruno@clisp.org>
21685
21686         Assume C89, so PARAMS isn't needed.
21687         * lib/unicodeio.h (PARAMS): Remove.
21688         * lib/unicodeio.c: Don't use PARAMS.
21689
21690 2003-06-18  Karl Berry  <karl@gnu.org>
21691
21692         * config/config.{guess,sub}: update from prep.
21693
21694 2003-06-18  Jim Meyering  <jim@meyering.net>
21695
21696         Merge changes from coreutils.
21697         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
21698         Remove explicit declarations of xmalloc and realloc.
21699         Include xalloc.h.
21700         (read_utmp): Remove anachronistic cast of xmalloc.
21701
21702 2003-06-17  Paul Eggert  <eggert@twinsun.com>
21703
21704         Assume C89, so PARAMS isn't needed.
21705         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
21706         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
21707         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
21708         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
21709         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
21710         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
21711         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
21712         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
21713         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
21714         lib/xstrtod.h, lib/xstrtol.h: Likewise.
21715         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
21716         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
21717         no longer needed. Anyway, config.h should always be included before any
21718         other file.
21719
21720 2003-06-11  Simon Josefsson  <jas@extundo.com>
21721
21722         * modules/sysexits: New file.
21723         * MODULES.html.sh (func_all_modules): Add sysexits.
21724
21725 2003-06-11  Simon Josefsson  <jas@extundo.com>
21726
21727         * lib/sysexit_.h: New file.
21728
21729 2003-06-11  Derek Price  <derek@ximbiot.com>
21730
21731         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
21732         necessary.
21733
21734 2003-06-11  Bruno Haible  <bruno@clisp.org>
21735
21736         * m4/sysexits.m4: New file.
21737
21738 2003-06-10  Simon Josefsson  <jas@extundo.com>
21739
21740         * lib/argp.h: New file, from glibc.
21741         * lib/argp-ba.c: New file, from glibc.
21742         * lib/argp-eexst.c: New file, from glibc.
21743         * lib/argp-fmtstream.c: New file, from glibc.
21744         * lib/argp-fmtstream.h: New file, from glibc.
21745         * lib/argp-fs-xinl.c: New file, from glibc.
21746         * lib/argp-help.c: New file, from glibc.
21747         * lib/argp-namefrob.h: New file, from glibc.
21748         * lib/argp-parse.c: New file, from glibc.
21749         * lib/argp-pv.c: New file, from glibc.
21750         * lib/argp-pvh.c: New file, from glibc.
21751         * lib/argp-xinl.c: New file, from glibc.
21752
21753 2003-06-10  Simon Josefsson  <jas@extundo.com>
21754
21755         * modules/strchrnul: New file.
21756
21757 2003-06-10  Simon Josefsson  <jas@extundo.com>
21758
21759         * modules/argp: New file.
21760
21761 2003-06-10  Simon Josefsson  <jas@extundo.com>
21762
21763         * m4/strchrnul.m4: New file.
21764
21765 2003-06-10  Simon Josefsson  <jas@extundo.com>
21766
21767         * lib/strchrnul.h: New file.
21768         * lib/strchrnul.c: New file.
21769
21770 2003-06-10  Bruno Haible  <bruno@clisp.org>
21771
21772         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
21773
21774 2003-06-07  Karl Berry  <karl@gnu.org>
21775
21776         * config/config.{guess,sub}: update from prep.
21777
21778 2003-06-07  Jim Meyering  <jim@meyering.net>
21779
21780         * modules/strtod: Use $(...) notation, not @...@ for
21781         AC_REPLACE'd variables.
21782         * modules/localcharset: Likewise.
21783
21784 2003-06-07  Jim Meyering  <jim@meyering.net>
21785
21786         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
21787         in place of my name in the copyright comment.
21788         Remove definition and uses of __P.
21789
21790         From coreutils.
21791         * lib/stat.c: Don't declare xmalloc explicitly.
21792         Instead, include "xalloc.h".
21793         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
21794         xrealloc, and xcalloc return values.
21795         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
21796         Improve comment.
21797         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
21798
21799 2003-06-07  Bruno Haible  <bruno@clisp.org>
21800
21801         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
21802         avoid AC_CONFIG_LINKS.
21803         * modules/fnmatch (Makefile.am): Use explicit creation rule for
21804         fnmatch.h, to avoid AC_CONFIG_LINKS.
21805         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
21806
21807 2003-06-07  Bruno Haible  <bruno@clisp.org>
21808
21809         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
21810         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
21811         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21812         directory.
21813         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
21814         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21815         directory.
21816
21817 2003-06-06  Jim Meyering  <jim@meyering.net>
21818
21819         Merge from coreutils.
21820         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
21821         Consolidate declarations and initializations of *_base* locals.
21822
21823         Merge from coreutils.
21824         This avoids a core dump on systems without GNU putenv,
21825         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
21826         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
21827         (unsetenv): New static function, from GNU libc.
21828         (rpl_putenv): Use it.
21829
21830         * lib/modechange.c: Remove trailing blanks.
21831
21832         Merge from coreutils.
21833         * lib/fsusage.c: Remove declaration of statfs.
21834         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
21835
21836         * lib/posixtm.c: Include <stdbool.h> unconditionally.
21837
21838 2003-06-06  Jim Meyering  <jim@meyering.net>
21839
21840         * lib/stdbool_.h: Renamed from stdbool.h.in.
21841
21842 2003-06-06  Jim Meyering  <jim@meyering.net>
21843             Bruno Haible  <bruno@clisp.org>
21844
21845         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
21846         Adjust Makefile.am snippet not to redirect directly to target.
21847         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
21848
21849 2003-06-05  Paul Eggert  <eggert@twinsun.com>
21850
21851         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
21852         mismatch, look in future quarters as well as past.  This fixes a
21853         bug when processing fall-backwards gaps immediately after a long
21854         period of daylight-saving time.
21855
21856         * lib/mktime.c: Assume freestanding C89 or better.
21857         (HAVE_LIMITS_H): Remove.  Assume it's 1.
21858         (__P): Remove; not used.
21859         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
21860         (mktime, not_equal_tm, print_tm, check_result,
21861         main): Use prototypes.  Use const * where appropriate.
21862         (main): Fix typo in testing code that uncovered by above changes.
21863         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
21864
21865 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21866
21867         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
21868         locale.h, localeconv.  This merges changes from coreutils.
21869
21870         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
21871         It can be removed after the next Autoconf is released.
21872         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
21873         needed.
21874
21875 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21876
21877         * lib/mktime.c: Fix Debian bug 177940
21878         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
21879         (localtime_offset): Now long int, not time_t, because we want it
21880         to be guaranteed to be signed.  All uses changed.
21881         (__mktime_internal): If overflow would occur when adding offset,
21882         don't add it.
21883
21884         Merge 'human' changes from coreutils.  Rewrite to support
21885         locale-specific notations like thousands separators.
21886         * lib/human.c: Simplify authorship notice.
21887         Include human.h immediately after config.h.
21888         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
21889         <limits.h>: Do not include, since human.h does.
21890         (SIZE_MAX, UINTMAX_MAX): New macros.
21891         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
21892         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
21893         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
21894         (power_letter): Renamed from suffixes.
21895         (generate_suffix_backwards): Remove.
21896         (adjust_value): Now takes int style (because of human.h changes)
21897         and long double value (for greater precision on some platforms).
21898         (group_number): New function.
21899         (human_readable): Use it.  Use integer options, not enum.
21900         Put the options before the sizes in the arg list.
21901         Support all the new options.
21902         The old human_readable function has been removed;
21903         use inttostr.h instead.
21904         (human_readable, default_block_size, humblock):
21905         Use uintmax_t, not int, for block sizes.
21906         (human_readable_inexact, block_size_types): Remove.
21907         (block_size_opts): New constant.
21908         (human_options): Renamed from human_block_size, with new signature
21909         that allows block sizes up to UINTMAX_MAX.  All callers changed.
21910         * lib/human.h: Add copyright and authorship notice.
21911         Include <limits.h> and <stdbool.h> unconditionally.
21912         (PARAMS): Remove.  All uses removed.
21913         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
21914         (enum human_inexact_style): Remove tag; now a nameless enum.
21915         (human_floor, human_ceiling, human_round_to_even): Now have
21916         values 2, 0, 1 rather than -1, 1, 0.
21917         (human_group_digits, human_suppress_point_zero, human_autoscale,
21918         human_base_1024, human_SI, human_B): New constants.
21919         (human_readable_inexact, human_block_size): Remove.
21920         (human_readable): Size args are now uintmax_t, not int.
21921         (human_options): New decl.
21922
21923         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
21924         unnecessary now that we assume C89 or better.  This change
21925         imported from coreutils.
21926
21927         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21928         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
21929         in the 2003-05-30 sync from glibc.
21930
21931         .h files should stand alone, but we shouldn't include <sys/types.h>
21932         if we can get away with just <stddef.h>.
21933
21934         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
21935         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
21936         rather than <sys/types.h>, as we merely need size_t.
21937         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
21938         to get size_t.
21939         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
21940         Include <stdio.h>, to get FILE.
21941         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
21942         memcasecmp.h has included <stddef.h> and all we need is size_t.
21943         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
21944         our interface, instead of including <sys/types.h>
21945
21946 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21947
21948         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
21949         now, as glibc mktime is buggy on non-glibc systems.
21950
21951 2003-06-03  Karl Berry  <karl@gnu.org>
21952
21953         * config/config.sub: update from prep.
21954
21955 2003-06-02  Paul Eggert  <eggert@twinsun.com>
21956
21957         [from coreutils]
21958         Fix some minor time-related bugs with POSIX time arguments.
21959         Some valid time stamps were being rejected (notably -1, and
21960         time stamps before 1900 on 64-bit hosts).  And some invalid
21961         time stamps were being accepted, e.g. September 31.
21962
21963         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
21964         that we can return (time_t) -1 successfully.
21965         * lib/posixtm.c: Likewise.
21966         [HAVE_STDBOOL_H]: Include <stdbool.h>.
21967         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
21968         (t): Remove static var.
21969         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
21970         of static var.  All uses changed.
21971         (year): Do not reject years before 1900; they can occur with
21972         64-bit time_t.
21973         (posix_time_parse): Do not check for out-of-range components;
21974         that is now the caller's responsibility, since our checks were
21975         only approximations.
21976         (posixtime): Use mktime to check for out-of-range components,
21977         since it knows them exactly.
21978         If mktime returns (time_t) -1, check whether an error actually occurred
21979         by invoking localtime on -1.
21980         (main) [TEST_POSIXTIME]: Check for input data errors, and report
21981         posixtime failures better.
21982         Improve the test data (in comments only).
21983
21984 2003-06-02  Karl Berry  <karl@gnu.org>
21985
21986         * config/mkinstalldirs (version): new variable.
21987         (--version): new option.
21988         (usage): improve message.
21989
21990 2003-05-30  Karl Berry  <karl@gnu.org>
21991
21992         * lib/mktime.c: update from libc.
21993
21994 2003-05-30  Bruno Haible  <bruno@clisp.org>
21995
21996         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
21997         * config/config.rpath: Upgrade to gettext-0.12.1.
21998
21999 2003-05-30  Bruno Haible  <bruno@clisp.org>
22000
22001         * m4/gettext.m4: Upgrade to gettext-0.12.1.
22002         * m4/nls.m4: New file, from gettext-0.12.1.
22003         * m4/po.m4: New file, from gettext-0.12.1.
22004         * m4/progtest.m4: Upgrade to gettext-0.12.1.
22005
22006 2003-05-30  Bruno Haible  <bruno@clisp.org>
22007
22008         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
22009         * lib/localcharset.h: Likewise.
22010         * lib/localcharset.c: Likewise.
22011
22012 2003-05-29  Karl Berry  <karl@gnu.org>
22013
22014         * config/config.rpath: update from gettext.
22015
22016 2003-05-28  Paul Eggert  <eggert@twinsun.com>
22017
22018         Assume the headers required for C89 freestanding compilers.
22019         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
22020         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
22021         * m4/human.m4 (gl_HUMAN): Likewise.
22022         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
22023         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
22024         * m4/userspec.m4 (gl_USERSPEC): Likewise.
22025         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
22026         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
22027         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
22028
22029 2003-05-28  Paul Eggert  <eggert@twinsun.com>
22030
22031         Assume the headers required for C89 freestanding compilers.
22032         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
22033         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
22034         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
22035         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
22036         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
22037         define, since <limits.h> is guaranteed to do that.
22038         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
22039         * lib/exclude.c: Include <stdbool.h> unconditionally.
22040         * lib/tempname.c: Include <stddef.h> unconditionally.
22041         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
22042         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
22043         <stddef.h> does that.
22044         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
22045         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
22046         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
22047         needed.
22048         * lib/xstrtol.c: Likewise.
22049         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
22050         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
22051
22052         * lib/addext.c (addext): Use assignment rather than cast, to avoid
22053         warnings on some platforms.
22054
22055         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
22056         arbitrarily.
22057
22058 2003-05-26  Jim Meyering  <jim@meyering.net>
22059
22060         Merge in a change from coreutils:
22061         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
22062         that is guaranteed to be `no'.  Use `no_such_member' to indicate
22063         that condition, rather than `-1' which is slightly misleading.
22064         Change the name of the cache variable to have the gl_ prefix.
22065         Prompted by a patch from Richard Dawe for DJGPP.
22066
22067 2003-05-24  Karl Berry  <karl@gnu.org>
22068
22069         * config/config.guess: update from prep.
22070
22071 2003-05-22  Karl Berry  <karl@gnu.org>
22072
22073         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
22074
22075 2003-05-20  Karl Berry  <karl@gnu.org>
22076
22077         * config/config.guess: update from prep.
22078
22079 2003-05-18  Karl Berry  <karl@gnu.org>
22080
22081         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
22082         might actually be set by the user.
22083
22084         * config/depcomp, install-sh, mdate-sh: update from automake.
22085
22086 2003-05-17  Bruno Haible  <bruno@clisp.org>
22087
22088         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
22089         invalid expansion for AC_EGREP_CPP.
22090         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22091         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22092         Suggested by Akim Demaille <akim@epita.fr> in
22093         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
22094
22095 2003-05-12  Jim Meyering  <jim@meyering.net>
22096
22097         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
22098         the space-padded-by-default conversion specifiers, %e, %k, %l.
22099
22100 2003-05-12  Bruno Haible  <bruno@clisp.org>
22101
22102         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
22103         the string is longer than 4 KB.
22104
22105 2003-05-11  Karl Berry  <karl@gnu.org>
22106
22107         * config/config.{guess,sub}: update from prep.
22108
22109 2003-05-09  Bruno Haible  <bruno@clisp.org>
22110
22111         * modules/error: Add m4/strerror_r.m4 to file list.
22112
22113 2003-05-03  Bruno Haible  <bruno@clisp.org>
22114
22115         Upgrade to Unicode-4.0.
22116         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
22117         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
22118         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
22119         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
22120         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
22121         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
22122         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
22123         Change width of U+E0100..U+E01EF from 1 to 0.
22124
22125 2003-04-25  Jim Meyering  <jim@meyering.net>
22126
22127         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
22128         of type size_t, not int.
22129
22130 2003-04-25  Bruno Haible  <bruno@clisp.org>
22131
22132         * lib/copy-file.c: Include <stddef.h>, for size_t.
22133
22134 2003-04-21  Paul Eggert  <eggert@twinsun.com>
22135
22136         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
22137         code which expansion is under static control.  Patch imported from
22138         Akim Demaille's patch to Bison; see
22139         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
22140
22141 2003-04-14  Bruno Haible  <bruno@clisp.org>
22142
22143         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
22144
22145 2003-04-11  Jim Meyering  <jim@meyering.net>
22146
22147         Merge changes from Coreutils.
22148
22149         2003-03-22  Jim Meyering  <jim@meyering.net>
22150
22151         * lib/strftime.c (widen): Cast alloca return value to proper type.
22152
22153         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
22154
22155         From GNU libc.
22156         * lib/strftime.c (my_strftime): Handle very large width
22157         specifications for numeric values correctly.  Improve checks for
22158         overflow.
22159
22160         2003-01-19  Jim Meyering  <jim@meyering.net>
22161
22162         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
22163         definitions.
22164         (nl_get_alt_digit) [! defined my_strftime]: Define.
22165         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
22166         _nl_get_alt_digit and _nl_get_walt_digit.
22167
22168         * lib/strftime.c (my_strftime): Merge in locale-related changes from
22169         libc. These changes have no effect outside of _LIBC.
22170
22171 2003-04-10  Bruno Haible  <bruno@clisp.org>
22172
22173         * modules/findprog: New file.
22174         * MODULES.html.sh (func_all_modules): Add it.
22175
22176 2003-04-10  Bruno Haible  <bruno@clisp.org>
22177
22178         * m4/findprog.m4: New file.
22179         * m4/eaccess.m4: New file.
22180
22181 2003-04-10  Bruno Haible  <bruno@clisp.org>
22182
22183         * lib/findprog.h: New file, from GNU gettext.
22184         * lib/findprog.c: New file, from GNU gettext.
22185
22186 2003-04-05  Jim Meyering  <jim@meyering.net>
22187
22188         Merge changes from Coreutils.
22189
22190         * lib/exclude.h (PARAMS): Remove definition and uses.
22191         * lib/exclude.c: Remove uses of `PARAMS'.
22192
22193         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
22194         Add test-cases for DOS filenames. Declare program_name.
22195         (main): Set up program_name.  Patch by Rich Dawe.
22196
22197         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
22198         error from mntctl.
22199         Use mntctl's return value to drive the entry-processing loop, since
22200         we can't rely on the value of the vmt_length member in the last
22201         entry.  On some systems doing so could result in exhausting
22202         virtual memory.  Based in part on a patch from Mike Jetzer.
22203
22204 2003-04-04  Bruno Haible  <bruno@clisp.org>
22205
22206         * modules/linebreak: New file.
22207         * MODULES.html.sh (func_all_modules): Add it.
22208
22209 2003-04-04  Bruno Haible  <bruno@clisp.org>
22210
22211         * m4/linebreak.m4: New file.
22212
22213 2003-04-04  Bruno Haible  <bruno@clisp.org>
22214
22215         * lib/linebreak.h: New file, from GNU gettext.
22216         * lib/linebreak.c: New file, from GNU gettext with slight
22217         modifications.
22218         * lib/lbrkprop.h: New file, from GNU gettext.
22219
22220 2003-04-03  Bruno Haible  <bruno@clisp.org>
22221
22222         * modules/utf8-ucs4: New file.
22223         * modules/utf16-ucs4: New file.
22224         * modules/ucs4-utf8: New file.
22225         * modules/ucs4-utf16: New file.
22226         * MODULES.html.sh (func_all_modules): Add them.
22227
22228 2003-04-03  Bruno Haible  <bruno@clisp.org>
22229
22230         * m4/utf-ucs4.m4: New file.
22231         * m4/ucs4-utf.m4: New file.
22232
22233 2003-04-03  Bruno Haible  <bruno@clisp.org>
22234
22235         * lib/utf8-ucs4.h: New file, from GNU gettext.
22236         * lib/utf16-ucs4.h: New file, from GNU gettext.
22237         * lib/ucs4-utf8.h: New file, from GNU gettext.
22238         * lib/ucs4-utf16.h: New file, from GNU gettext.
22239
22240 2003-04-02  Bruno Haible  <bruno@clisp.org>
22241
22242         * modules/binary-io: New file.
22243         * MODULES.html.sh (func_all_modules): Add it.
22244
22245 2003-04-02  Bruno Haible  <bruno@clisp.org>
22246
22247         * lib/binary-io.h: New file, from GNU gettext.
22248
22249 2003-04-01  Bruno Haible  <bruno@clisp.org>
22250
22251         * modules/pathname: New file.
22252         * MODULES.html.sh (func_all_modules): Add it.
22253
22254 2003-04-01  Bruno Haible  <bruno@clisp.org>
22255
22256         * lib/pathname.h: New file, from GNU gettext.
22257         * lib/concatpath.c: New file, from GNU gettext.
22258
22259 2003-03-30  Bruno Haible  <bruno@clisp.org>
22260
22261         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
22262
22263 2003-03-30  Bruno Haible  <bruno@clisp.org>
22264
22265         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
22266         function chown() doesn't exist.
22267
22268 2003-03-28  Bruno Haible  <bruno@clisp.org>
22269
22270         * modules/copy-file: New file.
22271         * MODULES.html.sh (func_all_modules): Add it.
22272
22273 2003-03-28  Bruno Haible  <bruno@clisp.org>
22274
22275         * m4/copy-file.m4: New file.
22276
22277 2003-03-28  Bruno Haible  <bruno@clisp.org>
22278
22279         * lib/copy-file.h: New file, from GNU gettext.
22280         * lib/copy-file.c: New file, from GNU gettext.
22281
22282 2003-03-18  Jim Meyering  <jim@meyering.net>
22283
22284         * lib/quote.c (quote_n): Fix typo in comment.
22285
22286 2003-03-18  Bruno Haible  <bruno@clisp.org>
22287
22288         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
22289         checking.
22290         * m4/onceonly_2_57.m4: Likewise.
22291
22292 2003-03-17  Bruno Haible  <bruno@clisp.org>
22293
22294         * m4/onceonly.m4: Require autoconf 2.54 or newer.
22295         (m4_quote): Remove macro.
22296         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
22297
22298 2003-03-14  Jim Meyering  <jim@meyering.net>
22299
22300         Merge changes from Coreutils.
22301         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
22302         to be const, in order to avoid warnings.
22303         (obstack_room): Likewise.
22304         (obstack_empty_p): Likewise.
22305
22306 2003-03-14  Bruno Haible  <bruno@clisp.org>
22307
22308         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
22309         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
22310
22311 2003-03-13  Paul Eggert  <eggert@twinsun.com>
22312
22313         Merge changes from Bison.
22314         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
22315         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
22316         when compiling Bison 1.875's `bitset bset = obstack_alloc
22317         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
22318         * lib/hash.c: Include <stdbool.h> unconditionally.
22319
22320 2003-03-13  Paul Eggert  <eggert@twinsun.com>
22321
22322         * m4/onceonly.m4 (m4_quote): New macro.
22323         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
22324         Quote AC_FOREACH variable-expansions properly.
22325
22326 2003-03-13  Paul Eggert  <eggert@twinsun.com>
22327
22328         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
22329
22330 2003-03-09  Paul Eggert  <eggert@twinsun.com>
22331
22332         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
22333         Reported by Bruce Becker; see:
22334         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
22335
22336 2003-03-03  Paul Eggert  <eggert@twinsun.com>
22337             Bruno Haible  <bruno@clisp.org>
22338
22339         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
22340         Reported by John Hughes, see
22341         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
22342
22343 2003-02-20  Bruno Haible  <bruno@clisp.org>
22344
22345         * MODULES.html.sh (func_all_modules): Add poll.
22346
22347 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
22348
22349         * modules/poll: New file.
22350
22351 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
22352
22353         * lib/poll_.h: New file.
22354         * lib/poll.c: New file.
22355
22356 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
22357
22358         * m4/poll.m4: New file.
22359
22360 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
22361
22362         * modules/mathl: New file.
22363
22364 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
22365
22366         * lib/mathl.h: New file.
22367         * lib/acosl.c: New file.
22368         * lib/asinl.c: New file.
22369         * lib/atanl.c: New file.
22370         * lib/ceill.c: New file.
22371         * lib/cosl.c: New file.
22372         * lib/expl.c: New file.
22373         * lib/floorl.c: New file.
22374         * lib/frexpl.c: New file.
22375         * lib/ldexpl.c: New file.
22376         * lib/logl.c: New file.
22377         * lib/sincosl.c: New file.
22378         * lib/sinl.c: New file.
22379         * lib/sqrtl.c: New file.
22380         * lib/tanl.c: New file.
22381         * lib/trigl.c: New file.
22382         * lib/trigl.h: New file.
22383
22384 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
22385
22386         * m4/mathl.m4: New file.
22387
22388 2003-02-18  Bruno Haible  <bruno@clisp.org>
22389
22390         * MODULES.html.sh (func_all_modules): Add mathl.
22391
22392 2003-02-17  Bruno Haible  <bruno@clisp.org>
22393
22394         * modules/mkdtemp: New module.
22395         * MODULES.html.sh (func_all_modules): Add it.
22396
22397 2003-02-17  Bruno Haible  <bruno@clisp.org>
22398
22399         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
22400
22401 2003-02-17  Bruno Haible  <bruno@clisp.org>
22402
22403         * lib/mkdtemp.h: New file, from GNU gettext.
22404         * lib/mkdtemp.c: New file, from GNU gettext.
22405
22406 2003-02-02  Jim Meyering  <jim@meyering.net>
22407
22408         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
22409         e.g. glibc-2.2.93.
22410
22411 2003-01-31  Bruno Haible  <bruno@clisp.org>
22412
22413         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
22414         'rpl_rename'.
22415         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
22416         'rpl_strnlen'.
22417         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
22418         'rpl_strtod'.
22419         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
22420         'rpl_utime'.
22421
22422 2003-01-31  Bruno Haible  <bruno@clisp.org>
22423
22424         * lib/rename.c: #undef rename before defining rpl_rename.
22425         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
22426
22427 2003-01-30  Bruno Haible  <bruno@clisp.org>
22428
22429         * modules/vasnprintf, modules/vasprintf: New modules.
22430         * MODULES.html.sh (func_all_modules): Add them.
22431
22432 2003-01-30  Bruno Haible  <bruno@clisp.org>
22433
22434         * m4/signed.m4: New file, from GNU gettext.
22435         * m4/longdouble.m4: New file, from GNU gettext.
22436         * m4/wchar_t.m4: New file, from GNU gettext.
22437         * m4/wint_t.m4: New file, from GNU gettext.
22438         * m4/vasnprintf.m4: New file.
22439         * m4/vasprintf.m4: New file.
22440
22441 2003-01-30  Bruno Haible  <bruno@clisp.org>
22442
22443         * lib/printf-args.h: New file, from GNU gettext.
22444         * lib/printf-args.c: New file, from GNU gettext.
22445         * lib/printf-parse.h: New file, from GNU gettext.
22446         * lib/printf-parse.c: New file, from GNU gettext.
22447         * lib/vasnprintf.h: New file, from GNU gettext.
22448         * lib/vasnprintf.c: New file, from GNU gettext.
22449         * lib/asnprintf.c: New file, from GNU gettext.
22450         * lib/vasprintf.h: New file, from GNU gettext with modifications.
22451         * lib/vasprintf.c: New file, from GNU gettext.
22452         * lib/asprintf.c: New file, from GNU gettext.
22453
22454 2003-01-29  Bruno Haible  <bruno@clisp.org>
22455
22456         * modules/stpncpy: New module.
22457         * MODULES.html.sh (func_all_modules): Add it.
22458
22459 2003-01-29  Bruno Haible  <bruno@clisp.org>
22460
22461         * m4/stpncpy.m4: New file.
22462
22463 2003-01-29  Bruno Haible  <bruno@clisp.org>
22464
22465         * lib/stpncpy.h: New file, from GNU gettext with modifications.
22466         * lib/stpncpy.c: New file, from GNU gettext with modifications.
22467
22468 2003-01-28  Bruno Haible  <bruno@clisp.org>
22469
22470         * modules/c-ctype: New module.
22471         * MODULES.html.sh (func_all_modules): Add it.
22472
22473 2003-01-28  Bruno Haible  <bruno@clisp.org>
22474
22475         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
22476         Paul Eggert.
22477         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
22478         Paul Eggert.
22479
22480 2003-01-27  Bruno Haible  <bruno@clisp.org>
22481
22482         * modules/xsetenv: New module.
22483         * MODULES.html.sh (func_all_modules): Add it.
22484
22485 2003-01-27  Bruno Haible  <bruno@clisp.org>
22486
22487         * lib/xsetenv.h: New file, from GNU gettext.
22488         * lib/xsetenv.c: New file, from GNU gettext.
22489
22490 2003-01-23  Jim Meyering  <jim@meyering.net>
22491
22492         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
22493         from working on systems without dirfd (at least Irix and OSF1/Tru64).
22494
22495 2003-01-23  Bruno Haible  <bruno@clisp.org>
22496
22497         * modules/minmax: New module.
22498         * MODULES.html.sh (func_all_modules): Add it.
22499
22500 2003-01-23  Bruno Haible  <bruno@clisp.org>
22501
22502         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
22503         Eggert.
22504
22505 2003-01-22  Bruno Haible  <bruno@clisp.org>
22506
22507         * modules/exit: New module.
22508         * MODULES.html.sh (func_all_modules): Add it.
22509
22510 2003-01-22  Bruno Haible  <bruno@clisp.org>
22511
22512         * lib/exit.h: New file, from GNU gettext.
22513
22514 2003-01-19  Bruno Haible  <bruno@clisp.org>
22515
22516         * gnulib-tool: Recognize option --extract-maintainer.
22517         (func_get_maintainer): New function.
22518         * modules/*: Add Maintainer entry.
22519
22520 2003-01-16  Jim Meyering  <jim@meyering.net>
22521
22522         * m4/regex.m4: The `regex' struct is both input and output.
22523         Initialize it before each use.  Patch by Tim Waugh.
22524
22525 2003-01-16  Bruno Haible  <bruno@clisp.org>
22526
22527         * MODULES.html.sh: Add a table of contents. Add the module name as
22528         leftmost column. Add hyperlinks.
22529
22530 2003-01-15  Bruno Haible  <bruno@clisp.org>
22531
22532         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
22533
22534 2003-01-15  Bruno Haible  <bruno@clisp.org>
22535
22536         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
22537         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
22538         suffix.
22539
22540 2003-01-15  Bruno Haible  <bruno@clisp.org>
22541
22542         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
22543
22544 2003-01-15  Bruno Haible  <bruno@clisp.org>
22545
22546         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
22547         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
22548
22549 2003-01-14  Jim Meyering  <jim@meyering.net>
22550
22551         * lib/same.c (same_name): Tweak a comment.
22552
22553 2003-01-14  Bruno Haible  <bruno@clisp.org>
22554
22555         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
22556         when a string comparison is sufficient.
22557
22558 2003-01-14  Bruno Haible  <bruno@clisp.org>
22559
22560         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
22561         'unsigned int'.
22562
22563 2003-01-14  Bruno Haible  <bruno@clisp.org>
22564
22565         * lib/hash-pjw.c: Add comment about low quality of this function.
22566
22567 2003-01-13  Bruno Haible  <bruno@clisp.org>
22568
22569         * modules/stpcpy: Distribute lib/stpcpy.h.
22570         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
22571
22572 2003-01-13  Bruno Haible  <bruno@clisp.org>
22573
22574         * modules/*: Add a description.
22575         * modules/strpbrk: Fix Makefile.am snippet.
22576         * modules/strtoimax: Fix dependencies.
22577         * modules/strtoumax: Likewise.
22578
22579 2003-01-13  Bruno Haible  <bruno@clisp.org>
22580
22581         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
22582         * modules/alloca (Makefile.am): All object files depend on alloca.h.
22583         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
22584
22585 2003-01-13  Bruno Haible  <bruno@clisp.org>
22586
22587         * gnulib-tool (func_create_testdir): Store config/* files in the main
22588         directory.
22589         * config.rpath: Move to ...
22590         * config/config.rpath: ... here.
22591         * modules/gettext: Contains config/config.rpath, not config.rpath.
22592         * modules/iconv: Likewise.
22593
22594 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22595
22596         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22597         to avoid collisions with libcurses and libreadline.
22598
22599         * m4/getstr.m4: Remove.
22600         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
22601
22602 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22603
22604         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22605         to avoid collisions with libcurses and libreadline.
22606
22607         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
22608         * lib/getstr.h, getstr.c: Remove.
22609         * lib/getline.c: Include "getline.h", to check interface.
22610         Move body of old getstr.c here: this defines MIN_CHUNK and
22611         declares getdelim2, which is renamed from getstr.
22612         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
22613
22614         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
22615         All uses changed.
22616         * lib/linebuffer.h: Likewise.
22617         (readline): Remove backward-compatibility macro.
22618
22619 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22620
22621         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22622         to avoid collisions with libcurses and libreadline.
22623         * getstr: Remove.
22624         * MODULES.html.sh: Remove getstr.
22625         * modules/getline: Depend on unlocked-io, not getstr.
22626
22627 2003-01-12  Jim Meyering  <jim@meyering.net>
22628
22629         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
22630
22631 2003-01-10  Bruno Haible  <bruno@clisp.org>
22632
22633         * modules/alloca: Change Makefile.am requirements. Simplify Include
22634         requirements. Add lib/alloca_.h to file list.
22635
22636 2003-01-10  Bruno Haible  <bruno@clisp.org>
22637
22638         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
22639
22640 2003-01-10  Bruno Haible  <bruno@clisp.org>
22641
22642         * lib/alloca_.h: New file.
22643         * lib/getdate.y: Unconditionally include alloca.h.
22644         * lib/makepath.c: Likewise.
22645         * lib/setenv.c: Likewise.
22646         * lib/userspec.c: Likewise.
22647
22648 2003-01-09  Karl Berry  <karl@gnu.org>
22649
22650         * MODULES.html.sh: include `dirname $0` in PATH, to find
22651         gnulib-tool.
22652
22653 2003-01-09  Bruno Haible  <bruno@clisp.org>
22654
22655         * modules/stdbool: Change configure.ac, Makefile.am requirements.
22656         Simplify Include requirements. Add lib/stdbool.h.in to file list.
22657
22658 2003-01-09  Bruno Haible  <bruno@clisp.org>
22659
22660         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
22661
22662 2003-01-09  Bruno Haible  <bruno@clisp.org>
22663
22664         * lib/stdbool.h.in: New file.
22665
22666 2003-01-09  Bruno Haible  <bruno@clisp.org>
22667
22668         * gnulib-tool (func_all_modules): Ignore files ending in ~.
22669         * MODULES.html.sh: Likewise.
22670
22671 2003-01-08  Jim Meyering  <jim@meyering.net>
22672
22673         * lib/full-write.c: Undefine and define-away `const' after inclusion
22674         of errno.h, not before.  Suggestion from Bruno Haible.
22675
22676 2003-01-08  Bruno Haible  <bruno@clisp.org>
22677
22678         * modules/full-read: Depend on full-write.
22679
22680 2003-01-08  Bruno Haible  <bruno@clisp.org>
22681
22682         * lib/safe-read.c: Include specification header first, to ensure its
22683         selfcontainedness.
22684         * lib/full-write.c: Likewise.
22685
22686 2003-01-07  Jim Meyering  <jim@meyering.net>
22687
22688         * lib/full-write.c: Rework so that it may serve to define full_read,
22689         too.
22690         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
22691
22692 2003-01-07  Bruno Haible  <bruno@clisp.org>
22693
22694         * lib/strtoimax.c: Include <stdint.h> as an alternative to
22695         <inttypes.h>.
22696         * lib/xstrtol.h: Likewise.
22697         * lib/xstrtoimax.c: Likewise.
22698         * lib/xstrtoumax.c: Likewise.
22699         * lib/human.h: Likewise.
22700
22701         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
22702         on systems that have <inttypes.h> but not <stdint.h>.
22703
22704 2003-01-07  Bruno Haible  <bruno@clisp.org>
22705
22706         * MODULES.html.sh: Add copyright notice.
22707         (missed_files): Omit CVS directory entries.
22708         (func_module): Make it work with sed-3.02.
22709         * MODULES.txt: Remove file.
22710
22711 2003-01-06  Jim Meyering  <jim@meyering.net>
22712
22713         * lib/version-etc.c: Update year in translatable copyright string.
22714
22715 2003-01-03  Karl Berry  <karl@gnu.org>
22716
22717         * config/config.{guess,sub}: update from prep.
22718
22719 2003-01-02  Karl Berry  <karl@gnu.org>
22720
22721         * doc/COPYING.DOC: belatedly updated to 1.2.
22722
22723 2003-01-01  Karl Berry  <karl@gnu.org>
22724
22725         * gnulib-tool (func_verify_module): report module name $module in
22726         error message, not $1.
22727         * gnulib-tool (create-testdir): don't complain if destdir couldn't
22728         be created, only if it doesn't exist.
22729         * gnulib-tool (last_checkin_date): don't expand the $Date here.
22730
22731 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22732
22733         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
22734
22735 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22736
22737         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
22738         memcmp if strcoll doesn't work.
22739
22740 2002-12-31  Bruno Haible  <bruno@clisp.org>
22741
22742         * lib/utime.c (utime_null): No need to call ftruncate if the file was
22743         nonempty.
22744
22745 2002-12-31  Bruno Haible  <bruno@clisp.org>
22746
22747         * lib/memcoll.c (STRCOLL): New macro.
22748         (memcoll): Use it.
22749
22750 2002-12-31  Bruno Haible  <bruno@clisp.org>
22751
22752         * lib/localcharset.h: New file.
22753         * lib/localcharset.c: Include it.
22754         * lib/unicodeio.c: Likewise.
22755
22756 2002-12-31  Bruno Haible  <bruno@clisp.org>
22757
22758         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
22759         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
22760
22761 2002-12-31  Bruno Haible  <bruno@clisp.org>
22762
22763         * lib/getline.h: Include <stddef.h>, for size_t.
22764
22765         * lib/unicodeio.h: Include <stddef.h>, for size_t.
22766         * lib/unicodeio.c: Don't include <stddef.h>.
22767
22768 2002-12-31  Bruno Haible  <bruno@clisp.org>
22769
22770         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
22771         HAVE_TM_ZONE.
22772
22773 2002-12-24  Karl Berry  <karl@gnu.org>
22774
22775         * config/config.guess: update from prep.
22776
22777 2002-12-24  Bruno Haible  <bruno@clisp.org>
22778
22779         General infrasructure.
22780         * m4/README: Rewritten.
22781         * m4/onceonly.m4: New file.
22782         * m4/onceonly_2_57.m4: New file.
22783
22784         Module atexit.
22785         * m4/atexit.m4: New file.
22786
22787         Module strtod.
22788         * m4/strtod.m4: New file.
22789
22790         Module strtol.
22791         * m4/strtol.m4: New file.
22792
22793         Module strtoul.
22794         * m4/strtoul.m4: New file.
22795
22796         Module memchr.
22797         * m4/memchr.m4: New file.
22798
22799         Module memcmp.
22800         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
22801         (jm_FUNC_MEMCMP): Invoke it.
22802
22803         Module memcpy.
22804         * m4/memcpy.m4: New file.
22805
22806         Module memmove.
22807         * m4/memmove.m4: New file.
22808
22809         Module memset.
22810         * m4/memset.m4: New file.
22811
22812         Module strcspn.
22813         * m4/strcspn.m4: New file.
22814
22815         Module strpbrk.
22816         * m4/strpbrk.m4: New file.
22817
22818         Module strstr.
22819         * m4/strstr.m4: New file.
22820
22821         Module strerror.
22822         * m4/strerror.m4: New file.
22823
22824         Module mktime.
22825         * m4/mktime.m4: Renamed from jm-mktime.m4.
22826         (gl_PREREQ_MKTIME): New macro.
22827         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
22828
22829         Module malloc.
22830         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
22831         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
22832         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
22833
22834         Module realloc.
22835         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
22836         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
22837         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
22838
22839         Module strftime.
22840         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
22841         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
22842         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
22843         gl_TM_GMTOFF.
22844         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
22845
22846         Module xalloc.
22847         * m4/xalloc.m4: New file.
22848
22849         Module alloca.
22850         * m4/alloca.m4: New file.
22851
22852         Module putenv.
22853         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
22854         (jm_FUNC_PUTENV): Invoke it.
22855
22856         Module setenv.
22857         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
22858         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
22859         when invoked twice.
22860         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
22861         gt_FUNC_SETENV.
22862
22863         Module memrchr.
22864         * m4/memrchr.m4: New file.
22865
22866         Module stpcpy.
22867         * m4/stpcpy.m4: New file.
22868
22869         Module strcase.
22870         * m4/strcase.m4: New file.
22871
22872         Module strdup.
22873         * m4/strdup.m4: New file.
22874
22875         Module strnlen.
22876         * m4/strnlen.m4: New file.
22877
22878         Module strndup.
22879         * m4/strndup.m4: New file.
22880
22881         Module xstrtod.
22882         * m4/xstrtod.m4: New file.
22883
22884         Module xstrtol.
22885         * m4/xstrtol.m4: New file.
22886
22887         Module getdate.
22888         * m4/getdate.m4: New file.
22889
22890         Module unlocked-io.
22891         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
22892         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
22893         * m4/jm-glibc-io.m4n: Remove file.
22894
22895         Module long-options.
22896         * m4/long-options.m4: New file.
22897
22898         Module md5.
22899         * m4/md5.m4: New file.
22900
22901         Module sha.
22902         * m4/sha.m4: New file.
22903
22904         Module getstr.
22905         * m4/getstr.m4: New file.
22906
22907         Module getline.
22908         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
22909         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
22910         <sys/types.h>, for size_t. Use the function name gnu_getline, not
22911         simply getline. Infoke gl_PREREQ_GETLINE.
22912
22913         Module obstack.
22914         * m4/obstack.m4: New file.
22915
22916         Module hash.
22917         * m4/hash.m4: New file.
22918
22919         Module readtokens.
22920         * m4/readtokens.m4: New file.
22921
22922         Module strverscmp.
22923         * m4/strverscmp.m4: New file.
22924
22925         Module stdbool.
22926         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
22927         OSF/1.
22928
22929         Module strtoll.
22930         * m4/strtoll.m4: New file.
22931
22932         Module strtoull.
22933         * m4/strtoull.m4: New file.
22934
22935         Module strtoimax.
22936         * m4/strtoimax.m4: New file.
22937
22938         Module strtoumax.
22939         * m4/strtoumax.m4: New file.
22940
22941         Module xstrtoimax.
22942         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
22943         jm_AC_PREREQ_XSTRTOIMAX.
22944         Moved the strtol prerequisites to strtol.m4.
22945         Moved the strtoll prerequisites to strtoll.m4.
22946         Moved the strtoimax prerequisites to strtoimax.m4.
22947
22948         Module xstrtoumax.
22949         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
22950         jm_AC_PREREQ_XSTRTOUMAX.
22951         Moved the strtoul prerequisites to strtoul.m4.
22952         Moved the strtoull prerequisites to strtoull.m4.
22953         Moved the strtoumax prerequisites to strtoumax.m4.
22954
22955         Module chown.
22956         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
22957         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
22958
22959         Module dup2.
22960         * m4/dup2.m4: New file.
22961
22962         Module ftruncate.
22963         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
22964         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
22965
22966         Module getgroups.
22967         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
22968         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
22969
22970         Module gettimeofday.
22971         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
22972         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
22973         gl_PREREQ_GETTIMEOFDAY.
22974
22975         Module mkdir.
22976         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
22977         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
22978
22979         Module mkstemp.
22980         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
22981         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
22982         jm_AC_TYPE_UINTMAX_T.
22983         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
22984
22985         Module stat.
22986         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
22987         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
22988
22989         Module lstat.
22990         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
22991         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
22992
22993         Module timespec.
22994         * m4/timespec.m4 (gl_TIMESPEC): New macro.
22995         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
22996         * m4/st_mtim.m4: Indentation.
22997
22998         Module nanosleep.
22999         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
23000         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
23001         gl_PREREQ_NANOSLEEP.
23002
23003         Module regex.
23004         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
23005         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
23006         (gl_REGEX): New macro.
23007
23008         Module rename.
23009         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
23010         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
23011
23012         Module rmdir.
23013         * m4/rmdir.m4: New file.
23014
23015         Module utime.
23016         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
23017         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
23018         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
23019
23020         Module dirname.
23021         * m4/dirname.m4: New file.
23022
23023         Module getopt.
23024         * m4/getopt.m4: New file.
23025
23026         Module unistd-safer.
23027         * m4/unistd-safer.m4: New file.
23028
23029         Module fnmatch.
23030         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
23031         declaration.
23032         (gl_PREREQ_FNMATCH_EXTRA): New macro.
23033         (gl_FUNC_FNMATCH_POSIX): New macro.
23034         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
23035         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
23036         simply fnmatch.
23037
23038         Module exclude.
23039         * m4/exclude.m4: New file.
23040
23041         Module human.
23042         * m4/human.m4: New file.
23043
23044         Module acl.
23045         * m4/acl.m4: Nop.
23046
23047         Module backupfile.
23048         * m4/backupfile.m4: New file.
23049         * m4/d-ino.m4: Indentation.
23050
23051         Module fsusage.
23052         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
23053         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
23054         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
23055
23056         Module dirfd.
23057         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
23058         requirements.
23059
23060         Module euidaccess.
23061         * m4/euidaccess.m4: New file.
23062
23063         Module file-type.
23064         * m4/file-type.m4: New file.
23065
23066         Module fileblocks.
23067         * m4/fileblocks.m4: New file.
23068
23069         Module filemode.
23070         * m4/filemode.m4: New file.
23071
23072         Module isdir.
23073         * m4/isdir.m4: New file.
23074
23075         Module lchown.
23076         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
23077         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
23078
23079         Module makepath.
23080         * m4/makepath.m4: New file.
23081
23082         Module modechange.
23083         * m4/modechange.m4: New file.
23084
23085         Module mountlist.
23086         * m4/mountlist.m4: New file.
23087         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
23088         Indentation.
23089
23090         Module path-concat.
23091         * m4/path-concat.m4: New file.
23092
23093         Module pathmax.
23094         * m4/pathmax.m4: New file.
23095
23096         Module same.
23097         * m4/same.m4: New file.
23098
23099         Module save-cwd.
23100         * m4/save-cwd.m4: New file.
23101
23102         Module savedir.
23103         * m4/savedir.m4: New file.
23104
23105         Module xgetcwd.
23106         * m4/xgetcwd.m4: New file.
23107         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
23108
23109         Module xreadlink.
23110         * m4/xreadlink.m4: New file.
23111
23112         Module safe-read.
23113         * m4/safe-read.m4: New file.
23114
23115         Module safe-write.
23116         * m4/safe-write.m4: New file.
23117
23118         Module closeout.
23119         * m4/closeout.m4: New file.
23120
23121         Module stdio-safer.
23122         * m4/stdio-safer.m4: New file.
23123
23124         Module getpass.
23125         * m4/getpass.m4: New file.
23126
23127         Module getugroups.
23128         * m4/getugroups.m4: New file.
23129
23130         Module group-member.
23131         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
23132         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
23133
23134         Module idcache.
23135         * m4/idcache.m4: New file.
23136
23137         Module userspec.
23138         * m4/userspec.m4: New file.
23139
23140         Module gettime.
23141         * m4/clock_time.m4: New file.
23142         * m4/gettime.m4: New file.
23143
23144         Module settime.
23145         * m4/settime.m4: New file.
23146
23147         Module posixtm.
23148         * m4/posixtm.m4: New file.
23149
23150         Module gethostname.
23151         * m4/gethostname.m4: New file.
23152
23153         Module canon-host.
23154         * m4/canon-host.m4: New file.
23155
23156         Module gettext.
23157         * m4/codeset.m4: New file, from gettext-0.11.5.
23158         * m4/gettext.m4: New file, from gettext-0.11.5.
23159         * m4/glibc21.m4: New file, from gettext-0.11.5.
23160         * m4/iconv.m4: New file, from gettext-0.11.5.
23161         * m4/intdiv0.m4: New file, from gettext-0.11.5.
23162         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
23163         * m4/inttypes.m4: New file, from gettext-0.11.5.
23164         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
23165         * m4/isc-posix.m4: New file, from gettext-0.11.5.
23166         * m4/lcmessage.m4: New file, from gettext-0.11.5.
23167         * m4/lib-ld.m4: New file, from gettext-0.11.5.
23168         * m4/lib-link.m4: New file, from gettext-0.11.5.
23169         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
23170         * m4/progtest.m4: New file, from gettext-0.11.5.
23171         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
23172         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
23173         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
23174
23175         Module localcharset.
23176         * m4/localcharset.m4: New file.
23177
23178         Module hard-locale.
23179         * m4/hard-locale.m4: New file.
23180
23181         Module mbswidth.
23182         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
23183         onceonly macros.
23184         * m4/mbrtowc.m4: Add comment.
23185
23186         Module memcasecmp.
23187         * m4/memcasecmp.m4: New file.
23188
23189         Module memcoll.
23190         * m4/memcoll.m4: New file.
23191
23192         Module unicodeio.
23193         * m4/unicodeio.m4: New file.
23194
23195         Module rpmatch.
23196         * m4/rpmatch.m4: New file.
23197
23198         Module yesno.
23199         * m4/yesno.m4: New file.
23200
23201         Module exitfail.
23202         * m4/exitfail.m4: New file.
23203
23204         Module c-stack.
23205         * m4/c-stack.m4 (gl_C_STACK): New macro.
23206         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
23207
23208         Module error.
23209         * m4/error.m4 (gl_ERROR): New macro.
23210         (jm_PREREQ_ERROR): Use onceonly macros.
23211
23212         Module fatal.
23213         * m4/fatal.m4: New file.
23214
23215         Module getloadavg.
23216         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
23217         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
23218
23219         Module getpagesize.
23220         * m4/getpagesize.m4: New file.
23221
23222         Module getusershell.
23223         * m4/getusershell.m4: New file.
23224
23225         Module physmem.
23226         * m4/physmem.m4: New file.
23227
23228         Module posixver.
23229         * m4/posixver.m4: New file.
23230
23231         Module quotearg.
23232         * m4/quotearg.m4: New file.
23233
23234         Module quote.
23235         * m4/quote.m4: New file.
23236
23237         Module readutmp.
23238         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
23239
23240         Module sig2str.
23241         * m4/sig2str.m4: New file.
23242
23243         Other.
23244         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
23245         ulonglong.m4.
23246         * m4/intmax_t.m4: New file.
23247         * m4/d-type.m4: Indentation.
23248         * m4/jm-macros.m4: Update.
23249         * m4/prereq.m4 (jm_PREREQ): Update.
23250         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
23251         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
23252         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
23253         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
23254         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
23255         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
23256         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
23257         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
23258         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
23259         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
23260         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
23261         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
23262         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
23263         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
23264         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
23265         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
23266         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
23267         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
23268         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
23269
23270 2002-12-24  Bruno Haible  <bruno@clisp.org>
23271
23272         * MODULES.txt: Update according to m4/ changes.
23273
23274         Module gettext.
23275         * config.rpath: New file, from gettext-0.11.5.
23276
23277         * modules/*: New module descriptions.
23278         * gnulib-tool: New file.
23279         * MODULES.html.sh: New file.
23280
23281 2002-12-21  Karl Berry  <karl@gnu.org>
23282
23283         * doc/fdl.texi: update to version 1.2.
23284
23285 2002-12-19  Karl Berry  <karl@gnu.org>
23286
23287         * config/config.guess: update from prep.
23288
23289 2002-12-18  Bruno Haible  <bruno@clisp.org>
23290
23291         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
23292         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
23293
23294 2002-12-17  Bruno Haible  <bruno@clisp.org>
23295
23296         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
23297         stdlib.h, string.h.
23298
23299 2002-12-17  Bruno Haible  <bruno@clisp.org>
23300
23301         * lib/canon-host.c (strdup): Remove unused declaration.
23302
23303         * lib/fsusage.c: Include full_read.h.
23304         (get_fs_usage): Use full_read instead of safe_read.
23305
23306         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
23307
23308 2002-12-12  Karl Berry  <karl@gnu.org>
23309
23310         * config/config.guess: update from prep.
23311
23312 2002-12-11  Bruno Haible  <bruno@clisp.org>
23313
23314         * m4/setenv.m4: New file, from gettext-0.11.5.
23315
23316 2002-12-11  Bruno Haible  <bruno@clisp.org>
23317
23318         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
23319         not unsetenv().
23320         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
23321         modifications:
23322
23323         2002-12-11  Bruno Haible  <bruno@clisp.org>
23324
23325                 * setenv.c (alloca): Fall back to malloc.
23326                 (freea): New macro.
23327                 (setenv): Use freea() to free memory allocated with alloca().
23328
23329         2002-11-13  Bruno Haible  <bruno@clisp.org>
23330
23331                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
23332                 function declarations.
23333                 * unsetenv.c (unsetenv): Likewise.
23334
23335         2002-03-04  Bruno Haible  <bruno@clisp.org>
23336
23337                 Portability to AIX 4.3.3.
23338                 * unsetenv.c: New file, extracted from setenv.c.
23339                 * setenv.c: Move the unsetenv() function to unsetenv.c.
23340
23341         2001-12-20  Bruno Haible  <bruno@clisp.org>
23342
23343                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
23344                 use malloc instead. For SunOS 4.
23345
23346         2001-12-11  Bruno Haible  <bruno@clisp.org>
23347
23348                 * setenv.c: Declare alloca.
23349                 (compar_fn_t): New typedef.
23350                 (KNOWN_VALUE, STORE_VALUE): Use it.
23351
23352         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
23353         setenv.h.
23354
23355 2002-12-10  Paul Eggert  <eggert@twinsun.com>
23356
23357         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
23358         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
23359         Choose values that are less likely to collide with system fnmatch
23360         options.
23361         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
23362         defined (e.g., a pure POSIX system).
23363         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
23364         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
23365
23366 2002-12-06  Paul Eggert  <eggert@twinsun.com>
23367
23368         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
23369         a pain in practice to deal with generated m4 files.  This change
23370         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
23371
23372         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
23373         and jm-glibc-io.m4, as they are no longer a special case.
23374         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
23375         kludge and the auto-generation stuff.  Check only whether the
23376         functions are declared, not whether they exist, since older hosts
23377         that don't declare the functions can't use the optimization anyway.
23378
23379 2002-12-06  Jim Meyering  <jim@meyering.net>
23380
23381         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
23382
23383         Merge in changes from libc's misc/error.c, in preparation
23384         for the merge of gnulib's changes back into libc.
23385
23386         * lib/error.c (_): Define only if not already defined.
23387         Move definition to follow all #include directives.
23388         Include unlocked-io.h only if !_LIBC.
23389         [_LIBC]: Include <libio/libioP.h>.
23390         [USE_IN_LIBIO]: Include <libio/iolibio.h>
23391         (fflush): Tweak definition to use INTUSE.
23392         (putc): Define.
23393
23394 2002-12-05  Paul Eggert  <eggert@twinsun.com>
23395
23396         * lib/alloca.c [defined emacs]: Include "lisp.h".
23397         (xalloc_die) [defined emacs]: New macro.
23398         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
23399         [! defined emacs]: Include <xalloc.h>.
23400         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
23401         (pointer): Typedef to POINTER_TYPE *.
23402         (malloc): Remove decl; we now always use xmalloc.
23403         (alloca): Use old-style definition, since Emacs needs this.
23404         Check for arithmetic overflow when computing combined size.
23405
23406 2002-12-04  Paul Eggert  <eggert@twinsun.com>
23407
23408         Do not generate unlocked-io.h automatically, since it's easier to
23409         maintain it by hand.
23410
23411         * lib/unlocked-io.h: New file, from GNU diffutils,
23412         but with proper copyright notice and attribution.
23413         * lib/gen-uio: Remove.
23414         * lib/Makefile.am: Add copyright notice.
23415         (libfetish_a_SOURCES): Add unlocked-io.h.
23416         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
23417         (DISTCLEANFILES, io_functions): Remove macros.
23418         (EXTRA_DIST): Remove gen_uio.
23419         (unlocked-io.h): Remove rule.
23420
23421 2002-12-04  Jim Meyering  <jim@meyering.net>
23422
23423         Reflect the fact that stat.c and lstat.c are no longer generated.
23424         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
23425         (DISTCLEANFILES): Likewise.
23426         (EXTRA_DIST): Likewise.
23427         (all_local): Don't depend on stat.c or lstat.c.
23428         (stat.c, lstat.c): Remove rules.
23429         (EXTRA_DIST): Remove xstat.in.
23430
23431         * lib/xstat.in: Remove file.  Contents moved into stat.c.
23432         * lib/stat.c: New file.  Contents mostly from xstat.in.
23433         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
23434         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
23435
23436         * lib/safe-read.c: Rework so that it may serve to define safe_write,
23437         too.
23438         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
23439
23440 2002-12-03  Jim Meyering  <jim@meyering.net>
23441
23442         * lib/safe-read.c, safe-write.c: Change variable names and comments,
23443         but not semantics, to minimize the differences between these two files.
23444         (safe_read): Change comment to mention SAFE_READ_ERROR.
23445
23446         * lib/safe-read.c (IS_EINTR): Define.
23447         (safe_read): Use IS_EINTR in place of in-function cpp directives.
23448
23449 2002-12-02  Jim Meyering  <jim@meyering.net>
23450
23451         * lib/safe-read.c (EINTR): Define.
23452         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
23453         (INT_MAX): Provide fallback.
23454         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
23455
23456         * lib/safe-read.h (SAFE_READ_ERROR): Define.
23457
23458 2002-12-02  Bruno Haible  <bruno@clisp.org>
23459
23460         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
23461         Define, taken from safe-read.c.
23462         (INT_MAX): Provide fallback.
23463         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
23464         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
23465
23466         * lib/safe-read.c (EINTR): Remove definition.
23467         (safe_read): Don't use EINTR if it is absent.
23468
23469 2002-12-01  Jim Meyering  <jim@meyering.net>
23470
23471         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
23472         zero.
23473         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
23474
23475 2002-11-27  Paul Eggert  <eggert@twinsun.com>
23476
23477         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
23478         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
23479         with `if (! (value < limit)) abort ();', for readability.
23480
23481 2002-11-26  Karl Berry  <karl@gnu.org>
23482
23483         * lib/strdup.c: copy from libc again, with jim's ok.
23484         * lib/.cppi-disable: re-add strdup.c
23485
23486 2002-11-25  Karl Berry  <karl@gnu.org>
23487
23488         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
23489         instead of "strtol.c".
23490
23491 2002-11-25  Karl Berry  <karl@gnu.org>
23492
23493         * config/install-sh: update from automake for variable quoting, $0 in
23494         error msgs, etc.
23495
23496         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
23497         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
23498         entry.
23499
23500 2002-11-25  Jim Meyering  <jim@meyering.net>
23501
23502         * lib/mktime.c: Sync from libc, now that it has the latest fix.
23503
23504 2002-11-24  Karl Berry  <karl@gnu.org>
23505
23506         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
23507         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
23508
23509 2002-11-24  Jim Meyering  <jim@meyering.net>
23510
23511         Update from coreutils:
23512
23513         * lib/mktime.c: Merge in changes from libc.
23514
23515         Avoid a link-time failure on some Linux systems.
23516         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
23517         (otherwise).
23518         (__mon_yday): Declare with the STATIC attribute.
23519         (__mktime_internal): Likewise.
23520         Based on a report from Greg Schafer.
23521
23522 2002-11-23  Jim Meyering  <jim@meyering.net>
23523
23524         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
23525         Use `unsigned', not `int', as type of index.
23526
23527         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
23528
23529         * lib/fsusage.c: Remove unneeded parentheses around operands of
23530         `defined'.
23531
23532 2002-11-22  Paul Eggert  <eggert@twinsun.com>
23533
23534         * lib/quotearg.h: Allow multiple inclusion by surrounding with
23535         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
23536         so that we can be included first.
23537         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
23538         * lib/quotearg.c: Include quotearg.h immediately after config.h.
23539         No need to include stddef.h or sys/types.h any more.
23540         Surround local include files with "", not "<>".
23541         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
23542         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
23543         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
23544         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
23545         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
23546         (ISPRINT): Remove; no longer needed now that we assume C89.
23547
23548         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
23549         Preserve errno.
23550
23551         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
23552         quotearg_char): Use SIZE_MAX rather than
23553         (size_t) -1 when we are talking about "infinity".
23554
23555         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
23556
23557 2002-11-22  Paul Eggert  <eggert@twinsun.com>
23558
23559         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
23560         hint that one should use `if (! x) abort ();' rather than `assert
23561         (x);', and anyway it's one less thing to worry about configuring.
23562         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
23563         hash_rehash, hash_insert): Use abort rather than assert.
23564
23565 2002-11-22  Bruno Haible  <bruno@clisp.org>
23566
23567         * lib/safe-read.h: Assume C89. Add comments.
23568         (safe_read): Change return type to size_t.
23569         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
23570         byte counts > SSIZE_MAX correctly.
23571         * lib/safe-write.h: New file.
23572         * lib/safe-write.c: New file.
23573         * lib/full-read.h: New file.
23574         * lib/full-read.c: New file.
23575         * lib/full-write.h: Assume C89. Add comments.
23576         * lib/full-write.c: Include safe-write.h.
23577         (full_write): Rewritten to use safe_write.
23578         Suggested by Jim Meyering and Paul Eggert.
23579
23580 2002-11-21  Jim Meyering  <jim@meyering.net>
23581
23582         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
23583
23584         Merge in changes from the coreutils.
23585
23586         2002-09-25  Paul Eggert  <eggert@twinsun.com>
23587         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
23588         <stdint.h>.
23589         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
23590         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
23591         int.  Work more efficiently if X is the same width as uintmax_t.
23592         Do not compare X to -1, to avoid bogus compiler warning.
23593         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
23594         Don't assume that f_frsize and f_bsize are the same type.
23595
23596         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
23597         warning on FreeBSD.
23598
23599         * lib/makepath.c (make_path): Restore umask *before* creating the final
23600         component.
23601         (make_path): Minor reformatting.
23602
23603         * lib/xmalloc.c: Adjust to work with new autoconf macros,
23604         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
23605         HAVE_MALLOC/HAVE_REALLOC.
23606
23607         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
23608         dummy ones.  At least on GNU/Linux systems, `auto' means something
23609         else.
23610         From Michael Stone.
23611
23612 2002-11-21  Bruno Haible  <bruno@clisp.org>
23613
23614         Remove case insensitive option matching.
23615         * lib/argmatch.h (argcasematch): Remove declaration.
23616         (ARGCASEMATCH): Remove macro.
23617         (__xargmatch_internal): Remove case_sensitive argument.
23618         (XARGMATCH): Update.
23619         (XARGCASEMATCH): Remove macro.
23620         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
23621         case_sensitive argument.
23622         (argcasematch): Remove function.
23623         (__xargmatch_internal): Remove case_sensitive argument.
23624         (main): Use XARGMATCH instead of XARGCASEMATCH.
23625
23626         * lib/xmalloc.c: Change compile-time error message. Add comment about
23627         required autoconf version.
23628
23629 2002-11-20  Paul Eggert  <eggert@twinsun.com>
23630
23631         Merge argmatch cleanups from Bison.  Assume C89.
23632
23633         * lib/argmatch.c: Include config.h here, not in argmatch.h.
23634         Include stdlib.h, for EXIT_FAILURE.
23635         Always include <string.h>, since we assume C89.
23636         (EXIT_FAILURE): Remove pre-C89 bug workaround.
23637         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
23638         Include <stddef.h> instead, since it's all we need for size_t.
23639         (PARAMS): Remove.  All uses removed.
23640         (ARRAY_CARDINALITY): Do not bother to #undef.
23641         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
23642         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23643         Remove unnecessary parentheses.
23644         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23645         Insert necessary parentheses.
23646         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
23647         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
23648
23649 2002-11-19  Bruno Haible  <bruno@clisp.org>
23650
23651         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
23652         * lib/mbswidth.h: Include <stddef.h>, for size_t.
23653
23654         * lib/mbswidth.h (PARAMS): Remove macro.
23655         (mbswidth, mbsnwidth): Use ANSI C function declarations.
23656         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
23657
23658         * lib/gcd.h (PARAMS): Remove macro.
23659         (gcd): Use ANSI C function declarations.
23660         * lib/gcd.c (gcd): Likewise.
23661
23662 2002-11-15  Bruno Haible  <bruno@clisp.org>
23663
23664         * lib/strcspn.c: Include <stddef.h>.
23665         (strcspn): Use ANSI C function declaration. Change return type to
23666         size_t. Use NULL.
23667         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
23668         (strpbrk): Use NULL.
23669         * lib/strpbrk.h (PARAMS): Remove macro.
23670         (strpbrk): Use ANSI C function declaration.
23671         * lib/strstr.c: Don't include <sys/types.h>.
23672         * lib/strstr.h (PARAMS): Remove macro.
23673         (strstr): Use ANSI C function declarations.
23674
23675 2002-11-14  Karl Berry  <karl@gnu.org>
23676
23677         * config/mkinstalldirs: `do' on separate line, instead of
23678         `for var; do'.
23679
23680 2002-11-06  Bruno Haible  <bruno@clisp.org>
23681
23682         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
23683         * lib/gcd.c (gcd): Likewise.
23684
23685 2002-11-05  Bruno Haible  <bruno@clisp.org>
23686
23687         * lib/gcd.h: New file, from gettext-0.11.5.
23688         * lib/gcd.c: New file, from gettext-0.11.5.
23689
23690 2002-11-05  Bruno Haible  <bruno@clisp.org>
23691
23692         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23693         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23694         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23695         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23696
23697         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
23698         <libintl.h>.
23699         * lib/makepath.c: Include gettext.h instead of <locale.h> and
23700         <libintl.h>.
23701
23702         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
23703         * lib/human.c: Include gettext.h instead of <libintl.h>.
23704         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
23705         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
23706         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
23707         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
23708         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
23709         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
23710         (textdomain): Remove definition.
23711         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
23712
23713         * lib/long-options.c: Remove include of <libintl.h> and definition of
23714         _.
23715         * lib/same.c: Remove include of <libintl.h> and definition of _.
23716
23717 2002-11-04  Owen Taylor  <otaylor@redhat.com>
23718
23719         * lib/config.charset: A few additions for Solaris.
23720
23721 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23722
23723         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
23724         * lib/localcharset.c (locale_charset): Declare as extern "C".
23725
23726 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23727
23728         * lib/config.charset: msdos in uk_UA uses CP1125.
23729
23730 2002-11-04  Bruno Haible  <bruno@clisp.org>
23731
23732         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
23733         * lib/strcase.h: New file, from GNU gettext-0.11.5.
23734         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
23735         * lib/strstr.h: New file, from GNU gettext-0.11.5.
23736         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
23737
23738 2002-11-04  Bruno Haible  <bruno@clisp.org>
23739
23740         * lib/localcharset.c (locale_charset): Don't return an empty string.
23741
23742 2002-11-04  Bruno Haible  <bruno@clisp.org>
23743
23744         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
23745         aliases.
23746
23747 2002-11-04  Bruno Haible  <bruno@clisp.org>
23748
23749         * lib/config.charset: Update for newest glibc. Add canonical names
23750         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
23751
23752 2002-11-04  Bruno Haible  <bruno@clisp.org>
23753
23754         * lib/config.charset: Add support for NetBSD.
23755
23756 2002-11-04  Bruno Haible  <bruno@clisp.org>
23757
23758         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
23759
23760 2002-11-01  Bruno Haible  <bruno@clisp.org>
23761
23762         * configure.in: Add AC_CONFIG_AUX_DIR call.
23763         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
23764         test/Makefile.
23765         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
23766
23767 2002-09-28  Karl Berry  <karl@gnu.org>
23768
23769         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
23770         installed automake until the next release, since changes have been
23771         made.
23772
23773 2002-09-25  Karl Berry  <karl@gnu.org>
23774
23775         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
23776         * lib/getopt*: copy from libc/posix.
23777         * lib/gettext.h: copy from gettext.
23778         * lib/.cppi-disable: add strdup.c, gettext.h.
23779
23780 2002-09-25  Karl Berry  <karl@gnu.org>
23781
23782         * config/srclist.txt: enable gettext.h check.
23783         * config/config.{guess,sub}: update from prep.
23784         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
23785                 from automake 1.6.3.
23786         See srclist*.
23787
23788 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
23789
23790         * regex.c (PATFETCH): Remove the translating fetch.
23791         (PATFETCH_RAW): Rename to PATFETCH.
23792         (set_image_of_range): New fun.
23793         (SET_RANGE_TABLE_WORK_AREA): Use it.
23794         (regex_compile): Don't translate the pattern chars so eagerly.
23795         Only do it when inserting an `exactn' bytecode or when handling
23796         a char-range.
23797         (mutually_exclusive_p): Avoid empty statement.
23798
23799 2002-07-06  Jim Meyering  <meyering@lucent.com>
23800
23801         * m4/README: Don't mention Makefile.am.in.
23802         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
23803
23804 2002-07-01  Jim Meyering  <meyering@lucent.com>
23805
23806         * lib/c-stack.c: Include sys/time.h.
23807         From Volker Borchert.
23808
23809 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23810
23811         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
23812
23813 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23814
23815         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
23816         New macro.  Use it uniformly instead of
23817         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
23818         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
23819         reported by Vin Shelton.
23820
23821 2002-06-22  Paul Eggert  <eggert@twinsun.com>
23822
23823         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
23824         Do not assume SA_SIGINFO behavior.
23825         Bug reported by Jim Meyering on NetBSD 1.5.2.
23826
23827 2002-06-22  Jim Meyering  <meyering@lucent.com>
23828
23829         * m4/c-stack.m4: New file, from diffutils-2.8.2.
23830         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
23831
23832         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
23833         now that configure.ac uses AC_GNU_SOURCE.
23834         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
23835         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
23836
23837         Update to latest tools.  Suggestions from Paul Eggert.
23838         * m4/stdbool.m4: New file, from diffutils-2.8.2.
23839         * m4/gnu-source.m4: Update from diffutils-2.8.2.
23840         * m4/fnmatch.m4: Likewise.
23841         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
23842         to AC_HEADER_STDBOOL
23843
23844 2002-06-22  Jim Meyering  <meyering@lucent.com>
23845
23846         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
23847         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
23848
23849 2002-06-22  Jim Meyering  <meyering@lucent.com>
23850
23851         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
23852
23853         * lib/exitfail.c, exitfail.h: Likewise.
23854         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
23855
23856         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
23857         of fnmatch.h.
23858         (EXTRA_DIST): Add fnmatch_loop.c.
23859         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
23860
23861         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
23862         * lib/fnmatch.c: Update from diffutils-2.8.2.
23863         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
23864         * lib/fnmatch.h: Remove file.
23865
23866 2002-06-21  Jim Meyering  <meyering@lucent.com>
23867
23868         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
23869         * m4/mbrtowc.m4: Likewise.
23870
23871         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
23872         * m4/mbswidth.m4: Reflect name change:
23873         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
23874         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
23875
23876         * m4/lib-link.m4: Update from gettext-0.11.2.
23877         * m4/gettext.m4: Likewise.
23878
23879         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
23880         From Alfred M. Szmidt.
23881
23882 2002-06-18  Paul Eggert  <eggert@twinsun.com>
23883
23884         * lib/file-type.h: Report an error if neither S_ISREG nor
23885         S_IFREG is defined, instead of using a test specific to glibc
23886         2.2.  This should be safe, since POSIX requires S_ISREG and
23887         Unix Version 7 had S_IFREG.  We don't need to check for
23888         <sys/types.h> since we don't use any symbols that it defines.
23889
23890 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
23891
23892         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
23893         $@-t, so that each temporary file name is unique and valid in the first
23894         8 characters, for operation under DOS.
23895
23896 2002-06-15  Paul Eggert  <eggert@twinsun.com>
23897
23898         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
23899
23900 2002-06-15  Jim Meyering  <meyering@lucent.com>
23901
23902         Work even with DJGPP 2.03, which lacks support for symlinks.
23903         From Richard Dawe.
23904         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
23905         is defined.
23906         * lib/lchown.c (S_ISLNK): Likewise.
23907
23908 2002-06-15  Jim Meyering  <meyering@lucent.com>
23909
23910         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
23911         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
23912         have been included before this file.
23913
23914 2002-06-14  Jim Meyering  <meyering@lucent.com>
23915
23916         * lib/file-type.h: Use the version from diffutils-2.8.2.
23917         * lib/file-type.c: Likewise.
23918
23919 2002-06-07  Jim Meyering  <meyering@lucent.com>
23920
23921         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
23922         They're needed at least for NetBSD 1.5.2.
23923         ($statxfs_includes): Include those same headers.
23924         ($statxfs_includes): Include sys/vfs.h if available.
23925         ($statxfs_includes): Likewise for sys/statvfs.h.
23926         Check for the following members in both structs statfs and statvfs:
23927         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
23928
23929 2002-06-01  Jim Meyering  <meyering@lucent.com>
23930
23931         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
23932         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
23933
23934 2002-05-28  Jim Meyering  <meyering@lucent.com>
23935
23936         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
23937         Reported by Volker Borchert.
23938
23939 2002-05-27  Jim Meyering  <meyering@lucent.com>
23940
23941         Fix a problem seen only on nonconforming systems whereby ls.c's
23942         use of localtime, and then of gettimeofday would cause trouble:
23943         the localtime call used to initialize rpl_gettimeofday's save
23944         mechanism would clobber ls's current local time information so
23945         that in any long listing the first file would always be listed
23946         with date 1970-01-01.  Analysis by Volker Borchert.
23947
23948         * lib/gettimeofday.c (localtime): Undefine.
23949         (rpl_localtime): New function.
23950
23951 2002-05-27  Jim Meyering  <meyering@lucent.com>
23952
23953         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
23954         localtime.
23955
23956         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
23957         use the replacement function; it wouldn't resolve at link time.
23958         Reported by Volker Borchert.
23959
23960 2002-05-22  Jim Meyering  <meyering@lucent.com>
23961
23962         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
23963         file-type.h.
23964         * lib/file-type.h: New file.
23965         * lib/file-type.c (file_type): New file/function.  Extracted from
23966         diffutils.
23967
23968 2002-04-30  Jim Meyering  <meyering@lucent.com>
23969
23970         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
23971
23972 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23973
23974         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
23975
23976 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23977
23978         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
23979         Do not check for alloca.h (no longer used) or stdbool.h (was never
23980         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
23981
23982 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23983
23984         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
23985
23986 2002-04-29  Jim Meyering  <meyering@lucent.com>
23987
23988         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
23989         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
23990         Use AC_FUNC_STRNLEN here instead.
23991
23992         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
23993         With autoconf-2.53a, it's part of AC_PROG_CC.
23994
23995 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23996
23997         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
23998         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
23999
24000 2002-04-28  Paul Eggert  <eggert@twinsun.com>
24001
24002         * lib/sig2str.h, lib/sig2str.c: New files.
24003         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
24004
24005 2002-04-28  Paul Eggert  <eggert@twinsun.com>
24006
24007         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
24008         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
24009         of 127, since 64 is the largest conceivable number for ancient
24010         nonstandard hosts.
24011         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
24012
24013 2002-04-28  Jim Meyering  <meyering@lucent.com>
24014
24015         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
24016
24017 2002-04-24  Jim Meyering  <meyering@lucent.com>
24018
24019         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
24020         (jm_PREREQ): Use it.
24021
24022         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
24023         mach/mach.h fcntl.h.
24024         Check for this function: setlocale.
24025
24026 2002-04-24  Jim Meyering  <meyering@lucent.com>
24027
24028         * lib/gettext.h: New file, from Gettext.
24029         * lib/Makefile.am (INCLUDES): Remove -I../intl.
24030         (libfetish_a_SOURCES): Add gettext.h.
24031
24032 2002-04-16  Jim Meyering  <meyering@lucent.com>
24033
24034         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
24035         ut_pid, ut_id, ut_exit.
24036
24037 2002-04-16  Jim Meyering  <meyering@lucent.com>
24038
24039         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
24040         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
24041         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
24042
24043 2002-04-12  Jim Meyering  <meyering@lucent.com>
24044
24045         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
24046         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
24047         existence of the getmntinfo function.  Needed for Darwin 5.3.
24048
24049         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
24050         This is necessary at least on Darwin 5.3.
24051
24052         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
24053         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
24054         strnlen.o in the library, and that makes some versions of ranlib
24055         object.
24056
24057 2002-04-12  Jim Meyering  <meyering@lucent.com>
24058
24059         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
24060
24061 2002-04-09  Jim Meyering  <meyering@lucent.com>
24062
24063         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
24064         to be more precise.  Rather than saying we're checking whether the
24065         function `works', say what we're testing.
24066         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
24067         Reported by Bruno Haible.
24068
24069 2002-03-10  Jim Meyering  <meyering@lucent.com>
24070
24071         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
24072         Suggestion from Santiago Vila.
24073
24074 2002-03-08  Jim Meyering  <meyering@lucent.com>
24075
24076         * lib/rename.c: Mention that this wrapper is needed also on
24077         mips-dec-ultrix4.4 systems.
24078
24079 2002-03-02  Jim Meyering  <meyering@lucent.com>
24080
24081         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
24082         not HAVE_CLOCK_SETTIME.
24083
24084 2002-02-27  Paul Eggert  <eggert@twinsun.com>
24085
24086         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
24087         Check for clock_settime.
24088
24089 2002-02-27  Paul Eggert  <eggert@twinsun.com>
24090
24091         * lib/nanosleep.h: Rename to....
24092         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
24093
24094         * lib/gettime.c: New file.
24095         * lib/settime.c: New file.
24096         * lib/stime.c: Remove.
24097
24098         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
24099         timespec.h.  Remove nanosleep.h.
24100
24101 2002-02-25  Paul Eggert  <eggert@twinsun.com>
24102
24103         * m4/acl.m4: New file.
24104         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
24105         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
24106
24107 2002-02-25  Paul Eggert  <eggert@twinsun.com>
24108
24109         * lib/acl.c, lib/acl.h: New files.
24110         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
24111
24112 2002-02-24  Jim Meyering  <meyering@lucent.com>
24113
24114         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
24115         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
24116         cause trouble.  Reported by Nelson Beebe.
24117
24118 2002-02-23  Paul Eggert  <eggert@twinsun.com>
24119
24120         * lib/path-concat.c (xpath_concat): Reorder code to pacify
24121         compilers that don't know that xalloc_die never returns.
24122
24123 2002-02-20  Jim Meyering  <meyering@lucent.com>
24124
24125         * lib/getdate.c: Regenerate using bison-1.33.
24126
24127 2002-02-17  Jim Meyering  <meyering@lucent.com>
24128
24129         * config/config.guess (main): Don't use `head -1'; it's no longer
24130         portable. Use `sed 1q' instead.
24131
24132 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
24133
24134         * m4/codeset.m4: Upgrade to gettext-0.11.
24135         * m4/gettext.m4: Upgrade to gettext-0.11.
24136         * m4/glibc21.m4: Upgrade to gettext-0.11.
24137         * m4/iconv.m4: Upgrade to gettext-0.11.
24138         * m4/isc-posix.m4: Upgrade to gettext-0.11.
24139         * m4/lcmessage.m4: Upgrade to gettext-0.11.
24140         * m4/lib-ld.m4: New file, from gettext-0.11.
24141         * m4/lib-link.m4: New file, from gettext-0.11.
24142         * m4/lib-prefix.m4: New file, from gettext-0.11.
24143         * m4/progtest.m4: Upgrade to gettext-0.11.
24144
24145 2002-02-15  Paul Eggert  <eggert@twinsun.com>
24146
24147         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
24148         (jm_PREREQ): Use it.
24149
24150 2002-02-15  Paul Eggert  <eggert@twinsun.com>
24151
24152         * lib/posixver.c, lib/posixver.h: New files.
24153         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
24154
24155 2002-02-02  Paul Eggert  <eggert@twinsun.com>
24156             Bruno Haible  <bruno@clisp.org>
24157
24158         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
24159         (fwrite_success_callback): New declaration.
24160         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
24161         print_unicode_char. Call failure callback instead of error.
24162         (fwrite_success_callback): New function.
24163         (exit_failure_callback): New function.
24164         (fallback_failure_callback): New function.
24165         (print_unicode_char): Call unicode_to_mb.
24166
24167 2002-01-26  Jim Meyering  <meyering@lucent.com>
24168
24169         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
24170         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
24171
24172 2002-01-26  Jim Meyering  <meyering@lucent.com>
24173
24174         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
24175
24176 2002-01-22  Paul Eggert  <eggert@twinsun.com>
24177
24178         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
24179
24180 2002-01-22  Jim Meyering  <meyering@lucent.com>
24181
24182         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
24183         Otherwise, some versions of automake would omit the rule that makes
24184         Makefile from Makefile.in.
24185
24186 2002-01-21  Paul Eggert  <eggert@twinsun.com>
24187
24188         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
24189         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
24190         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
24191         (memcoll): Set errno to zero if there is no error.
24192
24193         * lib/quotearg.c (quotearg_buffer_restyled):
24194         Fix bug with quoting buffers containing NUL when backslashing escapes.
24195         This bug was exposed by the other changes in this patch.
24196         (quotearg_n_options): New arg ARGSIZE.
24197         All callers changed.
24198         (quoting_options_from_style): New function.
24199         (quotearg_n_style): Use it.
24200         (quotearg_n_style_mem): New function.
24201
24202         * lib/quotearg.h (quotearg_n_style_mem): New function.
24203
24204 2002-01-19  Jim Meyering  <meyering@lucent.com>
24205
24206         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
24207         Remove useless quotes: DF_PROG="df".
24208         * m4/strnlen.m4: New file.
24209
24210 2002-01-16  Paul Eggert  <eggert@twinsun.com>
24211
24212         * lib/backupfile.c (ISDIGIT): Comment fix.
24213         * lib/getdate.y (ISDIGIT): Likewise.
24214         * lib/posixtm.c (ISDIGIT, year): Likewise.
24215         * lib/strverscmp.c (ISDIGIT): Likewise.
24216         * lib/userspec.c (ISDIGIT): Likewise.
24217
24218 2002-01-16  Jim Meyering  <meyering@lucent.com>
24219
24220         * lib/getdate.y: Add three semicolons, each just before a closing
24221         brace. Bison (as of version 1.31) no longer papers over that mistake.
24222
24223 2002-01-05  Jim Meyering  <meyering@lucent.com>
24224
24225         * lib/version-etc.c (version_etc_copyright): Update copyright year.
24226
24227 2001-12-19  Paul Eggert  <eggert@twinsun.com>
24228
24229         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
24230         not silently exit merely because the output buffer happens to
24231         have nothing pending.
24232
24233 2001-12-18  Paul Eggert  <eggert@twinsun.com>
24234
24235         See the big note in ../ChangeLog.
24236         * lib/human.c (suffixes): Prefer K to k for 1024.
24237         (generate_suffix_backwards): New function.
24238         (human_readable_inexact): Use it.
24239         * lib/xstrtol.c (__xstrtol): If there is no number but there
24240         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
24241         Accept 'K' as well as 'k'.
24242
24243 2001-12-15  Jim Meyering  <meyering@lucent.com>
24244
24245         * lib/regex.h (__restrict_arr): Update from libc.
24246
24247         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
24248         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
24249         (STREQ): Define.
24250
24251 2001-12-14  Jim Meyering  <meyering@lucent.com>
24252
24253         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
24254         Suggestion from Bruno Haible.
24255
24256 2001-12-10  Jim Meyering  <meyering@lucent.com>
24257
24258         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
24259         xrealloc, Instead, include "xalloc.h".
24260         (initbuffer): Don't cast xmalloc return value to char*.
24261         (readline): Reword comment.
24262         Don't cast xrealloc return value to char*
24263         Return NULL, not 0.
24264
24265 2001-12-09  Jim Meyering  <meyering@lucent.com>
24266
24267         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
24268         about `signed and unsigned type in conditional expression'.
24269         * lib/posixtm.c (posix_time_parse): Likewise.
24270
24271         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
24272
24273         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
24274         to avoid a pedantic warning.
24275
24276         * lib/getstr.c: Don't include assert.h.
24277         (getstr): Remove warning-evoking assertions.
24278         Return -1 if offset parameter is out of bounds.
24279         Change the type of a local from int to size_t.
24280
24281         * lib/strftime.c (my_strftime_localtime_r): Include this function
24282         definition in the `#if ! HAVE_TM_GMTOFF' block.
24283
24284         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
24285         Include xalloc.h instead.
24286
24287 2001-12-02  Jim Meyering  <meyering@lucent.com>
24288
24289         * lib/tempname.c: Don't declare getenv, thus reverting the change of
24290         2001-11-18.  It's no longer necessary, now that stdlib.h is always
24291         included.
24292
24293         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
24294         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
24295
24296 2001-11-30  Akim Demaille  <akim@epita.fr>
24297
24298         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
24299         before being defined.
24300
24301 2001-11-27  Paul Eggert  <eggert@twinsun.com>
24302
24303         * lib/quotearg.h (quotearg_n, quotearg_n_style):
24304         First arg is int, not unsigned.
24305         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
24306         (SIZE_MAX, UINT_MAX): New macros.
24307         (quotearg_n_options): Abort if N is negative.
24308         Avoid overflow check on hosts where size_t is 64 bits and int
24309         is 32 bits, as overflow is impossible there.
24310         Fix off-by-one typo that caused unnecessary reallocation.
24311
24312 2001-11-27  Jim Meyering  <meyering@lucent.com>
24313
24314         * lib/tempname.c: Merge with version from libc.
24315         * lib/regex.c: Likewise.
24316
24317         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
24318         systems for which STDC_HEADERS is 0, it was not included, resulting in
24319         a warning about an integer-to-pointer conversion problem with getenv.
24320         Reported by Volker Borchert.
24321
24322 2001-11-26  Jim Meyering  <meyering@lucent.com>
24323
24324         * lib/gtod.h: Remove file.
24325         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
24326         * lib/gettimeofday.c: Don't include gtod.h.
24327         (GTOD_init): Remove function.
24328         (rpl_gettimeofday): Do its job here instead, rather than aborting.
24329         Suggestion from Volker Borchert.
24330
24331 2001-11-23  Jim Meyering  <meyering@lucent.com>
24332
24333         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
24334         it.
24335         * lib/hash.c (struct hash_table): Define it here instead.
24336
24337 2001-11-22  Jim Meyering  <meyering@lucent.com>
24338
24339         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
24340
24341 2001-11-20  Jim Meyering  <meyering@lucent.com>
24342
24343         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
24344         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
24345
24346 2001-11-19  Jim Meyering  <meyering@lucent.com>
24347
24348         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
24349         directory.  Use "conftestXXXXXX" as the template.
24350         Suggestion from Paul Eggert.
24351
24352         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
24353         immediately, so the test doesn't mistakenly hit the max-open-files
24354         limit.
24355
24356 2001-11-18  Paul Eggert  <eggert@twinsun.com>
24357
24358         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
24359         (TEMPORARIES): New macro.
24360         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
24361         removes an artificial limitation (e.g. HP-UX 10.20, where
24362         TMP_MAX is 17576).
24363
24364 2001-11-18  Jim Meyering  <meyering@lucent.com>
24365
24366         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
24367
24368 2001-11-18  Jim Meyering  <meyering@lucent.com>
24369
24370         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
24371         on SunOS 4.
24372
24373         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
24374         files will be created before anything else.
24375
24376 2001-11-17  Paul Eggert  <eggert@twinsun.com>
24377
24378         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
24379         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
24380
24381 2001-11-17  Jim Meyering  <meyering@lucent.com>
24382
24383         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
24384         Prompted by a report from Bob Proulx.
24385
24386         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
24387         Instead, require UTILS_FUNC_MKSTEMP.
24388
24389 2001-11-17  Jim Meyering  <meyering@lucent.com>
24390
24391         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
24392         Now, that's done as part of AC_FUNC_STRTOD.
24393
24394 2001-11-17  Jim Meyering  <meyering@lucent.com>
24395
24396         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
24397         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
24398         rather than group writable.  Patch by Juan F. Codagnone.
24399
24400         * lib/readtokens.c: Remove explicit declarations of xmalloc and
24401         xrealloc, Instead, include "xalloc.h".
24402
24403         * lib/mountlist.c: Include unlocked-io.h after all system headers.
24404         Remove explicit declarations of xmalloc, xrealloc,
24405         and xstrdup.  Instead, include "xalloc.h".
24406
24407         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
24408         unlocked-io.h.
24409         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
24410         Likewise.
24411         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
24412
24413         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
24414         Reported by Padraig Brady.
24415
24416         * lib/mkstemp.c: #undef mkstemp.
24417         Include config.h.
24418         (rpl_mkstemp): Rename from mkstemp.
24419         Protoize.
24420
24421 2001-11-16  Jim Meyering  <meyering@lucent.com>
24422
24423         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
24424         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
24425         determine the amount of total physical memory, use pstat_getstatic.
24426         HPUX-11 doesn't define _SC_PHYS_PAGES.
24427         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
24428         If sysconf couldn't be used to determine the amount of available
24429         physical memory, use both pstat_getstatic and pstat_getdynamic.
24430         Based on a patch from Bob Proulx.
24431
24432 2001-11-10  Jim Meyering  <meyering@lucent.com>
24433
24434         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
24435         (jm_PREREQ): Use it.
24436
24437 2001-11-09  Jim Meyering  <meyering@lucent.com>
24438
24439         * m4/jm-macros.m4: Require autoconf-2.52f.
24440         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
24441         Use these AC_-prefixed names, not the AM_-prefixed ones.
24442
24443         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
24444
24445 2001-11-05  Jim Meyering  <meyering@lucent.com>
24446
24447         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
24448
24449 2001-11-04  Jim Meyering  <meyering@lucent.com>
24450
24451         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
24452         $DEFS.
24453
24454 2001-11-03  Jim Meyering  <meyering@lucent.com>
24455
24456         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
24457         of AC_DEFUN.
24458
24459         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
24460         know the name of the variable in the macro definition.
24461
24462 2001-11-03  Jim Meyering  <meyering@lucent.com>
24463
24464         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
24465         in argmatch_to_argument call.
24466
24467         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
24468         argument.
24469
24470         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
24471         e.g., a fault due to an attempt to free a NULL pointer.
24472
24473 2001-11-01  Jim Meyering  <meyering@lucent.com>
24474
24475         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
24476         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
24477
24478 2001-11-01  Jim Meyering  <meyering@lucent.com>
24479
24480         * lib/dirfd.c, lib/dirfd.h: New files.
24481         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
24482
24483         * lib/hash.c (hash_print) [TESTING]: Clean up.
24484
24485 2001-10-22  Paul Eggert  <eggert@twinsun.com>
24486
24487         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
24488         to avoid a warning if -Wall.
24489
24490 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
24491
24492         * README: New file
24493         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
24494         (per RMS's instructions, this is now the canonical source)
24495         * lgpl/, gpl/: New directories.
24496
24497 2001-10-21  Paul Eggert  <eggert@twinsun.com>
24498
24499         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
24500
24501 2001-10-21  Jim Meyering  <meyering@lucent.com>
24502
24503         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
24504         this code would end up calling gettext even in packages built
24505         with --disable-nls.
24506         * lib/getopt.c (_): Likewise.
24507         * lib/regex.c (_): Likewise.
24508
24509 2001-10-20  Paul Eggert  <eggert@twinsun.com>
24510
24511         * m4/error.m4 (jm_PREREQ_ERROR):
24512         Do not invoke AC_CHECK_FUNCS with strerror_r, as
24513         AC_FUNC_STRERROR_R does that.
24514         Check for strerror declaration.
24515
24516         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
24517         are supposed to have them these days.
24518         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
24519         Merge changes from latest Autoconf CVS.
24520         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
24521         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
24522         POSIX decided to standardize on the int flavor of strerror_r.
24523
24524 2001-10-20  Paul Eggert  <eggert@twinsun.com>
24525
24526         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
24527         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
24528         Use strerror_r that is only a macro, even if it is not a function.
24529         (strerror): Check for HAVE_DECL_STRERROR before declaring.
24530         (private_strerror): Use prototypes, not old-style function definition.
24531         (print_errno_message): New function.
24532         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
24533         char*-flavored one.
24534         (error_tail, error, error_at_line): Use it.
24535
24536 2001-10-11  Jim Meyering  <meyering@lucent.com>
24537
24538         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
24539         and quote_n (1, ... to avoid clobbering a buffer.
24540
24541 2001-10-05  Jim Meyering  <meyering@lucent.com>
24542
24543         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
24544         hash-pjw.h.
24545         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
24546         * lib/hash-pjw.h: New file.
24547
24548 2001-09-30  Jim Meyering  <meyering@lucent.com>
24549
24550         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
24551         `struct fsstat' has the `f_fstypename' member.
24552         Use that to define FS_TYPE, which is now used to make
24553         the getfsstat link test tighter.
24554
24555 2001-09-30  Jim Meyering  <meyering@lucent.com>
24556
24557         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
24558         Include <sys/ucred.h>, for Apple Darwin.
24559         Include sys/mount.h and sys/fs_types.h only if available.
24560         (FS_TYPE): Define.
24561         (read_filesystem_list): Use FS_TYPE.
24562
24563 2001-09-29  Paul Eggert  <eggert@twinsun.com>
24564
24565         * lib/exclude.c (excluded_filename): 0 -> false, since it's
24566         a boolean context.
24567
24568 2001-09-29  Jim Meyering  <meyering@lucent.com>
24569
24570         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
24571         [one-argument getmntent function]): Include stdio.h before mntent.h.
24572         SunOS 4.1.x needs it for the declaration of `FILE'.
24573         Patch by Volker Borchert.
24574
24575         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
24576         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
24577         sys/fs_types.h, and make the link-test for getfsstat guard #include
24578         directives with appropriate #if HAVE_*_H tests so that we can
24579         detect getfsstat on Apple Darwin1.3.7 systems.
24580         Reported by Nelson Beebe.
24581         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
24582
24583 2001-09-28  Paul Eggert  <eggert@twinsun.com>
24584
24585         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
24586         #defines strtoimax.  Also treat the other strto* functions
24587         like strtoimax.
24588
24589         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24590         Check for strtoul and strtoumax,
24591         as those declarations are made even in the signed case.
24592         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
24593         Likewise, for strtol and strtoimax.
24594
24595 2001-09-28  Paul Eggert  <eggert@twinsun.com>
24596
24597         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
24598         #defines strtoimax.  Also treat the other strto* functions
24599         like strtoimax.
24600
24601         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
24602         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
24603         (strtoimax, strtoumax): Do not declare if already defined as a macro.
24604
24605 2001-09-26  Jim Meyering  <meyering@lucent.com>
24606
24607         Most macros in unlocked-io.h had the wrong number of arguments.
24608         * lib/gen-uio: New script.
24609         (USE_UNLOCKED_IO): Define to 1 if not already defined.
24610         * lib/unlocked-io.hin: Remove file.
24611         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
24612         rather than trying to embed it here.
24613         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
24614         Reported by Padraig Brady.
24615
24616 2001-09-25  Volker Borchert  <bt@teknon.de>
24617
24618         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
24619         `result'.
24620
24621 2001-09-24  Jim Meyering  <meyering@lucent.com>
24622
24623         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
24624
24625 2001-09-23  Jim Meyering  <meyering@lucent.com>
24626
24627         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
24628         instead of the mere test for existence of mntent.h.  The latter
24629         would get a false-positive on AIX 3.4 systems.
24630         In the outer getmntent if-block, don't die if neither of the getmntent
24631         tests succeeds.  Instead, just fall through and continue with the
24632         remaining tests.
24633
24634 2001-09-23  Jim Meyering  <meyering@lucent.com>
24635
24636         * lib/mountlist.c: Remove useless parentheses in #if directives.
24637         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
24638         the deprecated MOUNTED symbol is no longer defined in mntent.h.
24639
24640 2001-09-22  Jim Meyering  <meyering@lucent.com>
24641
24642         * m4/gettext.m4: New file.  From gettext.
24643         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
24644         * m4/progtest.m4: Likewise
24645         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
24646         * m4/glibc21.m4: Likewise.
24647
24648         * m4/libintl.m4: Remove.  No longer used.
24649
24650 2001-09-22  Jim Meyering  <meyering@lucent.com>
24651
24652         * lib/localcharset.c: Update from latest gettext.
24653         * lib/config.charset: Likewise.
24654
24655 2001-09-20  Jim Meyering  <meyering@lucent.com>
24656
24657         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
24658         strtoimax.
24659         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
24660         strtoumax.
24661
24662 2001-09-20  Jim Meyering  <meyering@lucent.com>
24663
24664         * lib/xstrtol.c (strtoimax): Guard declaration with
24665         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
24666         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
24667         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
24668         (strtoumax): Likewise, for completeness (it wasn't necessary).
24669
24670 2001-09-17  Paul Eggert  <eggert@twinsun.com>
24671
24672         * lib/strtoimax.c (HAVE_LONG_LONG):
24673         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
24674         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
24675         to work around bug in IBM C compiler.
24676
24677 2001-09-17  Jim Meyering  <meyering@lucent.com>
24678
24679         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
24680         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
24681         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
24682         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
24683         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
24684         whenever the right hand side need not be expanded by the shell.
24685
24686 2001-09-16  Paul Eggert  <eggert@twinsun.com>
24687
24688         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
24689         library.  It's not correct, as some older glibcs are buggy.
24690         fnmatch wasn't fixed until glibc 2.2.
24691
24692         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
24693         special shell magic here.
24694
24695 2001-09-16  Jim Meyering  <meyering@lucent.com>
24696
24697         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
24698         * m4/jm-macros.m4: Require it.
24699
24700 2001-09-16  Jim Meyering  <meyering@lucent.com>
24701
24702         * lib/mkdir.c: New file.
24703
24704 2001-09-15  Jim Meyering  <meyering@lucent.com>
24705
24706         * m4/jm-macros.m4: Check for help2man.
24707
24708 2001-09-11  Jim Meyering  <meyering@lucent.com>
24709
24710         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
24711         The body, by Paul Eggert, was moved here from configure.in.
24712         * m4/jm-macros.m4: Require UTILS_HOST_OS.
24713
24714 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24715
24716         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
24717         (jm_PREREQ): Use it.
24718
24719 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24720
24721         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
24722         Use ssize_t, not int, to store result of readlink.
24723         Check for ssize_t overflow as well as size_t overflow,
24724         as POSIX says the result of readlink is implementation-defined
24725         when ssize_t overflows.
24726         Remove unnecessary cast to char*.
24727         Use free+malloc instead of realloc, as the storage doesn't need
24728         to be preserved and it's clearer and can be more efficient that way.
24729         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
24730         * lib/xreadlink.h (xreadlink): Update prototype.
24731
24732 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24733
24734         * lib/xgetcwd.c: Revert some of the previous change; intead,
24735         fix the HAVE_GETCWD_NULL code to behave more like the
24736         !HAVE_GETCWD_NULL code used to.
24737
24738         Include "xalloc.h".
24739         (xgetcwd): Do not return NULL when memory is exhausted; instead,
24740         invoke xalloc_die.
24741
24742 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24743
24744         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
24745         sys/param.h, as pathmax.h includes them.
24746
24747 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24748
24749         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
24750         (jm_PREREQ_XGETCWD): New macro.
24751
24752         * m4/getcwd.m4: New file.
24753
24754 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24755
24756         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
24757         like the HAVE_GETCWD_NULL code.
24758         Include pathmax.h if not HAVE_GETCWD.
24759         Do not include xalloc.h.
24760         (INITIAL_BUFFER_SIZE): New symbol.
24761         Do not use xmalloc / xrealloc, since the caller is responsible for
24762         handling errors.  Preserve errno around `free' during failure.
24763         Do not overrun buffer when using getwd.
24764
24765 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24766
24767         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
24768         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
24769         getcwd (NULL, 0).
24770
24771 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24772
24773         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
24774         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
24775         spotted by Jim Meyering.
24776
24777 2001-09-03  Jim Meyering  <meyering@lucent.com>
24778
24779         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
24780         failure.
24781
24782 2001-09-02  Jim Meyering  <meyering@lucent.com>
24783
24784         * lib/error.c: Update from GNU libc.
24785
24786 2001-09-01  Jim Meyering  <meyering@lucent.com>
24787
24788         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
24789         Used by df.
24790
24791 2001-09-01  Jim Meyering  <meyering@lucent.com>
24792
24793         * lib/xreadlink.c: New file.
24794         * lib/xreadlink.h: New file.
24795         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
24796         xreadlink.h.
24797
24798         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
24799         doesn't conflict with sparc Solaris 7's definition in
24800         /usr/include/sys/int_types.h.
24801
24802         * lib/exclude.c: Use `""', not `<>' to #include non-system header
24803         files.
24804         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
24805         and strncasecmp as r-values.  Unixware didn't have declarations.
24806
24807 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24808
24809         * lib/xstrtol.h: Add copyright notice.
24810         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
24811         LONGINT_INVALID_SUFFIX_CHAR.
24812
24813 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24814
24815         * lib/xstrtol.c (strtoimax): New decl.
24816
24817 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24818
24819         * lib/xgetcwd.c: Don't include pathmax.h.
24820         Include stdlib.h and unistd.h if available.
24821         Include xalloc.h.
24822         (xmalloc, xstrdup, free): Remove decls.
24823         (xgetcwd): Don't assume sizes fit in unsigned.
24824         Check for overflow when computing sizes.
24825         Simplify reallocation code.
24826
24827 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24828
24829         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
24830         a directory's st_size can have an arbitrary value, so the old
24831         usage could waste an arbitrary amount of memory.  All uses
24832         changed.
24833         * lib/savedir.h: Update prototype.
24834
24835 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24836
24837         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
24838
24839         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
24840         old strtoimax.c.
24841
24842         Also, make the following further changes to make this file's
24843         configuration more similar to that of strtol.c:
24844         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
24845         (strtoumax, uintmax_t, strtoull, strtol): Remove.
24846         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
24847         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
24848         changed to signed values.
24849
24850         And make the following changes as well:
24851         Fix copyright notice, as 1999 was missing.
24852         (verify): New macro.
24853         (strtoimax): Check sizes at compile-time, not run-time.
24854         Prefer strtol to strtoll if both work.
24855         (main): Remove; it was not that useful and was a pain to maintain.
24856
24857         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
24858
24859 2001-08-31  Jim Meyering  <meyering@lucent.com>
24860
24861         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
24862         Use an initial, malloc'd, buffer of length 128 rather than
24863         a statically allocated one of length 1024.
24864
24865 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24866
24867         Simplify code, partly by assuming autoconf 2.52 semantics.
24868
24869         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
24870
24871         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
24872         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
24873         All uses removed.
24874         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
24875         Move AC_REQUIRE to next-to-top level, to avoid confusion.
24876         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
24877         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
24878         jm_AC_HEADER_INTTYPES_H.
24879         * m4/jm-macros.m4 (jm_MACROS): Likewise.
24880
24881         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
24882
24883         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24884         Quote first arg of AC_DEFUN.
24885         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
24886         since they are needed to parse the include file even if we need
24887         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
24888         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
24889         but with opposite signedness.
24890
24891 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24892
24893         Merge 'exclude' changes from tar 1.13.22.
24894         This fixes one or two unlikely storage allocation overflow bugs,
24895         but doesn't change user-visible behavior otherwise.
24896
24897 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24898
24899         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
24900         (jm_PREREQ_EXCLUDE): New macro.
24901
24902 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24903
24904         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
24905         tm to be declared.
24906
24907 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24908
24909         * lib/hash.c: Remove '2001' from copyright notice.
24910
24911 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24912
24913         * lib/full-write.h: New file.
24914         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
24915         * lib/full-write.c: Correct credits, as cccp.c no longer
24916         exists and anyway it was so heavily changed from the old cccp
24917         code as to be unrecognizable.  Include full-write.h.
24918         (full_write) Return size_t, with short writes meaning failure.
24919         All callers changed.  This fixes a bug with large buffers
24920         on 64-bit hosts.
24921         * lib/utime.c: Include full-write.h.
24922
24923 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24924
24925         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
24926         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
24927         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
24928         Include if available.
24929         (<xalloc.h>): Include
24930         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
24931         (verify): New macro.  Use it to verify that EXCLUDE macros do not
24932         collide with FNM macros.
24933         (struct patopts): New struct.
24934         (struct exclude): Use it, as exclude patterns now come with options.
24935         (new_exclude): Support above changes.
24936         (new_exclude, add_exclude_file):
24937         Initial size must now be a power of two to simplify overflow checking.
24938         (free_exclude, fnmatch_no_wildcards): New function.
24939         (excluded_filename): No longer requires options arg, as the options
24940         are determined by add_exclude.  Now returns bool, not int.
24941         (excluded_filename, add_exclude):
24942         Add support for the fancy new exclusion options.
24943         (add_exclude, add_exclude_file): Now takes int options arg.
24944         Check for arithmetic overflow when computing sizes.
24945         (add_exclude_file): xrealloc might modify errno, so don't
24946         realloc until after errno might be used.
24947
24948         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
24949         New macros.
24950         (free_exclude): New decl.
24951         (add_exclude, add_exclude_file): Now takes int options arg.
24952         (excluded_filename): No longer requires options arg, as the options
24953         are determined by add_exclude.  Now returns bool, not int.
24954
24955 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24956
24957         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
24958
24959 2001-08-27  Jim Meyering  <meyering@lucent.com>
24960
24961         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
24962
24963         * lib/version-etc.c (N_): Remove definition.
24964         Revert most of last change.
24965         Instead, simply don't mark the `Copyright...' string for translation.
24966         Based on advice from Paul Eggert.
24967
24968         * lib/strtoxmax.c: Tweak comment.
24969
24970 2001-08-26  Jim Meyering  <meyering@lucent.com>
24971
24972         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
24973
24974         * m4/xstrtoimax.m4: New file.
24975         * m4/xstrtoumax.m4: Add comments explaining why we
24976         AC_REPLACE_FUNCS(strtol).
24977
24978 2001-08-26  Jim Meyering  <meyering@lucent.com>
24979
24980         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
24981         of copyright with `%s' so translators don't get an untranslated
24982         message in 2002.
24983         (COPYRIGHT_YEAR): Define.
24984         (version_etc): Use fprintf rather than fputs.
24985         Suggestion from Ulrich Drepper.
24986
24987         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
24988
24989         * lib/strtoll.c: New file, from GNU libc.
24990         * lib/xstrtoimax.c: New file.
24991
24992         * lib/xstrtol.h: Add xstrtoimax.
24993         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
24994         * lib/strtoimax.c: New file.  Likewise, but first define
24995         STRTOUXMAX_SIGNED.
24996
24997         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
24998         ...
24999         * lib/strtoxmax.c: ... then renamed to this.
25000
25001 2001-08-18  Paul Eggert  <eggert@twinsun.com>
25002
25003         * m4/inttypes.m4: Add AC_PREREQ(2.13).
25004         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
25005         (jm_AC_TYPE_INTMAX_T): New macro.
25006         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
25007
25008         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
25009
25010         * m4/longlong.m4: Renamed from ulonglong.m4.
25011         * m4/inttypes.m4: Renamed from inttypes_h.m4.
25012         * m4/uintmax_t.m4: Removed.
25013
25014 2001-08-13  Paul Eggert  <eggert@twinsun.com>
25015
25016         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
25017         Port to Solaris 8, where 'sed' requires a space after the 'r'
25018         command, and where sh dislikes "$/".  Clean up the spacing a bit.
25019         Redirect output to $tmp just once.
25020
25021 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
25022
25023         * lib/addext.c (<errno.h>): Include.
25024         (errno): Declare if not defined.
25025         (addext): Work correctly when pathconf returns -1 and leaves
25026         errno alone because there is no limit.  Also, work even if
25027         pathconf returns a value greater than SIZE_MAX.
25028
25029 2001-08-12  Jim Meyering  <meyering@lucent.com>
25030
25031         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
25032         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
25033         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
25034         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
25035         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
25036         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
25037         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
25038         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
25039         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
25040         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
25041         utime.m4, utimes.m4, xstrtoumax.m4:
25042         Quote the first argument in each use of AC_DEFUN.
25043
25044 2001-08-12  Jim Meyering  <meyering@lucent.com>
25045
25046         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
25047         Simply `return getcwd (NULL, 0);'.
25048         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
25049         Use 1300 as initial value for length, not PATH_MAX.
25050
25051         * lib/pathmax.h: Clean up cpp syntax.
25052
25053 2001-08-12  Jim Meyering  <meyering@lucent.com>
25054
25055         * lib/gettimeofday.c: New file.
25056         * lib/gtod.h: New file.
25057         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
25058
25059 2001-08-05  Jim Meyering  <meyering@lucent.com>
25060
25061         * m4/jm-macros.m4: Require autoconf-2.52.
25062
25063 2001-08-04  Jim Meyering  <meyering@lucent.com>
25064
25065         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
25066         stmt, to get in sync with glibc.
25067
25068 2001-08-03  Paul Eggert  <eggert@twinsun.com>
25069
25070         The following changes are from gettext 0.10.39 as maintained by
25071         Bruno Haible.
25072
25073         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
25074         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
25075         with inverted sense.  All uses changed.
25076
25077         * lib/mbswidth.c: Don't include <limits.h>.
25078         Include <stdlib.h> and <string.h> unconditionally.
25079         (iswcntrl, mbsinit, ISCNTRL): New macros.
25080         (mbsnwidth): Use K&R style function declarations.
25081         Don't bother checking for MB_LEN_MAX == 1, since the compiler
25082         can optimize it when MB_CUR_MAX == 1.
25083         The width of control characters is zero, not 1.
25084
25085 2001-08-03  Paul Eggert  <eggert@twinsun.com>
25086
25087         The following changes are from gettext 0.10.39 as maintained by
25088         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
25089
25090         * m4/codeset.m4: Upgrade to serial AM1.
25091         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
25092         all uses changed.  Quote first arg of AC_DEFUN.
25093         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
25094
25095         * m4/iconv.m4: Upgrade to serial AM2.
25096         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
25097         Add --with-libconv-prefix.
25098         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
25099         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
25100         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
25101         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
25102         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
25103
25104         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
25105         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
25106         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
25107         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
25108         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
25109         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
25110         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
25111         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
25112         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
25113
25114         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
25115         string.h any more.
25116
25117         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
25118         not the default value.
25119
25120         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
25121         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
25122         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
25123         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
25124         Also check for iswcntrl, used for wcwidth fallback.
25125         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
25126         to Autoconf 2.13.
25127
25128 2001-08-03  Jim Meyering  <meyering@lucent.com>
25129
25130         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
25131         as it was in the original.  Reported by Paul Eggert.
25132
25133 2001-07-16  Jim Meyering  <meyering@lucent.com>
25134
25135         * m4/gettimeofday.m4: New file.
25136         Prompted by a report from Bernhard Baehr.
25137
25138 2001-07-15  Jim Meyering  <meyering@lucent.com>
25139
25140         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
25141         stuff. Now it's in ../Makefile.cfg.
25142
25143 2001-07-15  Jim Meyering  <meyering@lucent.com>
25144
25145         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
25146         (BUILT_SOURCES): Add unlocked-io.h.
25147         (io_functions): Define.
25148         (unlocked-io.h): New rule.
25149         (DISTCLEANFILES): Add unlocked-io.h.
25150         (all-local): Depend on unlocked-io.h, to ensure it is created.
25151
25152         * lib/unlocked-io.hin: New file
25153
25154         * lib/regex.c: Update from glibc.
25155
25156 2001-07-05  Jim Meyering  <meyering@lucent.com>
25157
25158         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
25159         recommendation.
25160         (libfetish_a_SOURCES): Put all .h files here instead.
25161         Remove a thus-exposed (better checks in automake) duplicate and
25162         two unnecessary .h files.
25163
25164 2001-07-04  Jim Meyering  <meyering@lucent.com>
25165
25166         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
25167         that generates jm-glibc-io.m4 so that it doesn't trigger any make
25168         distcheck failure.
25169
25170 2001-07-02  Jim Meyering  <meyering@lucent.com>
25171
25172         The following changes were prompted by suggestions from Bruno Haible.
25173
25174         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
25175         is now generated.
25176         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
25177         definition of EXTRA_DIST.
25178         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
25179         ensure that the generated file is created/updated whenever the list
25180         of $(unlocked_functions) is changed.
25181         (jm-glibc-io.m4): New rule.
25182         (unlocked-io.h): New rule -- currently unused.
25183
25184 2001-06-24  Jim Meyering  <meyering@lucent.com>
25185
25186         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
25187         unmatched right bracket, rather than kludging it with an extra,
25188         falsely-matching quote in a comment.  Patch by Akim Demaille.
25189
25190 2001-06-11  Jim Meyering  <meyering@lucent.com>
25191
25192         * lib/regex.c: Update from GNU libc.
25193
25194 2001-05-27  Jim Meyering  <meyering@lucent.com>
25195
25196         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
25197         Check for ut_type in struct utmp.
25198
25199 2001-05-27  Jim Meyering  <meyering@lucent.com>
25200
25201         * lib/readutmp.h (UT_TYPE): Define.
25202
25203 2001-05-24  Jim Meyering  <meyering@lucent.com>
25204
25205         * lib/argmatch.c: Include "quote.h".
25206         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
25207         quote function.  Reported by Göran Uddeborg.
25208
25209 2001-05-22  Jim Meyering  <meyering@lucent.com>
25210
25211         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
25212         now that we use the package-supplied version unconditionally.
25213         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
25214
25215 2001-05-21  Jim Meyering  <meyering@lucent.com>
25216
25217         * m4/regex.m4: Change a couple backticks to single quotes to avoid
25218         shell syntax errors.
25219
25220 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
25221
25222         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
25223
25224 2001-05-20  Paul Eggert  <eggert@twinsun.com>
25225
25226         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
25227         Don't bother to check library strftime, since
25228         we'll be using our own my_strftime function anyway.
25229         Define my_strftime instead of strftime.
25230
25231 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
25232
25233         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
25234         which is not yet declared.
25235
25236 2001-05-15  Jim Meyering  <meyering@lucent.com>
25237
25238         * m4/regex.m4: Use proper quoting so brackets appear in the test
25239         program.
25240         Reported by, and with help from, Bruno Haible.
25241
25242 2001-05-13  Jim Meyering  <meyering@lucent.com>
25243
25244         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
25245         undefined.
25246
25247 2001-05-11  Paul Eggert  <eggert@twinsun.com>
25248
25249         dirname code cleanup.  base_name now behaves more compatibly
25250         with POSIX basename when given file names that have trailing
25251         slashes, and similarly for dir_name.  Add new primitives
25252         base_len and dir_len.  Put the directory-name-related decls
25253         into dirname.h.
25254
25255         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
25256         * lib/backupfile.c (base_name): Likewise.
25257         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
25258         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
25259         * lib/makepath.c (strip_trailing_slashes): Likewise.
25260         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
25261         ISSLASH): Likewise.
25262         * lib/rename.c (strip_trailing_slashes): Likewise.
25263         * lib/same.c (base_name): Likewise.
25264         * lib/stripslash.c (ISSLASH): Likewise.
25265
25266         * lib/addext.c: Include <dirname.h> after size_t is defined.
25267         * lib/backupfile.c: Likewise.
25268
25269         * lib/addext.c (addext): Use base_len to trim redundant
25270         trailing slashes instead of doing it ourselves.
25271         But do not trim the last slash if it is not redundant.
25272
25273         * lib/backupfile.c (find_backup_file_name,
25274         max_backup_version): Use base_len instead of rolling it ourselves.
25275         Handle the case of "" and (on DOS) "C:" correctly.
25276
25277         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
25278         needed. Include <string.h>, <dirname.h>.
25279         (base_name): Allow file names ending in slashes, other than names
25280         that are all slashes.  In this case, return the basename followed
25281         by the slashes.  This is more general, and can be used in places
25282         where the original base_name purposely had an assertion failure.
25283         (base_len): New function.
25284
25285         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
25286         Do not include <assert.h>; no longer needed.
25287         Include xalloc.h.
25288         (memrchr): Remove decl.
25289         (dir_name_r): Remove.
25290         (dir_len): Renamed from dirlen.  All callers changed.
25291         Rewrite in terms of base_name, for simplicity and consistency.
25292         (dir_name): Never return NULL.  All callers changed.
25293         Do not include <stdlib.h> in test program; no longer needed.
25294         return 0; is fine for test program.
25295
25296         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
25297         New macros.
25298         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
25299
25300         * lib/path-concat.c (path_concat): Use base_len to compute
25301         base length, not strlen; this means we cannot rely on memcpy
25302         to null-terminate.
25303
25304         * lib/same.c (STREQ): Remove.
25305         (same_name): Handle the case where the basename ends in trailing '/'.
25306
25307         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
25308         a slash was stripped.  Do not strip the last slash after a
25309         file system prefix.
25310
25311 2001-05-11  Paul Eggert  <eggert@twinsun.com>
25312
25313         * lib/Makefile.am (libfetish_a_SOURCES):
25314         Add strftime.c, since we now compile it on all hosts.
25315
25316         * lib/strftime.c (my_strftime):
25317         Define to nstrftime if emacs, but only if my_strftime is not defined.
25318         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
25319         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
25320         Add one more extra argument: a nanoseconds value.
25321         All uses changed.
25322         (ns): New macro.
25323         (my_strftime function): Add %N format.
25324         (emacs_strftimeu): Renamed from emacs_strftime,
25325         with extra ut argument.
25326
25327 2001-05-09  Paul Eggert  <eggert@twinsun.com>
25328
25329         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
25330
25331 2001-04-21  Jim Meyering  <meyering@lucent.com>
25332
25333         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
25334         doesn't interfere.
25335
25336 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
25337
25338         * m4/ftruncate.m4: Check for chsize.
25339         Link with ftruncate.o unconditionally if ftruncate is missing.
25340         This was required when cross-compiling to i586-mingw32msvc.
25341
25342 2001-04-08  Jim Meyering  <meyering@lucent.com>
25343
25344         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
25345         recomputed; that's necessary when the offset spans a DST transition.
25346         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
25347
25348 2001-04-02  Jim Meyering  <meyering@lucent.com>
25349
25350         * lib/regex.h, regex.c: Update from GNU libc.
25351
25352 2001-03-24  Jim Meyering  <meyering@lucent.com>
25353
25354         * m4/jm-macros.m4: Require autoconf-2.49d.
25355
25356 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
25357
25358         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
25359
25360 2001-03-19  Paul Eggert  <eggert@twinsun.com>
25361
25362         * lib/version-etc.c (version_etc_copyright): Update to 2001.
25363
25364 2001-03-17  Jim Meyering  <meyering@lucent.com>
25365
25366         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
25367         now that the version in autoconf is equivalent.
25368         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
25369
25370         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
25371         Suggestion from Akim Demaille.
25372
25373         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
25374         (jm_PREREQ_TEMPNAME): New function.
25375
25376 2001-03-16  Paul Eggert  <eggert@twinsun.com>
25377
25378         * lib/tempname.c (uint64_t): Define to uintmax_t if
25379         not defined, and if UINT64_MAX is not defined.
25380         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
25381         Reported by John David Anglin.
25382
25383 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
25384
25385         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
25386         resolve alias if codeset is empty.
25387         * lib/config.charset (BeOS): Use wildcard syntax.
25388
25389 2001-03-13  Jim Meyering  <meyering@lucent.com>
25390
25391         * lib/path-concat.c (path_concat)
25392         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
25393         concatenating e.g., `C:' and `foo'.
25394         From Bruno Haible.
25395
25396 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
25397
25398         * lib/localcharset.c (locale_charset): Don't use
25399         setlocale(LC_CTYPE,NULL). Don't return NULL.
25400         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
25401
25402 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
25403
25404         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
25405         support for DOS/DJGPP.
25406
25407 2001-03-01  Paul Eggert  <eggert@twinsun.com>
25408
25409         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
25410         lacks mkstemp.  Compile our own tempname.c if we compile our own
25411         mkstemp.c, as mkstemp relies on tempname.
25412
25413 2001-03-01  Jim Meyering  <meyering@lucent.com>
25414
25415         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
25416         AH_VERBATIM really does output its argument verbatim.
25417
25418 2001-02-28  Paul Eggert  <eggert@twinsun.com>
25419
25420         * lib/Makefile.am (libfetish_a_SOURCES):
25421         Add dup-safer.c, fopen-safer.c.
25422         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
25423
25424         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
25425         * lib/unistd-safer.h: New files.
25426
25427 2001-02-25  Paul Eggert  <eggert@twinsun.com>
25428
25429         The mkstemp replacement is taken from glibc 2.2.2, with some
25430         portability fixes for use outside glibc, as follows:
25431
25432         * lib/tempname.c (struct_stat64): New macro.
25433         (direxists, __gen_tempname): Use it.
25434         This avoids a portability problem with Solaris 8.
25435
25436         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
25437         (<stddef.h>, <stdint.h>, <string.h>):
25438         Include only if STDC_HEADERS || _LIBC.
25439         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
25440         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
25441         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
25442         (__set_errno): Define this macro if <errno.h> doesn't.
25443         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
25444         Define these macros if <stdio.h> doesn't.
25445         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
25446         Define these macros if <sys/stat.h>
25447         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
25448         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
25449         __xstat64): Define if not _LIBC.
25450         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
25451         (__gen_tempname): Invoke gettimeofday only if
25452         HAVE_GETTIMEOFDAY || _LIBC;
25453         otherwise, fall back on plain "time".
25454         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
25455
25456         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
25457
25458         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
25459
25460 2001-02-18  Paul Eggert  <eggert@twinsun.com>
25461
25462         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
25463
25464 2001-02-17  Paul Eggert  <eggert@twinsun.com>
25465
25466         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
25467         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
25468         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
25469         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
25470
25471 2001-02-17  Paul Eggert  <eggert@twinsun.com>
25472
25473         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
25474         Remove workaround macros for hosts that have mbrtowc but not
25475         mbstate_t, as we now insist on proper declarations for both
25476         before using mbrtowc.
25477
25478 2001-02-17  Jim Meyering  <meyering@lucent.com>
25479
25480         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
25481         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
25482         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
25483         UnixWare 7.1.1.
25484
25485         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
25486         rather than AC_CACHE_VAL.
25487
25488 2001-02-17  Jim Meyering  <meyering@lucent.com>
25489
25490         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
25491         around included file name.
25492
25493         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
25494
25495         * lib/strftime.c: Update from GNU libc (the only changes were to
25496         comments).
25497
25498 2001-02-17  Jim Meyering  <meyering@lucent.com>
25499
25500         * lib/regex.c: Update from libc.
25501
25502 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
25503
25504         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
25505         clash.
25506
25507 2001-02-16  Paul Eggert  <eggert@twinsun.com>
25508
25509         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
25510         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
25511         Reported by Mark Hounschell via Paul Eggert.
25512
25513 2001-02-07  Jim Meyering  <meyering@lucent.com>
25514
25515         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
25516
25517 2001-02-05  Jim Meyering  <meyering@lucent.com>
25518
25519         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
25520         it includes the patch required for `large file' support with at least
25521         HP-UX's 10.20 /bin/cc.
25522
25523 2001-02-03  Jim Meyering  <meyering@lucent.com>
25524
25525         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
25526         AS_IF, now that it works once again (mysteriously).
25527         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
25528
25529 2001-01-30  Jim Meyering  <meyering@lucent.com>
25530
25531         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
25532         * m4/chown.m4: Rename conftestchown to conftest.chown.
25533         * m4/rename.m4: s/conftestdir/conftest.d1/ and
25534         s/conftestdir2/conftest.d2/.
25535         * m4/utimes.m4: s/conftestdata/conftest.data/
25536         Inspired by Pavel Roskin's change in autoconf.
25537
25538 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
25539
25540         * lib/config.charset: Update for FreeBSD 4.2.
25541
25542 2001-01-27  Jim Meyering  <meyering@lucent.com>
25543
25544         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
25545         a use of AS_IF.
25546         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
25547
25548 2001-01-26  Jim Meyering  <meyering@lucent.com>
25549
25550         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
25551         quotearg.c includes it.
25552
25553 2001-01-26  Jim Meyering  <meyering@lucent.com>
25554
25555         * lib/quotearg.c: Include stddef.h.
25556         * lib/quote.c: Include stddef.h.
25557         Reported by Axel Kittenberger.
25558
25559         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
25560         line in double quotes so that it evokes a better diagnostic.
25561         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
25562         Reported by Axel Kittenberger.
25563
25564 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
25565
25566         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
25567         as if it was a `charset'.
25568
25569 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
25570
25571         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
25572         has const.
25573
25574 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
25575
25576         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
25577         to avoid a warning.  Add back 'const' to inptr.
25578
25579 2001-01-20  Jim Meyering  <meyering@lucent.com>
25580
25581         Be sure that headers are checked before used in code compiled
25582         for the type checks.
25583         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
25584         In place of that, invoke jm_CHECK_ALL_TYPES.
25585         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
25586         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
25587         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
25588         The check for ssize_t was mistakenly run before the test for unistd.h.
25589
25590         The configure-time check for stdbool.h was missing.
25591         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
25592         (jm_PREREQ_HASH): New function.
25593
25594 2001-01-17  Jim Meyering  <meyering@lucent.com>
25595
25596         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
25597         for autoconf-2.49c.
25598         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
25599
25600 2001-01-16  Jim Meyering  <meyering@lucent.com>
25601
25602         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
25603         From Bruno Haible.
25604
25605 2001-01-14  Jim Meyering  <meyering@lucent.com>
25606
25607         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
25608         foo and bar.  Create conftestdir/ in the script, not in the C code.
25609         Remove directories in the script, not in the C code.
25610         Remove conftestdir{,2} before trying to create the directory.
25611         Make the entire configure script fail if the mkdir fails.
25612
25613 2001-01-14  Jim Meyering  <meyering@lucent.com>
25614
25615         * lib/rename.c: New file.  From Volker Borchert.
25616         Include stdlib.h, string.h or strings.h, and xalloc.h.
25617         Use strip_trailing_slashes rather than open-coding it.
25618
25619 2001-01-03  Paul Eggert  <eggert@twinsun.com>
25620
25621         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
25622
25623 2001-01-03  Jim Meyering  <meyering@lucent.com>
25624
25625         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
25626         of local `inptr' to avoid warning with some system declarations of
25627         iconv.
25628
25629 2001-01-02  Volker Borchert  <bt@teknon.de>
25630
25631         * m4/rename.m4: New file.
25632         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
25633
25634 2001-01-01  Jim Meyering  <meyering@lucent.com>
25635
25636         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
25637         even on systems with utmpx.h.  It's necessary for the declaration of
25638         utmp's ut_user member.  Reported by Andreas Jaeger.
25639
25640         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
25641         available. They are required for the declarations of getgrgid and
25642         getpwuid resp.
25643         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
25644         Reported by Andreas Jaeger.
25645
25646 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
25647
25648         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
25649         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
25650         so `make install' also works in VPATH builds.
25651
25652 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
25653
25654         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
25655         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
25656         can be used in subdirectories.
25657
25658 2000-12-29  Paul Eggert  <eggert@twinsun.com>
25659
25660         * lib/modechange.c: Do not assume that mode_t uses the
25661         traditional octal encoding.  E.g. "chmod 1 FOO" should set
25662         the other-execute bit of FOO even if S_IXOTH != 1.
25663
25664         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
25665         WOTH, XOTH, ALLM): New macros.
25666         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
25667          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
25668         Use them.
25669         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
25670         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
25671         (mode_compile):
25672         No need to use uintmax_t; unsigned long is long enough.
25673         Don't bother to get suffix since we don't use it.
25674
25675 2000-12-26  Jim Meyering  <meyering@lucent.com>
25676
25677         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
25678         better with autoheader.
25679
25680 2000-12-24  Jim Meyering  <meyering@lucent.com>
25681
25682         * lib/hash.c (is_prime): Return explicit boolean values.
25683         (hash_get_first): Return NULL to appease Irix5.6's 89.
25684         Reported by Nelson Beebe.
25685
25686 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
25687
25688         * lib/localcharset.c (locale_charset): Add support for Win32.
25689
25690 2000-12-18  Paul Eggert  <eggert@twinsun.com>
25691
25692         * lib/physmem.h, lib/physmem.c: New files.
25693
25694         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
25695         (noinst_HEADERS): Add physmem.h.
25696
25697         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
25698         't' for compatibility with Solaris 8 sort.
25699
25700 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
25701
25702         * lib/config.charset: Add support for BeOS.
25703
25704 2000-12-17  Jim Meyering  <meyering@lucent.com>
25705
25706         * m4/dos.m4 (jm_AC_DOS): New file and macro.
25707         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
25708
25709 2000-12-16  Jim Meyering  <meyering@lucent.com>
25710
25711         This bug had a serious impact on chown: `chown N:M FILE' (for integer
25712         N and M) would have treated it like `chown N:N FILE'.
25713
25714         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
25715
25716 2000-12-16  Jim Meyering  <meyering@lucent.com>
25717
25718         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
25719         SHELLS_FILE to a file name that's useful on djgpp systems.
25720         Include stdlib.h.
25721         (ADDITIONAL_DEFAULT_SHELLS): Define.
25722         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
25723         Based mostly on a patch from Prashant TR.
25724
25725 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
25726
25727         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
25728         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
25729         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
25730
25731 2000-12-08  Andreas Schwab  <schwab@suse.de>
25732
25733         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
25734         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
25735
25736 2000-12-07  Jim Meyering  <meyering@lucent.com>
25737
25738         * lib/stripslash.c (ISSLASH): Define.
25739         (strip_trailing_slashes): Use ISSLASH rather than comparing against
25740         `/'.
25741         From Prashant TR.
25742
25743         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
25744         (dir_name_r): Declare this function as static.
25745         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
25746         manifest itself on a name containing a mix of slashes and
25747         backslashes.
25748         Make this function work with names starting with a DOS-style
25749         drive letter and colon prefix.
25750         (dir_name): Append `.' if necessary.
25751         Based mostly on patches from Prashant TR and Eli Zaretskii.
25752
25753         * lib/dirname.h (dir_name_r): Remove prototype.
25754
25755 2000-12-06  Paul Eggert  <eggert@twinsun.com>
25756
25757         * m4/off_t-format.m4: Remove this file.
25758         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
25759
25760 2000-12-06  Jim Meyering  <meyering@lucent.com>
25761
25762         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
25763         replacement strtoull, we may well need the replacement strtoul, too.
25764         Check for declarations of strtoul and strtoull.
25765         Check for strtol.  Mainly as a cue to cause automake to include
25766         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
25767         Check for limits.h -- strtol.c needs it.
25768
25769 2000-12-05  Jim Meyering  <meyering@lucent.com>
25770
25771         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
25772
25773 2000-12-04  Jim Meyering  <meyering@lucent.com>
25774
25775         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
25776         Also include memory.h, stdlib.h, unistd.h if appropriate.
25777         Reported by Andreas Jaeger (conflicting declaration of malloc).
25778
25779 2000-12-02  Jim Meyering  <meyering@lucent.com>
25780
25781         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
25782         * m4/jm-macros.m4 (jm_MACROS): require it.
25783
25784 2000-12-02  Jim Meyering  <meyering@lucent.com>
25785
25786         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
25787
25788 2000-12-01  Paul Eggert  <eggert@twinsun.com>
25789
25790         * lib/memrchr.c: Include <config.h> before any system include file.
25791
25792 2000-11-30  Jim Meyering  <meyering@lucent.com>
25793
25794         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
25795
25796 2000-11-30  Jim Meyering  <meyering@lucent.com>
25797
25798         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
25799
25800 2000-11-29  Paul Eggert  <eggert@twinsun.com>
25801
25802         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
25803
25804 2000-11-26  Jim Meyering  <meyering@lucent.com>
25805
25806         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
25807
25808 2000-11-22  Paul Eggert  <eggert@twinsun.com>
25809
25810         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
25811         size of (size_t) -1; it's not portable.
25812
25813 2000-11-17  Jim Meyering  <meyering@lucent.com>
25814
25815         * lib/strstr.c: Update from GNU libc.
25816
25817 2000-11-17  Akim Demaille  <akim@epita.fr>
25818
25819         * lib/obstack.h: Formatting changes.
25820         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
25821         prevent type checking.
25822         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
25823         cast the value to (void *): assigning a `foo *' to a `void *'
25824         variable is valid.
25825         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
25826
25827 2000-11-16  Jim Meyering  <meyering@lucent.com>
25828
25829         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
25830
25831 2000-11-11  Jim Meyering  <meyering@lucent.com>
25832
25833         * lib/error.c: Add a couple #includes, merging from GNU libc version.
25834
25835 2000-11-10  Jim Meyering  <meyering@lucent.com>
25836
25837         * lib/obstack.h: Update from GNU libc.
25838         * lib/obstack.c: Likewise.
25839
25840 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
25841
25842         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
25843
25844 2000-11-06  Paul Eggert  <eggert@twinsun.com>
25845
25846         * lib/getusershell.c (setusershell): Use rewind rather than
25847         fseek/fseeko, to avoid configuration hassles with fseeko.
25848         Don't bother opening SHELLS_FILE if shellstream is NULL;
25849         it's not necessary.
25850
25851 2000-11-05  Jim Meyering  <meyering@lucent.com>
25852
25853         * lib/makepath.h (make_dir): Declare.
25854         * lib/makepath.c (make_dir): Remove `static' attribute.
25855         Tweak a comment.
25856
25857 2000-11-04  Jim Meyering  <meyering@lucent.com>
25858
25859         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
25860
25861 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
25862
25863         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
25864         last one in a bucket, advance to the next bucket.
25865
25866 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
25867
25868         * lib/fnmatch.c: Do not comment out all the code if we are using
25869         the GNU C library, because in some cases we are replacing buggy
25870         code in the GNU C library itself.
25871
25872 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
25873
25874         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
25875         (regex_compile): Catch bogus \(\1\).
25876
25877 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25878
25879         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
25880         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
25881         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
25882
25883 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25884
25885         * lib/error.h, getline.h, modechange.h:
25886         Remove "2000" from Copyright line, as the file hasn't been
25887         changed this year other than in the copyright notice.
25888
25889         * lib/xalloc.h: Add "2000" to Copyright line, as this file
25890         was changed this year.
25891
25892 2000-10-29  Jim Meyering  <meyering@lucent.com>
25893
25894         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
25895         renaming.
25896         * m4/ls-mntd-fs.m4: Likewise
25897
25898 2000-10-29  Jim Meyering  <meyering@lucent.com>
25899
25900         * lib/xstat.in: Fix grammar in comment.
25901
25902 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
25903
25904         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
25905         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
25906         doesn't define __restrict_arr.
25907
25908 2000-10-28  Jim Meyering  <meyering@lucent.com>
25909
25910         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
25911         (jm_PREREQ_MEMCHR): New function.
25912
25913 2000-10-28  Jim Meyering  <meyering@lucent.com>
25914
25915         * lib/memchr.c: Update from libc.
25916         Adjust for portability:
25917         [HAVE_STDLIB_H]: Include stdlib.h.
25918         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
25919         Undef __memchr, too.
25920         [!weak_alias]: Define __memchr to memchr.
25921
25922         * lib/regex.c: Update from libc.
25923         * lib/regex.h: Likewise.
25924         * lib/getopt1.c: Likewise.
25925         * lib/memcmp.c: Likewise.
25926
25927         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
25928         Avoid using fseek, when possible -- it's broken by design.
25929         Patch by Ulrich Drepper.
25930
25931 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
25932
25933         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
25934         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
25935         Giving in to popular pressure to shut up the compiler with casts.
25936
25937 2000-10-26  Jim Meyering  <meyering@lucent.com>
25938
25939         * lib/strftime.c: Update from libc.
25940
25941 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
25942
25943         * regex.c: More `unsigned char' -> `re_char' changes.
25944         Also change several `int' into `re_wchar_t'.
25945         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
25946         (PUSH_FAILURE_POINTER): Don't cast any more.
25947         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
25948         We want GCC to complain, since this piece of code makes
25949         re_match non-reentrant, which *should* be fixed.
25950         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
25951         (EXTEND_BUFFER): Use RETALLOC.
25952         (SET_LIST_BIT): Don't cast.
25953         (re_wchar_t): New type.
25954         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
25955         that those two functions will always properly return.
25956         (IMMEDIATE_QUIT_CHECK): Cast to void.
25957         (analyse_first): Use recursion rather than an explicit stack.
25958         (re_compile_fastmap): Can't fail anymore.
25959         (re_search_2): Don't check re_compile_fastmap for failure.
25960         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
25961         Now also sets the new value (passed in a new argument).
25962         (re_match_2_internal): Use it.
25963         Also, use a new var `reg' of type size_t when looping through regs
25964         rather than reuse the inappropriate `mcnt'.
25965
25966 2000-10-25  Jim Meyering  <meyering@lucent.com>
25967
25968         * lib/obstack.c: Update from libc.
25969
25970 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
25971
25972         * regex.c (regex_compile): Change the way of handling a range from
25973         a char less than 256 to a char not less than 256.
25974
25975 2000-10-24  Andrew Innes  <andrewi@gnu.org>
25976
25977         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
25978         NT-Emacs only.
25979         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
25980         so that re_search functions only quit when callers expect them to.
25981
25982 2000-10-23  Jim Meyering  <meyering@lucent.com>
25983
25984         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
25985         wrong.  That set_locale call must not have any side effects.
25986         From Paul Eggert.
25987
25988 2000-10-22  Jim Meyering  <meyering@lucent.com>
25989
25990         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
25991         [CYCLIC]: Remove now-unused definition.
25992
25993         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
25994         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
25995         Suggestion from Ulrich Drepper.
25996
25997 2000-10-21  Jim Meyering  <meyering@lucent.com>
25998
25999         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
26000         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
26001         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
26002
26003 2000-10-21  Jim Meyering  <meyering@lucent.com>
26004
26005         * lib/dirname.c (memrchr): Declare if necessary.
26006         (dir_name): Remove the restriction that there be no
26007         trailing slashes.  Now, this code skips past them, effectively
26008         ignoring them.
26009         [TEST_DIRNAME] (main): New unit tests.
26010
26011         * lib/memrchr.c: New file from GNU libc.
26012         Undef __memrchr, too.
26013         [!weak_alias]: Define __memrchr to memrchr.
26014         Guard weak_alias use with `#ifdef weak_alias'.
26015
26016 2000-10-21  Jim Meyering  <meyering@lucent.com>
26017
26018         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
26019         (dir_name): Use dir_name_r.
26020         * lib/dirname.h (dir_name_r): Declare it.
26021
26022 2000-10-17  Jim Meyering  <meyering@lucent.com>
26023
26024         * lib/quote.h (PARAMS): Define and use.
26025         Reported by Akim Demaille.
26026
26027         * lib/getopt.c: Update from libc.
26028
26029 2000-10-16  Jim Meyering  <meyering@lucent.com>
26030
26031         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
26032         setlocale.
26033         From Jan Fedak.
26034
26035 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
26036
26037         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
26038
26039 2000-09-25  Jim Meyering  <meyering@lucent.com>
26040
26041         * lib/md5.h (rol): Define (from GnuPG).
26042
26043         * lib/sha.c: Give credit (GnuPG) where due.
26044         (M): Use rol rather than open-coding it.
26045         Add a FIXME comment.
26046
26047 2000-09-21  Jim Meyering  <meyering@lucent.com>
26048
26049         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
26050         Reported by Michael Stone.
26051
26052 2000-09-20  Jim Meyering  <meyering@lucent.com>
26053
26054         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
26055         (noinst_HEADERS): Add sha.h.
26056         Based on code from Scott G. Miller and from GnuPG.
26057
26058 2000-09-18  Jim Meyering  <meyering@lucent.com>
26059
26060         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
26061         LIBS. Otherwise, everyone ends up linking with -lelf for some
26062         configurations.
26063         Reported by Mike Stone.
26064
26065 2000-09-15  Jim Meyering  <meyering@lucent.com>
26066
26067         * lib/regex.c: Update from libc.
26068
26069 2000-09-10  Jim Meyering  <meyering@lucent.com>
26070
26071         * lib/getopt.c (_getopt_internal): Update from glibc.
26072
26073 2000-09-09  Jim Meyering  <meyering@lucent.com>
26074
26075         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
26076         think it should be used as a general replacement for isascii.
26077         * lib/fnmatch.c: Likewise.
26078         * lib/mbswidth.c: Likewise
26079         * lib/regex.c: Likewise.
26080
26081         Don't use atoi.
26082         * lib/userspec.c: Include sys/param.h and limits.h.
26083         Include xstrtol.h.
26084         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
26085         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
26086         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
26087         UID, GID.  Check range.
26088
26089 2000-09-06  Jim Meyering  <meyering@lucent.com>
26090
26091         * lib/getopt.c (_getopt_internal): Update from glibc.
26092
26093 2000-08-30  Jim Meyering  <meyering@lucent.com>
26094
26095         * lib/strftime.c: Merge in changes from GNU libc.
26096
26097 2000-08-26  Jim Meyering  <meyering@lucent.com>
26098
26099         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
26100         * m4/fpending.m4: New file.
26101
26102 2000-08-26  Jim Meyering  <meyering@lucent.com>
26103
26104         * lib/closeout.c: Include "__fpending.h".
26105         (close_stdout_status): Return right away if there's nothing to flush.
26106
26107         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
26108         * lib/__fpending.c: New file.
26109         * lib/__fpending.h: New file.
26110
26111 2000-08-20  Jim Meyering  <meyering@lucent.com>
26112
26113         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
26114         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
26115         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
26116
26117 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
26118
26119         Improve fileutils installation on systems where running
26120         programs (like install) can't be unlinked.
26121         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
26122         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
26123
26124 2000-08-07  Paul Eggert  <eggert@twinsun.com>
26125
26126         Standardize on "memory exhausted" instead of "Memory exhausted"
26127         or "virtual memory exhausted".
26128         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
26129         "virtual memory exhausted".
26130         * lib/same.c (same_name): Invoke xalloc_die instead of printing
26131         our own message.
26132         * lib/userspec.c (parse_user_spec): Likewise.
26133         * lib/bumpalloc.h: comment fix
26134         * lib/same.c, userspec.c: Include xalloc.h.
26135
26136         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
26137         not char *const and pointing to a constant array.
26138         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
26139         (xrealloc): Comment fix.
26140
26141         * lib/userspec.c (parse_user_spec):
26142         Don't translate a message until just before returning,
26143         to avoid unnecessary translation.
26144
26145 2000-08-07  Jim Meyering  <meyering@lucent.com>
26146
26147         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
26148         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
26149         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
26150         getgroups.c, gethostname.c, getopt.h, group-member.c,
26151         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
26152         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
26153         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
26154         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
26155         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
26156         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
26157         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
26158         yesno.c: Back out Copyright date changes for each file with no change
26159         this year.  This eases coordination with other programs using the same
26160         source code modules.  From Paul Eggert.
26161
26162 2000-08-06  Paul Eggert  <eggert@twinsun.com>
26163
26164         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
26165         not char, for compatibility with glibc 2.1.3 strftime.c.
26166
26167 2000-08-03  Greg McGary  <greg@mcgary.org>
26168
26169         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
26170         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
26171         (EXTEND_BUFFER): Use them.
26172
26173 2000-08-01  Jim Meyering  <meyering@lucent.com>
26174
26175         * lib/dirname.c (ISSLASH): Define.
26176         (BACKSLASH_IS_PATH_SEPARATOR): Define.
26177         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
26178         both `\' and `/' may be use as path separators.
26179         Based on a patch from Prashant TR.
26180
26181 2000-07-31  Paul Eggert  <eggert@twinsun.com>
26182
26183         * lib/quotearg.c (quotearg_n_options): Don't make the initial
26184         slot vector a constant, since it might get modified.
26185
26186 2000-07-31  Jim Meyering  <meyering@lucent.com>
26187
26188         * lib/xmalloc.c: Use `virtual memory exhausted', not
26189         `Memory exhausted'.
26190         * lib/obstack.c (print_and_abort): Likewise.
26191
26192 2000-07-30  Paul Eggert  <eggert@twinsun.com>
26193
26194         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
26195         buffer, so that the caller can always quote one small
26196         component of a "memory exhausted" message in slot 0.
26197         From a suggestion by Jim Meyering.
26198
26199 2000-07-30  Jim Meyering  <meyering@lucent.com>
26200
26201         * lib/makepath.c (make_path): Quote the other instance, too.
26202
26203         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
26204         (STATIC_BUF_SIZE): Define.
26205         (quotearg_n_options): Use only statically allocated storage when
26206         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
26207         than STATIC_BUF_SIZE.
26208
26209 2000-07-29  Jim Meyering  <meyering@lucent.com>
26210
26211         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
26212         * lib/dirname.c (dir_name): Likewise.
26213
26214         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
26215         `/'.
26216
26217         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
26218         (dir_name): Assert that there are no trailing slashes.
26219
26220 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
26221
26222         * lib/mbswidth.h (mbswidth): Add a flags argument.
26223         (mbswidth): New declaration.
26224         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
26225         * lib/mbswidth.c (mbswidth): Add a flags argument.
26226         (mbsnwidth): New function.
26227
26228 2000-07-24  Jim Meyering  <meyering@lucent.com>
26229
26230         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
26231
26232 2000-07-23  Paul Eggert  <eggert@twinsun.com>
26233
26234         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
26235
26236 2000-07-23  Paul Eggert  <eggert@twinsun.com>
26237
26238         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
26239         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
26240         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
26241         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
26242         invoke multibyte primitives.
26243
26244 2000-07-23  Paul Eggert  <eggert@twinsun.com>
26245
26246         * lib/quotearg.c:
26247         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
26248         so that mbstate_t is always defined.
26249
26250         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
26251         be 1 in at least one GCC installation, and this configuration
26252         error is likely to be common.  Ignoring MB_LEN_MAX hurts
26253         performance on hosts that have mbrtowc but have only unibyte
26254         locales, but I assume these hosts are rare.
26255
26256 2000-07-23  Paul Eggert  <eggert@twinsun.com>
26257
26258         * lib/mbswidth.c (_XOPEN_SOURCE):
26259         Don't define; this causes problems on Solaris 7.
26260         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
26261
26262 2000-07-23  Jim Meyering  <meyering@lucent.com>
26263
26264         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
26265         too: getgrgid, getpwuid, getuid.
26266
26267 2000-07-23  Jim Meyering  <meyering@lucent.com>
26268
26269         * lib/basename.c (base_name): Add an assertion.
26270
26271 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
26272
26273         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
26274         shadow its mbsinit function.
26275
26276 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
26277
26278         * lib/mbswidth.h: New file.
26279         * lib/mbswidth.c: New file.
26280         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
26281         (noinst_HEADERS): Add mbswidth.h.
26282
26283 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
26284
26285         * lib/config.charset: Add support for FreeBSD. Improve support for
26286         HP-UX and IRIX 6.
26287
26288 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
26289
26290         * m4/mbswidth.m4: New file.
26291         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
26292
26293 2000-07-15  Jim Meyering  <meyering@lucent.com>
26294
26295         * lib/makepath.c: Include quote.h.
26296         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
26297         corresponding argument in a `quote (...)' call.
26298         Give better diagnostics.
26299
26300         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
26301         (noinst_HEADERS): Add quote.h.
26302
26303         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
26304         from tar's src/misc.c.
26305         * lib/quote.h: New file.  Prototypes for same.
26306
26307 2000-07-14  Paul Eggert  <eggert@twinsun.com>
26308
26309         From a suggestion by Bruno Haible.
26310         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
26311         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
26312         to decide whether to define the BeOS workaround macro;
26313         this adjusts to the change to AC_MBSTATE_T.
26314
26315 2000-07-14  Jim Meyering  <meyering@lucent.com>
26316
26317         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
26318         jm_AC_TYPE_UINTMAX_T.
26319
26320 2000-07-13  Paul Eggert  <eggert@twinsun.com>
26321
26322         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
26323
26324         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
26325         quotearg_buffer_restyled): Add support for
26326         clocale_quoting_style.  Undo previous change to
26327         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
26328         and "{RIGHT QUOTATION MARK}" msgids.
26329
26330 2000-07-10  Paul Eggert  <eggert@twinsun.com>
26331
26332         From a suggestion by Bruno Haible.
26333         * m4/mbstate_t.m4 (AC_MBSTATE_T):
26334         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
26335         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
26336         and mbstate_t, to a single-part test that simply defines mbstate_t.
26337         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
26338         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
26339
26340 2000-07-10  Jim Meyering  <meyering@lucent.com>
26341
26342         * m4/strerror_r.m4: Mirror the correction made in autoconf.
26343
26344         * m4/gnu-source.m4: Output to confdefs.h directly.
26345         Suggestion from Akim Demaille.
26346
26347 2000-07-09  Paul Eggert  <eggert@twinsun.com>
26348
26349         The old behavior of quoting `like this' doesn't look good with
26350         newer, ISO-style fonts.  See:
26351         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
26352
26353         Instead, quote "like this" by default.  Let the translator
26354         tailor the locale-specific quoting behavior by providing
26355         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
26356
26357         * lib/quotearg.c (N_): New macro.
26358         (gettext_default): New function.
26359         (quotearg_buffer_restyled): Use
26360         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
26361         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
26362
26363 2000-07-09  Jim Meyering  <meyering@lucent.com>
26364
26365         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
26366         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
26367
26368         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
26369         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
26370
26371 2000-07-09  Jim Meyering  <meyering@lucent.com>
26372
26373         * lib/Most files: Update copyright dates to include 2000.
26374
26375 2000-07-08  Jim Meyering  <meyering@lucent.com>
26376
26377         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
26378         if not defined.
26379         (xgethostname): Remove now-unnecessary #ifdef.
26380         Move declaration of `err' into loop where it's used.
26381
26382 2000-07-05  Paul Eggert  <eggert@twinsun.com>
26383         and Bruno Haible  <haible@clisp.cons.org>
26384
26385         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
26386         only if the test for an object-type mbstate_t fails.  This
26387         prevents us from mistakenly reporting that mbstate_t is a
26388         system object type after we "#define mbstate_t int" to work
26389         around its lack.
26390
26391 2000-07-05  Paul Eggert  <eggert@twinsun.com>
26392         and Bruno Haible  <haible@clisp.cons.org>
26393
26394         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
26395
26396 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
26397
26398         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
26399         to strerror_r.
26400         Include <ctype.h> for use of isalpha.
26401
26402 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
26403
26404         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
26405         by allocating a larger buffer. Test the gethostname return value for
26406         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
26407         returns an error and ENAMETOOLONG isn't defined.
26408
26409 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
26410
26411         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
26412         dimension.
26413
26414 2000-07-04  Jim Meyering  <meyering@lucent.com>
26415
26416         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
26417         of the deprecated AC_CHECKING.
26418
26419 2000-07-04  Jim Meyering  <meyering@lucent.com>
26420
26421         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
26422         Reported by Bruno Haible.
26423
26424 2000-07-04  Jim Meyering  <meyering@lucent.com>
26425
26426         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
26427         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
26428         lacks mbrtowc.
26429
26430 2000-07-03  Paul Eggert  <eggert@twinsun.com>
26431
26432         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
26433         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
26434
26435 2000-07-03  Paul Eggert  <eggert@twinsun.com>
26436         and Bruno Haible  <haible@clisp.cons.org>
26437
26438         * lib/quotearg.c (mbrtowc):
26439         Assign to *pwc, and return 1 only if result is nonzero.
26440         (iswprint): Use ISPRINT when substituting our own mbrtowc.
26441
26442 2000-07-03  Jim Meyering  <meyering@lucent.com>
26443
26444         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
26445
26446 2000-07-03  Jim Meyering  <meyering@lucent.com>
26447
26448         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
26449         This is necessary to get a definition of e.g., UTMP_FILE on
26450         HP-UX 10.20.
26451         From Bob Proulx.
26452
26453 2000-07-02  Jim Meyering  <meyering@lucent.com>
26454
26455         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
26456
26457         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
26458         AC_LIBOBJ(function_name).
26459         * m4/chown.m4: Likewise.
26460         * m4/fnmatch.m4: Likewise.
26461         * m4/ftruncate.m4: Likewise.
26462         * m4/getgroups.m4: Likewise.
26463         * m4/getline.m4: Likewise.
26464         * m4/group-member.m4: Likewise.
26465         * m4/jm-macros.m4: Likewise.
26466         * m4/lstat.m4: Likewise.
26467         * m4/malloc.m4: Likewise.
26468         * m4/memcmp.m4: Likewise.
26469         * m4/nanosleep.m4: Likewise.
26470         * m4/putenv.m4: Likewise.
26471         * m4/realloc.m4: Likewise.
26472         * m4/regex.m4: Likewise.
26473         * m4/stat.m4: Likewise.
26474         * m4/strftime.m4: Likewise.
26475
26476 2000-07-02  Jim Meyering  <meyering@lucent.com>
26477
26478         * lib/quotearg.c (mbstate_t): Don't define here.
26479
26480 2000-07-02  Jim Meyering  <meyering@lucent.com>
26481
26482         * lib/nanosleep.c (SIGCONT): Define if not already defined.
26483
26484 2000-07-01  Jim Meyering  <meyering@lucent.com>
26485
26486         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
26487
26488 2000-07-01  Jim Meyering  <meyering@lucent.com>
26489
26490         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
26491         problem.
26492
26493 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
26494
26495         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
26496         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
26497
26498 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
26499
26500         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
26501         per change in ../m4/ls-mntd-fs.m4.
26502         (read_filesystem_list): Ignore symbolic links.
26503
26504 2000-06-29  Jim Meyering  <meyering@lucent.com>
26505
26506         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
26507         for declaration of strcmp.
26508
26509         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
26510
26511         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
26512         Avoid warning by casting result to `char *' to remove `const'.
26513
26514 2000-06-28  Jim Meyering  <meyering@lucent.com>
26515
26516         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
26517         included by quotearg.c, for which we perform this test.  From
26518         Bruno Haible.
26519
26520 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
26521
26522         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
26523         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
26524         <utmpx.h> exists, put readutmp.o into LIBOBJS.
26525
26526 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
26527
26528         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
26529
26530 2000-06-26  Paul Eggert  <eggert@twinsun.com>
26531
26532         savedir now sets errno on failure and invokes xmalloc to get memory.
26533         Fix a couple of other minor bugs while we're at it.
26534
26535         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
26536         (NAMLEN): Remove macro.
26537         (malloc, realloc): Remove decls.
26538         (stpcpy): Likewise.
26539         ("xalloc.h"): Include.
26540         (NAME_SIZE_DEFAULT): New macro.
26541         (savedir): Use xmalloc / xrealloc to allocate memory.
26542         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
26543         Skip "" directory entries.
26544         Use strlen to calculate directory entry length, since the old method
26545         is rarely used these days and isn't worth supporting.
26546         Don't use a pointer after freeing it.
26547         Check for integer overflow when calculating allocation size.
26548         Use memcpy to copy entries, instead of stpcpy.
26549         Set errno properly when returning NULL.
26550         Check for readdir error.
26551
26552 2000-06-26  Jim Meyering  <meyering@lucent.com>
26553
26554         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
26555
26556 2000-06-25  Jim Meyering  <meyering@lucent.com>
26557
26558         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
26559         Linux header bug when _XOPEN_SOURCE is defined to 500.
26560
26561 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
26562
26563         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
26564         deficiency.
26565
26566 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
26567
26568         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
26569         Include xalloc.h.
26570         Don't include <stdlib.h>.  Don't declare malloc, realloc.
26571
26572 2000-06-24  Jim Meyering  <meyering@lucent.com>
26573
26574         * m4/strerror_r.m4: Revive this file -- to try out an experimental
26575         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
26576         for which strerror does return char*, but which lacks a conveniently
26577         accessible declaration of the function.  If the compile-test says
26578         strerror_r doesn't work, then resort to a `run'-test that works on
26579         BeOS and segfaults on DEC Unix.
26580
26581 2000-06-24  Jim Meyering  <meyering@lucent.com>
26582
26583         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
26584
26585 2000-06-23  Paul Eggert  <eggert@twinsun.com>
26586
26587         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
26588         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
26589
26590 2000-06-23  Paul Eggert  <eggert@twinsun.com>
26591
26592         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
26593         (mbrtowc, mbstate_t): Define substitutes if
26594         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
26595         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
26596         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
26597
26598 2000-06-23  Jim Meyering  <meyering@lucent.com>
26599
26600         * m4/afs.m4: Add missing AC_MSG_RESULT.
26601         Reported by Bruno Haible.
26602
26603         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
26604         Suggestion from Bruno Haible.
26605
26606 2000-06-23  Jim Meyering  <meyering@lucent.com>
26607
26608         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
26609
26610 2000-06-21  Jim Meyering  <meyering@lucent.com>
26611
26612         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
26613
26614 2000-06-21  Jim Meyering  <meyering@lucent.com>
26615
26616         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
26617         (noinst_HEADERS): Add getstr.h.
26618
26619         * lib/getline.c (getstr): Move into a separate file.
26620         * lib/getstr.c (getstr): New file, extracted from getline.c, with
26621         the following changes: new parameter, delim2; both delim[12]
26622         parameters have type `int', not `char'.  The latter would lose
26623         with 8-bit delimiters.
26624         * lib/getstr.h: New file.
26625
26626 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26627
26628         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
26629         than 1024, return a memory chunk of least possible size, instead
26630         of size PATH_MAX + 2. In the loop, increment the size proportionally.
26631         Use free/xmalloc instead of xrealloc to avoid copying for very long
26632         paths.
26633
26634 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26635
26636         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
26637         the empty string.
26638
26639 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26640
26641         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
26642         address, not strdup.  Include <stdlib.h> and don't declare free().
26643
26644 2000-06-19  Jim Meyering  <meyering@lucent.com>
26645
26646         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
26647
26648 2000-06-18  Jim Meyering  <meyering@lucent.com>
26649
26650         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
26651
26652         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
26653         `checking whether...' message to be consistent with that of the
26654         lstat test.
26655
26656 2000-06-18  Jim Meyering  <meyering@lucent.com>
26657
26658         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
26659         Besides, these days every porting target provides a mkdir function.
26660
26661         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
26662         needed. (this snippet comes from src/system.h).
26663
26664 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
26665
26666         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
26667
26668 2000-06-15  Paul Eggert  <eggert@twinsun.com>
26669
26670         * lib/human.c (adjust_value): New function.
26671         (human_readable_inexact): Apply rounding style even when
26672         printing approximate values.
26673
26674 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26675
26676         * lib/human.c (human_readable_inexact): Allow an input block
26677         size that is not a multiple of the output block size, and vice versa.
26678         Reported by Piergiorgio Sartor.
26679
26680 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26681
26682         * lib/getdate.y (get_date): Apply relative times after time
26683         zone indicator, not before.  Reported by Todd A. Jacobs.
26684
26685 2000-06-13  Jim Meyering  <meyering@lucent.com>
26686
26687         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
26688
26689         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
26690
26691 2000-06-12  Paul Eggert  <eggert@twinsun.com>
26692
26693         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
26694
26695 2000-06-12  Jim Meyering  <meyering@lucent.com>
26696
26697         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
26698         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
26699         optional argument.
26700         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
26701         the optional argument, `lib'.
26702
26703 2000-06-08  Jim Meyering  <meyering@lucent.com>
26704
26705         * m4/largefile.m4: Remove file (now that it's part of autoconf).
26706
26707 2000-06-04  Paul Eggert  <eggert@twinsun.com>
26708
26709         Rewrite largefile configuration so that we don't need to run
26710         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
26711         AC_CANONICAL_HOST in configure.in -- jmm]
26712
26713         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
26714         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
26715         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
26716         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
26717         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
26718         All uses changed.
26719         Instead of inspecting the output of getconf, try to compile the
26720         test program without and with the macro definition.
26721         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
26722         for getconf.  Instead, check for the needed flags by compiling
26723         test programs.
26724
26725 2000-06-04  Paul Eggert  <eggert@twinsun.com>
26726
26727         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
26728
26729 2000-06-04  Jim Meyering  <meyering@lucent.com>
26730
26731         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
26732         SunOS 4.1.4 for which gid_t is an unsigned type.
26733
26734 2000-06-03  Jim Meyering  <meyering@lucent.com>
26735
26736         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
26737         now that autoconf requires that.
26738
26739         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
26740         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
26741         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
26742
26743 2000-06-03  Jim Meyering  <meyering@lucent.com>
26744
26745         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
26746
26747 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
26748
26749         * m4/glibc21.m4: New file.
26750         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
26751
26752 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
26753
26754         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
26755         newer, don't install charset.alias.
26756         * lib/config.charset: Change the Linux/glibc rules so they become empty
26757         on glibc-2.1 or newer.
26758
26759 2000-06-02  Jim Meyering  <meyering@lucent.com>
26760
26761         * lib/mountlist.c: Back out last change.  Instead, do this...
26762         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
26763         me_dummy member using the same `ignore'-testing code.
26764         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
26765         fs_type strings.
26766         From Mark D. Roth.
26767
26768 2000-05-29  Jim Meyering  <meyering@lucent.com>
26769
26770         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
26771         mounts with the `ignore' attribute.  Based on a patch from
26772         Mark D. Roth.
26773
26774 2000-05-28  Jim Meyering  <meyering@lucent.com>
26775
26776         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
26777         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
26778         * m4/stat.m4: Likewise.
26779         * m4/lstat.m4: Likewise.
26780         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
26781
26782         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
26783         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
26784
26785 2000-05-26  Jim Meyering  <meyering@lucent.com>
26786
26787         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
26788
26789 2000-05-24  Jim Meyering  <meyering@lucent.com>
26790
26791         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
26792         autoconf requires that.
26793         * m4/lib-check.m4: Likewise.
26794         * m4/jm-macros.m4: Likewise.
26795         * m4/strftime.m4: Likewise.
26796
26797         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
26798         AC_CHECK_DECLS, now that autoconf requires that.
26799
26800 2000-05-22  Jim Meyering  <meyering@lucent.com>
26801
26802         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
26803         * m4/lstat.m4: Likewise.
26804
26805 2000-05-22  Jim Meyering  <meyering@lucent.com>
26806
26807         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
26808
26809 2000-05-20  Jim Meyering  <meyering@lucent.com>
26810
26811         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
26812         (jm_PREREQ): Use it.
26813
26814 2000-05-18  Jim Meyering  <meyering@lucent.com>
26815
26816         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
26817         back, too, since it may have been modified by allocate_entry.
26818         (hash_delete): Rewrite to use neither the assignment operator
26819         nor the comma operator in an if-expression.
26820
26821 2000-05-15  Paul Eggert  <eggert@twinsun.com>
26822
26823         * lib/closeout.c:
26824         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
26825         Remove; no longer needed.
26826         "quotearg.h": Add include.
26827         (file_name): Do not bother to explicitly initialize to NULL; it's less
26828         efficient on some hosts.
26829         (close_stdout_status): Remove test as to whether stdout was already
26830         closed; it breaks for the case "echo x | sort >&-".
26831         Quote file name colons.
26832         Do not assume that _("write error") lacks format strings.
26833
26834 2000-05-15  Jim Meyering  <meyering@lucent.com>
26835
26836         * lib/version-etc.c (version_etc_copyright): Update the copyright
26837         string used in all --version output.
26838
26839 2000-05-14  Jim Meyering  <meyering@lucent.com>
26840
26841         * lib/closeout.c (close_stdout_set_file_name): New function.
26842         (close_stdout_status): Use new file-scoped global.
26843         Return right away if fstat says the stdout file descriptor is invalid.
26844         * lib/closeout.h (close_stdout_set_file_name): Declare.
26845
26846 2000-05-10  Jim Meyering  <meyering@lucent.com>
26847
26848         * lib/closeout.c [default_exit_status]: New file-scoped variable.
26849         (close_stdout_set_status): New function.
26850         * lib/closeout.h (close_stdout_set_status): Declare.
26851
26852 2000-05-09  Jim Meyering  <meyering@lucent.com>
26853
26854         * m4/gettext.m4: Rename this...
26855         * m4/libintl.m4: ...to this.
26856
26857 2000-05-08  Jim Meyering  <meyering@lucent.com>
26858
26859         * lib/long-options.c: Don't include closeout.h.
26860         (parse_long_options): Don't call close_stdout for --version.
26861
26862 2000-05-06  Paul Eggert  <eggert@twinsun.com>
26863
26864         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
26865         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
26866         2.1.3 bug.  This avoids a clash when files like regex.c define
26867         _GNU_SOURCE.
26868
26869 2000-05-06  Jim Meyering  <meyering@lucent.com>
26870
26871         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
26872         (AC_REPLACE_FUNCS): Add strnlen.
26873
26874         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
26875         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
26876
26877         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
26878         AC_SEARCH_LIBS call for nanosleep.
26879         (LIB_NANOSLEEP): Set and AC_SUBST.
26880
26881 2000-05-06  Jim Meyering  <meyering@lucent.com>
26882
26883         * lib/strnlen.c: Undefine __strnlen and strnlen.
26884         [!weak_alias]: Define __strnlen to strnlen.
26885
26886         * lib/atexit.c: New file, from libiberty.
26887
26888 2000-05-06  Jim Meyering  <meyering@lucent.com>
26889
26890         * lib/closeout.c (close_stdout_status): Also check for errors on the
26891         stderr stream.
26892
26893 2000-05-05  Jim Meyering  <meyering@lucent.com>
26894
26895         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
26896         AC_SEARCH_LIBS call for clock_gettime.
26897         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
26898
26899         * m4/search-libs.m4: Update from autoconf.
26900
26901         su doesn't work on Solaris 2.6.
26902         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
26903         <shadow.h>.  Reported by Dragos Harabor.
26904
26905 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
26906
26907         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
26908         memcpy instead of xmalloc, xrealloc, path_concat.
26909         (locale_charset): Treat empty environment variables as absent.
26910         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
26911
26912 2000-05-04  Jim Meyering  <meyering@lucent.com>
26913
26914         * lib/getopt.c: Update from glibc.
26915         * lib/obstack.c: Likewise.
26916         * lib/obstack.h: Likewise.
26917         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
26918         file
26919
26920         * lib/regex.h: Likewise.
26921         * lib/strndup.c: Likewise.
26922         * lib/strnlen.c: New file, from glibc.
26923
26924 2000-05-03  Jim Meyering  <meyering@lucent.com>
26925
26926         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
26927
26928 2000-05-02  Paul Eggert  <eggert@twinsun.com>
26929
26930         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
26931         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
26932         compile-time test, rather than inspecting host and OS, to
26933         decide whether to define _LARGEFILE_SOURCE.
26934
26935 2000-05-01  Jim Meyering  <meyering@lucent.com>
26936
26937         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
26938
26939         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
26940         Based on a patch from Bruno Haible.
26941
26942 2000-05-01  Jim Meyering  <meyering@lucent.com>
26943
26944         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
26945
26946 2000-04-29  Jim Meyering  <meyering@lucent.com>
26947
26948         * lib/path-concat.c: Declare strdup only if it's not defined.
26949         * lib/canon-host.c: Likewise.
26950
26951 2000-04-28  Jim Meyering  <meyering@lucent.com>
26952
26953         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
26954         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
26955         is included first, then limits.h is included by locale.h by libintl.h.
26956         From John David Anglin.
26957
26958 2000-04-25  Jim Meyering  <meyering@lucent.com>
26959
26960         * lib/makepath.c (S_IRWXUGO): Define.
26961         (make_path): Always perform explicit chmod if MODE specifies any
26962         of the `special' permission bits.  Prompted by a bug report against
26963         install from Mate Wierdl and Joost van Baal.
26964
26965 2000-04-18  Jim Meyering  <meyering@lucent.com>
26966
26967         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
26968         (jm_PREREQ): Use it.
26969
26970 2000-04-18  Jim Meyering  <meyering@lucent.com>
26971
26972         * lib/README: New file.
26973
26974         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
26975         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
26976
26977 2000-04-17  Jim Meyering  <meyering@lucent.com>
26978
26979         Get it right :-)
26980         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
26981         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
26982         Suggestion from Akim Demaille.
26983
26984 2000-04-17  Jim Meyering  <meyering@lucent.com>
26985
26986         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
26987         the definition of it to rpl_strftime also defined-away the system's
26988         declaration.
26989
26990 2000-04-15  Jim Meyering  <meyering@lucent.com>
26991
26992         Use `C' to denote so-called `contiguous' files, the same way
26993         that tar does.
26994         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
26995         (ftypelet): Use S_ISCTG.
26996         From Michael Deutschmann.
26997
26998 2000-04-14  Jim Meyering  <meyering@lucent.com>
26999
27000         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
27001         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
27002         clobbered.
27003
27004 2000-04-14  Jim Meyering  <meyering@lucent.com>
27005
27006         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
27007
27008 2000-04-13  Jim Meyering  <meyering@lucent.com>
27009
27010         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
27011         AH_VERBATIM to insert required #ifndef into config.h.in.
27012         Suggestion from Akim Demaille.
27013
27014 2000-04-12  Jim Meyering  <meyering@lucent.com>
27015
27016         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
27017         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
27018         Christian Krackowizer.
27019
27020         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
27021         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
27022         (AC_SYS_LARGEFILE): Require.
27023         (AM_C_PROTOTYPES): Require.
27024
27025 2000-04-08  Jim Meyering  <meyering@lucent.com>
27026
27027         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
27028         names don't conflict.  Reported by Eli Zaretskii.
27029
27030 2000-04-07  Jim Meyering  <meyering@lucent.com>
27031
27032         * lib/putenv.c: Move inclusion of errno.h so it follows that of
27033         sys/types.h, to work around system header problems on AIX 3.2.5.
27034         From Bruno Haible.
27035
27036 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
27037
27038         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
27039         bug.  Deal with the different error behavior of Irix iconv.
27040
27041 2000-04-05  Paul Eggert  <eggert@twinsun.com>
27042
27043         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
27044         IRIX if the installer said otherwise.
27045
27046 2000-04-05  Jim Meyering  <meyering@lucent.com>
27047
27048         Portability tweaks required for ultrix4.3.
27049         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
27050         (jm_CHECK_DECLS): Add getutent to the list of functions.
27051         (_jm_DECL_HEADERS): Add utmpx.h.
27052         From John David Anglin.
27053
27054         * m4/strftime.m4: Back out the 2000-04-02 change.
27055         Instead of that change, simply undefine putenv in the test program.
27056
27057 2000-04-05  Jim Meyering  <meyering@lucent.com>
27058
27059         Portability tweaks required for ultrix4.3.
27060         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
27061         getutent.
27062         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
27063         * lib/canon-host.c: Declare strdup.
27064         * lib/path-concat.c: Likewise.
27065         From John David Anglin.
27066
27067 2000-04-04  Jim Meyering  <meyering@lucent.com>
27068
27069         Be more DOS 8.3-friendly.
27070         * lib/ref-add.sin: Renamed from ref-add.sed.in.
27071         * lib/ref-del.sin: Renamed from ref-del.sed.in.
27072         * lib/Makefile.am: Reflect renaming.
27073         Reported by Eli Zaretskii.
27074
27075         Use a temporary file name that won't clash with `charset.alias'
27076         in the DOS 8.3 name space.
27077         * lib/Makefile.am (charset_tmp): Define.
27078         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
27079         (uninstall-local): Likewise.
27080         Reported by Eli Zaretskii.
27081
27082 2000-04-03  Jim Meyering  <meyering@lucent.com>
27083
27084         * m4/gettext.m4: Fix typo in comment.
27085
27086         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
27087         textutils/configure.in).  Suggestion from Paul Eggert.
27088         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
27089
27090 2000-04-02  Paul Eggert  <eggert@twinsun.com>
27091
27092         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
27093         variable in the shell rather than using putenv, which isn't
27094         portable.  This avoids the configure-time inter-test dependency
27095         on the potentially-renamed putenv function.
27096
27097 2000-03-30  Paul Eggert  <eggert@twinsun.com>
27098
27099         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
27100         before checking struct stat.st_blksize, so that
27101         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
27102
27103 2000-03-29  Paul Eggert  <eggert@twinsun.com>
27104
27105         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
27106         since strftime.c uses HAVE_STRFTIME to decide whether to use
27107         the underlying strftime.
27108
27109 2000-03-29  Paul Eggert  <eggert@twinsun.com>
27110
27111         * lib/time/strftime.c (my_strftime): Make sure we call the system
27112         strftime, not ourselves, when invoking the underlying strftime.
27113
27114 2000-03-24  Jim Meyering  <meyering@lucent.com>
27115
27116         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
27117         (charset_alias): Define.
27118         (install-exec-local): Factor out common code.
27119         (uninstall-local): Split lines longer than 80.
27120         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
27121         (SUFFIXES): Define.
27122         (.sed.in.sed): New rule.  Don't redirect directly to $@.
27123         (CLEANFILES): Add ref-add.sed and ref-del.sed.
27124
27125 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
27126
27127         * lib/config.charset: Output a line containing "Packages using this
27128         file".
27129         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
27130         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
27131         ref-del.sed): New rules.
27132
27133 2000-03-17  Jim Meyering  <meyering@lucent.com>
27134
27135         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
27136         Otherwise, include <strings.h>
27137
27138 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
27139
27140         * lib/unicodeio.c (utf8_wctomb): New function.
27141         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
27142         format instead of in UCS-4 with platform dependent endianness.
27143
27144 2000-03-10  Jim Meyering  <meyering@lucent.com>
27145
27146         * m4/lib-check.m4: Look for getspnam in -lgen, too.
27147         From Marco Franzen.
27148
27149 2000-03-07  Paul Eggert  <eggert@twinsun.com>
27150
27151         * lib/savedir.c (savedir): Work even if directory size is
27152         negative; this can happen with some screwy NFS configurations.
27153
27154 2000-03-06  Jim Meyering  <meyering@lucent.com>
27155
27156         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
27157         if it's NULL (because we ran out of memory).  From Bruno Haible.
27158
27159 2000-03-05  Jim Meyering  <meyering@lucent.com>
27160
27161         * lib/localcharset.c ("path-concat.h"): Include.
27162         (get_charset_aliases): Use path_concat instead of ANSI string
27163         concatenation.
27164
27165         * lib/unicodeio.h (PARAMS): Define.
27166         Use it to guard prototype.
27167
27168 2000-03-04  Jim Meyering  <meyering@lucent.com>
27169
27170         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
27171         for lib/localcharset.c.
27172
27173 2000-03-04  Jim Meyering  <meyering@lucent.com>
27174
27175         * lib/Makefile.am (install-exec-local): Create $(libdir) before
27176         installing into it.
27177         (uninstall-local): Uncomment this rule so `make distcheck' works
27178         once again.
27179
27180         * lib/unicodeio.c (<errno.h>): Include it.
27181         (errno): Declare if not defined.
27182
27183         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
27184
27185         * lib/config.charset: New version, incorporating remarks from a linux
27186         i18n mailing list.  From Bruno Haible.
27187
27188 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
27189
27190         * m4/codeset.m4: New file.
27191         * m4/iconv.m4: New file.
27192         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
27193
27194 2000-03-03  Jim Meyering  <meyering@lucent.com>
27195
27196         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
27197
27198 2000-03-02  Jim Meyering  <meyering@lucent.com>
27199
27200         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
27201         the messages come out on separate lines.
27202
27203         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
27204         rather than jm_CHECK_DECLARATIONS.
27205         * m4/decl.m4: Remove now-unused file.
27206
27207         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
27208         geteuid.
27209
27210 2000-03-02  Jim Meyering  <meyering@lucent.com>
27211
27212         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
27213
27214 2000-03-01  Jim Meyering  <meyering@lucent.com>
27215
27216         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
27217         * lib/unicodeio.c: Likewise.
27218
27219 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
27220
27221         * lib/config.charset: New file.
27222         * lib/localcharset.c: New file.
27223         * lib/unicodeio.h, lib/unicodeio.c: New files.
27224         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
27225         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
27226         (noinst_HEADERS): Add unicodeio.h.
27227         (all-local, install-exec-local, charset.alias): New targets.
27228
27229 2000-02-28  Paul Eggert  <eggert@twinsun.com>
27230
27231         * lib/quotearg.c (ALERT_CHAR): New macro.
27232         (quotearg_buffer_restyled): Use it.
27233
27234 2000-02-27  Jim Meyering  <meyering@lucent.com>
27235
27236         * m4/check-decl.m4: Add getenv to the list.
27237
27238 2000-02-27  Jim Meyering  <meyering@lucent.com>
27239
27240         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
27241         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
27242
27243         * lib/backupfile.c: Guard inclusion of stdlib.h with
27244         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
27245         Declare malloc if needed.
27246
27247         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
27248         `#ifndef HAVE_DECL..'
27249         now that autoconf always defines the HAVE_DECL_ symbols.
27250         * lib/human.c: Likewise.
27251         * lib/same.c: Likewise.
27252         * lib/strtoumax.c: Likewise.
27253
27254         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
27255         declaration check was not run.
27256         * lib/hash.c: Likewise.
27257         * lib/human.c: Likewise.
27258         * lib/same.c: Likewise.
27259         * lib/strtoumax.c: Likewise.
27260
27261         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
27262         `.', then first look up the entire `.'-containing string as a login
27263         name.
27264
27265 2000-02-23  Jim Meyering  <meyering@lucent.com>
27266
27267         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
27268         in place of my hack.
27269
27270 2000-02-18  Paul Eggert  <eggert@twinsun.com>
27271
27272         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
27273         (textint): New typedef.
27274         (parser_control): Member year changed from int to textint.
27275         All uses changed.
27276         (YYSTYPE): Removed; replaced by %union with int and textint members.
27277         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
27278         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
27279         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
27280         (tSNUMBER, tUNUMBER): Now of type <textintval>.
27281         (date, number, to_year): Use width of number in digits, not its value,
27282         to determine whether it's a 2-digit year, or a 2-digit time.
27283         (yylex): Store number of digits of numeric tokens.
27284         Reported by John Kendall.
27285
27286         (parser_control): Changed from struct parser_control to typedef (for
27287         consistency).  All uses changed.
27288
27289         (tID): Removed; not used.
27290         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
27291
27292 2000-02-14  Paul Eggert  <eggert@twinsun.com>
27293
27294         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
27295         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
27296
27297 2000-02-12  Jim Meyering  <meyering@lucent.com>
27298
27299         * lib/userspec.c (ISDIGIT): Define it.
27300         (isdigit): Remove definition.
27301         (is_number): Use ISDIGIT, not isdigit.
27302         <libintl.h>: Include.
27303         (_ and N_): Define.
27304         (parse_user_spec): Mark translatable strings.
27305
27306 2000-02-10  Jim Meyering  <meyering@lucent.com>
27307
27308         With these changes, nanosleep.[ch] are finally enough like the other
27309         lib/* replacement files to compile on a few more losing systems.
27310
27311         * lib/nanosleep.h: Don't include config.h.
27312         Remove prototype from declaration of nanosleep.
27313         (PARAMS): Remove now-unneeded definition.
27314         * lib/nanosleep.c: #undef nanosleep.
27315         (rpl_nanosleep): Rename from nanosleep.
27316
27317 2000-02-10  Jim Meyering  <meyering@lucent.com>
27318
27319         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
27320         gnu_nanosleep to rpl_nanosleep.
27321
27322 2000-02-09  Jim Meyering  <meyering@lucent.com>
27323
27324         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
27325         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
27326
27327 2000-02-08  Akim Demaille  <akim@epita.fr>
27328
27329         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
27330         `[' and `]' and remove uses of `changequote'.
27331         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
27332         (AC_SYS_LARGEFILE): Likewise.
27333         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
27334         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
27335         of changequote.
27336         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
27337         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
27338         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
27339         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
27340
27341 2000-02-05  Jim Meyering  <meyering@lucent.com>
27342
27343         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
27344         Remove explicit use of AC_HEADER_TIME.  It is required by
27345         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
27346         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
27347         in autoconf whereby the expansion of the latter ended up preceding
27348         the expansion of its prerequisite, AC_HEADER_TIME.
27349         Reported by Volker Borchert.
27350
27351 2000-02-03  Jim Meyering  <meyering@lucent.com>
27352
27353         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
27354
27355 2000-02-03  Jim Meyering  <meyering@lucent.com>
27356
27357         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
27358         rather than with `#if HAVE_UTMPNAME'.
27359
27360 2000-02-02  Jim Meyering  <meyering@lucent.com>
27361
27362         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
27363         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
27364         Reported by Eli Zaretskii.
27365
27366 2000-02-01  Jim Meyering  <meyering@lucent.com>
27367
27368         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
27369
27370 2000-01-31  Jim Meyering  <meyering@lucent.com>
27371
27372         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
27373         functions.  Add the time.h and sys/time.h headers along with the
27374         AC_REQUIRE'ment of AC_HEADER_TIME.
27375
27376 2000-01-31  Jim Meyering  <meyering@lucent.com>
27377
27378         * lib/nanosleep.h (nanosleep): Guard declaration with
27379         `#if ! HAVE_DECL_NANOSLEEP'.
27380         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
27381         the declaration in that vendor's sys/timers.h.
27382         Reported by Christian Krackowizer.
27383
27384         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
27385         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
27386         (ISPRINT): Likewise.
27387         Reported by Tom Tromey.
27388
27389 2000-01-30  Jim Meyering  <meyering@lucent.com>
27390
27391         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
27392
27393         * m4/prereq.m4 (utmp_includes): Define.
27394         Check for ut_user and ut_name members in both struct utmpx
27395         and struct utmp.
27396
27397 2000-01-30  Jim Meyering  <meyering@lucent.com>
27398
27399         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
27400         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
27401         header files where only utmpx.ut_user is declared.
27402
27403         * lib/readutmp.h (UT_USER): Define.
27404
27405 2000-01-29  Jim Meyering  <meyering@lucent.com>
27406
27407         * m4/lib-check.m4: New file containing library-related checks from
27408         fileutils and sh-utils (textutils had none).
27409
27410 2000-01-28  Jim Meyering  <meyering@lucent.com>
27411
27412         * m4/perl.m4: Change format of warning message to look more like that
27413         from the missing script.  Suggestion from François Pinard.
27414
27415 2000-01-25  Jim Meyering  <meyering@lucent.com>
27416
27417         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
27418         well as time.h in the compile check.
27419         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
27420         Fix typo in cross-compiling case: s/yes/no/.
27421
27422 2000-01-23  Jim Meyering  <meyering@lucent.com>
27423
27424         * m4/jm-macros.m4: Move df-related tests here from
27425         fileutils/configure.in
27426
27427         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
27428         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
27429
27430         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
27431         s/space/ac_fsusage_space/.
27432         (jm_FILE_SYSTEM_USAGE): Take two parameters.
27433
27434         * m4/ftruncate.m4: New file (derived from part of
27435         fileutils/configure.in).
27436         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
27437         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
27438
27439         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
27440         AC_SUBST these here, rather than just in sh-util/configure.in, so
27441         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
27442         all the same.
27443         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
27444         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
27445         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
27446         (AC_SUBST(POW_LIBM)): Likewise.
27447         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
27448
27449 2000-01-23  Jim Meyering  <meyering@lucent.com>
27450
27451         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
27452         obstack.c.
27453
27454 2000-01-22  Jim Meyering  <meyering@lucent.com>
27455
27456         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
27457
27458         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
27459
27460         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
27461         configure.in
27462         (AC_CHECK_HEADERS): Likewise for sh-utils.
27463         (AC_CHECK_HEADERS): Likewise for textutils.
27464         Merge the three lists of headers.
27465
27466         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
27467         from fileutils' configure.in.
27468
27469         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
27470         code. Moved tests into their own function (_jm_DECL_HEADERS) in
27471         check-decl.m4.
27472
27473         * m4/check-decl.m4: Use #if rather than #ifdef.
27474         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
27475         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
27476         (_jm_DECL_HEADERS): Define new function.
27477         (jm_CHECK_DECLARATIONS): Require it.
27478
27479 2000-01-22  Jim Meyering  <meyering@lucent.com>
27480
27481         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
27482         [! HAVE_DECL_STRTOULL]: Declare strtoull.
27483         Required for some AIX systems.  Reported by Christian Krackowizer.
27484         [TESTING] (main): New function.
27485
27486         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
27487         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
27488         letters.
27489
27490         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
27491         iswprint.
27492
27493         * lib/strverscmp.c (ISDIGIT): Define.
27494         (strverscmp): Use ISDIGIT, not isdigit.
27495
27496 2000-01-19  Jim Meyering  <meyering@lucent.com>
27497
27498         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
27499         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
27500         defines `struct timespec' in <sys/time.h>
27501
27502         * m4/c-bs-a.m4: Remove uses of changequote altogether.
27503         Thanks to Akim for explaining.
27504
27505 2000-01-17  Paul Eggert  <eggert@twinsun.com>
27506
27507         * lib/nanosleep.c (nanosleep):
27508         Don't use SA_INTERRUPT to decide whether to call sigaction, as
27509         POSIX.1 doesn't require SA_INTERRUPT and some systems
27510         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
27511         it's been part of POSIX.1 since day 1 (in 1988).
27512
27513 2000-01-17  Jim Meyering  <meyering@lucent.com>
27514
27515         * lib/interlock: Remove unused file.  Reported by François Pinard.
27516
27517 2000-01-16  Paul Eggert  <eggert@twinsun.com>
27518
27519         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
27520         alert, backslash, formfeed, and vertical tab unnecessarily in
27521         shell quoting style.
27522
27523 2000-01-16  Jim Meyering  <meyering@lucent.com>
27524
27525         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
27526         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
27527         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
27528         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
27529
27530 2000-01-16  Jim Meyering  <meyering@lucent.com>
27531
27532         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
27533         because the latter didn't work.
27534
27535 2000-01-15  Jim Meyering  <meyering@lucent.com>
27536
27537         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
27538         (AC_REPLACE_FUNCS): Add memcpy and memset.
27539         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
27540         Add strpbrk.
27541         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
27542
27543 2000-01-12  Jim Meyering  <meyering@lucent.com>
27544
27545         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
27546         (jm_PREREQ): Use it.
27547         (jm_PREREQ_READUTMP): New macro.
27548         (jm_PREREQ): Use it.
27549
27550 2000-01-11  Paul Eggert  <eggert@twinsun.com>
27551
27552         Quote multibyte characters correctly.
27553         * m4/c-bs-a.m4: New file.
27554         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
27555         (jm_PREREQ): Use it.
27556
27557 2000-01-11  Paul Eggert  <eggert@twinsun.com>
27558
27559         * m4/uintmax_t.m4: Port to autoconf 2.13.
27560
27561 2000-01-08  Jim Meyering  <meyering@ascend.com>
27562
27563         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
27564         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
27565
27566 2000-01-04  Jim Meyering  <meyering@ascend.com>
27567
27568         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
27569         jm_STRUCT_DIRENT_D_TYPE.
27570         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
27571         jm_STRUCT_DIRENT_D_INO.
27572         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
27573         jm_STRUCT_UTIMBUF.
27574         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
27575         renamings.
27576         * m4/utime.m4: Likewise.
27577
27578         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
27579         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
27580
27581 2000-01-03  Paul Eggert  <eggert@twinsun.com>
27582
27583         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
27584         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
27585
27586 2000-01-02  Jim Meyering  <meyering@ascend.com>
27587
27588         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
27589         remember if this is necessary.
27590
27591 1999-12-26  Jim Meyering  <meyering@ascend.com>
27592
27593         * m4/jm-macros.m4: Use it here.
27594         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
27595
27596 1999-12-23  Jim Meyering  <meyering@ascend.com>
27597
27598         * m4/jm-macros.m4: Check for clock_gettime (moved from
27599         fileutils/configure.in)
27600         Check for gettimeofday.
27601
27602 1999-12-20  Jim Meyering  <meyering@ascend.com>
27603
27604         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
27605         autoconf-2.14a-1999-12-20.
27606
27607 1999-12-19  Jim Meyering  <meyering@ascend.com>
27608
27609         * m4/lstat-slash.m4: New file.
27610         * m4/jm-macros.m4: Use the new macro:
27611         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
27612
27613 1999-12-07  Jim Meyering  <meyering@ascend.com>
27614
27615         * m4/perl.m4: Require that File::Compare be available, too.
27616         Too many systems seem to lack it.
27617
27618         * m4/strftime.m4: Add checks for most of the cpp macros tested in
27619         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
27620
27621 1999-11-18  Paul Eggert  <eggert@twinsun.com>
27622
27623         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
27624         problem with the QNX 4.25 shell, which doesn't propagate exit
27625         status of failed commands inside shell assignments.
27626
27627 1999-11-17  Jim Meyering  <meyering@ascend.com>
27628
27629         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
27630
27631 1999-11-07  Jim Meyering  <meyering@ascend.com>
27632
27633         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
27634
27635 1999-11-06  Jim Meyering  <meyering@ascend.com>
27636
27637         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
27638         * m4/jm-macros.m4 (jm_MACROS): Use it here.
27639
27640 1999-11-05  Jim Meyering  <meyering@ascend.com>
27641
27642         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
27643         configure.in of textutils, fileutils, and sh-utils into this one
27644         (shared between those packages) file.
27645         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
27646         AC_STRUCT_ST_BLKSIZE.
27647
27648 1999-11-03  Jim Meyering  <meyering@ascend.com>
27649
27650         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
27651         of AC_CHECK_TYPE checks includes unistd.h.
27652         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
27653         Suggestion from Akim Demaille.
27654
27655 1999-10-30  Jim Meyering  <meyering@ascend.com>
27656
27657         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
27658         m4-quoted string.
27659         * m4/ls-mntd-fs.m4: Likewise.
27660         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
27661         * m4/jm-winsz1.m4: Likewise.
27662
27663         * m4/const.m4: Remove file, since the fix made it into the experimental
27664         version of autoconf.
27665         * m4/mktime.m4: Likewise.
27666
27667         * m4/check-type.m4: Remove file, now that the latest version of
27668         AC_CHECK_TYPE takes a third arg to specify additional #includes.
27669
27670         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
27671         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
27672         AC_CHECK_TYPE.
27673
27674 1999-10-04  Jim Meyering  <meyering@ascend.com>
27675
27676         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
27677
27678 1999-09-22  Paul Eggert  <eggert@twinsun.com>
27679
27680         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
27681         2.95.1 bug with HP-UX 10.20.
27682
27683 1999-09-17  Jim Meyering  <meyering@ascend.com>
27684
27685         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
27686         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
27687         due to missing strdup (against sh-utils-2.0).
27688
27689 1999-08-29  Jim Meyering  <meyering@ascend.com>
27690
27691         * m4/jm-macros.m4: Require jm_BISON.
27692         * m4/bison.m4: New file.
27693
27694 1999-08-17  Paul Eggert  <eggert@twinsun.com>
27695
27696         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
27697         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
27698
27699 1999-08-05  Jim Meyering  <meyering@ascend.com>
27700
27701         * m4/getline.m4: Rename test file from conftestdata to conftest.data
27702         to avoid conflicts with `conftest' on 8+3 filesystems.
27703         Suggestion from Eli Zaretskii.
27704
27705 1999-08-04  Jim Meyering  <meyering@ascend.com>
27706
27707         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
27708         fileutils and sh-utils (textutils's getline test was inadequate).
27709         (AM_FUNC_GETLINE): Run this test.
27710         (AC_CHECK_FUNCS): Check for getdelim.
27711         Reported by Bob Proulx.
27712
27713 1999-08-02  Jim Meyering  <meyering@ascend.com>
27714
27715         * m4/jm-macros.m4: Add a comment.
27716
27717 1999-08-01  Paul Eggert  <eggert@twinsun.com>
27718
27719         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
27720         <inttypes.h> defines strtoumax as a macro (and not as a
27721         function).
27722
27723 1999-08-01  Paul Eggert  <eggert@twinsun.com>
27724
27725         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
27726         that we can shift, multiply and divide unsigned long long
27727         values; Ultrix cc can't do it.
27728
27729 1999-08-01  Paul Eggert  <eggert@twinsun.com>
27730
27731         * m4/mktime.m4: New file, which is a preview of what should appear
27732         in the next public autoconf release.
27733
27734 1999-08-01  Paul Eggert  <eggert@twinsun.com>
27735
27736         * m4/lfs.m4: Remove this file.
27737         * m4/largefile.m4: New file.  It contains the old contents of
27738         lfs.m4, except that all names with prefix AC_LFS have been
27739         changed to use the prefix AC_SYS_LARGEFILE instead, to be
27740         compatible with future autoconf versions.  Also, some minor m4
27741         quoting problems have been fixed.
27742
27743 1999-08-01  Paul Eggert  <eggert@twinsun.com>
27744
27745         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
27746         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
27747         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
27748         and simplify the shell code.
27749
27750 1999-08-01  Jim Meyering  <meyering@ascend.com>
27751
27752         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
27753         m4.
27754
27755 1999-07-20  Jim Meyering  <meyering@ascend.com>
27756
27757         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
27758
27759 1999-07-15  Jim Meyering  <meyering@ascend.com>
27760
27761         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
27762
27763 1999-05-22  Jim Meyering  <meyering@ascend.com>
27764
27765         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
27766
27767 1999-05-20  Jim Meyering  <meyering@ascend.com>
27768
27769         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
27770         Add a colon after each `then' in case $4 is empty.
27771
27772 1999-05-16  Jim Meyering  <meyering@ascend.com>
27773
27774         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
27775
27776 1999-05-10  Jim Meyering  <meyering@ascend.com>
27777
27778         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
27779
27780         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
27781         AC_FUNC_MKTIME.
27782
27783 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
27784
27785         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
27786
27787 1999-05-04  Paul Eggert  <eggert@twinsun.com>
27788
27789         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
27790         not CPPFLAGS, so that linking works correctly in IRIX.
27791
27792 1999-04-30  Paul Eggert  <eggert@twinsun.com>
27793
27794         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
27795
27796 1999-04-20  Paul Eggert  <eggert@twinsun.com>
27797
27798         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
27799         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
27800         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
27801         jm_AC_TYPE_UNSIGNED_LONG_LONG.
27802         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
27803
27804         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
27805
27806 1999-04-20  Jim Meyering  <meyering@ascend.com>
27807
27808         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
27809         AC_REPLACE xstroull if necessary.  From Paul Eggert.
27810         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
27811
27812 1999-04-18  Jim Meyering  <meyering@ascend.com>
27813
27814         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
27815         * m4/jm-macros.m4: Use it.
27816
27817 1999-04-06  Jim Meyering  <meyering@ascend.com>
27818
27819         * m4/strftime.m4: Remove test for %f.
27820
27821 1999-03-29  Jim Meyering  <meyering@ascend.com>
27822
27823         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
27824         superset of the AC_TYPE_* checks in the textutils, fileutils,
27825         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
27826         AC_TYPE_PID_T.
27827
27828 1999-03-28  Jim Meyering  <meyering@ascend.com>
27829
27830         * m4/jm-macros.m4: Define GNU_PACKAGE here.
27831         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
27832         replaced e.g., in the *.sh files of the sh-utils.
27833
27834 1999-03-20  Jim Meyering  <meyering@ascend.com>
27835
27836         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
27837         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
27838         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
27839
27840 1999-03-19  Jim Meyering  <meyering@ascend.com>
27841
27842         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
27843
27844 1999-03-12  Jim Meyering  <meyering@ascend.com>
27845
27846         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
27847
27848 1999-03-07  Jim Meyering  <meyering@ascend.com>
27849
27850         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
27851         declared.
27852
27853 1999-02-17  Jim Meyering  <meyering@ascend.com>
27854
27855         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
27856         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
27857
27858 1999-02-07  Jim Meyering  <meyering@ascend.com>
27859
27860         * m4/group-member.m4: New file -- extracted from sh-utils'
27861         configure.in.
27862
27863         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
27864         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
27865
27866 1999-02-06  Jim Meyering  <meyering@ascend.com>
27867
27868         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
27869         * m4/fnmatch.m4: Likewise.
27870         * m4/getgroups.m4: Likewise.
27871         * m4/lstat.m4: Likewise.
27872         * m4/malloc.m4: Likewise.
27873         * m4/putenv.m4: Likewise.
27874         * m4/realloc.m4: Likewise.
27875         * m4/regex.m4: Likewise.
27876         * m4/stat.m4: Likewise.
27877         * m4/strftime.m4: Likewise.
27878         Suggestion from Alain Magloire.
27879
27880         * m4/chown.m4: Use `.$ac_objext', not `.o'.
27881         * m4/fnmatch.m4: Likewise.
27882         * m4/getgroups.m4: Likewise.
27883         * m4/getline.m4: Likewise.
27884         * m4/lstat.m4: Likewise.
27885         * m4/malloc.m4: Likewise.
27886         * m4/memcmp.m4: Likewise.
27887         * m4/putenv.m4: Likewise.
27888         * m4/realloc.m4: Likewise.
27889         * m4/regex.m4: Likewise.
27890         * m4/stat.m4: Likewise.
27891         * m4/strftime.m4: Likewise.
27892         Suggestion from Alain Magloire.
27893
27894         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
27895         an argument.
27896
27897         * m4/regex.m4: Add a run-time Test for proper operation of
27898         re_compile_pattern.
27899
27900 1999-01-31  Jim Meyering  <meyering@ascend.com>
27901
27902         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
27903
27904 1999-01-30  Jim Meyering  <meyering@ascend.com>
27905
27906         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
27907
27908         * m4/jm-mktime.m4: Make this a wrapper around the official
27909         AM_FUNC_MKTIME rather than my private copy, now that the official one
27910         is up to date.
27911         * m4/mktime.m4: Remove file.
27912
27913         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
27914         * m4/uptime.m4: Likewise.
27915         * m4/uintmax_t.m4: Likewise.
27916
27917 1999-01-28  Jim Meyering  <meyering@ascend.com>
27918
27919         * m4/jm-macros.m4: Use jm_AFS.
27920         * m4/afs.m4: New file (from fileutils' configure.in).
27921
27922         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
27923         * m4/chown.m4: Likewise.
27924         * m4/d-ino.m4: Likewise.
27925         * m4/d-type.m4: Likewise.
27926         * m4/fnmatch.m4: Likewise.
27927         * m4/getgroups.m4: Likewise.
27928         * m4/gettext.m4: Likewise.
27929         * m4/jm-mktime.m4: Likewise.
27930         * m4/jm-winsz2.m4: Likewise.
27931         * m4/lcmessage.m4: Likewise.
27932         * m4/ls-mntd-fs.m4: Likewise.
27933         * m4/malloc.m4: Likewise.
27934         * m4/memcmp.m4: Likewise.
27935         * m4/putenv.m4: Likewise.
27936         * m4/realloc.m4: Likewise.
27937         * m4/st_mtim.m4: Likewise.
27938         * m4/strftime.m4: Likewise.
27939
27940 1999-01-16  Jim Meyering  <meyering@ascend.com>
27941
27942         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
27943         (ARGMATCH_DIE_DECL): Define.
27944
27945 1999-01-12  Jim Meyering  <meyering@ascend.com>
27946
27947         * m4/Makefile.am.in: Rewrite to avoid using fmt.
27948         Reported by Lars Hecking.
27949
27950 1999-01-10  Jim Meyering  <meyering@ascend.com>
27951
27952         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
27953         gross kludge.
27954         * m4/inttypes_h.m4: Likewise.
27955         * m4/lstat.m4: Likewise.
27956         * m4/malloc.m4: Likewise.
27957         * m4/readdir.m4: Likewise.
27958         * m4/realloc.m4: Likewise.
27959         * m4/st_dm_mode.m4: Likewise.
27960         * m4/stat.m4: Likewise.
27961         * m4/utimbuf.m4: Likewise.
27962         * m4/utimes.m4: Likewise.
27963
27964         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
27965         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
27966         comments in config.h.in are meaningful.
27967
27968         * m4/jm-macros.m4: Require autoconf-2.13 here.
27969
27970         * m4/regex.m4: By default, don't use the included regex.c on systems
27971         with glibc 2.  Suggestion from Uli Drepper.
27972
27973 1999-01-02  Jim Meyering  <meyering@ascend.com>
27974
27975         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
27976
27977 1998-12-18  Jim Meyering  <meyering@ascend.com>
27978
27979         * m4/Makefile.am.in (Makefile.am): Simplify rule.
27980         Based on a suggestion from Lars Hecking.
27981
27982 1998-11-16  Paul Eggert  <eggert@twinsun.com>
27983
27984         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
27985
27986 1998-11-16  Jim Meyering  <meyering@ascend.com>
27987
27988         * m4/lfs.m4: Double-quote the `uname...` expression.
27989
27990 1998-11-14  Jim Meyering  <meyering@ascend.com>
27991
27992         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
27993         * m4/stat.m4: Likewise.
27994
27995 1998-11-03  Jim Meyering  <meyering@ascend.com>
27996
27997         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
27998         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
27999
28000 1998-10-18  Jim Meyering  <meyering@ascend.com>
28001
28002         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
28003
28004 1998-10-17  Jim Meyering  <meyering@ascend.com>
28005
28006         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
28007         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
28008         calls for those previously hard-coded headers.  Instead, take a new
28009         parameter.
28010         (jm_CHECK_DECLARATIONS): Reflect interface change.
28011         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
28012         (jm_CHECK_DECL_LOCALTIME_R): New macro.
28013
28014         * m4/mktime.m4: Test for spring-forward gap before long-running test.
28015
28016 1998-10-14  Jim Meyering  <meyering@ascend.com>
28017
28018         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
28019         instead of "TZ=America/Vancouver".  From Paul Eggert.
28020
28021 1998-10-11  Jim Meyering  <meyering@ascend.com>
28022
28023         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
28024         This adds a test for a recently added compatibility fix for mktime.c.
28025         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
28026
28027 1998-09-27  Jim Meyering  <meyering@ascend.com>
28028
28029         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
28030
28031         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
28032         ../configure.in, including a change from Gordon Matzigkeit to allow
28033         cross-compiling for the Hurd.
28034
28035         * m4/glibc.m4: New file/macro to test for the GNU C Library
28036         versions 1 and 2.  From Gordon Matzigkeit.
28037         Indent.
28038
28039 1998-09-21  Jim Meyering  <meyering@ascend.com>
28040
28041         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
28042
28043 1998-08-18  Paul Eggert  <eggert@twinsun.com>
28044
28045         Port nanosecond-resolution times to UnixWare 2.1.2 and
28046         pedantic Solaris 2.6.
28047
28048         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
28049         AC_STRUCT_ST_MTIM.
28050         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
28051         Generate name of ns member, instead of just 1 or undef.
28052         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
28053
28054 1998-08-15  Jim Meyering  <meyering@ascend.com>
28055
28056         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
28057         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
28058         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
28059         instead of jm_TYPE_SSIZE_T.
28060
28061 1998-08-12  Jim Meyering  <meyering@ascend.com>
28062
28063         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
28064
28065 1998-08-02  Jim Meyering  <meyering@ascend.com>
28066
28067         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
28068         in acconfig.h manually.
28069
28070 1998-07-31  Paul Eggert  <eggert@twinsun.com>
28071
28072         * m4/st_mtim.m4: New file.
28073
28074 1998-07-28  Jim Meyering  <meyering@ascend.com>
28075
28076         * m4/utimes.m4: Undef stat.
28077
28078 1998-07-25  Jim Meyering  <meyering@ascend.com>
28079
28080         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
28081         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
28082
28083 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
28084
28085         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
28086         uid and gid actually remain unchanged.
28087
28088 1998-07-07  Jim Meyering  <meyering@ascend.com>
28089
28090         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
28091
28092 1998-07-04  Jim Meyering  <meyering@ascend.com>
28093
28094         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
28095         to prove that this macro can be used in packages without regex.c.
28096
28097 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
28098
28099         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
28100         is to be used.
28101
28102 1998-07-03  Jim Meyering  <meyering@ascend.com>
28103
28104         * m4/gettext.m4: Add -lintl if it's found to be necessary.
28105
28106         * m4/gettext.m4: New file -- from gettext-0.10.35.
28107         * m4/lcmessage.m4: Likewise.
28108         * m4/progtest.m4: Likewise.
28109
28110         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
28111         * m4/jm-macros.m4: Require the new macro.
28112
28113 1998-06-29  Jim Meyering  <meyering@ascend.com>
28114
28115         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
28116         for the definition of NGROUPS (used in a system header included
28117         by sys/mount.h).
28118
28119 1998-06-28  Jim Meyering  <meyering@ascend.com>
28120
28121         * m4/ls-mntd-fs.m4: New file.
28122         * m4/fstypename.m4: New file.
28123
28124         * m4/jm-macros.m4: Require the new macro.
28125         * m4/jm-glibc-io.m4: New file.
28126
28127 1998-05-19  Jim Meyering  <meyering@ascend.com>
28128
28129         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
28130         * m4/lchown.m4: New file.
28131
28132         * m4/Makefile.am.in: New file.
28133         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
28134
28135 1998-05-14  Jim Meyering  <meyering@ascend.com>
28136
28137         * m4/Makefile.am (EXTRA_DIST): Add them.
28138         * m4/jm-macros.m4: New file.
28139         * m4/utimbuf.m4: New file.
28140
28141 1998-05-12  Jim Meyering  <meyering@ascend.com>
28142
28143         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
28144
28145 1998-05-11  Jim Meyering  <meyering@ascend.com>
28146
28147         * m4/isc-posix.m4: New file.
28148
28149 1998-05-10  Jim Meyering  <meyering@ascend.com>
28150
28151         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
28152
28153 1998-05-09  Jim Meyering  <meyering@ascend.com>
28154
28155         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
28156         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
28157         with automake.
28158
28159         * m4/ssize_t.m4: New file.
28160         * m4/mktime.m4: Remove file -- the new automake has this now.
28161
28162 1998-04-26  Jim Meyering  <meyering@ascend.com>
28163
28164         * m4/assert.m4: New file.
28165         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
28166
28167 1998-04-05  Jim Meyering  <meyering@ascend.com>
28168
28169         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
28170         (jm_PREREQ): Use it here.
28171
28172 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
28173
28174         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
28175         in acconfig.h.
28176
28177 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
28178
28179         * m4/prereq.m4: New file.
28180         * m4/error.m4: New file.
28181         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
28182
28183 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
28184
28185         * m4/getline.m4: Don't set am_cv_func_working_getline before the
28186         cache-check for the same variable -- that defeated the purpose of
28187         the test; the test program was never run.  This was a problem only
28188         on systems with losing getline functions -- HP-UX 10.20 is one.
28189         Reported by Bjorn Helgaas.
28190
28191 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
28192
28193         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
28194
28195 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
28196
28197         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
28198
28199         * m4/const.m4: New file.  Use an initializer in this declaration
28200         typedef int charset[2]; const charset x;
28201         Reported by Bob Glickstein.
28202
28203 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
28204
28205         * m4/chown.m4: Fix reversed types on -1 args to chown.
28206         From Kaveh Ghazi.
28207
28208 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
28209
28210         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
28211         Add lseek and memchr.
28212
28213         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
28214         T.E.Dickey <dickey@clark.net> said that some older preprocessors
28215         have a 20-character limit on names.
28216
28217 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
28218
28219         * m4/inttypes_h.m4: New file.
28220         * m4/uintmax_t.m4: New file.
28221         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
28222
28223 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
28224   Free Software Foundation, Inc.
28225 Copying and distribution of this file, with or without modification,
28226 are permitted provided the copyright notice and this notice are preserved.