Use 'case' statements instead of 'expr' invocations.
[gnulib.git] / ChangeLog
1 2007-03-08  Bruno Haible  <bruno@clisp.org>
2
3         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
4         instead of 'expr' invocations.
5         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
7         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
8         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
9         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
10         Suggested by Paul Eggert.
11
12 2007-03-08  Bruno Haible  <bruno@clisp.org>
13
14         * modules/fseterr-tests: New file.
15         * tests/test-fseterr.c: New file.
16
17         * modules/fseterr: New file.
18         * lib/fseterr.h: New file.
19         * lib/fseterr.c: New file.
20
21 2007-03-08  Bruno Haible  <bruno@clisp.org>
22
23         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
24         * lib/getopt_.h: Likewise.
25         * lib/mbswidth.h: Likewise.
26         * lib/setenv.h: Likewise.
27         * lib/vasnprintf.h: Likewise.
28         * lib/vasprintf.h: Likewise.
29         * lib/verror.h: Likewise.
30         * lib/xsetenv.h: Likewise.
31         * lib/xvasprintf.h: Likewise.
32
33 2007-03-08  Jim Meyering  <jim@meyering.net>
34
35         * users.txt: Add parted.
36
37         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
38
39 2007-03-07  Bruno Haible  <bruno@clisp.org>
40
41         * m4/printf.m4: Make the shell script snippets copy&pastable.
42
43 2007-03-02  Bruno Haible  <bruno@clisp.org>
44
45         * lib/netinet_in_.h: New file.
46         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
47         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
48         * modules/netinet_in (Files): Add lib/netinet_in_.h.
49         (Depends-on): Add absolute-header.
50         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
51         into netinet/in.h.
52
53 2007-03-03  Bruno Haible  <bruno@clisp.org>
54
55         * lib/sys_select_.h: New file.
56         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
57         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
58         * modules/sys_select (Files): Add lib/sys_select_.h.
59         (Depends-on): Add absolute-header.
60         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61         into sys/select.h.
62
63 2007-03-02  Bruno Haible  <bruno@clisp.org>
64
65         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
66         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
67         values.
68         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
69         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
70         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
71         * modules/sys_socket (Depends-on): Add absolute-header.
72         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
73         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
74         (Include): Remove requirement of inclusion of <sys/types.h>.
75
76 2007-03-02  Bruno Haible  <bruno@clisp.org>
77
78         * lib/byteswap_.h (bswap_32): Fix formula.
79
80 2007-03-06  Bruno Haible  <bruno@clisp.org>
81
82         * modules/sprintf-posix-tests: New file.
83         * tests/test-sprintf-posix.c: New file.
84
85         * modules/sprintf-posix: New file.
86         * lib/sprintf.c: New file.
87         * m4/sprintf-posix.m4: New file.
88         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
89         REPLACE_SPRINTF.
90         * lib/stdio_.h (sprintf): New declaration.
91         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
92         REPLACE_SPRINTF.
93
94 2007-03-06  Bruno Haible  <bruno@clisp.org>
95
96         * modules/vsprintf-posix-tests: New file.
97         * tests/test-vsprintf-posix.c: New file.
98         * tests/test-sprintf-posix.h: New file.
99
100         * modules/vsprintf-posix: New file.
101         * lib/vsprintf.c: New file.
102         * m4/vsprintf-posix.m4: New file.
103         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
104         REPLACE_VSPRINTF.
105         * lib/stdio_.h (vsprintf): New declaration.
106         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
107         REPLACE_VSPRINTF.
108
109 2007-03-06  Bruno Haible  <bruno@clisp.org>
110
111         * modules/vsnprintf (Depend-on): Remove minmax.
112
113 2007-03-06  Bruno Haible  <bruno@clisp.org>
114
115         * modules/snprintf-posix-tests: New file.
116         * tests/test-snprintf-posix.c: New file.
117
118         * modules/snprintf-posix: New file.
119         * m4/snprintf-posix.m4: New file.
120         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
121         gl_FUNC_SNPRINTF.
122         (gl_FUNC_SNPRINTF): Invoke it.
123         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
124         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
125         is set.
126         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
127
128 2007-03-06  Bruno Haible  <bruno@clisp.org>
129
130         * modules/vsnprintf-posix-tests: New file.
131         * tests/test-vsnprintf-posix.c: New file.
132         * tests/test-snprintf-posix.h: New file.
133
134         * modules/vsnprintf-posix: New file.
135         * m4/vsnprintf-posix.m4: New file.
136         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
137         gl_FUNC_VSNPRINTF.
138         (gl_FUNC_VSNPRINTF): Invoke it.
139         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
140         * lib/stdio_.h (vsnprintf): Define as a replacement if
141         REPLACE_VSNPRINTF is set.
142         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
143
144 2007-03-06  Bruno Haible  <bruno@clisp.org>
145
146         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
147         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
148
149 2007-03-06  Bruno Haible  <bruno@clisp.org>
150
151         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
152         (asinl): Declare also if HAVE_DECL_ASINL is set.
153         (atanl): Declare also if HAVE_DECL_ATANL is set.
154         (ceill): Declare also if HAVE_DECL_CEILL is set.
155         (cosl): Declare also if HAVE_DECL_COSL is set.
156         (expl): Declare also if HAVE_DECL_EXPL is set.
157         (floorl): Declare also if HAVE_DECL_FLOORL is set.
158         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
159         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
160         (logl): Declare also if HAVE_DECL_LOGL is set.
161         (sinl): Declare also if HAVE_DECL_SINL is set.
162         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
163         (tanl): Declare also if HAVE_DECL_TANL is set.
164         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
165         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
166         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
167         declaration of frexpl, ldexpl.
168         * modules/printf-frexpl (Depends-on): Add math.
169         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
170
171 2007-03-05  Bruno Haible  <bruno@clisp.org>
172
173         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
174         frexpl and ldexpl are declared.
175         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
176
177 2007-03-05  Bruno Haible  <bruno@clisp.org>
178
179         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
180         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
181
182 2007-03-05  Bruno Haible  <bruno@clisp.org>
183
184         * lib/stdio_.h: Include <stddef.h>.
185
186 2007-03-05  Bruno Haible  <bruno@clisp.org>
187
188         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
189
190 2007-03-05  Bruno Haible  <bruno@clisp.org>
191
192         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
193         NetBSD 4, from Ralf Wildenhues.
194
195 2007-03-04  Bruno Haible  <bruno@clisp.org>
196
197         * lib/vasprintf.h: Update #if logic for the case when the functions
198         exist but are overridden.
199
200 2007-03-04  Bruno Haible  <bruno@clisp.org>
201
202         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
203         implementations: glibc-2.4 and MacOS X 10.3.
204         * tests/test-vasnprintf-posix.c (test_function): Test also the case
205         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
206         * tests/test-vasprintf-posix.c (test_function): Likewise.
207
208 2007-03-04  Bruno Haible  <bruno@clisp.org>
209
210         * modules/vasprintf-posix-tests: New file.
211         * tests/test-vasprintf-posix.c: New file.
212
213         * modules/vasprintf-posix: New file.
214         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
215         defined.
216         * m4/vasprintf-posix.m4: New file.
217         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
218         gl_FUNC_VASPRINTF.
219         (gl_FUNC_VASPRINTF): Invoke it.
220         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
221         here.
222         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
223
224 2007-03-04  Bruno Haible  <bruno@clisp.org>
225
226         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
227         REPLACE_GETTIMEOFDAY.
228         * modules/sys_time (Makefile.am): Likewise.
229         * m4/sys_time_h.m4: Likewise.
230         * m4/gettimeofday.m4: Likewise.
231
232 2007-03-04  Bruno Haible  <bruno@clisp.org>
233
234         * modules/vasnprintf-posix-tests: New file.
235         * tests/test-vasnprintf-posix.c: New file.
236
237         * modules/vasnprintf-posix: New file.
238         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
239         printf-frexpl.h.
240         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
241         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
242         REPLACE_VASNPRINTF is defined.
243         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
244         gl_FUNC_VASNPRINTF.
245         (gl_FUNC_VASNPRINTF): Invoke it.
246         * m4/vasnprintf-posix.m4: New file.
247         * m4/printf.m4: New file.
248
249 2007-03-04  Bruno Haible  <bruno@clisp.org>
250
251         Compile progreloc.c only if --enable-relocatable is specified.
252         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
253         if --enable-relocatable was specified.
254         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
255         lib_SOURCES.
256
257 2007-03-04  Jim Meyering  <jim@meyering.net>
258
259         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
260         Use it consistently, rather than enumerating errno constants.
261
262 2007-03-04  Bruno Haible  <bruno@clisp.org>
263
264         * modules/xvasprintf-tests: New file.
265         * tests/test-xvasprintf.c: New file.
266
267         * modules/vasprintf-tests: New file.
268         * tests/test-vasprintf.c: New file.
269
270         * modules/vasnprintf-tests: New file.
271         * tests/test-vasnprintf.c: New file.
272
273         * modules/vsnprintf-tests: New file.
274         * tests/test-vsnprintf.c: New file.
275
276         * modules/snprintf-tests: New file.
277         * tests/test-snprintf.c: New file.
278
279 2007-03-04  Bruno Haible  <bruno@clisp.org>
280
281         Compile relocatable.c only if --enable-relocatable is specified.
282         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
283         gl_RELOCATABLE_LIBRARY.
284         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
285         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
286         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
287         gl_RELOCATABLE_LIBRARY.
288         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
289         (Makefile.am): Remove lib_SOURCES.
290         * modules/relocatable-lib-lgpl (configure.ac): Invoke
291         gl_RELOCATABLE_LIBRARY.
292         (Makefile.am): Remove lib_SOURCES.
293         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
294         always.
295         * modules/relocatable-prog-wrapper (configure.ac): Invoke
296         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
297
298 2007-03-04  Bruno Haible  <bruno@clisp.org>
299
300         * modules/argmatch-tests: New file.
301         * tests/test-argmatch.c: New file.
302
303         * tests/test-allocsa.c (main): Halve the number of loop runs.
304
305         * modules/alloca-opt-tests: New file.
306         * tests/test-alloca-opt.c: New file.
307
308 2007-03-04  Jim Meyering  <jim@meyering.net>
309
310         Work around difference between Linux ACLs and Solaris 10 ZFS.
311         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
312         for EINVAL.
313
314 2007-03-03  Bruno Haible  <bruno@clisp.org>
315
316         * modules/relocatable-prog (Depends-on): Add back progreloc's
317         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
318
319 2007-03-03  Bruno Haible  <bruno@clisp.org>
320
321         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
322         * modules/relocatable-lib: New file.
323
324 2007-03-03  Bruno Haible  <bruno@clisp.org>
325
326         * modules/relocatable-prog: Renamed from modules/relocatable.
327         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
328
329 2007-03-03  Bruno Haible  <bruno@clisp.org>
330
331         * modules/relocatable-script (Files): Add doc/relocatable.texi,
332         m4/relocatable-lib.m4.
333         (Depends-on): Remove 'relocatable'.
334         (configure.ac): Add gl_RELOCATABLE_NOP.
335
336 2007-03-03  Bruno Haible  <bruno@clisp.org>
337
338         * modules/relocatable-prog-wrapper: New file.
339         * modules/relocatable (Depends-on): Add it. Remove all other
340         dependencies except progname.
341         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
342
343         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
344         (gl_FUNC_STRERROR): Nop.
345         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
346
347         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
348         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
349
350         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
351         (gl_FUNC_READLINK): Update.
352
353         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
354
355 2007-03-03  Bruno Haible  <bruno@clisp.org>
356
357         * lib/xreadlink.c: Include <unistd.h> unconditionally.
358         * modules/xreadlink (Depends-on): Add unistd.
359         * modules/xreadlink-with-size (Depends-on): Likewise.
360
361 2007-03-03  Bruno Haible  <bruno@clisp.org>
362
363         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
364         extracted from gt_FUNC_SETENV.
365         (gt_FUNC_SETENV): Remove macro.
366         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
367         remove gt_FUNC_SETENV.
368
369 2007-03-03  Bruno Haible  <bruno@clisp.org>
370
371         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
372         ENABLE_RELOCATABLE here.
373         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
374
375 2007-03-03  Bruno Haible  <bruno@clisp.org>
376
377         * modules/rbtreehash-list-tests (Depends-on): Add progname.
378         * tests/test-rbtreehash_list.c: Include progname.h.
379         (main): Call set_program_name.
380
381         * modules/rbtree-oset-tests (Depends-on): Add progname.
382         * tests/test-rbtree_oset.c: Include progname.h.
383         (main): Call set_program_name.
384
385         * modules/rbtree-list-tests (Depends-on): Add progname.
386         * tests/test-rbtree_list.c: Include progname.h.
387         (main): Call set_program_name.
388
389         * modules/linked-list-tests (Depends-on): Add progname.
390         * tests/test-linked_list.c: Include progname.h.
391         (main): Call set_program_name.
392
393 2007-03-03  Bruno Haible  <bruno@clisp.org>
394
395         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
396         All uses of __restrict changed to _Restrict_.
397         * lib/glob_.h (__restrict): Remove macro.
398
399 2007-03-02  Bruno Haible  <bruno@clisp.org>
400
401         * modules/gettext (configure.ac): Require gettext infrastructure
402         from version 0.16.1.
403
404 2007-03-02  Bruno Haible  <bruno@clisp.org>
405
406         * modules/linkedhash-list-tests (Depends-on): Add progname.
407         * tests/test-linkedhash_list.c: Include progname.h.
408         (main): Call set_program_name.
409
410         * modules/carray-list-tests (Depends-on): Add progname.
411         * tests/test-carray_list.c: Include progname.h.
412         (main): Call set_program_name.
413
414         * modules/avltreehash-list-tests (Depends-on): Add progname.
415         * tests/test-avltreehash_list.c: Include progname.h.
416         (main): Call set_program_name.
417
418         * modules/avltree-oset-tests (Depends-on): Add progname.
419         * tests/test-avltree_oset.c: Include progname.h.
420         (main): Call set_program_name.
421
422         * modules/avltree-list-tests (Depends-on): Add progname.
423         * tests/test-avltree_list.c: Include progname.h.
424         (main): Call set_program_name.
425
426         * modules/array-oset-tests (Depends-on): Add progname.
427         * tests/test-array_oset.c: Include progname.h.
428         (main): Call set_program_name.
429
430         * modules/array-list-tests (Depends-on): Add progname.
431         * tests/test-array_list.c: Include progname.h.
432         (main): Call set_program_name.
433
434         * modules/argp-tests (Depends-on): Add progname.
435         * tests/test-argp.c: Include argp.h first. Include progname.h.
436         (main): Call set_program_name.
437
438 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
439
440         * doc/gnulib-tool.texi (Initial import): Reword description of
441         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
442         limited effect even if defined after the first system include.
443
444 2007-03-01  Bruno Haible  <bruno@clisp.org>
445
446         * build-aux/config.libpath: Update to libtool-1.5.22.
447         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
448
449 2007-03-01  Bruno Haible  <bruno@clisp.org>
450
451         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
452         foo_CFLAGS.
453         Reported by Ralf Wildenhues.
454
455 2007-03-01  Bruno Haible  <bruno@clisp.org>
456
457         * build-aux/install-reloc: Remove object files left over by some
458         compilers.
459         Reported by Ralf Wildenhues.
460
461 2007-03-01  Bruno Haible  <bruno@clisp.org>
462
463         * build-aux/install-reloc: Break long lines.
464
465 2007-03-01  Bruno Haible  <bruno@clisp.org>
466
467         * doc/relocatable.texi: Document that it may not work on OpenBSD.
468         Reported by Ralf Wildenhues.
469
470 2007-03-01  Bruno Haible  <bruno@clisp.org>
471
472         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
473         include ordering constraints.
474
475 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
476
477         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
478         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
479         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
480         as another example.
481         * lib/time_.h: Fix misspelling.
482         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
483         Require gl_HEADER_TIME_H_DEFAULTS.
484         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
485         * m4/time_r.m4 (gl_TIME_R): Likewise.
486         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
487
488 2007-03-01  Bruno Haible  <bruno@clisp.org>
489
490         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
491         * m4/utimens.m4 (gl_UTIMENS): Likewise.
492
493 2007-03-01  Jim Meyering  <jim@meyering.net>
494
495         * modules/xreadlink (Maintainer): Add my name.
496         * modules/xreadlink-with-size (Depends-on): Alphabetize.
497
498 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
499             Bruno Haible  <bruno@clisp.org>
500
501         * build-aux/install-reloc: Compile also c-ctype.c.
502         * build-aux/relocatable.sh.in: New file.
503         * doc/relocatable.texi: New file.
504         * doc/relocatable-maint.texi: New file.
505         * doc/gnulib.texi: Include relocatable-maint.texi.
506         * lib/progreloc.c: Include unistd.h unconditionally.
507         * lib/relocwrapper.c: Include unistd.h unconditionally.
508         Include c-ctype.h.
509         (add_dotbin): Use c_tolower.
510         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
511         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
512         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
513         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
514         to m4/relocatable-lib.m4.
515         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
516         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
517         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
518         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
519         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
520         * modules/relocatable: New file.
521         * modules/relocatable-lib: New file.
522         * modules/relocatable-script: New file.
523
524 2007-02-28  Bruno Haible  <bruno@clisp.org>
525
526         Import --enable-relocatable infrastructure.
527         * build-aux/config.libpath: New file, from GNU gettext.
528         * build-aux/install-reloc: New file, from GNU gettext.
529         * build-aux/reloc-ldflags: New file, from GNU gettext.
530         * lib/relocatable.h: New file, from GNU gettext.
531         * lib/relocatable.c: New file, from GNU gettext.
532         * lib/relocwrapper.c: New file, from GNU gettext.
533         * m4/relocatable.m4: New file, from GNU gettext.
534
535 2007-02-28  Bruno Haible  <bruno@clisp.org>
536
537         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
538
539         * modules/xreadlink: New file, from GNU gettext with modifications.
540         * lib/xreadlink.c: New file, from GNU gettext.
541         * lib/xreadlink.h: Add comments.
542         (xreadlink): New declaration.
543
544         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
545         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
546         lib/xreadlink-with-size.c.
547         (configure.ac): Remove gl_XREADLINK invocation.
548         (Makefile.am): Augment lib_SOURCES.
549         * m4/xreadlink.m4: Remove file.
550         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
551         (xreadlink_with_size): Renamed from xreadink.
552         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
553         * modules/canonicalize (Depends-on): Replace xreadlink with
554         xreadlink-with-size.
555         * lib/canonicalize.c (canonicalize_filename_mode): Update.
556
557 2007-02-25  Jim Meyering  <jim@meyering.net>
558
559         * build-aux/announce-gen: When complaining about excess arguments,
560         list them.
561
562 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
563
564         * README: Document signed integer overflow situation more
565         accurately.
566
567 2007-02-25  Bruno Haible  <bruno@clisp.org>
568
569         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
570         'a' or 'A' conversion.
571
572 2007-02-25  Bruno Haible  <bruno@clisp.org>
573
574         * modules/filename: Renamed from modules/pathname.
575         (Files): Replace lib/pathname.h with lib/filename.h. Replace
576         lib/concatpath.c with lib/concat-filename.c.
577         (Makefile.am): Update.
578         (Include): Replace pathname.h with filename.h.
579         * lib/filename.h: Renamed from lib/pathname.h.
580         (concatenated_filename): Renamed from concatenated_pathname.
581         * lib/concat-filename.c: Renamed from lib/concatpath.c.
582         (concatenated_filename): Renamed from concatenated_pathname.
583         * lib/findprog.c: Include filename.h instead of pathname.h.
584         (find_in_path): Update.
585         * lib/javacomp.c: Include filename.h instead of pathname.h.
586         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
587         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
588         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
589         is_oldgcj_14_13_usable, is_javac_usable): Update.
590         * lib/javaexec.c: Include filename.h instead of pathname.h.
591         (execute_java_class): Update.
592         * modules/findprog: Update.
593         * modules/javacomp: Update.
594         * modules/javaexec: Update.
595         * MODULES.html.sh (File system functions): Add 'filename', remove
596         'pathname'.
597
598 2007-02-25  Bruno Haible  <bruno@clisp.org>
599
600         * modules/printf-frexpl-tests: New file.
601         * tests/test-printf-frexpl.c: New file.
602
603         * modules/printf-frexpl: New file.
604         * lib/printf-frexpl.h: New file.
605         * lib/printf-frexpl.c: New file.
606         * m4/printf-frexpl.m4: New file.
607
608 2007-02-25  Bruno Haible  <bruno@clisp.org>
609
610         * modules/printf-frexp-tests: New file.
611         * tests/test-printf-frexp.c: New file.
612
613         * modules/printf-frexp: New file.
614         * lib/printf-frexp.h: New file.
615         * lib/printf-frexp.c: New file.
616         * m4/printf-frexp.m4: New file.
617
618 2007-02-25  Bruno Haible  <bruno@clisp.org>
619
620         Assume automake >= 1.10 for the tests.
621         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
622         * modules/arctwo-tests: Likewise.
623         * modules/argp-tests: Likewise.
624         * modules/avltree-list-tests: Likewise.
625         * modules/avltree-oset-tests: Likewise.
626         * modules/avltreehash-list-tests: Likewise.
627         * modules/carray-list-tests: Likewise.
628         * modules/crc-tests: Likewise.
629         * modules/des-tests: Likewise.
630         * modules/gc-arcfour-tests: Likewise.
631         * modules/gc-arctwo-tests: Likewise.
632         * modules/gc-des-tests: Likewise.
633         * modules/gc-hmac-md5-tests: Likewise.
634         * modules/gc-hmac-sha1-tests: Likewise.
635         * modules/gc-md2-tests: Likewise.
636         * modules/gc-md4-tests: Likewise.
637         * modules/gc-md5-tests: Likewise.
638         * modules/gc-pbkdf2-sha1-tests: Likewise.
639         * modules/gc-rijndael-tests: Likewise.
640         * modules/gc-sha1-tests: Likewise.
641         * modules/gc-tests: Likewise.
642         * modules/getaddrinfo-tests: Likewise.
643         * modules/hmac-md5-tests: Likewise.
644         * modules/hmac-sha1-tests: Likewise.
645         * modules/linked-list-tests: Likewise.
646         * modules/linkedhash-list-tests: Likewise.
647         * modules/lock-tests: Likewise.
648         * modules/md2-tests: Likewise.
649         * modules/md4-tests: Likewise.
650         * modules/md5-tests: Likewise.
651         * modules/rbtree-list-tests: Likewise.
652         * modules/rbtree-oset-tests: Likewise.
653         * modules/rbtreehash-list-tests: Likewise.
654         * modules/read-file-tests: Likewise.
655         * modules/rijndael-tests: Likewise.
656         * modules/stdint-tests: Likewise.
657         * modules/tls-tests: Likewise.
658
659 2007-02-24  Bruno Haible  <bruno@clisp.org>
660
661         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
662         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
663         function; instead check whether isnan with a double argument links.
664         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
665         function; instead check whether isnan with a 'long double' argument
666         links.
667         Reported by Eric Blake <ebb9@byu.net>.
668
669 2007-02-24  Bruno Haible  <bruno@clisp.org>
670
671         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
672         defined.
673         * lib/isnanl.c: Remove all code. Just include isnan.c.
674         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
675
676 2007-02-25  Jim Meyering  <jim@meyering.net>
677
678         Avoid conflicting types for 'unsetenv' on FreeBSD.
679         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
680         conflicting with FreeBSD's (5.0 and 6.1) function declaration
681         in stdlib.h.
682
683 2007-02-24  Bruno Haible  <bruno@clisp.org>
684
685         * modules/isnanl-nolibm-tests: New file.
686         * tests/test-isnanl.c: New file.
687
688         * modules/isnanl-nolibm: New file.
689         * lib/isnanl.h: New file.
690         * lib/isnanl.c: New file.
691         * m4/isnanl.m4: New file.
692
693 2007-02-24  Bruno Haible  <bruno@clisp.org>
694
695         * modules/isnan-nolibm-tests: New file.
696         * tests/test-isnan.c: New file.
697
698         * modules/isnan-nolibm: New file.
699         * lib/isnan.h: New file.
700         * lib/isnan.c: New file.
701         * m4/isnan.m4: New file.
702
703 2007-02-24  Bruno Haible  <bruno@clisp.org>
704
705         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
706         assume that an exponent fits in 20 bits.
707
708 2007-02-24  Jim Meyering  <jim@meyering.net>
709
710         * m4/regex.m4: Update the description of the configure-time option,
711         --without-included-regex, to state accurately what the defaults are,
712         and perhaps to give people an idea why using this option is risky.
713
714 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
715
716         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
717         loops on small arguments.  This attempts to avoid the problem
718         Bruno Haible reported for AIX 4.3.2 in
719         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
720
721 2007-02-23  Bruno Haible  <bruno@clisp.org>
722
723         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
724         Needed for help2man.
725
726 2007-02-23  Karl Berry  <karl@gnu.org>
727
728         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
729         exists, foo.h should be cvs-ignored, not committed.
730
731 2007-02-23  Eric Blake  <ebb9@byu.net>
732
733         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
734         * lib/stat-time.h (includes): Likewise.
735         * lib/utimecmp.c (includes): Likewise.
736         * lib/utimens.h (includes): Likewise.
737         * lib/getdate.y (includes): Also include "timespec.h" for use
738         internal to the module.
739         * modules/utimens (Depends-on): Revert yesterday's patch.
740         * modules/nanosleep (Depends-on): Add missing dependency.
741
742 2007-02-22  Bruno Haible  <bruno@clisp.org>
743
744         * lib/glob.c: Don't include getlogin_r.h.
745
746 2007-02-22  Jim Meyering  <jim@meyering.net>
747
748         * modules/utimens (Depends-on): Add timespec, required for
749         utimens.h's inclusion of timespec.h.
750
751 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
752
753         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
754         long unreadable paths in GNU/Linux.  Problem reported by Andreas
755         Schwab in
756         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
757         I'll try to think of a better way to fix the Solaris problem.
758
759         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
760         like glibc; on Solaris 10, it fails with errno == EINVAL.
761         POSIX says the behavior is unspecified if the first argument is NULL,
762         so play it safe and never pass NULL to the system getcwd.
763
764 2007-02-21  Jim Meyering  <jim@meyering.net>
765
766         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
767         of gettimeofday.  It would conflict with the one now always
768         provided via sys_time_.h.  Reported by Matthew Woehlke, as
769         an IRIX 6.5 build failure.
770
771 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
772
773         Minor fixups to port to Solaris 10 with Sun C 5.8.
774         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
775         * modules/getcwd (Depends-on): Add dirfd.
776         * lib/putenv.c (putenv): #undef it.
777         (rpl_putenv): New decl.
778         (malloc, free): Include <stdlib.h> rather than prototyping separately.
779
780 2007-02-20  Bruno Haible  <bruno@clisp.org>
781
782         * modules/stdio-tests: New file.
783         * tests/test-stdio.c: New file.
784
785         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
786         (Depends-on): Add stdio.
787         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
788         (Include): Use <stdio.h> instead of vsnprintf.h.
789         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
790         HAVE_DECL_VSNPRINTF.
791         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
792
793         * modules/snprintf (Files): Remove lib/snprintf.h.
794         (Depends-on): Add stdio.
795         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
796         (Include): Use <stdio.h> instead of snprintf.h.
797         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
798         HAVE_DECL_SNPRINTF.
799         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
800         * lib/getaddrinfo.c: Likewise.
801
802         * modules/stdio: New file.
803         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
804         * lib/snprintf.h: Remove file.
805         * lib/vsnprintf.h: Remove file.
806         * lib/.cppi-disable: Remove snprintf.h.
807         * m4/stdio_h.m4: New file.
808         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
809
810 2007-02-20  Jim Meyering  <jim@meyering.net>
811
812         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
813         used by e.g., mingw.  From Bruno Haible.
814
815 2007-02-19  Bruno Haible  <bruno@clisp.org>
816
817         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
818         warnings.
819         Reported by Ben Pfaff <blp@cs.stanford.edu>.
820
821 2007-02-19  Bruno Haible  <bruno@clisp.org>
822
823         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
824         from mingw users.
825
826 2007-02-19  Bruno Haible  <bruno@clisp.org>
827
828         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
829         warnings.
830         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
831
832 2007-02-19  Jim Meyering  <jim@meyering.net>
833
834         Don't use FD after a successful "fdopendir (fd)".
835         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
836         Reset it by calling dirfd on the just-obtained DIR*.
837
838         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
839         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
840
841 2007-02-18  Bruno Haible  <bruno@clisp.org>
842
843         * lib/readlink.c: Include <unistd.h>.
844         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
845         HAVE_READLINK.
846         * modules/readlink (Depends-on): Add unistd.
847         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
848         (Include): Add <unistd.h>.
849
850         * lib/getlogin_r.h: Remove file.
851         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
852         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
853         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
854         HAVE_DECL_GETLOGIN_R.
855         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
856         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
857         (Include): Use <unistd.h> instead of getlogin_r.h.
858
859         * lib/getcwd.h: Remove file.
860         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
861         * lib/xgetcwd.c: Likewise.
862         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
863         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
864         * modules/getcwd (Files): Remove lib/getcwd.h.
865         (Depends-on): Add unistd.
866         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
867         (Include): Use <unistd.h> instad of getcwd.h.
868
869         * lib/ftruncate.c: Include <unistd.h> first.
870         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
871         Set HAVE_FTRUNCATE.
872         * modules/ftruncate (Depends-on): Add unistd.
873         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
874
875         * lib/fchdir.c: Include <unistd.h> first.
876         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
877         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
878         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
879         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
880         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
881
882         * lib/dup2.c: Include <unistd.h> first.
883         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
884         HAVE_DUP2.
885         * modules/dup2 (Depends-on): Add unistd.
886         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
887
888         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
889         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
890         REPLACE_CHOWN. Don't define chown as a macro here.
891         * modules/chown (Depends-on): Add unistd.
892         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
893
894         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
895         Add definition for GL_LINK_WARNING.
896         (chown, dup2): New declarations.
897         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
898         link warning.
899         (ftruncate): New declaration.
900         (getcwd): New declaration, taken from old getcwd.h.
901         (getlogin_r): New declaration, taken from old getlogin_r.h.
902         (readlink): New declaration.
903         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
904         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
905         (gl_PREREQ_UNISTD): Remove macro.
906         (gl_UNISTD_MODULE_INDICATOR): New macro.
907         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
908         many new variables. Don't set UNISTD_H.
909         * modules/unistd (Description): Change.
910         (Depends-on): Add link-warning.
911         (configure.ac): Update.
912         (Makefile.am): Create unistd.h always. Substitute many new variables
913         into it.
914
915 2007-02-18  Bruno Haible  <bruno@clisp.org>
916
917         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
918         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
919         HAVE_GETSUBOPT.
920         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
921         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
922         * lib/getsubopt.h: Remove file.
923         * modules/getsubopt (Files): Remove lib/getsubopt.h.
924         (Depends-on): Add stdlib.
925         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
926         (Includes): Use <stdlib.h> instead of getsubopt.h.
927         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
928         Set HAVE_GETSUBOPT.
929         * lib/getsubopt.c: Don't include getsubopt.h.
930
931 2007-02-18  Bruno Haible  <bruno@clisp.org>
932
933         * modules/fchdir (Depends-on): Add dup2.
934
935 2007-02-18  Bruno Haible  <bruno@clisp.org>
936
937         * lib/stdlib_.h: Handle glibc's special invocation convention
938         specially.
939
940 2007-02-18  Bruno Haible  <bruno@clisp.org>
941
942         * modules/stdlib-tests: New file.
943         * tests/test-stdlib.c: New file.
944
945         * modules/mkstemp (Files): Remove lib/mkstemp.h.
946         (Depends-on): Add stdlib.
947         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
948         (Includes): Use <stdlib.h> instead of mkstemp.h.
949         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
950         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
951         * lib/mkstemp.c: Don't include mkstemp.h.
952         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
953         * lib/stdlib--.h: Don't include mkstemp.h.
954
955         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
956         (Depends-on): Add stdlib.
957         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
958         (Includes): Use <stdlib.h> instead of mkdtemp.h.
959         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
960         HAVE_MKDTEMP.
961         * lib/mkdtemp.c: Don't include mkdtemp.h.
962         * lib/clean-temp.c: Don't include mkdtemp.h.
963
964         * modules/exit (Files): Remove lib/exit.h.
965         (Depends-on): Add stdlib.
966         (Makefile.am): Remove lib_SOURCES.
967         (Include): Use <stdlib.h> instead of exit.h.
968         * lib/argmatch.c: Don't include exit.h.
969         * lib/execute.c: Likewise.
970         * lib/pagealign_alloc.c: Likewise.
971         * lib/pipe.c: Likewise.
972         * lib/wait-process.c: Likewise.
973         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
974         * lib/exitfail.c: Likewise.
975         * lib/savewd.c: Likewise.
976         * lib/xsetenv.c: Likewise.
977
978         * modules/stdlib: New file.
979         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
980         and extra comments about mkstemp().
981         * lib/exit.h: Remove file.
982         * lib/mkdtemp.h: Remove file.
983         * lib/mkstemp.h: Remove file.
984         * m4/stdlib_h.m4: New file.
985         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
986
987 2007-02-18  Bruno Haible  <bruno@clisp.org>
988
989         * modules/math-tests: New file.
990         * tests/test-math.c: New file.
991
992         * modules/math: New file.
993         * modules/mathl (Files): Remove lib/mathl.h.
994         (Depends-on): Add math.
995         (Makefile.am): Don't mention mathl.h.
996         (Include): Use <math.h> instead of mathl.h.
997         * lib/math_.h: New file.
998         * lib/mathl.h: Remove file.
999         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
1000         mathl.h.
1001         * lib/asinl.c: Likewise.
1002         * lib/atanl.c: Likewise.
1003         * lib/ceill.c: Likewise.
1004         * lib/cosl.c: Likewise.
1005         * lib/expl.c: Likewise.
1006         * lib/floorl.c: Likewise.
1007         * lib/frexpl.c: Likewise.
1008         * lib/ldexpl.c: Likewise.
1009         * lib/logl.c: Likewise.
1010         * lib/sincosl.c: Likewise.
1011         * lib/sinl.c: Likewise.
1012         * lib/sqrtl.c: Likewise.
1013         * lib/tanl.c: Likewise.
1014         * lib/trigl.c: Likewise.
1015         * m4/math_h.m4: New file.
1016         * MODULES.html.sh (Mathematics): Add math.
1017
1018 2007-02-17  Bruno Haible  <bruno@clisp.org>
1019
1020         * modules/wctype-tests: New file.
1021         * tests/test-wctype.c: New file.
1022
1023         * modules/wchar-tests: New file.
1024         * tests/test-wchar.c: New file.
1025
1026         * modules/unistd-tests: New file.
1027         * tests/test-unistd.c: New file.
1028
1029         * modules/time-tests: New file.
1030         * tests/test-time.c: New file.
1031
1032         * modules/sysexits-tests: New file.
1033         * tests/test-sysexits.c: New file.
1034
1035         * modules/sys_time-tests: New file.
1036         * tests/test-sys_time.c: New file.
1037
1038         * modules/sys_stat-tests: New file.
1039         * tests/test-sys_stat.c: New file.
1040
1041         * modules/sys_socket-tests: New file.
1042         * tests/test-sys_socket.c: New file.
1043
1044         * modules/sys_select-tests: New file.
1045         * tests/test-sys_select.c: New file.
1046
1047         * modules/string-tests: New file.
1048         * tests/test-string.c: New file.
1049
1050         * modules/stdbool-tests: New file.
1051         * tests/test-stdbool.c: New file.
1052
1053         * modules/netinet_in-tests: New file.
1054         * tests/test-netinet_in.c: New file.
1055
1056         * modules/inttypes-tests: New file.
1057         * tests/test-inttypes.c: New file.
1058
1059         * modules/fcntl-tests: New file.
1060         * tests/test-fcntl.c: New file.
1061
1062         * modules/byteswap-tests: New file.
1063         * tests/test-byteswap.c: New file.
1064
1065         * modules/arpa_inet-tests: New file.
1066         * tests/test-arpa_inet.c: New file.
1067
1068 2007-02-17  Bruno Haible  <bruno@clisp.org>
1069
1070         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
1071         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
1072         if the corresponding module is not enabled. Emit link warnings if
1073         the function is used nevertheless.
1074         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
1075         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
1076         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
1077         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
1078         * modules/inttypes (Depends-on): Add link-warning.
1079         (Makefile.am): Copy the contents of build-aux/link-warning.h into
1080         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
1081         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
1082         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
1083         * modules/imaxdiv (configure.ac): Likewise.
1084         * modules/strtoimax (configure.ac): Likewise.
1085         * modules/strtoumax (configure.ac): Likewise.
1086
1087 2007-02-17  Bruno Haible  <bruno@clisp.org>
1088
1089         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
1090         gl_STRING_MODULE_INDICATOR_DEFAULTS.
1091         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
1092         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
1093
1094 2007-02-17  Bruno Haible  <bruno@clisp.org>
1095
1096         * modules/link-warning: New file.
1097         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
1098         * lib/string_.h (GL_LINK_WARNING): Remove definition.
1099         * modules/string (Depends-on): Add link-warning.
1100         (Makefile.am): Copy the contents of build-aux/link-warning.h into
1101         string.h.
1102         * MODULES.html.sh (Support for building libraries and executables): Add
1103         link-warning.
1104
1105 2007-02-17  Bruno Haible  <bruno@clisp.org>
1106
1107         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
1108         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
1109         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
1110         long lines.
1111
1112 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
1113             Bruno Haible  <bruno@clisp.org>
1114
1115         * modules/tmpfile: New file.
1116         * lib/tmpfile.c: New file.
1117         * m4/tmpfile.m4: New file.
1118         * MODULES.html.sh (func_all_modules): New section "Input/output".
1119
1120 2007-02-15  Bruno Haible  <bruno@clisp.org>
1121
1122         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
1123         (supports_delete_on_close): New function.
1124         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
1125
1126 2007-02-14  Bruno Haible  <bruno@clisp.org>
1127
1128         * modules/mbspcasecmp-tests: New file.
1129         * tests/test-mbspcasecmp.sh: New file.
1130         * tests/test-mbspcasecmp.c: New file.
1131
1132         New module mbspcasecmp.
1133         * modules/mbspcasecmp: New file.
1134         * lib/mbspcasecmp.c: New file.
1135         * lib/string_.h (strncasecmp): Change warning message.
1136         (mbspcasecmp): New declaration.
1137         * m4/mbspcasecmp.m4: New file.
1138         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1139         GNULIB_MBSPCASECMP.
1140         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
1141         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
1142
1143 2007-02-14  Bruno Haible  <bruno@clisp.org>
1144
1145         * modules/mbsncasecmp-tests: New file.
1146         * tests/test-mbsncasecmp.sh: New file.
1147         * tests/test-mbsncasecmp.c: New file.
1148
1149         New module mbsncasecmp.
1150         * modules/mbsncasecmp: New file.
1151         * lib/mbsncasecmp.c: New file.
1152         * lib/string_.h (mbsncasecmp): New declaration.
1153         * m4/mbsncasecmp.m4: New file.
1154         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1155         GNULIB_MBSNCASECMP.
1156         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
1157         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
1158
1159 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
1160
1161         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
1162         Verify that it doesn't overlap with our flags.
1163         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
1164         do not have the desired effect in multibyte locales; instead, use
1165         mbscasecmp.
1166         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
1167         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
1168         we don't require GNU fnmatch ourselves (if our users require it, they
1169         should do so explicitly).
1170
1171         Fix regex code so it doesn't rely on strcasecmp.
1172         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
1173         Otherwise, include gnulib's langinfo.h.
1174         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
1175         undesirable behavior in non-C locales.  Instead, rely on localecharset.
1176         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
1177         * modules/regex (FILES): Remove m4/codeset.m4.
1178         (Depends-on): Add localcharset.  Remove strcase.
1179
1180 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1181
1182         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
1183         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
1184
1185 2007-02-13  Bruno Haible  <bruno@clisp.org>
1186
1187         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
1188         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1189
1190 2007-02-12  Bruno Haible  <bruno@clisp.org>
1191
1192         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
1193         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
1194         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
1195         time warning rather than a link error.
1196
1197 2007-02-12  Bruno Haible  <bruno@clisp.org>
1198
1199         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
1200         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
1201         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1202
1203 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1204
1205         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
1206         args, not 2.
1207
1208 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1209
1210         New module 'time', so that apps can include <time.h> as per
1211         POSIX and GNU instead of separate include files like time_r.h
1212         and timegm.h.  This implementation tries out a simpler approach
1213         for replacing decls in standard include files (as compared to
1214         the string module), somewhat as an experiment.
1215
1216         * config/srclist.txt: Comment out mktime.c for now.
1217         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
1218         since it doesn't apply any more.  Use generic wording instead.
1219         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
1220         'time'.
1221         * lib/time_.h, m4/time_h.m4, modules/time: New files.
1222         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
1223         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
1224         Don't include <sys/types.h>; no longer needed since we assume C89.
1225         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
1226         * lib/strftime.c: Likewise.
1227         * lib/time_r.c: Likewise.
1228         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
1229         * lib/nanosleep.c: Include <time.h> first, to check interface.
1230         * lib/strptime.c: Likewise.
1231         * lib/time_r.c: Likewise.
1232         * lib/timegm.c: Likewise.
1233         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
1234         needed.
1235         * lib/timegm.c: Don't include timegm.h; no longer needed.
1236         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
1237         time.h now handles any problems in that area.
1238         (struct timespec, nanosleep): Remove; time.h now arranges for these.
1239         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
1240         that time.h defines struct timespec.
1241         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
1242         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
1243         handles that.
1244         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
1245         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
1246         needed.  Set REPLACE_LOCALTIME.
1247         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
1248         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
1249         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
1250         nanosleep; time_h.m4 now does that.  Don't require
1251         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
1252         module handles this now.
1253         * modules/getdate (Depends-on): Remove timespec.  Add time.
1254         * modules/nanosleep (Depends-on): Likewise.
1255         * modules/stat-time (Depends-on): Likewise.
1256         * modules/nanosleep (Include): Include time.h, not timespec.h.
1257         * modules/strptime (Files): Remove lib/strptime.h.
1258         (Depends-on): Add extensions, time.
1259         (Include): Include time.h, not strptime.h.
1260         * modules/time_r (Files): Remove lib/time_r.h.
1261         (Depends-on): Add time.
1262         (Include): Include time.h, not time_r.h.
1263         * modules/timegm: Likewise.
1264         * modules/timespec (Description): Now does timespec-related decls
1265         of our own, instead of struct timespec itself.
1266         (Depends-on): Add time; remove extensions.
1267         (Maintainer): Add self.
1268         * modules/utimecmp (Depends-on): Add time; remove timespec.
1269         * modules/utimens (Depends-on): Likewise.
1270         * modules/xnanosleep (Depends-on): Likewise.
1271
1272 2007-02-11  Bruno Haible  <bruno@clisp.org>
1273
1274         * lib/c-strstr.c: Include allocsa.h.
1275         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1276         * lib/c-strcasestr.c: Include allocsa.h.
1277         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1278         * lib/strcasestr.c: Include allocsa.h.
1279         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1280         * lib/mbsstr.c: Include allocsa.h.
1281         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
1282         allocsa/freesa instead of malloc/free.
1283         * lib/mbscasestr.c: Include allocsa.h.
1284         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
1285         allocsa/freesa instead of malloc/free.
1286         * modules/c-strstr (Depends-on): Add allocsa.
1287         * modules/c-strcasestr (Depends-on): Likewise.
1288         * modules/strcasestr (Depends-on): Likewise.
1289         * modules/mbsstr (Depends-on): Likewise.
1290         * modules/mbscasestr (Depends-on): Likewise.
1291
1292 2007-02-11  Bruno Haible  <bruno@clisp.org>
1293
1294         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
1295
1296         * modules/mbsspn-tests: New file.
1297         * tests/test-mbsspn.sh: New file.
1298         * tests/test-mbsspn.c: New file.
1299
1300 2007-02-11  Bruno Haible  <bruno@clisp.org>
1301
1302         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
1303
1304         * modules/mbspbrk-tests: New file.
1305         * tests/test-mbspbrk.sh: New file.
1306         * tests/test-mbspbrk.c: New file.
1307
1308 2007-02-11  Bruno Haible  <bruno@clisp.org>
1309
1310         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
1311         unneeded cast.
1312
1313         * modules/mbscspn-tests: New file.
1314         * tests/test-mbscspn.sh: New file.
1315         * tests/test-mbscspn.c: New file.
1316
1317 2007-02-11  Bruno Haible  <bruno@clisp.org>
1318
1319         * modules/mbscasecmp-tests: New file.
1320         * tests/test-mbscasecmp.sh: New file.
1321         * tests/test-mbscasecmp.c: New file.
1322
1323 2007-02-11  Bruno Haible  <bruno@clisp.org>
1324
1325         Ensure O(n) worst-case complexity of mbscasestr.
1326         * lib/mbscasestr.c: Include stdbool.h.
1327         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
1328         functions.
1329         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
1330         the bookkeeping indicates that it's worth it.
1331         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
1332
1333         * modules/mbscasestr-tests: New file.
1334         * tests/test-mbscasestr1.c: New file.
1335         * tests/test-mbscasestr2.sh: New file.
1336         * tests/test-mbscasestr2.c: New file.
1337         * tests/test-mbscasestr3.sh: New file.
1338         * tests/test-mbscasestr3.c: New file.
1339         * tests/test-mbscasestr4.sh: New file.
1340         * tests/test-mbscasestr4.c: New file.
1341         * m4/locale-tr.m4: New file.
1342
1343 2007-02-11  Bruno Haible  <bruno@clisp.org>
1344
1345         Ensure O(n) worst-case complexity of mbsstr.
1346         * lib/mbsstr.c: Include stdbool.h.
1347         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
1348         functions.
1349         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
1350         bookkeeping indicates that it's worth it.
1351         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
1352
1353         * modules/mbsstr-tests: New file.
1354         * tests/test-mbsstr1.c: New file.
1355         * tests/test-mbsstr2.sh: New file.
1356         * tests/test-mbsstr2.c: New file.
1357         * tests/test-mbsstr3.sh: New file.
1358         * tests/test-mbsstr3.c: New file.
1359         * m4/locale-fr.m4: New file.
1360
1361 2007-02-11  Bruno Haible  <bruno@clisp.org>
1362
1363         * lib/mbsrchr.c (mbsrchr): Fix bug.
1364
1365         * modules/mbsrchr-tests: New file.
1366         * tests/test-mbsrchr.sh: New file.
1367         * tests/test-mbsrchr.c: New file.
1368
1369 2007-02-11  Bruno Haible  <bruno@clisp.org>
1370
1371         * lib/mbschr.c (mbschr): Fix bug.
1372
1373         * modules/mbschr-tests: New file.
1374         * tests/test-mbschr.sh: New file.
1375         * tests/test-mbschr.c: New file.
1376         * m4/locale-zh.m4: New file.
1377
1378 2007-02-11  Bruno Haible  <bruno@clisp.org>
1379
1380         Support for copying multibyte string iterators.
1381         * lib/mbiter.h: Include <string.h>.
1382         (mbiter_multi_copy): New function.
1383         (mbi_copy): New macro.
1384         * lib/mbuiter.h: Include <string.h>.
1385         (mbuiter_multi_copy): New function.
1386         (mbui_copy): New macro.
1387
1388 2007-02-11  Bruno Haible  <bruno@clisp.org>
1389
1390         New module mbslen.
1391         * modules/mbslen: New file.
1392         * lib/mbslen.c: New file.
1393         * lib/string_.h (mbslen): New declaration.
1394         * m4/mbslen.m4: New file.
1395         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1396         GNULIB_MBSLEN.
1397         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
1398         * MODULES.html.sh (Internationalization functions): Add mbslen.
1399
1400 2007-02-11  Bruno Haible  <bruno@clisp.org>
1401
1402         Ensure O(n) worst-case complexity of strcasestr substitute.
1403         * lib/strcasestr.c: Include stdbool.h.
1404         (knuth_morris_pratt): New function.
1405         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
1406         bookkeeping indicates that it's worth it.
1407         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
1408
1409         * modules/strcasestr-tests: New file.
1410         * tests/test-strcasestr.c: New file.
1411
1412 2007-02-11  Bruno Haible  <bruno@clisp.org>
1413
1414         Ensure O(n) worst-case complexity of c_strcasestr.
1415         * lib/c-strcasestr.c: Include stdbool.h, string.h.
1416         (knuth_morris_pratt): New function.
1417         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
1418         the bookkeeping indicates that it's worth it.
1419         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
1420
1421         * modules/c-strcasestr-tests: New file.
1422         * tests/test-c-strcasestr.c: New file.
1423
1424 2007-02-11  Bruno Haible  <bruno@clisp.org>
1425
1426         Ensure O(n) worst-case complexity of c_strstr.
1427         * lib/c-strstr.c: Include stdbool.h, string.h.
1428         (knuth_morris_pratt): New function.
1429         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
1430         bookkeeping indicates that it's worth it.
1431         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
1432
1433         * lib/c-strstr.c: Complete rewrite for maintainability.
1434
1435         * modules/c-strstr-tests: New file.
1436         * tests/test-c-strstr.c: New file.
1437
1438 2007-02-11  Bruno Haible  <bruno@clisp.org>
1439
1440         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
1441         5.2.1 and earlier, whereby \055 was treated just like the range
1442         delimiter '-'.
1443         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
1444
1445 2007-02-08  Bruno Haible  <bruno@clisp.org>
1446
1447         * modules/regex (Depends-on): Add stdbool.
1448         Reported by Dalibor Topic <robilad@kaffe.org>.
1449
1450 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
1451
1452         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
1453         Prefer returning from main to exiting from it.
1454         Remove unnecessary parens after sizeof.
1455
1456 2007-02-05  Bruno Haible  <bruno@clisp.org>
1457
1458         New module mbssep.
1459         * modules/mbssep: New file.
1460         * lib/mbssep.c: New file.
1461         * lib/string_.h (strsep): Add a conditional link warning.
1462         (mbssep): New declaration.
1463         * m4/mbssep.m4: New file.
1464         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1465         GNULIB_MBSSEP.
1466         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
1467         * MODULES.html.sh (Internationalization functions): Add mbssep.
1468
1469 2007-02-05  Bruno Haible  <bruno@clisp.org>
1470
1471         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
1472         Optimize search in case of 1 delimiter.
1473
1474 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1475
1476         * lib/acl.h: Include sys/types.h before sys/acl.h.
1477
1478 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1479
1480         Merge upstream fix for glibc bugzilla #3957:
1481
1482         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
1483
1484         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
1485         bit for RE_HAT_LISTS_NOT_NEWLINE.
1486         (build_charclass_op): Remove bogus comment.
1487
1488 2007-02-05  Simon Josefsson  <simon@josefsson.org>
1489
1490         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
1491
1492 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1493
1494         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
1495         * lib/memmem.c [!defined _LIBC]: Include config.h.
1496
1497 2007-02-04  Bruno Haible  <bruno@clisp.org>
1498
1499         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
1500         warning message.
1501
1502 2007-02-04  Bruno Haible  <bruno@clisp.org>
1503
1504         New module mbstok_r.
1505         * modules/mbstok_r: New file.
1506         * lib/mbstok_r.c: New file.
1507         * lib/string_.h (strtok_r): Change argument names to match the
1508         comments. Add a conditional link warning.
1509         (mbstok_r): New declaration.
1510         * m4/mbstok_r.m4: New file.
1511         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1512         GNULIB_MBSTOK_R.
1513         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
1514         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
1515
1516 2007-02-04  Bruno Haible  <bruno@clisp.org>
1517
1518         New module mbsspn.
1519         * modules/mbsspn: New file.
1520         * lib/mbsspn.c: New file.
1521         * lib/string_.h (strspn): Add a conditional link warning.
1522         (mbsspn): New declaration.
1523         * m4/mbsspn.m4: New file.
1524         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1525         GNULIB_MBSSPN.
1526         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
1527         * MODULES.html.sh (Internationalization functions): Add mbsspn.
1528
1529 2007-02-04  Bruno Haible  <bruno@clisp.org>
1530
1531         New module mbspbrk.
1532         * modules/mbspbrk: New file.
1533         * lib/mbspbrk.c: New file.
1534         * lib/string_.h (strpbrk): Add a conditional link warning.
1535         (mbspbrk): New declaration.
1536         * m4/mbspbrk.m4: New file.
1537         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1538         GNULIB_MBSPBRK.
1539         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
1540         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
1541
1542 2007-02-04  Bruno Haible  <bruno@clisp.org>
1543
1544         New module mbscspn.
1545         * modules/mbscspn: New file.
1546         * lib/mbscspn.c: New file.
1547         * lib/string_.h (strcspn): Add a conditional link warning.
1548         (mbscspn): New declaration.
1549         * m4/mbscspn.m4: New file.
1550         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1551         GNULIB_MBSCSPN.
1552         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
1553         * MODULES.html.sh (Internationalization functions): Add mbscspn.
1554
1555 2007-02-04  Bruno Haible  <bruno@clisp.org>
1556
1557         New module mbscasestr, reduced goal of strcasestr.
1558         * modules/mbscasestr: New file.
1559         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
1560         (mbscasestr): Renamed from strcasestr.
1561         * lib/strcasestr.c: Don't include mbuiter.h.
1562         (strcasestr): Remove support for multibyte locales.
1563         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
1564         Change the conditional link warning.
1565         (mbscasestr): New declaration.
1566         * m4/mbscasestr.m4: New file.
1567         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
1568         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
1569         REPLACE_STRCASESTR.
1570         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
1571         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1572         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1573         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
1574         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
1575         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1576         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
1577         (Depends-on): Remove mbuiter.
1578         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
1579
1580 2007-02-04  Bruno Haible  <bruno@clisp.org>
1581
1582         Simplify handling of strncasecmp.
1583         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
1584         the conditional link warning.
1585         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1586         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
1587         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
1588         * modules/strcase (configure.ac): Don't invoke
1589         gl_STRING_MODULE_INDICATOR.
1590         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
1591
1592 2007-02-04  Bruno Haible  <bruno@clisp.org>
1593
1594         New module mbscasecmp, reduced goal of strcasecmp.
1595         * modules/mbscasecmp: New file.
1596         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
1597         (mbscasecmp): Renamed from strcasecmp.
1598         * lib/strcasecmp.c: Don't include mbuiter.h.
1599         (strcasecmp): Remove support for multibyte locales.
1600         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
1601         Change the conditional link warning.
1602         (mbscasecmp): New declaration.
1603         * m4/mbscasecmp.m4: New file.
1604         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
1605         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
1606         REPLACE_STRCASECMP.
1607         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
1608         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1609         GNULIB_MBSCASECMP.
1610         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
1611         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
1612         * modules/strcase (Files): Remove m4/mbrtowc.m4.
1613         (Depends-on): Remove mbuiter.
1614         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
1615
1616 2007-02-04  Bruno Haible  <bruno@clisp.org>
1617
1618         New module mbsstr. Remove module strstr.
1619         * modules/mbsstr: New file.
1620         * modules/strstr: Remove file.
1621         * lib/mbsstr.c: Renamed from lib/strstr.c.
1622         (mbsstr): Renamed from strstr.
1623         * lib/string_.h (strstr): Remove declaration. Change the conditional
1624         link warning.
1625         (mbsstr): New declaration.
1626         * m4/mbsstr.m4: New file.
1627         * m4/strstr.m4: Remove file.
1628         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
1629         REPLACE_STRSTR.
1630         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
1631         Don't initialize GNULIB_STRSTR.
1632         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
1633         substitute GNULIB_STRSTR and REPLACE_STRSTR.
1634         * MODULES.html.sh (Internationalization functions): Add mbsstr.
1635         (Support for systems lacking ANSI C 89): Remove strstr.
1636
1637 2007-02-04  Bruno Haible  <bruno@clisp.org>
1638
1639         New module mbsrchr.
1640         * modules/mbsrchr: New file.
1641         * lib/mbsrchr.c: New file.
1642         * lib/string_.h (strrchr): Add a conditional link warning.
1643         (mbsrchr): New declaration.
1644         * m4/mbsrchr.m4: New file.
1645         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1646         GNULIB_MBSRCHR.
1647         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
1648         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
1649
1650 2007-02-04  Bruno Haible  <bruno@clisp.org>
1651
1652         New module mbschr.
1653         * modules/mbschr: New file.
1654         * lib/mbschr.c: New file.
1655         * lib/string_.h (strchr): Add a conditional link warning.
1656         (mbschr): New declaration.
1657         * m4/mbschr.m4: New file.
1658         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1659         GNULIB_MBSCHR.
1660         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
1661         * MODULES.html.sh (Internationalization functions): Add mbschr.
1662
1663 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1664
1665         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
1666
1667         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
1668
1669 2007-02-04  Bruno Haible  <bruno@clisp.org>
1670
1671         New module description section 'configure.ac-early'.
1672         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
1673         (func_get_autoconf_early_snippet): New function.
1674         (func_import, func_create_testdir): Use it. Remove special cases for
1675         modules 'extensions' and 'lock'.
1676         * modules/extensions (configure.ac-early): Require
1677         gl_USE_SYSTEM_EXTENSIONS.
1678         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
1679
1680 2007-02-04  Bruno Haible  <bruno@clisp.org>
1681
1682         Make use of gcj-4.3's -fsource and -ftarget option.
1683         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
1684         and if so try the options -fsource and -ftarget.
1685         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
1686         source_version, ftarget_option, target_version arguments.
1687         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
1688         (is_envjavac_oldgcj_14_14_usable): Renamed from
1689         is_envjavac_gcj_14_14_usable.
1690         (is_envjavac_oldgcj_14_13_usable): Renamed from
1691         is_envjavac_gcj_14_13_usable.
1692         (is_gcj_present): Update.
1693         (is_gcj_43, is_gcj43_usable): New functions.
1694         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
1695         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
1696         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
1697         try the options -fsource and -ftarget.
1698
1699 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1700
1701         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
1702         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
1703         larger value.
1704
1705 2007-02-03  Jim Meyering  <jim@meyering.net>
1706
1707         Give tools a better chance to allocate space for very large buffers.
1708         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
1709
1710         Make pwd and readlink work also when run with an unreadable parent dir
1711         on systems with openat support.
1712         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
1713         provided getcwd function, even when we have openat support.
1714         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
1715
1716 2007-02-02  Bruno Haible  <bruno@clisp.org>
1717
1718         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
1719         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
1720         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
1721         portability problems if one of these functions is only used on specific
1722         platforms.
1723         Reported by Paul Eggert.
1724
1725 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1726
1727         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
1728         is causing more trouble than it's curing.
1729         * lib/regex_internal.h (__mempcpy): Remove.
1730         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
1731         (and make the code a tad smaller to boot).
1732         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
1733
1734 2007-02-02  Jim Meyering  <jim@meyering.net>
1735
1736         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
1737         section, not in the Makefile.am: one.
1738
1739 2007-02-02  Eric Blake  <ebb9@byu.net>
1740
1741         * lib/strchrnul.c: Always include config.h first.
1742
1743         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
1744         gnulib strstr is not necessary here.
1745
1746 2007-02-02  Simon Josefsson  <simon@josefsson.org>
1747
1748         * m4/socklen.m4: Fix typo.
1749
1750 2007-02-02  Eric Blake  <ebb9@byu.net>
1751
1752         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
1753         * modules/netinet_in (Makefile.am): Likewise.
1754
1755 2007-02-01  Bruno Haible  <bruno@clisp.org>
1756
1757         * lib/string_.h (GL_LINK_WARNING): New macro.
1758         (strcasecmp, strstr, strcasestr): If provided by the system,
1759         conditionally define as a macro that leads to a warning instead of to
1760         an error.
1761         (strncasecmp): Conditionally define as a macro that leads to a warning.
1762
1763 2007-02-01  Karl Berry  <karl@gnu.org>
1764
1765         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
1766
1767 2007-02-01  Bruno Haible  <bruno@clisp.org>
1768
1769         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
1770         renamings.
1771
1772 2007-02-01  Eric Blake  <ebb9@byu.net>
1773
1774         * modules/regex (Depends-on): Revert dependence on mempcpy.
1775         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
1776         module's definition of mempcpy.
1777         Reported by Paul Eggert.
1778
1779 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
1780
1781         * lib/string_.h: If the gnulib module XYZ is not present, undefine
1782         the symbol XYZ before redefining it.  This fixes a problem with
1783         programs that don't use XYZ, when compiled on systems that define
1784         XYZ to something else.
1785
1786 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1787
1788         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
1789         occurs when "mkdir -m foo" creates a setgid directory that is (1)
1790         writeable to group or other and (2) is intended to have a special
1791         mode bit that is set or cleared.  In such a case, the directory
1792         should be neither group- nor other-writeable until the special
1793         mode bits are right.
1794
1795 2007-01-31  Eric Blake  <ebb9@byu.net>
1796
1797         * modules/mountlist (Depends-on): Add strstr.
1798
1799         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
1800         bug.
1801         * modules/string (Makefile.am): Remove redundant replacement.
1802         * modules/regex (Depends-on): Add mempcpy.
1803
1804 2007-01-31  Bruno Haible  <bruno@clisp.org>
1805
1806         New module description field 'Link'.
1807         * gnulib-tool (func_usage): Document --extract-link-directive.
1808         (sed_extract_prog): Recognize 'Link' directive.
1809         (func_get_link_directive): New function.
1810         (func_import): Show summary of link directives.
1811         Handle --extract-link-directive option.
1812         * modules/acl (Link): New section.
1813         * modules/clock-time (Link): New section.
1814         * modules/euidaccess (Link): New section.
1815         * modules/gettext (Link): New section.
1816         * modules/iconv (Link): New section.
1817         * modules/lock (Link): New section.
1818         * modules/nanosleep (Link): New section.
1819         * modules/readline (Link): New section.
1820
1821 2007-01-27  Bruno Haible  <bruno@clisp.org>
1822
1823         Enforce the use of gnulib modules for unportable <string.h> functions.
1824         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
1825         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
1826         (gl_HEADER_STRING_H_BODY): Require it.
1827         * lib/string_.h: If the gnulib module XYZ is not present, redefine
1828         the symbol XYZ to one that gives a link error.
1829         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
1830         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
1831         * modules/mempcpy (configure.ac): Likewise.
1832         * modules/memrchr (configure.ac): Likewise.
1833         * modules/stpcpy (configure.ac): Likewise.
1834         * modules/stpncpy (configure.ac): Likewise.
1835         * modules/strcase (configure.ac): Likewise.
1836         * modules/strcasestr (configure.ac): Likewise.
1837         * modules/strchrnul (configure.ac): Likewise.
1838         * modules/strdup (configure.ac): Likewise.
1839         * modules/strndup (configure.ac): Likewise.
1840         * modules/strnlen (configure.ac): Likewise.
1841         * modules/strpbrk (configure.ac): Likewise.
1842         * modules/strsep (configure.ac): Likewise.
1843         * modules/strstr (configure.ac): Likewise.
1844         * modules/strtok_r (configure.ac): Likewise.
1845
1846 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
1847
1848         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
1849
1850 2007-01-30  Jim Meyering  <jim@meyering.net>
1851
1852         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
1853
1854 2007-01-29  Bruno Haible  <bruno@clisp.org>
1855
1856         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
1857         * lib/execute.c: Likewise.
1858         * lib/pipe.c: Likewise.
1859         * lib/printf-args.h: Likewise.
1860         * lib/printf-args.c: Likewise.
1861         * lib/printf-parse.c: Likewise.
1862         * lib/vasnprintf.c: Likewise.
1863
1864 2007-01-29  Eric Blake  <ebb9@byu.net>
1865
1866         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
1867         declaration.
1868
1869 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1870
1871         * lib/strptime.h (strptime): Use 'restrict' for args where
1872         POSIX requires this.
1873         * lib/strptime.c (strptime): Likewise.
1874         Change license notice from LGPL to GPL, since gnulib-tool will
1875         change this as needed.
1876         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
1877         defined.
1878         Include "strptime.h" first, to check interface.
1879         Do not #undef _LIBC and _NL_CURRENT.
1880         Do not include <stdlib.h>; no longer needed.
1881         Include "time_r.h" and declare ptime_locale_status
1882         only if _LIBC is not defined.
1883         (__P): Remove unused macro.
1884         (match_string): Bring back glibc version, but use it only if _LIBC
1885         is defined.
1886         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
1887         Remove unnecessary assertion and abort() call.
1888         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
1889         * m4/strptime.m4: Fix serial number comment.
1890         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
1891         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
1892         (Depends-on): Add time_r.
1893
1894 2007-01-29  Bruno Haible  <bruno@clisp.org>
1895
1896         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
1897         strptime.
1898         * modules/strptime (Depends-on): Add stdbool.
1899         * lib/strptime.h: Include <time.h> always. Add comments.
1900
1901 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
1902
1903         * modules/strptime: New file.
1904         * lib/strptime.h: New file.
1905         * lib/strptime.c: New file.
1906         * m4/strptime.m4: New file.
1907
1908 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1909
1910         * MODULES.html.sh: New module mpsort.
1911         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
1912
1913         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
1914         a circularity problem with HP-UX ia64 reported by Bob Proulx in
1915         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
1916         All uses changed.
1917         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
1918         All uses changed.
1919         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
1920         to _Restrict_.
1921         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
1922         the parameter matches the prototype.
1923
1924 2007-01-28  Jim Meyering  <jim@meyering.net>
1925
1926         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
1927         sys/time.h here, reverting that part of the previous patch:
1928         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
1929
1930 2007-01-28  Bruno Haible  <bruno@clisp.org>
1931
1932         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
1933         value of $(SYS_TIME_H).
1934         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
1935         remove it conditionally, too. [added by Jim Meyering]
1936         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
1937         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
1938         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
1939         GETTIMEOFDAY_REPLACEMENT to 1.
1940
1941 2007-01-28  Bruno Haible  <bruno@clisp.org>
1942
1943         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
1944         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
1945         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
1946         Set UNISTD_H instead of UNISTD_H2.
1947         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
1948
1949 2007-01-28  Bruno Haible  <bruno@clisp.org>
1950
1951         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
1952         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
1953
1954 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1955
1956         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
1957         (func_create_testdir): Ensure C locale for `grep' and `tr'
1958         character ranges.
1959         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
1960         ACLOCAL_AMFLAGS parsing state machine.
1961
1962 2007-01-27  Bruno Haible  <bruno@clisp.org>
1963
1964         * modules/unistr/base: Update.
1965
1966 2007-01-27  Bruno Haible  <bruno@clisp.org>
1967
1968         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
1969         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
1970         * modules/unistr/u32-mbtouc-unsafe: Renamed from
1971         modules/unistr/u32-mbtouc.
1972         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
1973         * lib/unistr.h: Update.
1974         * lib/linebreak.c: Update.
1975         * modules/unistr/u32-mbtouc: Renamed from
1976         modules/unistr/u32-mbtouc-safe.
1977         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
1978         * lib/unistr.h: Update.
1979         * lib/unistr/u32-to-u8.c: Update.
1980         * lib/unistr/u32-to-u16.c: Update.
1981
1982 2007-01-27  Bruno Haible  <bruno@clisp.org>
1983
1984         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
1985         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
1986         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
1987         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
1988         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
1989         * modules/unistr/u16-mbtouc-unsafe: Renamed from
1990         modules/unistr/u16-mbtouc.
1991         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
1992         * lib/unistr.h: Update.
1993         * lib/linebreak.c: Update.
1994         * modules/linebreak: Update.
1995         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
1996         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
1997         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
1998         * modules/unistr/u16-mbtouc: Renamed from
1999         modules/unistr/u16-mbtouc-safe.
2000         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
2001         * lib/unistr.h: Update.
2002         * lib/unistr/u16-to-u8.c: Update.
2003         * modules/unistr/u16-to-u8: Update.
2004         * lib/unistr/u16-to-u32.c: Update.
2005         * modules/unistr/u16-to-u32: Update.
2006
2007 2007-01-27  Bruno Haible  <bruno@clisp.org>
2008
2009         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
2010         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
2011         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
2012         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
2013         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
2014         * modules/unistr/u8-mbtouc-unsafe: Renamed from
2015         modules/unistr/u8-mbtouc.
2016         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
2017         * lib/unistr.h: Update.
2018         * lib/striconveh.c: Update.
2019         * modules/striconveh: Update.
2020         * lib/linebreak.c: Update.
2021         * modules/linebreak: Update.
2022         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
2023         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
2024         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
2025         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
2026         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
2027         * lib/unistr.h: Update.
2028         * lib/striconveh.c: Update.
2029         * modules/striconveh: Update.
2030         * lib/unistr/u8-to-u16.c: Update.
2031         * modules/unistr/u8-to-u16: Update.
2032         * lib/unistr/u8-to-u32.c: Update.
2033         * modules/unistr/u8-to-u32: Update.
2034
2035 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2036
2037         Sync from Libtool.
2038         * lib/argz.c: Do not include strings.h nor memory.h, include
2039         string.h unconditionally.  Patch by Simon Josefsson.
2040
2041 2007-01-27  Bruno Haible  <bruno@clisp.org>
2042
2043         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
2044         from gl_HEADER_STRING_H_BODY.
2045         (gl_HEADER_STRING_H_BODY): Require it.
2046         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
2047         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
2048         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
2049         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
2050         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
2051         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
2052         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
2053         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
2054         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
2055         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
2056         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
2057         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
2058         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
2059         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
2060         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
2061
2062 2007-01-27  Bruno Haible  <bruno@clisp.org>
2063
2064         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
2065         check_PROGRAMS into noinst_PROGRAMS.
2066         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
2067         check_PROGRAMS in this case.
2068         (func_import): Set for_test to false.
2069         (func_create_testdir): Set for_test to true.
2070
2071 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2072             Bruno Haible  <bruno@clisp.org>
2073
2074         * modules/strcasestr (Files): Remove lib/strcasestr.h.
2075         (Depends-on): Add string.
2076         (Includes): Use <string.h> instead of strcasestr.h.
2077         * modules/string (Makefile.am): Also substitute the value of
2078         REPLACE_STRCASESTR.
2079         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
2080         assume strcasestr is declared in <string.h> not <strings.h>. Also
2081         set REPLACE_STRCASESTR.
2082         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
2083         REPLACE_STRCASESTR.
2084         * lib/strcasestr.h: Remove file.
2085         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
2086         * lib/string_.h (strcasestr): New declaration.
2087
2088 2007-01-27  Bruno Haible  <bruno@clisp.org>
2089
2090         * lib/string_.h: Use 'extern'.
2091
2092 2007-01-27  Jim Meyering  <jim@meyering.net>
2093
2094         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
2095         of set-but-not-used local, "q".
2096
2097         * lib/mempcpy.c: Include <config.h> before <string.h>.
2098         This fixes a compilation error on HP-UX, due to the system's
2099         "restrict"-using mempcpy prototype.
2100
2101 2007-01-26  Bruno Haible  <bruno@clisp.org>
2102
2103         Small optimization.
2104         * lib/javacomp.c: Include c-strstr.h.
2105          (is_envjavac_gcj): Use c_strstr instead of strstr.
2106         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
2107
2108 2007-01-26  Bruno Haible  <bruno@clisp.org>
2109
2110         * MODULES.html.sh (Unicode string functions): Add the new modules.
2111
2112         * modules/uniconv/u32-strconv-to-locale: New file.
2113         * lib/uniconv/u32-strconv-to-locale.c: New file.
2114
2115         * modules/uniconv/u16-strconv-to-locale: New file.
2116         * lib/uniconv/u16-strconv-to-locale.c: New file.
2117
2118         * modules/uniconv/u8-strconv-to-locale: New file.
2119         * lib/uniconv/u8-strconv-to-locale.c: New file.
2120
2121         * modules/uniconv/u32-strconv-from-locale: New file.
2122         * lib/uniconv/u32-strconv-from-locale.c: New file.
2123
2124         * modules/uniconv/u16-strconv-from-locale: New file.
2125         * lib/uniconv/u16-strconv-from-locale.c: New file.
2126
2127         * modules/uniconv/u8-strconv-from-locale: New file.
2128         * lib/uniconv/u8-strconv-from-locale.c: New file.
2129
2130         * modules/uniconv/u32-strconv-to-enc: New file.
2131         * lib/uniconv/u32-strconv-to-enc.c: New file.
2132         * modules/uniconv/u32-strconv-to-enc-tests: New file.
2133         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
2134
2135         * modules/uniconv/u16-strconv-to-enc: New file.
2136         * lib/uniconv/u16-strconv-to-enc.c: New file.
2137         * lib/uniconv/u-strconv-to-enc.h: New file.
2138         * modules/uniconv/u16-strconv-to-enc-tests: New file.
2139         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
2140
2141         * modules/uniconv/u8-strconv-to-enc: New file.
2142         * lib/uniconv/u8-strconv-to-enc.c: New file.
2143         * modules/uniconv/u8-strconv-to-enc-tests: New file.
2144         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
2145
2146         * modules/uniconv/u32-strconv-from-enc: New file.
2147         * lib/uniconv/u32-strconv-from-enc.c: New file.
2148         * modules/uniconv/u32-strconv-from-enc-tests: New file.
2149         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
2150
2151         * modules/uniconv/u16-strconv-from-enc: New file.
2152         * lib/uniconv/u16-strconv-from-enc.c: New file.
2153         * modules/uniconv/u16-strconv-from-enc-tests: New file.
2154         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
2155
2156         * modules/uniconv/u8-strconv-from-enc: New file.
2157         * lib/uniconv/u8-strconv-from-enc.c: New file.
2158         * lib/uniconv/u-strconv-from-enc.h: New file.
2159         * modules/uniconv/u8-strconv-from-enc-tests: New file.
2160         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
2161
2162         * modules/uniconv/u32-conv-from-enc: New file.
2163         * lib/uniconv/u32-conv-from-enc.c: New file.
2164         * modules/uniconv/u32-conv-from-enc-tests: New file.
2165         * tests/uniconv/test-u32-conv-from-enc.c: New file.
2166
2167         * modules/uniconv/u16-conv-from-enc: New file.
2168         * lib/uniconv/u16-conv-from-enc.c: New file.
2169         * lib/uniconv/u-conv-from-enc.h: New file.
2170         * modules/uniconv/u16-conv-from-enc-tests: New file.
2171         * tests/uniconv/test-u16-conv-from-enc.c: New file.
2172
2173         * modules/uniconv/u8-conv-from-enc: New file.
2174         * lib/uniconv/u8-conv-from-enc.c: New file.
2175         * modules/uniconv/u8-conv-from-enc-tests: New file.
2176         * tests/uniconv/test-u8-conv-from-enc.c: New file.
2177
2178         * modules/uniconv/base: New file.
2179         * lib/uniconv.h: New file.
2180
2181 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
2182
2183         * doc/gnulib-tool.texi (Initial import): Update to match current
2184         behavior with strdup module.
2185         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
2186         * lib/memmem.h: Remove; all uses removed.  This is now done
2187         by <string.h>.
2188         * lib/mempcpy.h: Likewise.
2189         * lib/memrchr.h: Likewise.
2190         * lib/stpcpy.h: Likewise.
2191         * lib/stpncpy.h: Likewise.
2192         * lib/strcase.h: Likewise.
2193         * lib/strchrnul.h: Likewise.
2194         * lib/strdup.h: Likewise.
2195         * lib/strndup.h: Likewise.
2196         * lib/strnlen.h: Likewise.
2197         * lib/strpbrk.h: Likewise.
2198         * lib/strsep.h: Likewise.
2199         * lib/strstr.h: Likewise.
2200         * lib/strtok_r.h: Likewise.
2201         * lib/string_.h: New file.
2202         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
2203         Rely on <string.h> instead.
2204         * lib/canon-host.c: Likewise.
2205         * lib/chdir-long.c: Likewise.
2206         * lib/concatpath.c: Likewise.
2207         * lib/exclude.c: Likewise.
2208         * lib/fchdir.c: Likewise.
2209         * lib/getaddrinfo.c: Likewise.
2210         * lib/getcwd.c: Likewise.
2211         * lib/getsubopt.c: Likewise.
2212         * lib/glob.c: Likewise.
2213         * lib/hard-locale.c: Likewise.
2214         * lib/iconvme.c: Likewise.
2215         * lib/javacomp.c: Likewise.
2216         * lib/mempcpy.c: Likewise.
2217         * lib/memrchr.c: Likewise.
2218         * lib/regex_internal.h: Likewise.
2219         * lib/stpncpy.c: Likewise.
2220         * lib/strcasecmp.c: Likewise.
2221         * lib/strchrnul.c: Likewise.
2222         * lib/strdup.c: Likewise.
2223         * lib/striconv.c: Likewise.
2224         * lib/striconveh.c: Likewise.
2225         * lib/striconveha.c: Likewise.
2226         * lib/strncasecmp.c: Likewise.
2227         * lib/strndup.c: Likewise.
2228         * lib/strnlen.c: Likewise.
2229         * lib/strsep.c: Likewise.
2230         * lib/strstr.c: Likewise.
2231         * lib/strtok_r.c: Likewise.
2232         * lib/userspec.c: Likewise.
2233         * lib/w32spawn.h: Likewise.
2234         * lib/xstrndup.c: Likewise.
2235         * lib/mountlist.c (strstr): Remove decl.
2236         * m4/string_h.m4: New file.
2237         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
2238         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
2239         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
2240         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
2241         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
2242         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
2243         Set REPLACE_STRCASECMP if necessary.
2244         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
2245         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
2246         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
2247         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
2248         HAVE_DECL_STRDUP if necessary.
2249         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
2250         since gl_FUNC_STRNDUP does that now.
2251         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
2252         Check for decl here...
2253         (gl_PREREQ_STRNLEN): ... not here.
2254         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
2255         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
2256         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
2257         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
2258         necessary.
2259         * modules/string: New file.
2260         * modules/memmem (Files): Remove special-purpose include file.
2261         (Depends-on): Add string.
2262         (Include): Include <string.h>, not the removed file.
2263         * modules/mempcpy: Likewise.
2264         * modules/memrchr: Likewise.
2265         * modules/stpcpy: Likewise.
2266         * modules/stpncpy: Likewise.
2267         * modules/strcase: Likewise.
2268         * modules/strchrnul: Likewise.
2269         * modules/strdup: Likewise.
2270         * modules/strndup: Likewise.
2271         * modules/strnlen: Likewise.
2272         * modules/strpbrk: Likewise.
2273         * modules/strsep: Likewise.
2274         * modules/strstr: Likewise.
2275         * modules/strtok_r: Likewise.
2276         * tests/test-dirname.c: Don't include "strdup.h", since
2277         <string.h> now suffices.
2278         * tests/test-memmem.c: Don't include "memmem.h", since
2279         <string.h> now suffices.
2280
2281 2007-01-25  Bruno Haible  <bruno@clisp.org>
2282
2283         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
2284         *resultp is 0.
2285
2286         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
2287         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
2288         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
2289         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
2290
2291         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
2292         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
2293         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
2294         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
2295         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
2296         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
2297
2298 2007-01-24  Bruno Haible  <bruno@clisp.org>
2299
2300         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
2301         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
2302         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
2303         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
2304         gl_FUNC_FTS_CORE.
2305         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
2306         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
2307         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
2308         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
2309         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
2310         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
2311         gl_FUNC_FCHOWNAT.
2312         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
2313         gl_FUNC_STRFTIME.
2314         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
2315         Reported by Ralf Wildenhues.
2316
2317 2007-01-24  Bruno Haible  <bruno@clisp.org>
2318
2319         Drop AC_REQUIRE calls that are redundant with the module dependencies.
2320         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
2321         gl_GETADDRINFO.
2322         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
2323         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
2324         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
2325
2326 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
2327
2328         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
2329         Don't use 'exit'; just return from 'main'.
2330         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
2331
2332         * lib/fnmatch_.h: Readjust white space and comments to match
2333         glibc, to avoid spurious diffs.
2334
2335 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2336
2337         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
2338         2004-12-01 change by Jakub Jelinek, since this code won't compile
2339         if !LIBC.  Problem reported by Bob Proulx.
2340
2341 2007-01-23  Bruno Haible  <bruno@clisp.org>
2342
2343         * lib/striconveh.c: Include c-strcaseeq.h.
2344         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
2345         * modules/striconveh (Depends-on): Add c-strcaseeq.
2346
2347 2007-01-23  Bruno Haible  <bruno@clisp.org>
2348
2349         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
2350
2351         * modules/c-strcaseeq: New file.
2352         * lib/c-strcaseeq.h: New file.
2353
2354         * modules/streq: New file.
2355         * lib/streq.h: New file.
2356
2357 2007-01-23  Bruno Haible  <bruno@clisp.org>
2358
2359         * modules/striconveha-tests: New file.
2360         * tests/test-striconveha.c: New file.
2361
2362         * lib/striconveha.h: Include <stdbool.h>.
2363         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
2364         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
2365         (mem_iconveha_notranslit): Renamed from mem_iconveha.
2366         (mem_iconveha): New function.
2367         (str_iconveha_notranslit): Renamed from str_iconveha.
2368         (str_iconveha): New function.
2369         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
2370         c-strcase.
2371
2372 2007-01-23  Bruno Haible  <bruno@clisp.org>
2373
2374         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
2375         encodings without forgiving before trying any encoding with handler.
2376         (str_iconveha): Try all encodings without forgiving before trying any
2377         encoding with handler.
2378
2379 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2380
2381         Import the following changes from libc.
2382
2383         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
2384
2385         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
2386
2387         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
2388
2389         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
2390         normal_bracket label.
2391
2392         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
2393
2394         [BZ #361]
2395         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
2396         to normal_bracket after fetching the next character.
2397
2398 2007-01-22  Bruno Haible  <bruno@clisp.org>
2399
2400         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
2401         argument.
2402         * lib/striconveh.c (iconv_carefully_1): New function.
2403         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
2404         argument.
2405         (str_cd_iconveh): Update.
2406         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
2407         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
2408         * tests/test-striconveh.c (MAGIC): New macro.
2409         (new_offsets): New function.
2410         (main): Test call with and without offsets.
2411
2412 2007-01-22  Bruno Haible  <bruno@clisp.org>
2413
2414         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
2415         * modules/sys_select (Makefile.am): Likewise.
2416         * modules/sys_socket (Makefile.am): Likewise.
2417         * modules/sys_time (Makefile.am): Likewise.
2418
2419 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
2420
2421         * modules/gettimeofday (License): Change from GPL to LGPL, since
2422         gettimeofday is a library function.
2423
2424 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2425
2426         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
2427
2428 2007-01-21  Bruno Haible  <bruno@clisp.org>
2429
2430         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
2431
2432 2007-01-21  Bruno Haible  <bruno@clisp.org>
2433
2434         * modules/striconveha: New file.
2435         * lib/striconveha.h: New file.
2436         * lib/striconveha.c: New file.
2437         * MODULES.html.sh (Internationalization functions): Add striconveha.
2438         * lib/striconv.c (str_iconv): Optimize the case of an empty input
2439         string.
2440         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
2441
2442 2007-01-21  Bruno Haible  <bruno@clisp.org>
2443
2444         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
2445         * lib/striconveh.c (str_iconveh): Likewise.
2446
2447 2007-01-21  Bruno Haible  <bruno@clisp.org>
2448
2449         * lib/striconveh.h (mem_iconveh): New declaration.
2450         * lib/striconveh.c (mem_iconveh): New function.
2451         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
2452
2453 2007-01-21  Bruno Haible  <bruno@clisp.org>
2454
2455         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
2456
2457         * lib/striconveh.h (mem_cd_iconveh): Change specification.
2458         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
2459         original result buffer.
2460         (str_cd_iconveh): Update.
2461         * tests/test-striconveh.c (main): Update.
2462
2463         * lib/striconv.h (mem_cd_iconv): Change specification.
2464         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
2465         result buffer.
2466         (str_cd_iconv): Update.
2467         * tests/test-striconv.c (main): Update.
2468
2469 2007-01-21  Bruno Haible  <bruno@clisp.org>
2470
2471         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
2472
2473 2007-01-20  Jim Meyering  <jim@meyering.net>
2474
2475         * lib/userspec.c (parse_with_separator): If a user or group string
2476         starts with "+", skip the corresponding name-to-ID look-up, since
2477         such a look-up must fail: user and group names may not include "+".
2478
2479 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2480
2481         * lib/poll.c: Include sys/time.h and time.h unconditionally,
2482         since we now assume the sys_time module.
2483         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
2484         check for sys/time.h; no longer needed.
2485         * modules/poll (Depends-on): Depend on sys_time.
2486
2487 2007-01-18  Bruno Haible  <bruno@clisp.org>
2488
2489         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
2490         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2491
2492         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
2493         gettimeofday.
2494
2495         * tests/test-gettimeofday.c: Include <time.h>.
2496         (dummy): Remove variable.
2497
2498         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
2499         gl_HEADER_SYS_TIME_H.
2500         (gl_HEADER_SYS_TIME_H): New macro.
2501
2502         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
2503         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2504         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
2505         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
2506         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2507         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
2508         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
2509         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2510         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
2511         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
2512         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2513
2514         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
2515         last change; it caused a compilation error when cross-compiling to
2516         Cygwin.
2517
2518 2007-01-18  Jim Meyering  <jim@meyering.net>
2519
2520         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
2521         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
2522         than the race-prone "test -d sys || mkdir sys".
2523         (configure.ac): Use AC_PROG_MKDIR_P.
2524         * modules/sys_select: Likewise.
2525         * modules/sys_socket: Likewise.
2526         * modules/sys_time: Likewise.
2527
2528 2007-01-18  Eric Blake  <ebb9@byu.net>
2529
2530         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
2531         replace gettimeofday.
2532         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
2533         name, to avoid infinite recursion.
2534
2535 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
2536
2537         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
2538         module sys_time.
2539         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
2540         assume timespec.h defines struct timeval.
2541         * lib/settime.c: Likewise.
2542         * lib/utimens.c: Likewise.
2543         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
2544         since we now assume the gettimeofday module.
2545         * lib/tempname.c (__gen_tempname): Likewise.
2546         * lib/gettimeofday.h: Remove.
2547         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
2548         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
2549         Include <time.h>, for 'time()'.
2550         (localtime_buffer_addr): Also use this workaround if
2551         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
2552         to simplify the uses.  All uses changed.
2553         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
2554         that #undef is inside {}, and 'const' follows type name consistently.
2555         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
2556         (gettimeofday): Do not use the maximum possible value for
2557         tv->tv_usec, since that might break usages other than ls.c.
2558         Instead, we'll leave ls.c alone.  This undoes today's patch
2559         by Bruno.  Add a compile-time warning for 1s-clock resolution;
2560         we've never observed the problem but might as well keep the
2561         canary.
2562         * lib/nanosleep.c: Include timespec.h first, for interface check.
2563         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
2564         now assume the sys_time module.
2565         * lib/tempname.c: Likewise.
2566         * lib/timespec.h: Likewise.
2567         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
2568         needed.
2569         * lib/strftime.c: Likewise.
2570         * lib/timespec.h: Likewise.
2571         * lib/posixtm.c: Include posixtm.h first, for interface check.
2572         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
2573         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
2574         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
2575         * lib/sys_time_.h: New file.
2576         * lib/timespec.h (struct timespec): Use long int, not long.
2577         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
2578         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
2579         Remove obsolescent call to AC_HEADER_TIME.
2580         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2581         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2582         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2583         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
2584         Likewise.
2585         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
2586         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
2587         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
2588         into the sys_time module.  Check for gettimeofday just once.
2589         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
2590         for gettimeofday signature to just check the signature.  Merely
2591         compile it, since linking doesn't test signature.  Improve test for
2592         whether gettimeofday.o is actually needed.
2593         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
2594         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
2595         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
2596         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2597         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
2598         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
2599         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
2600         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
2601         than worrying about sys/time.h.
2602         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
2603         Don't bother worrying about TIME_WITH_SYS_TIME.
2604         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
2605         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
2606         * m4/sys_time_h.m4: New file.
2607         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
2608         Don't include sys/time.h.  Return from main rather than exiting.
2609         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
2610         all uses changed.
2611         * modules/gethrxtime (Depends-on): Add sys_time.
2612         * modules/gettime (Depends-on): Likewise.
2613         * modules/gettimeofday (Depends-on): Likewise.
2614         * modules/nanosleep (Depends-on): Likewise.
2615         * modules/settime (Depends-on): Likewise.
2616         * modules/tempname (Depends-on): Likewise.
2617         * modules/utimens (Depends-on): Likewise.
2618         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
2619         (Include:) Change back to <sys/time.h>.
2620         (Maintainer:) Add self.
2621         * modules/sys_time: New file.
2622         * modules/tempname (Depends-on): Add gettimeofday.
2623         * tests/test-gettimeofday.c: Include <sys/time.h>
2624         rather than gettimeofday.h.
2625
2626 2007-01-17  Bruno Haible  <bruno@clisp.org>
2627
2628         * gnulib-tool (func_get_license): Revert last patch. Instead, let
2629         the license default to GPL.
2630         (func_create_testdir): Don't complain if a module is LGPL and its
2631         tests module depends on GPLed modules.
2632
2633 2007-01-17  Bruno Haible  <bruno@clisp.org>
2634
2635         * lib/gettimeofday.c (gettimeofday): Add code for the case
2636         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
2637         maximum possible value for tv->tv_usec, rather than the minimum one.
2638
2639 2005-10-08  Martin Lambers  <marlam@marlam.de>
2640 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2641 2007-01-16  Bruno Haible  <bruno@clisp.org>
2642
2643         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
2644         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
2645         gl_FUNC_GETTIMEOFDAY.
2646         (Include): Add gettimeofday.h.
2647         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
2648         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
2649         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
2650         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
2651         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
2652         * lib/gettimeofday.h: New file.
2653         * lib/gettimeofday.c: Include <sys/timeb.h>.
2654         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
2655         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2656         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
2657         fall back on time().
2658
2659         * tests/test-gettimeofday.c: New file.
2660         * modules/gettimeofday-tests: New file.
2661
2662 2007-01-16  Eric Blake  <ebb9@byu.net>
2663
2664         * modules/fnmatch (Depends-on): Depend on wchar.
2665         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
2666         * m4/fnmatch.m4: Likewise.
2667         * modules/mbchar (Makefile.am): Assume <wchar.h>.
2668         * m4/mbchar.m4: Likewise.
2669         * modules/mbswidth (Depends-on): Depend on wchar.
2670         * lib/mbswidth.c: Assume <wchar.h>.
2671         * m4/mbswidth.m4: Likewise.
2672         * modules/quotearg (Depends-on): Depend on wchar.
2673         * lib/quotearg.c: Assume <wchar.h>.
2674         * m4/quotearg.m4: Likewise.
2675         * modules/regex (Depends-on): Depend on wchar.
2676         * lib/regex_internal.h: Assume <wchar.h>.
2677         * m4/regex.m4: Likewise.
2678         * modules/stdint (Depends-on): Depend on wchar.
2679         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
2680         * m4/stdint.m4: Likewise.
2681         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
2682         * modules/strftime (Depends-on): Depend on wchar.
2683         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
2684         * modules/strtol (Depends-on): Depend on wchar.
2685         * lib/strtol.c: Assume <wchar.h>.
2686         * modules/wcwidth (Depends-on): Depend on wchar.
2687         * lib/wcwidth.h: Assume <wchar.h>.
2688         * m4/wcwidth.m4: Likewise.
2689
2690 2007-01-16  Bruno Haible  <bruno@clisp.org>
2691
2692         * modules/csharpexec-script: New, created from...
2693         * modules/csharpexec: ... this.
2694
2695 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
2696
2697         * modules/javaexec-script: New, created from...
2698         * modules/javaexec: ... this.
2699
2700 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2701
2702         * modules/poll (Dependencies): Add sys_select.
2703
2704 2007-01-15  Jim Meyering  <jim@meyering.net>
2705
2706         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
2707         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
2708         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
2709         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
2710
2711 2007-01-15  Bruno Haible  <bruno@clisp.org>
2712
2713         * modules/striconveh: New file.
2714         * lib/striconveh.h: New file.
2715         * lib/striconveh.c: New file.
2716         * MODULES.html.sh (Internationalization functions): Add striconveh.
2717
2718         * modules/striconveh-tests: New file.
2719         * tests/test-striconveh.c: New file.
2720
2721 2007-01-15  Bruno Haible  <bruno@clisp.org>
2722
2723         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
2724         not from GNU libiconv or GNU libc.
2725
2726 2007-01-15  Bruno Haible  <bruno@clisp.org>
2727
2728         * doc/gnulib-intro.texi (Copyright): Explain the different license
2729         terms for module descriptions, autoconf macros, tests, documentation.
2730
2731 2007-01-14  Bruno Haible  <bruno@clisp.org>
2732
2733         * modules/striconv-tests: New file.
2734         * tests/test-striconv.c: New file.
2735
2736 2007-01-14  Bruno Haible  <bruno@clisp.org>
2737
2738         * modules/iconv-tests: New file.
2739         * tests/test-iconv.c: New file.
2740
2741 2007-01-14  Bruno Haible  <bruno@clisp.org>
2742
2743         * gnulib-tool (func_get_license): For test modules, use the license of
2744         the main module.
2745
2746 2007-01-14  Bruno Haible  <bruno@clisp.org>
2747
2748         * modules/iconv (Include): Clarify that <iconv.h> can only be included
2749         if iconv is found to exist.
2750
2751 2007-01-14  Bruno Haible  <bruno@clisp.org>
2752
2753         * modules/c-ctype-tests: New file.
2754         * tests/test-c-ctype.c: New file.
2755
2756 2007-01-14  Bruno Haible  <bruno@clisp.org>
2757
2758         * modules/binary-io-tests: New file.
2759         * tests/test-binary-io.sh: New file.
2760         * tests/test-binary-io.c: New file.
2761
2762 2007-01-14  Bruno Haible  <bruno@clisp.org>
2763
2764         * modules/array-oset-tests: New file.
2765         * tests/test-array_oset.c: New file.
2766
2767 2007-01-14  Bruno Haible  <bruno@clisp.org>
2768
2769         * modules/array-list-tests: New file.
2770         * tests/test-array_list.c: New file.
2771
2772 2007-01-14  Bruno Haible  <bruno@clisp.org>
2773
2774         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
2775         and make.
2776         Reported by Simon Josefsson in
2777         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
2778
2779 2007-01-14  Bruno Haible  <bruno@clisp.org>
2780
2781         * modules/allocsa-tests: New file.
2782         * tests/test-allocsa.c: New file.
2783
2784 2007-01-14  Bruno Haible  <bruno@clisp.org>
2785
2786         * modules/fchdir (Depends-on): Add absolute-header.
2787         * modules/unistd (Depends-on): Likewise.
2788
2789 2006-12-30  Bruno Haible  <bruno@clisp.org>
2790
2791         * modules/fchdir: New file.
2792         * modules/unistd (Files): Add lib/unistd_.h.
2793         (Makefile.am): Generate unistd.h from unistd_.h.
2794         * lib/fchdir.c: New file.
2795         * lib/dirent_.h: New file.
2796         * lib/unistd_.h: New file.
2797         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
2798         * m4/fchdir.m4: New file.
2799         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
2800         (gl_HEADER_UNISTD): Invoke it.
2801         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
2802         function.
2803         * lib/backupfile.c (opendir, closedir): Undefine.
2804         * lib/chown.c (open, close): Undefine.
2805         * lib/clean-temp.c (open, close): Undefine.
2806         * lib/copy-file.c (open, close): Undefine.
2807         * lib/execute.c (open, close): Undefine.
2808         * lib/fsusage.c (open, close): Undefine.
2809         * lib/gc-gnulib.c (open, close): Undefine.
2810         * lib/getcwd.c (opendir, closedir): Undefine.
2811         * lib/glob.c (opendir, closedir): Undefine.
2812         * lib/javacomp.c (open, close): Undefine.
2813         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
2814         * lib/openat-proc.c (open, close): Undefine.
2815         * lib/pagealign_alloc.c (open, close): Undefine.
2816         * lib/pipe.c (open, close): Undefine.
2817         * lib/progreloc.c (open, close): Undefine.
2818         * lib/savedir.c (opendir, closedir): Undefine.
2819         * lib/utime.c (open, close): Undefine.
2820         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
2821
2822 2007-01-10  Bruno Haible  <bruno@clisp.org>
2823
2824         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
2825
2826 2007-01-12  Eric Blake  <ebb9@byu.net>
2827
2828         Provide a robust <wchar.h>.  Further simplifications are now
2829         possible in other modules, but not included here.
2830         * modules/wchar: New module.
2831         * m4/wchar.m4: New file.
2832         * lib/wchar_.h: Likewise.
2833         * modules/mbchar (Depends-on): Depend on wchar, as the first use
2834         of the new module.
2835         * MODULES.html.sh (Extended multibyte and wide character utilities):
2836         New section.
2837
2838 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
2839
2840         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
2841         to a reasonable default for memory allocation.
2842         (xreadlink): Don't allocate a huge buffer, to work around a buggy
2843         file system that reports garbage st_size values for symlinks.
2844         Problem reported by Liyang Hu.
2845
2846 2007-01-11  Simon Josefsson  <simon@josefsson.org>
2847
2848         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
2849         Emacs .#* auto-save files).
2850
2851 2007-01-11  Bruno Haible  <bruno@clisp.org>
2852
2853         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
2854         directory.
2855
2856 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
2857
2858         Use @...@ consistently in lib/wctype_.h.
2859         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
2860         on it being set to 1 or 0.
2861         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
2862         go back to AC_SUBSTing it.
2863         * modules/wctype (Makefile.am): Undo previous change.
2864
2865 2007-01-10  Eric Blake  <ebb9@byu.net>
2866
2867         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
2868         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
2869         * modules/wctype (Makefile.am): Likewise.
2870         Reported by Chris McGuire.
2871
2872 2007-01-10  Jim Meyering  <jim@meyering.net>
2873
2874         fts.c: a small readability/maintainability improvement
2875         * lib/fts.c (fts_read): Make this code slightly more readable and
2876         maintainable by hoisting the "sp->fts_cur = p" assignments to
2877         immediately follow the statements that set P.  Derived from
2878         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
2879
2880 2007-01-10  Eric Blake  <ebb9@byu.net>
2881
2882         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
2883         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
2884         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2885         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
2886         Reported by Chris McGuire.
2887
2888 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2889
2890         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
2891         in sed script.
2892
2893 2007-01-09  Bruno Haible  <bruno@clisp.org>
2894
2895         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
2896         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
2897         variables.
2898         (func_module): Use them.
2899
2900 2007-01-09  Bruno Haible  <bruno@clisp.org>
2901
2902         * modules/unistr/base: New file.
2903         * lib/unistr.h: New file.
2904
2905         * modules/unistr/u8-to-u16: New file.
2906         * lib/unistr/u8-to-u16.c: New file.
2907
2908         * modules/unistr/u8-to-u32: New file.
2909         * lib/unistr/u8-to-u32.c: New file.
2910
2911         * modules/unistr/u16-to-u8: New file.
2912         * lib/unistr/u16-to-u8.c: New file.
2913
2914         * modules/unistr/u16-to-u32: New file.
2915         * lib/unistr/u16-to-u32.c: New file.
2916
2917         * modules/unistr/u32-to-u8: New file.
2918         * lib/unistr/u32-to-u8.c: New file.
2919
2920         * modules/unistr/u32-to-u16: New file.
2921         * lib/unistr/u32-to-u16.c: New file.
2922
2923         * modules/unistr/u8-check: New file.
2924         * modules/unistr/u16-check: New file.
2925         * modules/unistr/u32-check: New file.
2926         * lib/unistr/u8-check.c: New file.
2927         * lib/unistr/u16-check.c: New file.
2928         * lib/unistr/u32-check.c: New file.
2929
2930         * modules/unistr/u8-chr: New file.
2931         * modules/unistr/u16-chr: New file.
2932         * modules/unistr/u32-chr: New file.
2933         * lib/unistr/u8-chr.c: New file.
2934         * lib/unistr/u16-chr.c: New file.
2935         * lib/unistr/u32-chr.c: New file.
2936
2937         * modules/unistr/u8-cmp: New file.
2938         * modules/unistr/u16-cmp: New file.
2939         * modules/unistr/u32-cmp: New file.
2940         * lib/unistr/u8-cmp.c: New file.
2941         * lib/unistr/u16-cmp.c: New file.
2942         * lib/unistr/u32-cmp.c: New file.
2943
2944         * modules/unistr/u8-cpy: New file.
2945         * modules/unistr/u16-cpy: New file.
2946         * modules/unistr/u32-cpy: New file.
2947         * lib/unistr/u8-cpy.c: New file.
2948         * lib/unistr/u16-cpy.c: New file.
2949         * lib/unistr/u32-cpy.c: New file.
2950         * lib/unistr/u-cpy.h: New file.
2951
2952         * modules/unistr/u8-cpy-alloc: New file.
2953         * modules/unistr/u16-cpy-alloc: New file.
2954         * modules/unistr/u32-cpy-alloc: New file.
2955         * lib/unistr/u8-cpy-alloc.c: New file.
2956         * lib/unistr/u16-cpy-alloc.c: New file.
2957         * lib/unistr/u32-cpy-alloc.c: New file.
2958         * lib/unistr/u-cpy-alloc.h: New file.
2959
2960         * modules/unistr/u8-endswith: New file.
2961         * modules/unistr/u16-endswith: New file.
2962         * modules/unistr/u32-endswith: New file.
2963         * lib/unistr/u8-endswith.c: New file.
2964         * lib/unistr/u16-endswith.c: New file.
2965         * lib/unistr/u32-endswith.c: New file.
2966         * lib/unistr/u-endswith.h: New file.
2967
2968         * modules/unistr/u8-mblen: New file.
2969         * modules/unistr/u16-mblen: New file.
2970         * modules/unistr/u32-mblen: New file.
2971         * lib/unistr/u8-mblen.c: New file.
2972         * lib/unistr/u16-mblen.c: New file.
2973         * lib/unistr/u32-mblen.c: New file.
2974
2975         * modules/unistr/u8-mbtouc: New file.
2976         * modules/unistr/u16-mbtouc: New file.
2977         * modules/unistr/u32-mbtouc: New file.
2978         * lib/unistr/u8-mbtouc.c: New file.
2979         * lib/unistr/u16-mbtouc.c: New file.
2980         * lib/unistr/u32-mbtouc.c: New file.
2981
2982         * modules/unistr/u8-mbtouc-safe: New file.
2983         * modules/unistr/u16-mbtouc-safe: New file.
2984         * modules/unistr/u32-mbtouc-safe: New file.
2985         * lib/unistr/u8-mbtouc-safe.c: New file.
2986         * lib/unistr/u16-mbtouc-safe.c: New file.
2987         * lib/unistr/u32-mbtouc-safe.c: New file.
2988
2989         * modules/unistr/u8-move: New file.
2990         * modules/unistr/u16-move: New file.
2991         * modules/unistr/u32-move: New file.
2992         * lib/unistr/u8-move.c: New file.
2993         * lib/unistr/u16-move.c: New file.
2994         * lib/unistr/u32-move.c: New file.
2995         * lib/unistr/u-move.h: New file.
2996
2997         * modules/unistr/u8-next: New file.
2998         * modules/unistr/u16-next: New file.
2999         * modules/unistr/u32-next: New file.
3000         * lib/unistr/u8-next.c: New file.
3001         * lib/unistr/u16-next.c: New file.
3002         * lib/unistr/u32-next.c: New file.
3003
3004         * modules/unistr/u8-prev: New file.
3005         * modules/unistr/u16-prev: New file.
3006         * modules/unistr/u32-prev: New file.
3007         * lib/unistr/u8-prev.c: New file.
3008         * lib/unistr/u16-prev.c: New file.
3009         * lib/unistr/u32-prev.c: New file.
3010
3011         * modules/unistr/u8-set: New file.
3012         * modules/unistr/u16-set: New file.
3013         * modules/unistr/u32-set: New file.
3014         * lib/unistr/u8-set.c: New file.
3015         * lib/unistr/u16-set.c: New file.
3016         * lib/unistr/u32-set.c: New file.
3017         * lib/unistr/u-set.h: New file.
3018
3019         * modules/unistr/u8-startswith: New file.
3020         * modules/unistr/u16-startswith: New file.
3021         * modules/unistr/u32-startswith: New file.
3022         * lib/unistr/u8-startswith.c: New file.
3023         * lib/unistr/u16-startswith.c: New file.
3024         * lib/unistr/u32-startswith.c: New file.
3025         * lib/unistr/u-startswith.h: New file.
3026
3027         * modules/unistr/u8-stpcpy: New file.
3028         * modules/unistr/u16-stpcpy: New file.
3029         * modules/unistr/u32-stpcpy: New file.
3030         * lib/unistr/u8-stpcpy.c: New file.
3031         * lib/unistr/u16-stpcpy.c: New file.
3032         * lib/unistr/u32-stpcpy.c: New file.
3033         * lib/unistr/u-stpcpy.h: New file.
3034
3035         * modules/unistr/u8-stpncpy: New file.
3036         * modules/unistr/u16-stpncpy: New file.
3037         * modules/unistr/u32-stpncpy: New file.
3038         * lib/unistr/u8-stpncpy.c: New file.
3039         * lib/unistr/u16-stpncpy.c: New file.
3040         * lib/unistr/u32-stpncpy.c: New file.
3041         * lib/unistr/u-stpncpy.h: New file.
3042
3043         * modules/unistr/u8-strcat: New file.
3044         * modules/unistr/u16-strcat: New file.
3045         * modules/unistr/u32-strcat: New file.
3046         * lib/unistr/u8-strcat.c: New file.
3047         * lib/unistr/u16-strcat.c: New file.
3048         * lib/unistr/u32-strcat.c: New file.
3049         * lib/unistr/u-strcat.h: New file.
3050
3051         * modules/unistr/u8-strchr: New file.
3052         * modules/unistr/u16-strchr: New file.
3053         * modules/unistr/u32-strchr: New file.
3054         * lib/unistr/u8-strchr.c: New file.
3055         * lib/unistr/u16-strchr.c: New file.
3056         * lib/unistr/u32-strchr.c: New file.
3057
3058         * modules/unistr/u8-strcmp: New file.
3059         * modules/unistr/u16-strcmp: New file.
3060         * modules/unistr/u32-strcmp: New file.
3061         * lib/unistr/u8-strcmp.c: New file.
3062         * lib/unistr/u16-strcmp.c: New file.
3063         * lib/unistr/u32-strcmp.c: New file.
3064
3065         * modules/unistr/u8-strcpy: New file.
3066         * modules/unistr/u16-strcpy: New file.
3067         * modules/unistr/u32-strcpy: New file.
3068         * lib/unistr/u8-strcpy.c: New file.
3069         * lib/unistr/u16-strcpy.c: New file.
3070         * lib/unistr/u32-strcpy.c: New file.
3071         * lib/unistr/u-strcpy.h: New file.
3072
3073         * modules/unistr/u8-strcspn: New file.
3074         * modules/unistr/u16-strcspn: New file.
3075         * modules/unistr/u32-strcspn: New file.
3076         * lib/unistr/u8-strcspn.c: New file.
3077         * lib/unistr/u16-strcspn.c: New file.
3078         * lib/unistr/u32-strcspn.c: New file.
3079         * lib/unistr/u-strcspn.h: New file.
3080
3081         * modules/unistr/u8-strdup: New file.
3082         * modules/unistr/u16-strdup: New file.
3083         * modules/unistr/u32-strdup: New file.
3084         * lib/unistr/u8-strdup.c: New file.
3085         * lib/unistr/u16-strdup.c: New file.
3086         * lib/unistr/u32-strdup.c: New file.
3087         * lib/unistr/u-strdup.h: New file.
3088
3089         * modules/unistr/u8-strlen: New file.
3090         * modules/unistr/u16-strlen: New file.
3091         * modules/unistr/u32-strlen: New file.
3092         * lib/unistr/u8-strlen.c: New file.
3093         * lib/unistr/u16-strlen.c: New file.
3094         * lib/unistr/u32-strlen.c: New file.
3095         * lib/unistr/u-strlen.h: New file.
3096
3097         * modules/unistr/u8-strmblen: New file.
3098         * modules/unistr/u16-strmblen: New file.
3099         * modules/unistr/u32-strmblen: New file.
3100         * lib/unistr/u8-strmblen.c: New file.
3101         * lib/unistr/u16-strmblen.c: New file.
3102         * lib/unistr/u32-strmblen.c: New file.
3103
3104         * modules/unistr/u8-strmbtouc: New file.
3105         * modules/unistr/u16-strmbtouc: New file.
3106         * modules/unistr/u32-strmbtouc: New file.
3107         * lib/unistr/u8-strmbtouc.c: New file.
3108         * lib/unistr/u16-strmbtouc.c: New file.
3109         * lib/unistr/u32-strmbtouc.c: New file.
3110
3111         * modules/unistr/u8-strncat: New file.
3112         * modules/unistr/u16-strncat: New file.
3113         * modules/unistr/u32-strncat: New file.
3114         * lib/unistr/u8-strncat.c: New file.
3115         * lib/unistr/u16-strncat.c: New file.
3116         * lib/unistr/u32-strncat.c: New file.
3117         * lib/unistr/u-strncat.h: New file.
3118
3119         * modules/unistr/u8-strncmp: New file.
3120         * modules/unistr/u16-strncmp: New file.
3121         * modules/unistr/u32-strncmp: New file.
3122         * lib/unistr/u8-strncmp.c: New file.
3123         * lib/unistr/u16-strncmp.c: New file.
3124         * lib/unistr/u32-strncmp.c: New file.
3125
3126         * modules/unistr/u8-strncpy: New file.
3127         * modules/unistr/u16-strncpy: New file.
3128         * modules/unistr/u32-strncpy: New file.
3129         * lib/unistr/u8-strncpy.c: New file.
3130         * lib/unistr/u16-strncpy.c: New file.
3131         * lib/unistr/u32-strncpy.c: New file.
3132         * lib/unistr/u-strncpy.h: New file.
3133
3134         * modules/unistr/u8-strnlen: New file.
3135         * modules/unistr/u16-strnlen: New file.
3136         * modules/unistr/u32-strnlen: New file.
3137         * lib/unistr/u8-strnlen.c: New file.
3138         * lib/unistr/u16-strnlen.c: New file.
3139         * lib/unistr/u32-strnlen.c: New file.
3140         * lib/unistr/u-strnlen.h: New file.
3141
3142         * modules/unistr/u8-strpbrk: New file.
3143         * modules/unistr/u16-strpbrk: New file.
3144         * modules/unistr/u32-strpbrk: New file.
3145         * lib/unistr/u8-strpbrk.c: New file.
3146         * lib/unistr/u16-strpbrk.c: New file.
3147         * lib/unistr/u32-strpbrk.c: New file.
3148         * lib/unistr/u-strpbrk.h: New file.
3149
3150         * modules/unistr/u8-strrchr: New file.
3151         * modules/unistr/u16-strrchr: New file.
3152         * modules/unistr/u32-strrchr: New file.
3153         * lib/unistr/u8-strrchr.c: New file.
3154         * lib/unistr/u16-strrchr.c: New file.
3155         * lib/unistr/u32-strrchr.c: New file.
3156
3157         * modules/unistr/u8-strspn: New file.
3158         * modules/unistr/u16-strspn: New file.
3159         * modules/unistr/u32-strspn: New file.
3160         * lib/unistr/u8-strspn.c: New file.
3161         * lib/unistr/u16-strspn.c: New file.
3162         * lib/unistr/u32-strspn.c: New file.
3163         * lib/unistr/u-strspn.h: New file.
3164
3165         * modules/unistr/u8-strstr: New file.
3166         * modules/unistr/u16-strstr: New file.
3167         * modules/unistr/u32-strstr: New file.
3168         * lib/unistr/u8-strstr.c: New file.
3169         * lib/unistr/u16-strstr.c: New file.
3170         * lib/unistr/u32-strstr.c: New file.
3171         * lib/unistr/u-strstr.h: New file.
3172
3173         * modules/unistr/u8-strtok: New file.
3174         * modules/unistr/u16-strtok: New file.
3175         * modules/unistr/u32-strtok: New file.
3176         * lib/unistr/u8-strtok.c: New file.
3177         * lib/unistr/u16-strtok.c: New file.
3178         * lib/unistr/u32-strtok.c: New file.
3179         * lib/unistr/u-strtok.h: New file.
3180
3181         * modules/unistr/u8-uctomb: New file.
3182         * modules/unistr/u16-uctomb: New file.
3183         * modules/unistr/u32-uctomb: New file.
3184         * lib/unistr/u8-uctomb.c: New file.
3185         * lib/unistr/u16-uctomb.c: New file.
3186         * lib/unistr/u32-uctomb.c: New file.
3187
3188         * MODULES.html.sh (Unicode string functions): Add the new modules.
3189
3190 2007-01-08  Bruno Haible  <bruno@clisp.org>
3191
3192         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
3193         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
3194         subdirectories.
3195
3196 2007-01-08  Karl Berry  <karl@gnu.org>
3197
3198         * doc/error.texi: mention that main() fns must set program_name
3199         when progname is used.
3200
3201 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
3202
3203         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
3204         WCTYPE_H is empty, for the benefit of builds from non-distclean
3205         directories.  Problem reported by Eric Blake in
3206         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
3207
3208 2007-01-08  Bruno Haible  <bruno@clisp.org>
3209
3210         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
3211         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
3212         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
3213         PROVIDE_CANONICALIZE_FILENAME_MODE.
3214         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
3215
3216 2007-01-08  Bruno Haible  <bruno@clisp.org>
3217
3218         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
3219         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
3220         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
3221         * lib/fts.c: Likewise.
3222         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
3223
3224 2006-12-25  Bruno Haible  <bruno@clisp.org>
3225
3226         * modules/utf8-ucs4-safe: New file.
3227         * lib/utf8-ucs4-safe.h: New file.
3228         * lib/unistr/utf8-ucs4-safe.c: New file.
3229
3230         * modules/utf16-ucs4-safe: New file.
3231         * lib/utf16-ucs4-safe.h: New file.
3232         * lib/unistr/utf16-ucs4-safe.c: New file.
3233
3234         * MODULES.html.sh (Unicode string functions): Add the new modules.
3235
3236 2007-01-08  Bruno Haible  <bruno@clisp.org>
3237
3238         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
3239         (Depends-on): Add unitypes.
3240         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
3241         (u8_mbtouc_aux): Move out to separate file.
3242         (u8_mbtouc): Use ucs4_t, uint8_t types.
3243         * lib/unistr/utf8-ucs4.c: New file.
3244
3245         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
3246         (Depends-on): Add unitypes.
3247         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
3248         (u16_mbtouc_aux): Move out to separate file.
3249         (u16_mbtouc): Use ucs4_t, uint16_t types.
3250         * lib/unistr/utf16-ucs4.c: New file.
3251
3252         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
3253         (Depends-on): Add unitypes.
3254         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
3255         (u8_uctomb_aux): Move out to separate file.
3256         (u8_uctomb): Use ucs4_t, uint8_t types.
3257         * lib/unistr/ucs4-utf8.c: New file.
3258
3259         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
3260         (Depends-on): Add unitypes.
3261         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
3262         (u16_uctomb_aux): Move out to separate file.
3263         (u16_uctomb): Use ucs4_t, uint16_t types.
3264         * lib/unistr/ucs4-utf16.c: New file.
3265
3266 2006-12-25  Bruno Haible  <bruno@clisp.org>
3267
3268         * modules/unitypes: New file.
3269         * lib/unitypes.h: New file.
3270         * MODULES.html.sh (func_all_modules): New section "Unicode string
3271         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
3272         this section. Add unitypes.
3273
3274 2007-01-08  Bruno Haible  <bruno@clisp.org>
3275
3276         Avoid variable names that conflict with those from libtool.
3277         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
3278         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
3279         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
3280         library_names_spec to acl_library_names_spec, hardcode_* to
3281         acl_hardcode_*.
3282         Reported by Ralf Wildenhues.
3283
3284 2007-01-08  Bruno Haible  <bruno@clisp.org>
3285
3286         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
3287         definition.
3288         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
3289         definition.
3290         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
3291         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
3292         definition.
3293         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
3294         definition.
3295         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
3296         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
3297         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
3298         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
3299         definition.
3300         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
3301         definition.
3302         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
3303         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
3304         GC_USE_<algorithm>.
3305         * lib/gc-libgcrypt.c: Likewise.
3306         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
3307         * modules/gc-arctwo (configure.ac): Likewise.
3308         * modules/gc-des (configure.ac): Likewise.
3309         * modules/gc-hmac-md5 (configure.ac): Likewise.
3310         * modules/gc-hmac-sha1 (configure.ac): Likewise.
3311         * modules/gc-md2 (configure.ac): Likewise.
3312         * modules/gc-md4 (configure.ac): Likewise.
3313         * modules/gc-md5 (configure.ac): Likewise.
3314         * modules/gc-random (configure.ac): Likewise.
3315         * modules/gc-rijndael (configure.ac): Likewise.
3316         * modules/gc-sha1 (configure.ac): Likewise.
3317
3318 2007-01-08  Bruno Haible  <bruno@clisp.org>
3319
3320         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
3321         macro definition.
3322         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
3323         definition.
3324         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
3325         definition.
3326         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
3327         * modules/fcntl-safer (configure.ac): Likewise.
3328         * modules/fopen-safer (configure.ac): Likewise.
3329         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
3330         GNULIB_FWRITEERROR macro definition.
3331
3332 2007-01-08  Bruno Haible  <bruno@clisp.org>
3333
3334         * m4/gnulib-common.m4: New file.
3335         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
3336         (func_get_filelist): Add m4/gnulib-common.m4.
3337
3338 2007-01-08  Bruno Haible  <bruno@clisp.org>
3339
3340         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
3341         command.
3342
3343 2007-01-08  Jim Meyering  <jim@meyering.net>
3344
3345         Use a more robust test for a "can't happen" condition.
3346         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
3347         narrowed the st_size value.  Presuming the "can't happen" condition
3348         is true, that narrowing could conceivably convert an invalid st_size
3349         value into a valid one.  Instead, use a change based on Matthew
3350         Woehlke's original patch.
3351
3352         Slight readability improvement: use an assert-like macro
3353         in place of literal "abort ()" uses.
3354         * lib/fts.c (fts_assert): Define.
3355         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
3356         Use this macro instead of a bare 'abort'.
3357
3358 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3359
3360         Don't worry about using IRIX 5.3's wctype.h broken definitions;
3361         simply work around them.
3362         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
3363         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
3364         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
3365         declaring.
3366         Don't bother to define as macros, since the standard doesn't require it.
3367         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
3368         longer worry about IRIX 5.3.
3369         (HAVE_WCTYPE_CTMP_BUG): Remove.
3370
3371 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3372
3373         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
3374         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
3375         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
3376         Problems reported by Georg Schwarz for IRIX 5.3.
3377
3378         * gnulib-tool (autoconf_minversion): Take the maximum version number
3379         found, not the minimum.  Problem reported by James Youngman.
3380
3381 2007-01-03  Karl Berry  <karl@gnu.org>
3382
3383         * doc/error.texi: new file, explaining interaction with progname.
3384         * doc/gnulib.texi: include it.  Update copyright.
3385
3386 2007-01-03  Simon Josefsson  <simon@josefsson.org>
3387
3388         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
3389         AC_CANONICAL_HOST, to improve autobuild outputs.
3390
3391 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
3392             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
3393
3394         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
3395         sockets, server sockets, and other file descriptors.  Count errors
3396         to compute the return value.  Reorder the code a bit to be easier
3397         to follow.  Don't set event bits that were not requested (except
3398         POLLERR and POLLHUP).
3399
3400 2007-01-01  Bruno Haible  <bruno@clisp.org>
3401
3402         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
3403
3404 2007-01-03  Jim Meyering  <jim@meyering.net>
3405
3406         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
3407
3408 2007-01-02  Bruno Haible  <bruno@clisp.org>
3409
3410         * modules/settime (Include): Require timespec.h.
3411         * modules/nanosleep (Include): Likewise.
3412
3413 2007-01-01  Bruno Haible  <bruno@clisp.org>
3414
3415         * gnulib-tool (func_emit_copyright_notice): Bump year.
3416         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
3417
3418 2007-01-01  Bruno Haible  <bruno@clisp.org>
3419
3420         Improve support for OpenBSD.
3421         * build-aux/config.rpath (libname_spec): Export.
3422         (library_names_spec): New variable. Export.
3423         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
3424         library_names_spec from the config.rpath output. Locate shared library
3425         through the name pattern in library_names_spec.
3426
3427 2007-01-01  Eric Blake  <ebb9@byu.net>
3428
3429         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
3430
3431 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3432
3433         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
3434         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
3435         assume the C locale, and avoid an "eval" that could cause trouble.
3436         Problem with SORT reported by Bob Proulx.
3437
3438         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
3439         Define.  Trivial patch from Henning Nielsen Lund, originally
3440         sent to bug-grep@gnu.org today.
3441
3442 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
3443
3444         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
3445         struct stat.  Problem reported by Henning Nielsen Lund.
3446         * lib/acl.c: Include acl.h first, to check interface.  Don't
3447         bother to include sys/types.h and sys/stat.h again.
3448
3449 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
3450
3451         Import the following change from libc; problem reported by
3452         Sven Verdoolaege.
3453
3454         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
3455
3456         [BZ #1373]
3457         * lib/argp.h: Remove __NTH for __argp_usage inline function.
3458
3459 2006-12-28  Jim Meyering  <jim@meyering.net>
3460
3461         * build-aux/announce-gen: Do not assume that the package
3462         builds any of tar.gz, tar.bz2, and .xdelta files.
3463         Suggestion from Simon Josefsson.
3464
3465 2006-12-28  Simon Josefsson  <simon@josefsson.org>
3466
3467         * modules/announce-gen: New file.
3468
3469 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
3470
3471         * lib/mbchar.h: Just include <wctype.h>; the wctype module
3472         handles its gotchas now.
3473         * lib/mbswidth.c: Likewise.
3474         * lib/wcwidth.h: Likewise.
3475         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
3476         and iswcntrl; the wctype module does this stuff now.
3477         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
3478         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3479         * modules/mbchar (Depends-on): Add wctype.
3480         * modules/mbswidth (Depends-on): Likewise.
3481         * modules/wcwidth (Depends-on): Likewise.
3482
3483 2006-12-27  Eric Blake  <ebb9@byu.net>
3484
3485         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
3486         module uses more than what <wctype.h> is required to provide.
3487
3488 2006-12-26  Eric Blake  <ebb9@byu.net>
3489
3490         * gnulib-tool (sed_extract_prog): Avoid space-tab.
3491
3492 2006-12-26  Eric Blake  <ebb9@byu.net>
3493
3494         * modules/absolute-header: New module.
3495         * modules/fcntl (Depends-on): Depend on it.
3496         * modules/inttypes (Depends-on): Likewise.
3497         * modules/stdint (Depends-on): Likewise.
3498         * modules/sys_stat (Depends-on): Likewise.
3499         * modules/wctype (Depends-on): Likewise.
3500         * MODULES.html.sh (Support for building libraries and
3501         executables): Document it.
3502
3503 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3504
3505         * gnulib-tool (SED): Remove, undoing previous change.
3506         The problem was that it broke coreutils on Solaris, because
3507         "sed --posix" leaked into a makefile.
3508         (sed): New alias, if 'alias' and GNU sed.
3509
3510 2006-12-24  Jim Meyering  <jim@meyering.net>
3511
3512         Work around an fchownat bug in glibc-2.4:
3513         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
3514         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
3515         in spite of the -P option.
3516         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
3517         New macros.
3518         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
3519         * modules/openat (Files): Add lib/fchownat.c.
3520         * lib/openat.c (fchownat): Don't define here.  Move to...
3521         * lib/fchownat.c: ...this new file.
3522
3523 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
3524
3525         Fix bug reported by Bruno Haible in
3526         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
3527         where quotearg.c didn't compile on Mac OS X 10.2 because it
3528         lacks <wchar.h> and wint_t.
3529         * lib/wctype_.h (__wctype_wint_t): New type.
3530         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
3531         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
3532         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
3533         Arg is now of type __wctype_wint_t, not wint_t.
3534         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
3535         substitute HAVE_WINT_T.
3536         * modules/wctype (Files): Add m4/wint_t.m4.
3537         (wctype.h): Substitute HAVE_WINT_T.
3538
3539 2006-12-23  Bruno Haible  <bruno@clisp.org>
3540
3541         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
3542
3543 2006-12-23  Bruno Haible  <bruno@clisp.org>
3544
3545         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
3546         S_ISLNK.
3547         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
3548         mingw.
3549
3550 2006-12-22  Bruno Haible  <bruno@clisp.org>
3551
3552         * lib/copy-file.c: Include acl.h.
3553         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
3554         Close the file descriptors only after being done with copy_acl.
3555         * modules/copy-file (Depends-on): Add acl.
3556
3557 2006-12-22  Bruno Haible  <bruno@clisp.org>
3558
3559         * gnulib-tool (SED): New variable.
3560         Use $SED instead of sed everywhere.
3561
3562 2006-12-22  Bruno Haible  <bruno@clisp.org>
3563
3564         * modules/no-c++: New file.
3565         * m4/no-c++.m4: New file.
3566         * MODULES.html.sh (Support for building libraries and executables):
3567         Add no-c++.
3568
3569 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3570
3571         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
3572         Include <limits.h>, and use its INT_MAX to rewrite the
3573         j loop so that it does not overflow 'int'.  Problem reported by
3574         Ralf Wildenhues in
3575         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
3576         Play it safe by shifting left by 1 rather than multiplying by 2,
3577         as GCC is less likely to optimize this away when the value
3578         is signed (when it assumes overflow leads to undefined behavior).
3579         Also, don't assume time_t uses two's complement.
3580
3581 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3582
3583         * MODULES.html.sh: New module wctype.
3584         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
3585         * lib/fnmatch.c: Don't bother to include <wchar.h> before
3586         <wctype.h>, since the new wctype module should fix this.
3587         * lib/quotearg.c: Include <wctype.h> unconditionally, since
3588         the wctype module should arrange for it.
3589         * lib/regex_internal.h: Likewise.
3590         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
3591         since the wctype module should handle this now.
3592         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
3593         * modules/fnmatch (Depends-on): Add wctype.
3594         * modules/quotearg (Depends-on): Likewise.
3595         * modules/regex (Depends-on): Likewise.
3596
3597 2006-12-19  Bruno Haible  <bruno@clisp.org>
3598
3599         * lib/strdup.h [C++]: Wrap definitions in extern "C".
3600         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
3601
3602 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3603
3604         * modules/savewd (Depends-on): Fix dependency on fcntl.
3605
3606 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3607
3608         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
3609         conforms to C99, rather than relying on the user's environment
3610         setting of STDINT_H.
3611
3612 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3613         and Eric Blake  <ebb9@byu.net>
3614
3615         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
3616         This is more consistent with the other defines here.
3617         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
3618         Port to z/OS.  Problem reported by Paul Gilmartin.
3619         Change local vars to use gl_ prefix rather than ac_.
3620         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
3621         with other defines.
3622         * modules/double-slash-root: New module.
3623         * modules/dirname (Files): Remove m4/double-slash-root.m4.
3624         (Depends-on): Add double-slash-root.
3625         * MODULES.html.sh (File system functions): Mention new module.
3626
3627 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
3628
3629         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
3630         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
3631         This is for the benefit of gzip, which doesn't do i18n.
3632
3633 2006-12-12  Jim Meyering  <jim@meyering.net>
3634
3635         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
3636         Reported by Andreas Schwab <schwab@suse.de>.
3637
3638 2006-12-12  Bruno Haible  <bruno@clisp.org>
3639
3640         Merge these changes.
3641         2006-09-05  Bruno Haible  <bruno@clisp.org>
3642         * lib/iconvme.c (iconv_string): No need to save and restore errno when
3643         iconv_alloc succeeded.
3644         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
3645         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
3646         test for " && dest " at the end - dest is always != NULL there. Call
3647         iconv with 4xNULL arguments initially, to reset the state. Call iconv
3648         with 2xNULL arguments, also to flush the state storage. Handle the
3649         IRIX iconv behaviour. Realloc the final result, to throw away unused
3650         memory.
3651
3652 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
3653
3654         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
3655         and fchmodat unconditionally, since glibc 2.4 has them.
3656         Problem reported by Arkadiusz Miskiewicz.
3657
3658 2006-12-10  Bruno Haible  <bruno@clisp.org>
3659
3660         * gnulib-tool (func_import): Show the include files only for those
3661         modules that are copied and specified.
3662         Reported by Karl Berry.
3663
3664 2006-12-08  Jim Meyering  <jim@meyering.net>
3665
3666         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
3667         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
3668
3669         * build-aux/announce-gen: Add two new options, both optional:
3670         --bootstrap-tools=TOOL_LIST
3671               a comma-separated list of tools, e.g.,
3672               autoconf,automake,bison,gnulib
3673         --gnulib-snapshot-date=DATE
3674               if gnulib is in the bootstrap tool list,
3675               then report this as the snapshot date.
3676               If not specified, use the current date/time.
3677               If you specify a date here, be sure it's UTC.
3678
3679 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3680
3681         * tests/test-argp-2.sh: Fix test to match actual output.
3682         (func_compare): Fix sed script to be portable.
3683
3684 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
3685
3686         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
3687         workaround for this case.  It is not autoconfigured now; offhand
3688         it's hard to see how to autoconfigure it.
3689
3690 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
3691
3692         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
3693         a directory that is about to be chowned.  Such a directory's
3694         initial file permissions should permit the owner only and this
3695         should not be changed until after the chown, since the group and
3696         other bits would be incorrect if they granted permission before
3697         the chown.
3698
3699         Fix porting problem for iswctype reported by Georg Schwarz in:
3700         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
3701         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
3702         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
3703         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
3704         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3705
3706 2006-12-03  Jim Meyering  <jim@meyering.net>
3707
3708         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
3709         p->fts_statp may not yet be defined.
3710         (fts_read): Instead, set it in the caller, once p->fts_statp is
3711         sure to be defined, and corresponds to a top-level directory.
3712         This bug made du -x fail.  Here's the coreutils test case:
3713         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
3714         Reported by Mike Frysinger.
3715
3716 2006-12-01  Jim Meyering  <jim@meyering.net>
3717
3718         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
3719         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
3720         Reported by Simon Josefsson.
3721
3722 2006-11-30  Jim Meyering  <jim@meyering.net>
3723
3724         * m4/warning.m4: Use the all-permissive copyright notice
3725         recommended by RMS (rather than LGPL).
3726         * m4/vararrays.m4: Likewise.
3727         * m4/flexmember.m4: Likewise.
3728
3729 2006-11-29  Bruno Haible  <bruno@clisp.org>
3730
3731         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3732         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
3733         using +=.
3734         Reported by Simon Josefsson <simon@josefsson.org>.
3735
3736 2006-11-28  James Youngman <jay@gnu.org>
3737
3738         * README: Advise users that they might find the bug-gnulib@gnu.org
3739         and autotools-announce@gnu.org mailing lists useful.
3740
3741 2006-11-28  Bruno Haible  <bruno@clisp.org>
3742
3743         * m4/ptrdiff_max.m4: Remove file.
3744
3745 2006-11-21  Bruno Haible  <bruno@clisp.org>
3746
3747         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
3748         _AC_COMPUTE_INT.
3749         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3750         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
3751         _AC_COMPUTE_INT.
3752         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3753         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
3754         _AC_COMPUTE_INT.
3755         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3756
3757 2006-11-28  Jim Meyering  <jim@meyering.net>
3758
3759         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
3760         warning from "gcc -Wshadow" about shadowing the builtin.
3761
3762 2006-11-27  Bruno Haible  <bruno@clisp.org>
3763
3764         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
3765         _AC_COMPUTE_INT.
3766         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3767
3768 2006-11-27  Bruno Haible  <bruno@clisp.org>
3769             Paul Eggert  <eggert@cs.ucla.edu>
3770
3771         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
3772
3773 2006-11-26  Bruno Haible  <bruno@clisp.org>
3774
3775         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3776         noinst_LTLIBRARIES.
3777
3778 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
3779             Bruno Haible  <bruno@clisp.org>
3780
3781         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
3782         if compiling with "gcc -ansi".
3783
3784 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
3785
3786         Fix some incompatibilities with gcc -ansi -pedantic.
3787         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
3788         if compiling pedantically with GCC, unless it's C99 or later.
3789         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
3790         it mishandles gcc -ansi -pedantic as well.
3791         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
3792         if gcc -pedantic.
3793         * lib/regexec.c (check_node_accept_bytes): Don't use auto
3794         initializers for struct if -pedantic, unless it's C99 or later.
3795
3796 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
3797
3798         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
3799         Don't close an fd more than once. Identical atimes indicate
3800         success, not failure.
3801
3802 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
3803
3804         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
3805
3806 2006-11-23  Jim Meyering  <jim@meyering.net>
3807
3808         * build-aux/announce-gen: New file.  From coreutils.
3809
3810 2006-11-22  Jim Meyering  <jim@meyering.net>
3811
3812         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
3813         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
3814         (fts_read): Use a temporary to narrow the overused st_size member
3815         before using it in a switch statement.  Reported by Matthew Woehlke.
3816
3817         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
3818         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
3819
3820 2006-11-20  Bruno Haible  <bruno@clisp.org>
3821
3822         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
3823         changequote instead of pairs of brackets.
3824         Reported by Andreas Schwab <schwab@suse.de>.
3825
3826 2006-11-21  Jim Meyering  <jim@meyering.net>
3827
3828         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
3829         so as to remain compatible with older compilers.
3830         Patch from Michael Deutschmann.
3831
3832 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3833
3834         * MODULES.html.sh (File system functions): Add openat.
3835
3836         * lib/openat.h (rpl_fstatat): New macro, if
3837         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
3838         (fstatat): Define to rpl_fstatat under the same conditions,
3839         unless COMPILING_FSTATAT.
3840         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
3841         seems to have the bug.
3842         * lib/fstatat.c: New file.
3843         * modules/openat (Files): Add it.
3844
3845 2006-11-20  Bruno Haible  <bruno@clisp.org>
3846
3847         * Makefile: New file.
3848
3849 2006-11-20  Jim Meyering  <jim@meyering.net>
3850
3851         The beginnings of syntax-related checks for gnulib.
3852         * lib/Makefile: New file.
3853         * lib/t-idcache: New script.  Ensure that the two halves of
3854         idcache.c stay in sync.
3855
3856         * lib/idcache.c: Adjust comments in user- and group- portions to
3857         be more accurate, and to be consistent with one another.
3858
3859 2006-11-20  Jim Meyering  <jim@meyering.net>
3860
3861         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
3862         continue using the flexible array member (thus, this module performs
3863         half as many malloc calls), with the addition that...
3864         (getgroup, getuser): Consistently record a non-match via an empty
3865         "name" string, and map an empty string match to a NULL return value.
3866         * modules/idcache (Depends-on): Re-add flexmember.
3867
3868         * lib/idcache.c (getuser): Remove all uses of the register keyword.
3869         (getuidbyname, getgroup, getgidbyname): Likewise.
3870
3871         Use cleaner syntax: NULL rather than 0.
3872         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
3873
3874 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3875
3876         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
3877         It mishandled the case where the group was missing.
3878         Problem reported by Greg Schafer.
3879         * modules/idcache: Likewise.
3880
3881 2006-11-18  Jim Meyering  <jim@meyering.net>
3882
3883         * check-module (%exempt_header): Add exception for some
3884         conditionally-included headers.
3885
3886         * modules/i-ring (Depends-on): Add verify.
3887         (License): Change to LGPL.
3888
3889 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
3890
3891         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
3892         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
3893         and inttostr.h.  Use snprintf rather than uinttostr, so that
3894         LGPLed code doesn't depend on GPLed.
3895
3896 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3897
3898         * modules/inline (License): Change from GPL to LGPL.
3899
3900 2006-11-17  Jim Meyering  <jim@meyering.net>
3901
3902         * modules/d-type (License): Switch to LGPL.
3903
3904 2006-11-15  Bruno Haible  <bruno@clisp.org>
3905
3906         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
3907
3908 2006-11-15  Eric Blake  <ebb9@byu.net>
3909
3910         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
3911         the module dependency.
3912
3913 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
3914             Bruno Haible  <bruno@clisp.org>
3915
3916         * gnulib-tool (func_create_testdir): Add license consistency check.
3917
3918 2006-11-15  Eric Blake  <ebb9@byu.net>
3919
3920         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
3921         random "(cached)" in configure output.
3922
3923 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3924
3925         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
3926         test for conforming inttypes.h is both announced and cached.
3927
3928         * MODULES.html.sh (seen_modules, seen_files): New variables.
3929         (func_module): Rewrite to use a few less gnulib-tool and sed
3930         invocations.  Avoid a couple of quadratic algorithms for ...
3931         (missed_modules, missed_files): ... these, with ...
3932         (func_append, func_tmpdir): ... these new functions, from
3933         gnulib-tool.  Analogously, install traps for cleanup.
3934
3935         * tests/test-gc.c (main): Remove unused variables.
3936         * tests/test-read-file.c: Include stdlib.h, for 'free'.
3937
3938 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
3939
3940         * modules/inttostr (License): Change to LGPL.
3941
3942 2006-11-14  Eric Blake  <ebb9@byu.net>
3943
3944         * modules/tempname (License): Change to LGPL.
3945
3946 2006-11-14  Eric Blake  <ebb9@byu.net>
3947
3948         * doc/functions.texi (Function Portability): *printf functions on
3949         Cygwin now understand all POSIX size specifiers.
3950
3951 2006-11-14  Bruno Haible  <bruno@clisp.org>
3952
3953         * modules/c-ctype (License): Change to LGPL.
3954
3955 2006-11-12  Bruno Haible  <bruno@clisp.org>
3956
3957         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
3958         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
3959         for GNOME libraries, for which the include files are installed in
3960         subdirectories of $prefix/include.
3961
3962 2006-11-12  Bruno Haible  <bruno@clisp.org>
3963
3964         * m4/lib-link.m4: Require at least autoconf-2.54.
3965         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
3966         name to underscores for the --with option.
3967
3968 2006-11-13  Bruno Haible  <bruno@clisp.org>
3969
3970         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
3971         the tests directory.
3972         Reported by Ralf Wildenhues.
3973
3974 2006-11-13  Bruno Haible  <bruno@clisp.org>
3975
3976         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
3977         (func_emit_initmacro_end): Undo the override here.
3978         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
3979         Works around the famous automake error in coreutils.
3980
3981 2006-11-13  Eric Blake  <ebb9@byu.net>
3982
3983         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
3984         element, not its node.
3985
3986 2006-11-12  Bruno Haible  <bruno@clisp.org>
3987
3988         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
3989         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
3990
3991 2006-11-12  Bruno Haible  <bruno@clisp.org>
3992
3993         * gnulib-tool: New option --local-symlink.
3994         (func_usage): Document it.
3995         (lsymbolic): New variable.
3996         (func_import, func_create_testdir): If --symlink was not specified,
3997         test whether --local-symlink was specified and the file comes from
3998         the local_gnulib_dir.
3999
4000 2006-11-12  Bruno Haible  <bruno@clisp.org>
4001
4002         * gnulib-tool (func_ln): New function.
4003         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
4004
4005 2006-11-12  Bruno Haible  <bruno@clisp.org>
4006
4007         Finish support for source files in subdirectories.
4008         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
4009         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
4010         AUTOMAKE_OPTIONS.
4011         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
4012
4013 2006-11-12  Bruno Haible  <bruno@clisp.org>
4014
4015         * gnulib-tool (func_get_automake_snippet): Synthesize also an
4016         EXTRA_lib_SOURCES augmentation.
4017         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
4018
4019 2006-11-12  Jim Meyering  <jim@meyering.net>
4020
4021         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
4022         file descriptors.  This also averts a failure on systems with
4023         native openat support when a traversed directory lacks "x" access.
4024         * lib/fts_.h: Include "i-ring.h"
4025         (struct FTS) [fts_fd_ring]: New member.
4026         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
4027         (FCHDIR): Add parentheses.
4028         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
4029         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
4030         When descending, rather than simply closing the previous
4031         fts_cwd_fd value, push that file descriptor onto the ring.
4032         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
4033         (fts_open): Initialize the new fd_ring member.
4034         (fts_close): Clear the ring.
4035         (fts_safe_changedir): When possible, use our new fd_ring to skip
4036         the diropen and fstat and dev/ino comparison that would normally
4037         accompany a virtual `chdir ("..")'.
4038
4039         * modules/fts (Depends-on): Add i-ring.
4040         * modules/i-ring: New module.
4041         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
4042         * m4/i-ring.m4: New file.
4043
4044 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4045
4046         * gnulib-tool (func_create_testdir): Fix replacement of
4047         `build-aux' in configure.ac.  Run autotools in gltests
4048         subdirectory.
4049         (func_create_testdir, func_create_megatestdir, test): There is
4050         no need for '--force' in most autotool invocations in a new
4051         tree.  Actually fail the whole test if any of the tools, or the
4052         configure or make stages fail.
4053
4054         Sync from Automake.
4055         * build-aux/gnupload: Revert last change.  Add pointer to upload
4056         instructions of the GNU Maintenance Instructions.
4057         Suggestion by Karl Berry.
4058
4059 2006-11-10  Jim Meyering  <jim@meyering.net>
4060
4061         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
4062
4063 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4064
4065         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
4066         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
4067         (bind_textdomain_codeset) [! ENABLE_NLS]:
4068         Evaluate all the arguments.  That way, callers get compatible behavior
4069         if the arguments have side effects.  Also, it avoids some GCC
4070         diagnostics in some cases; Joel E. Denny reported problems when Bison
4071         was configured with --enable-gcc-warnigs.
4072
4073 2006-11-10  Jim Meyering  <jim@meyering.net>
4074
4075         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
4076         relevant options in CFLAGS (like -O, -fno-inline) are taken into
4077         account.
4078
4079 2006-11-10  Jim Meyering  <jim@meyering.net>
4080
4081         * modules/inline: New file/module.
4082         * modules/xalloc (Files): Remove m4/inline.m4.
4083         (Depends-on): Add inline, instead.
4084         * modules/oset: Likewise.
4085         * modules/list: Likewise.
4086
4087 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4088
4089         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
4090         Problem reported by Matthew Woehlke.
4091
4092 2006-11-09  Bruno Haible  <bruno@clisp.org>
4093
4094         * lib/tempname.c (gen_tempname): Remove variant that invokes
4095         __gen_tempname.
4096         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
4097         __gen_tempname.
4098
4099 2006-11-08  Bruno Haible  <bruno@clisp.org>
4100
4101         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
4102         to 'yes' instead of 'cross-compiling'.
4103
4104 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
4105
4106         * lib/quotearg.h (quotearg_free): New decl.
4107         * lib/quotearg.c (quotearg_free): New function.
4108         (slot0, nslots, slotvec0, slotvec):
4109         Now file-scope so that quotearg_free can get at them.
4110
4111 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4112
4113         Sync from Automake.
4114         * build-aux/gnupload: Add missing 'gnu' to example URL.
4115         Report by Karl Berry.
4116
4117 2006-11-08  Bruno Haible  <bruno@clisp.org>
4118
4119         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
4120         Suggested by Paul Eggert.
4121
4122 2006-11-08  Jim Meyering  <jim@meyering.net>
4123
4124         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
4125         It's already included if !_LIBC.
4126         (fts_safe_changedir): Add a comment.
4127
4128 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
4129
4130         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
4131         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
4132         Matthew Woehlke.
4133
4134         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
4135         definitions up, to avoid colliding with change below.
4136         (static_inline) [HAVE_INLINE]: New macro.
4137         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
4138         Provide extern decls when !HAVE_INLINE.  Do not define unless
4139         static_inline is defined, either by us or by xmalloc.c.  Use
4140         static_inline rather than static inline.
4141         (XCALLOC): Optimize sizeof(T) = 1 case.
4142         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
4143
4144 2006-11-07  Bruno Haible  <bruno@clisp.org>
4145
4146         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
4147         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
4148         AC_C_INLINE.
4149         * modules/xalloc (Files): Add m4/inline.m4.
4150
4151 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4152
4153         * README: Fix typo.
4154         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
4155         (Miscellanous Notes): ...from this.
4156
4157 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
4158
4159         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
4160         Mention that offsetof should be used instead of sizeof.
4161         From Bruno Haible.
4162
4163 2006-11-07  Bruno Haible  <bruno@clisp.org>
4164
4165         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
4166
4167 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4168
4169         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
4170         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
4171         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
4172         (gl_tree_add_before, gl_tree_add_after):
4173         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
4174         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
4175         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
4176         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
4177         (gl_linked_add_after, gl_linked_add_at): Likewise.
4178         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
4179         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
4180         (gl_tree_add_before, gl_tree_add_after): Likewise.
4181         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
4182         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
4183         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
4184
4185 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4186
4187         * lib/gl_oset.h: Use C comment style, not C++ comment style.
4188
4189 2006-11-06  Bruno Haible  <bruno@clisp.org>
4190
4191         * m4/inline.m4: New file.
4192         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
4193         * modules/list (Files): Add m4/inline.m4.
4194         * modules/oset (Files): Likewise.
4195
4196 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4197
4198         * lib/idcache.c: Include <stddef.h>, for offsetof.
4199         (struct userid.name): Change from char * to a flexible array member.
4200         All uses changed.
4201         * modules/idcache (Depends-on): Add flexmember.
4202
4203         * MODULES.html.sh (Core language properties): New module flexmember.
4204         * modules/flexmember, m4/flexmember.m4: New files.
4205
4206         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
4207         inline functions that are identical with the old xnmalloc_inline,
4208         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
4209         that we can avoid some unnecessary integer multiplications and
4210         divisions in the common case where the element size is known at
4211         compile time.
4212         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
4213         needed.
4214         (xnboundedmalloc): Remove.
4215         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
4216         arguments, for consistency with rest of this header.
4217         (xcharalloc): Rewrite using XNMALLOC.
4218         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
4219         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
4220         versions have been moved to lib/xalloc.h and renamed to be the
4221         non-*_inline versions.
4222         (xmalloc, xrealloc): Implement without reference to the xnmalloc
4223         and xnrealloc functions, since those functions are now inline and
4224         now call us.
4225         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
4226         renaming described above.
4227         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
4228         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
4229         captures the dependency in AC_C_INLINE.
4230
4231         New module canonicalize-lgpl, proposed by Charles Wilson in
4232         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
4233         with a few small changes afterwards.
4234         * MODULES.html.sh (File system functions): New module
4235         canonicalize-lgpl.
4236         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
4237         and canonicalize_file_name.
4238         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
4239         * modules/canonicalize-lgpl: New files.
4240
4241 2006-11-05  Bruno Haible  <bruno@clisp.org>
4242
4243         * gnulib-tool (func_import, func_create_testdir): Create directories
4244         also for files in subdirectories of lib/.
4245
4246 2006-11-05  Bruno Haible  <bruno@clisp.org>
4247
4248         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
4249         ANSI C compliant.
4250
4251 2006-11-03  Bruno Haible  <bruno@clisp.org>
4252
4253         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
4254         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
4255         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
4256         (xnboundedmalloc): New inline function.
4257         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
4258         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
4259         xmalloc.
4260         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
4261         xmalloc.
4262         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
4263         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
4264         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
4265         xmalloc.
4266         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
4267         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
4268         xmalloc.
4269         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
4270         gl_tree_add_after): Use XMALLOC instead of xmalloc.
4271         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
4272         xmalloc.
4273         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
4274         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
4275         gl_tree_add_after): Use XMALLOC instead of xmalloc.
4276         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
4277         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
4278         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
4279         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
4280
4281 2006-11-03  Bruno Haible  <bruno@clisp.org>
4282
4283         * lib/c-ctype.h [C++]: Define functions without name mangling.
4284         * lib/fwriteerror.h [C++]: Likewise.
4285         * lib/gcd.h [C++]: Likewise.
4286         * lib/linebreak.h [C++]: Likewise.
4287
4288 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
4289
4290         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
4291         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
4292         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
4293         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
4294         Check for functions and headers just once.
4295         Check for declaration of canonicalize_file_name.
4296         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
4297
4298 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4299
4300         * gnulib-tool (func_import): Fix typo in actioncmd.
4301
4302 2006-11-02  Bruno Haible  <bruno@clisp.org>
4303
4304         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
4305         newline sequence in the Makefile.am snippet as a space, like "make"
4306         does.
4307         Reported by Roger Persson <perrog@gmail.com>.
4308
4309 2006-11-01  Bruno Haible  <bruno@clisp.org>
4310
4311         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
4312         already declared in <string.h>.
4313         * lib/strcase.h (strncasecmp): Don't declare it if yes.
4314
4315 2006-11-01  Bruno Haible  <bruno@clisp.org>
4316
4317         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
4318         * lib/strcase.h: Include <string.h>.
4319         (strcasecmp): Define to rpl_strcasecmp here.
4320
4321 2006-11-01  Bruno Haible  <bruno@clisp.org>
4322
4323         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
4324
4325 2006-11-01  Eric Blake  <ebb9@byu.net>
4326
4327         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
4328
4329         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
4330
4331 2006-10-29  Bruno Haible  <bruno@clisp.org>
4332
4333         Make it compile in C++ mode.
4334         * lib/full-write.c (full_rw): Add a cast.
4335
4336 2006-11-01  Bruno Haible  <bruno@clisp.org>
4337
4338         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
4339         be POSIX compliant.
4340         Reported by Roger Persson <perrog@gmail.com>.
4341
4342 2006-11-01  Eric Blake  <ebb9@byu.net>
4343
4344         * lib/getopt_.h: Fix comments.
4345
4346 2006-10-31  Eric Blake  <ebb9@byu.net>
4347
4348         * modules/tmpdir (Depends-on): Add sys_stat.
4349         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
4350         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
4351         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
4352         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
4353         tempname.
4354
4355 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4356
4357         Avoid some C++ diagnostics reported by Bruno Haible.
4358         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
4359         xmalloc.
4360         (quotearg_alloc): Use xcharalloc rather than xmalloc.
4361         (struct slotvec): Move to top level.
4362         (quotearg_n_options): Rewrite to avoid xmalloc.
4363         * lib/xalloc.h (xcharalloc): New function.
4364         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
4365         [defined __cplusplus]: Add function template that provides result
4366         type propagation.  This part of the change is from Bruno Haible.
4367
4368 2006-10-29  Bruno Haible  <bruno@clisp.org>
4369
4370         Make it compile in C++ mode.
4371         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
4372         * lib/strnlen1.c (strnlen1): Cast memchr result.
4373         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
4374         * lib/clean-temp.c (string_equals, string_hash): Add casts.
4375         (create_temp_dir): Rename local variable 'template'.
4376         (compile_csharp_using_sscli): Add cast.
4377         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
4378         * lib/findprog.c (find_in_path): Likewise.
4379         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
4380         * lib/wait-process.c (register_slave_subprocess): Likewise.
4381
4382 2006-10-22  Bruno Haible  <bruno@clisp.org>
4383
4384         * modules/tsearch: New file.
4385         * lib/tsearch.h: New file.
4386         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
4387         * m4/tsearch.m4: New file.
4388         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
4389
4390 2006-10-29  Eric Blake  <ebb9@byu.net>
4391
4392         * lib/arcfour.c: Assume config.h.
4393         * lib/arctwo.c: Likewise.
4394         * lib/base64.c: Likewise.
4395         * lib/check-version.c: Likewise.
4396         * lib/crc.c: Likewise.
4397         * lib/des.c: Likewise.
4398         * lib/gc-gnulib.c: Likewise.
4399         * lib/gc-libgcrypt.c: Likewise.
4400         * lib/gc-pbkdf2-sha1.c: Likewise.
4401         * lib/getaddrinfo.c: Likewise.
4402         * lib/getdelim.c: Likewise.
4403         * lib/getline.c: Likewise.
4404         * lib/hmac-md5.c: Likewise.
4405         * lib/hmac-sha1.c: Likewise.
4406         * lib/iconvme.c: Likewise.
4407         * lib/md2.c: Likewise.
4408         * lib/md4.c: Likewise.
4409         * lib/memxor.c: Likewise.
4410         * lib/read-file.c: Likewise.
4411         * lib/readline.c: Likewise.
4412         * lib/rijndael-alg-fst.c: Likewise.
4413         * lib/rijndael-api-fst.c: Likewise.
4414         * lib/xgetdomainname.c: Likewise.
4415
4416 2006-10-28  Eric Blake  <ebb9@byu.net>
4417
4418         * lib/xstrndup.c: Assume config.h.
4419
4420 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
4421
4422         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
4423         stat-macros.h is now for our own macros, whereas stat_h is for
4424         macros in the <sys/stat.h> name space.
4425         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
4426         (STAT_MACROS_H): Remove.
4427         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
4428         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
4429         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
4430         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
4431         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
4432         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
4433         Move these macros to ...
4434         * lib/stat_.h: here.  Don't include stat-macros.h.
4435         * lib/canonicalize.c: Don't include stat-macros.h.
4436         * lib/chown.c: Likewise.
4437         * lib/euidaccess.c: Likewise.
4438         * lib/file-type.c: Likewise.
4439         * lib/filemode.c: Likewise.
4440         * lib/glob.c: Likewise.
4441         * lib/isapipe.c: Likewise.
4442         * lib/lchown.c: Likewise.
4443         * lib/lstat.c: Likewise.
4444         * lib/mkdir-p.c: Likewise.
4445         * lib/rmdir.c: Likewise.
4446         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
4447         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
4448         unless mkdir isn't declared, to speed up 'configure'.
4449         Always create sys/stat.h, since it's unlikely any real sys/stat.h
4450         would define all the S_* symbols.
4451         * modules/canonicalize (Depends-on):
4452         Depend on sys_stat, not stat-macros.
4453         * modules/chown: Likewise.
4454         * modules/euidaccess: Likewise.
4455         * modules/filemode: Likewise.
4456         * modules/file-type: Likewise.
4457         * modules/glob: Likewise.
4458         * modules/isapipe: Likewise.
4459         * modules/lchown: Likewise.
4460         * modules/lstat: Likewise.
4461         * modules/mkancesdirs: Likewise.
4462         * modules/rmdir: Likewise.
4463         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
4464         * modules/modechange: Likewise.
4465         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
4466         (configure.ac): Remove gl_STAT_MACROS.
4467         * modules/sys_stat (Depends-on): Remove stat-macros.
4468
4469 2006-10-27  Bruno Haible  <bruno@clisp.org>
4470
4471         * m4/signed.m4: Remove file.
4472         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
4473         invocation.
4474         * modules/vasnprintf (Files): Remove m4/signed.m4.
4475
4476 2006-10-27  Bruno Haible  <bruno@clisp.org>
4477
4478         Update to GNU gettext 0.16.
4479         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
4480         m4/inttypes-h.m4, m4/signed.m4.
4481         * m4/gettext.m4: Update to GNU gettext 0.16.
4482         * m4/intl.m4: New file, from GNU gettext.
4483         * m4/intldir.m4: New file, from GNU gettext.
4484         * config/srclist.txt: Update
4485
4486 2006-10-27  Eric Blake  <ebb9@byu.net>
4487
4488         * MODULES.html.sh: Document tempname.
4489         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
4490         dependencies.
4491         (Files): Move lib/tempname.c...
4492         * modules/tempname: ...to this new module.
4493         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
4494         (gl_PREREQ_TEMPNAME): Move...
4495         * m4/tempname.m4: ...to this new file.
4496         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
4497         * modules/sys_stat (Depends-on): Add stat-macros.
4498         * lib/stat_.h (includes): Pick up stat macros.
4499         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
4500         if stat macros are broken.
4501         * lib/tempname.c (includes): No need to include "stat-macros.h".
4502         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
4503         (direxists, __path_search) [!_LIBC]: Don't compile these in
4504         gnulib; the tmpdir module covers that.
4505         * lib/tempname.h: New file.
4506
4507 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
4508
4509         * COPYING: Explain how gnulib-tool converts licence headers.
4510         Almost all wording by Eric Blake.
4511
4512 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
4513
4514         * lib/mbchar.h (is_basic_table): Make read-only.
4515         * lib/mbchar.c (is_basic_table): Likewise.
4516         Reported by John Darrington.
4517
4518 2006-10-25  Bruno Haible  <bruno@clisp.org>
4519
4520         * lib/progname.h (set_program_name): Undefine before defining.
4521
4522 2006-10-25  Bruno Haible  <bruno@clisp.org>
4523
4524         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
4525         false for non-gcc C++ compilers.
4526         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
4527
4528 2006-10-24  Bruno Haible  <bruno@clisp.org>
4529
4530         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
4531         iconv implementations like Irix iconv.
4532
4533 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4534
4535         * modules/vararrays: New file.
4536         * m4/vararrays.m4: New file, taken from diffutils.
4537         * MODULES.html.sh: New module vararrays.
4538
4539 2006-10-24  Karl Berry  <karl@gnu.org>
4540
4541         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
4542         Don't call GNU Unix.
4543
4544 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4545
4546         * users.txt: Add Libtool.
4547
4548         Sync from Libtool:
4549
4550         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4551
4552         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
4553         to gnulib's policy of including config.h unconditionally.
4554
4555 2006-10-24  Bruno Haible  <bruno@clisp.org>
4556
4557         * modules/wcwidth (Files): Add m4/wint_t.m4.
4558         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
4559         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
4560
4561 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4562
4563         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
4564         to pacify GCC with some -W flags enabled.  Problem reported by
4565         Bruno Haible.
4566
4567 2006-10-24  Jim Meyering  <jim@meyering.net>
4568
4569         * MODULES.html.sh: Remove uinttostr.  It's not a module.
4570         Reported by Karl Berry.
4571
4572 2006-10-23  Bruno Haible  <bruno@clisp.org>
4573
4574         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
4575
4576 2006-10-24  Bruno Haible  <bruno@clisp.org>
4577
4578         * lib/gl_list.h: Use C comment style, not C++ comment style.
4579
4580 2006-10-23  Eric Blake  <ebb9@byu.net>
4581
4582         * lib/getaddrinfo.c (includes): Add missing include.
4583
4584 2006-10-23  Bruno Haible  <bruno@clisp.org>
4585             Paul Eggert  <eggert@cs.ucla.edu>
4586
4587         Ability to rename obstack_free.
4588         * lib/obstack.h (__obstack_free): New macro. Declare instead of
4589         obstack_free.
4590         (obstack_free): Invoke the __obstack_free macro.
4591         * lib/obstack.c (obstack_free): Use __obstack_free macro.
4592
4593 2006-10-23  Bruno Haible  <bruno@clisp.org>
4594             Paul Eggert  <eggert@cs.ucla.edu>
4595
4596         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
4597         __argc, __argv from the declaration. (They are defined as macros on
4598         mingw.)
4599
4600 2006-10-22  Bruno Haible  <bruno@clisp.org>
4601
4602         * doc/gnulib-intro.texi: New file.
4603         * doc/gnulib.texi: Include it.
4604
4605 2006-10-21  Bruno Haible  <bruno@clisp.org>
4606
4607         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
4608         "Introduction", "Miscellanous Notes", "Particular Modules".
4609
4610 2006-10-21  Bruno Haible  <bruno@clisp.org>
4611
4612         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4613         Change mostlyclean-local rule to avoid sh syntax error from bash
4614         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
4615
4616 2006-10-23  Jim Meyering  <jim@meyering.net>
4617
4618         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
4619         in place of snprintf.
4620
4621         * modules/inttostr (Files): Add lib/uinttostr.c.
4622         * lib/uinttostr.c (inttostr): New file/function.
4623         * lib/inttostr.h (uinttostr): Declare.
4624         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
4625         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
4626         Add uinttostr.
4627         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
4628
4629 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4630
4631         * lib/canonicalize.c (ELOOP): Define if not already defined.
4632         Problem reported by Bruno Haible in
4633         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
4634
4635 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4636
4637         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
4638         Problem reported by Perry Smith and Ville Laurikari.
4639
4640         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
4641         uses.
4642
4643 2006-10-19  Bruno Haible  <bruno@clisp.org>
4644
4645         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
4646         for mingw.
4647
4648 2006-10-19  Bruno Haible  <bruno@clisp.org>
4649
4650         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
4651         Needed for mingw.
4652
4653 2006-10-19  Bruno Haible  <bruno@clisp.org>
4654
4655         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
4656
4657 2006-10-19  Bruno Haible  <bruno@clisp.org>
4658
4659         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
4660         it.
4661
4662 2006-10-19  Bruno Haible  <bruno@clisp.org>
4663
4664         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
4665         invocation.
4666
4667 2006-10-19  Bruno Haible  <bruno@clisp.org>
4668
4669         * gnulib-tool (func_create_testdir): Don't include ftruncate and
4670         mountlist by default.
4671
4672 2006-10-16  Bruno Haible  <bruno@clisp.org>
4673
4674         * lib/c-strstr.c: Include c-strstr.h.
4675
4676 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4677
4678         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
4679         in a slash.
4680
4681 2006-10-18  Bruno Haible  <bruno@clisp.org>
4682
4683         * lib/lock.h [C++]: Wrap definitions in extern "C".
4684
4685 2006-10-18  Bruno Haible  <bruno@clisp.org>
4686
4687         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
4688         gl_LIBOBJS list.
4689
4690 2006-10-18  Bruno Haible  <bruno@clisp.org>
4691
4692         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
4693
4694 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4695
4696         * lib/xstrtol.h: Include gettext.h.
4697         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
4698         Problem reported by Eric Blake.
4699         * modules/xstrtol (Depends-on): Add gettext-h.
4700
4701 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
4702
4703         * lib/strftime.c (advance): New macro.
4704         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
4705         incomplete type, so you can't add 0 to it.  Problem and patch
4706         reported by Eelco Dolstra for dietlibc.
4707
4708 2006-10-18  Jim Meyering  <jim@meyering.net>
4709
4710         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
4711         type for a local, and rename it: s/up/user_proc/.
4712
4713 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
4714
4715         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
4716         READ_UTMP_USER_PROCESS.
4717         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
4718
4719 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
4720
4721         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
4722         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
4723
4724 2006-10-17  Eric Blake  <ebb9@byu.net>
4725
4726         * lib/sigprocmask.c (sigprocmask): Fix typo.
4727
4728         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
4729
4730         * modules/clean-temp (Makefile.am): Don't add to make output...
4731         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
4732         config.h.
4733
4734 2006-10-17  Bruno Haible  <bruno@clisp.org>
4735
4736         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
4737         differently if DEFAULT_TEXT_DOMAIN is set.
4738
4739 2006-10-16  Bruno Haible  <bruno@clisp.org>
4740
4741         * lib/clean-temp.c: Include fwriteerror.h.
4742
4743 2006-10-16  Bruno Haible  <bruno@clisp.org>
4744
4745         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
4746
4747 2006-10-16  Bruno Haible  <bruno@clisp.org>
4748
4749         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
4750         * lib/sigprocmask.h: Include <sys/types.h>.
4751         (sigset_t): Use the system's definition if present.
4752
4753 2006-10-17  Eric Blake  <ebb9@byu.net>
4754
4755         * lib/xvasprintf.c (includes): Assume config.h.
4756         * lib/xasprintf.c (includes): Likewise.
4757
4758 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
4759
4760         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
4761         at least as wide as intmax_t.
4762
4763 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
4764
4765         (Imported from Automake.)
4766         * build-aux/gnupload: Update to version 1.1 of directive file.
4767
4768 2006-10-16  Eric Blake  <ebb9@byu.net>
4769
4770         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
4771         match Automake 1.10a.
4772
4773 2006-10-14  Bruno Haible  <bruno@clisp.org>
4774
4775         * modules/sigprocmask: New file.
4776         * lib/sigprocmask.h: New file.
4777         * lib/sigprocmask.c: New file.
4778         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
4779         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
4780         request sigprocmask.o.
4781         (gl_PREREQ_SIGPROCMASK): New macro.
4782         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
4783         (Depends-on): Add sigprocmask.
4784         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
4785         gt_SIGNALBLOCKING. Test for 'raise' only once.
4786         * lib/fatal-signal.c: Include sigprocmask.h.
4787         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
4788         unblock_fatal_signals): Define always.
4789         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
4790         sigprocmask.
4791
4792 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
4793
4794         Sync from Automake.
4795         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
4796         which incorrectly sets the mode of an existing destination
4797         directory.  In some cases the unpatched install-sh could do the
4798         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
4799         system.  We hope this is rare in practice, but it's clearly worth
4800         fixing.  Problem reported by Alex Unleashed in
4801         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
4802         Also, don't bother to check for -m bugs unless we're using -m;
4803         suggested by Stepan Kasal.
4804
4805 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4806
4807         Sync from Automake.
4808         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
4809         `-c' flag, so they appear at the same position as in %FASTDEP%
4810         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
4811         which ignores unknown options only after the first non-option.
4812         Bug report against M4 by Nelson H. F. Beebe.
4813
4814 2006-10-13  Jim Meyering  <jim@meyering.net>
4815
4816         Fix a bug in yesterday's change.
4817         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
4818         p->fts_statp->st_dev would be used uninitialized.
4819         Ensures that we always call fts_stat on the very first entry.
4820         Miklos Szeredi reported that find -xdev stopped working.
4821
4822 2006-10-12  Bruno Haible  <bruno@clisp.org>
4823
4824         * gnulib-tool (func_get_automake_snippet): Append an automatically
4825         computed EXTRA_DIST augmentation.
4826         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
4827         * modules/alloca-opt (Makefile.am): Likewise.
4828         * modules/allocsa (Makefile.am): Likewise.
4829         * modules/arcfour (Makefile.am): Likewise.
4830         * modules/arctwo (Makefile.am): Likewise.
4831         * modules/argmatch (Makefile.am): Likewise.
4832         * modules/argz (Makefile.am): Likewise.
4833         * modules/atexit (Makefile.am): Likewise.
4834         * modules/backupfile (Makefile.am): Likewise.
4835         * modules/byteswap (Makefile.am): Likewise.
4836         * modules/c-strtod (Makefile.am): Likewise.
4837         * modules/c-strtold (Makefile.am): Likewise.
4838         * modules/calloc (Makefile.am): Likewise.
4839         * modules/canon-host (Makefile.am): Likewise.
4840         * modules/canonicalize (Makefile.am): Likewise.
4841         * modules/chdir-long (Makefile.am): Likewise.
4842         * modules/chdir-safer (Makefile.am): Likewise.
4843         * modules/check-version (Makefile.am): Likewise.
4844         * modules/chown (Makefile.am): Likewise.
4845         * modules/cloexec (Makefile.am): Likewise.
4846         * modules/close-stream (Makefile.am): Likewise.
4847         * modules/closeout (Makefile.am): Likewise.
4848         * modules/crc (Makefile.am): Likewise.
4849         * modules/csharpexec (Makefile.am): Likewise.
4850         * modules/cycle-check (Makefile.am): Likewise.
4851         * modules/des (Makefile.am): Likewise.
4852         * modules/dev-ino (Makefile.am): Likewise.
4853         * modules/dirfd (Makefile.am): Likewise.
4854         * modules/dirname (Makefile.am): Likewise.
4855         * modules/dup2 (Makefile.am): Likewise.
4856         * modules/eealloc (Makefile.am): Likewise.
4857         * modules/error (Makefile.am): Likewise.
4858         * modules/euidaccess (Makefile.am): Likewise.
4859         * modules/exclude (Makefile.am): Likewise.
4860         * modules/exitfail (Makefile.am): Likewise.
4861         * modules/fcntl-safer (Makefile.am): Likewise.
4862         * modules/fcntl (Makefile.am): Likewise.
4863         * modules/file-type (Makefile.am): Likewise.
4864         * modules/fileblocks (Makefile.am): Likewise.
4865         * modules/filemode (Makefile.am): Likewise.
4866         * modules/filenamecat (Makefile.am): Likewise.
4867         * modules/fnmatch (Makefile.am): Likewise.
4868         * modules/fopen-safer (Makefile.am): Likewise.
4869         * modules/fpending (Makefile.am): Likewise.
4870         * modules/fprintftime (Makefile.am): Likewise.
4871         * modules/free (Makefile.am): Likewise.
4872         * modules/fsusage (Makefile.am): Likewise.
4873         * modules/ftruncate (Makefile.am): Likewise.
4874         * modules/fts (Makefile.am): Likewise.
4875         * modules/gc-arcfour (Makefile.am): Likewise.
4876         * modules/gc-des (Makefile.am): Likewise.
4877         * modules/gc-hmac-md5 (Makefile.am): Likewise.
4878         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
4879         * modules/gc-md4 (Makefile.am): Likewise.
4880         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4881         * modules/gc-sha1 (Makefile.am): Likewise.
4882         * modules/gc (Makefile.am): Likewise.
4883         * modules/getaddrinfo (Makefile.am): Likewise.
4884         * modules/getcwd (Makefile.am): Likewise.
4885         * modules/getdelim (Makefile.am): Likewise.
4886         * modules/getdomainname (Makefile.am): Likewise.
4887         * modules/getgroups (Makefile.am): Likewise.
4888         * modules/gethostname (Makefile.am): Likewise.
4889         * modules/gethrxtime (Makefile.am): Likewise.
4890         * modules/getline (Makefile.am): Likewise.
4891         * modules/getloadavg (Makefile.am): Likewise.
4892         * modules/getlogin_r (Makefile.am): Likewise.
4893         * modules/getndelim2 (Makefile.am): Likewise.
4894         * modules/getopt (Makefile.am): Likewise.
4895         * modules/getpagesize (Makefile.am): Likewise.
4896         * modules/getpass-gnu (Makefile.am): Likewise.
4897         * modules/getpass (Makefile.am): Likewise.
4898         * modules/getsubopt (Makefile.am): Likewise.
4899         * modules/gettime (Makefile.am): Likewise.
4900         * modules/gettimeofday (Makefile.am): Likewise.
4901         * modules/getugroups (Makefile.am): Likewise.
4902         * modules/getusershell (Makefile.am): Likewise.
4903         * modules/glob (Makefile.am): Likewise.
4904         * modules/group-member (Makefile.am): Likewise.
4905         * modules/hard-locale (Makefile.am): Likewise.
4906         * modules/hash (Makefile.am): Likewise.
4907         * modules/hmac-md5 (Makefile.am): Likewise.
4908         * modules/hmac-sha1 (Makefile.am): Likewise.
4909         * modules/human (Makefile.am): Likewise.
4910         * modules/idcache (Makefile.am): Likewise.
4911         * modules/imaxabs (Makefile.am): Likewise.
4912         * modules/imaxdiv (Makefile.am): Likewise.
4913         * modules/inet_ntop (Makefile.am): Likewise.
4914         * modules/inet_pton (Makefile.am): Likewise.
4915         * modules/intprops (Makefile.am): Likewise.
4916         * modules/inttostr (Makefile.am): Likewise.
4917         * modules/inttypes (Makefile.am): Likewise.
4918         * modules/isapipe (Makefile.am): Likewise.
4919         * modules/javaversion (Makefile.am): Likewise.
4920         * modules/lchmod (Makefile.am): Likewise.
4921         * modules/lchown (Makefile.am): Likewise.
4922         * modules/localcharset (Makefile.am): Likewise.
4923         * modules/long-options (Makefile.am): Likewise.
4924         * modules/lstat (Makefile.am): Likewise.
4925         * modules/malloc (Makefile.am): Likewise.
4926         * modules/mathl (Makefile.am): Likewise.
4927         * modules/mbchar (Makefile.am): Likewise.
4928         * modules/md2 (Makefile.am): Likewise.
4929         * modules/md4 (Makefile.am): Likewise.
4930         * modules/md5 (Makefile.am): Likewise.
4931         * modules/memcasecmp (Makefile.am): Likewise.
4932         * modules/memchr (Makefile.am): Likewise.
4933         * modules/memcmp (Makefile.am): Likewise.
4934         * modules/memcoll (Makefile.am): Likewise.
4935         * modules/memcpy (Makefile.am): Likewise.
4936         * modules/memmem (Makefile.am): Likewise.
4937         * modules/memmove (Makefile.am): Likewise.
4938         * modules/mempcpy (Makefile.am): Likewise.
4939         * modules/memrchr (Makefile.am): Likewise.
4940         * modules/memset (Makefile.am): Likewise.
4941         * modules/memxor (Makefile.am): Likewise.
4942         * modules/mkancesdirs (Makefile.am): Likewise.
4943         * modules/mkdir-p (Makefile.am): Likewise.
4944         * modules/mkdir (Makefile.am): Likewise.
4945         * modules/mkdtemp (Makefile.am): Likewise.
4946         * modules/mkstemp (Makefile.am): Likewise.
4947         * modules/mktime (Makefile.am): Likewise.
4948         * modules/modechange (Makefile.am): Likewise.
4949         * modules/mountlist (Makefile.am): Likewise.
4950         * modules/nanosleep (Makefile.am): Likewise.
4951         * modules/obstack (Makefile.am): Likewise.
4952         * modules/openat (Makefile.am): Likewise.
4953         * modules/pagealign_alloc (Makefile.am): Likewise.
4954         * modules/pathmax (Makefile.am): Likewise.
4955         * modules/physmem (Makefile.am): Likewise.
4956         * modules/poll (Makefile.am): Likewise.
4957         * modules/posixtm (Makefile.am): Likewise.
4958         * modules/posixver (Makefile.am): Likewise.
4959         * modules/putenv (Makefile.am): Likewise.
4960         * modules/quote (Makefile.am): Likewise.
4961         * modules/quotearg (Makefile.am): Likewise.
4962         * modules/raise (Makefile.am): Likewise.
4963         * modules/read-file (Makefile.am): Likewise.
4964         * modules/readline (Makefile.am): Likewise.
4965         * modules/readlink (Makefile.am): Likewise.
4966         * modules/readtokens (Makefile.am): Likewise.
4967         * modules/readutmp (Makefile.am): Likewise.
4968         * modules/realloc (Makefile.am): Likewise.
4969         * modules/regex (Makefile.am): Likewise.
4970         * modules/rename-dest-slash (Makefile.am): Likewise.
4971         * modules/rename (Makefile.am): Likewise.
4972         * modules/rijndael (Makefile.am): Likewise.
4973         * modules/rmdir (Makefile.am): Likewise.
4974         * modules/rpmatch (Makefile.am): Likewise.
4975         * modules/safe-read (Makefile.am): Likewise.
4976         * modules/safe-write (Makefile.am): Likewise.
4977         * modules/same-inode (Makefile.am): Likewise.
4978         * modules/same (Makefile.am): Likewise.
4979         * modules/save-cwd (Makefile.am): Likewise.
4980         * modules/savedir (Makefile.am): Likewise.
4981         * modules/setenv (Makefile.am): Likewise.
4982         * modules/settime (Makefile.am): Likewise.
4983         * modules/sha1 (Makefile.am): Likewise.
4984         * modules/sig2str (Makefile.am): Likewise.
4985         * modules/snprintf (Makefile.am): Likewise.
4986         * modules/stat-macros (Makefile.am): Likewise.
4987         * modules/stat-time (Makefile.am): Likewise.
4988         * modules/stdbool (Makefile.am): Likewise.
4989         * modules/stdint (Makefile.am): Likewise.
4990         * modules/stdlib-safer (Makefile.am): Likewise.
4991         * modules/stpcpy (Makefile.am): Likewise.
4992         * modules/stpncpy (Makefile.am): Likewise.
4993         * modules/strcase (Makefile.am): Likewise.
4994         * modules/strcasestr (Makefile.am): Likewise.
4995         * modules/strchrnul (Makefile.am): Likewise.
4996         * modules/strcspn (Makefile.am): Likewise.
4997         * modules/strdup (Makefile.am): Likewise.
4998         * modules/strerror (Makefile.am): Likewise.
4999         * modules/strftime (Makefile.am): Likewise.
5000         * modules/strndup (Makefile.am): Likewise.
5001         * modules/strnlen (Makefile.am): Likewise.
5002         * modules/strpbrk (Makefile.am): Likewise.
5003         * modules/strsep (Makefile.am): Likewise.
5004         * modules/strstr (Makefile.am): Likewise.
5005         * modules/strtod (Makefile.am): Likewise.
5006         * modules/strtoimax (Makefile.am): Likewise.
5007         * modules/strtok_r (Makefile.am): Likewise.
5008         * modules/strtol (Makefile.am): Likewise.
5009         * modules/strtoll (Makefile.am): Likewise.
5010         * modules/strtoul (Makefile.am): Likewise.
5011         * modules/strtoull (Makefile.am): Likewise.
5012         * modules/strtoumax (Makefile.am): Likewise.
5013         * modules/strverscmp (Makefile.am): Likewise.
5014         * modules/sys_socket (Makefile.am): Likewise.
5015         * modules/sys_stat (Makefile.am): Likewise.
5016         * modules/sysexits (Makefile.am): Likewise.
5017         * modules/time_r (Makefile.am): Likewise.
5018         * modules/timegm (Makefile.am): Likewise.
5019         * modules/timespec (Makefile.am): Likewise.
5020         * modules/tmpfile-safer (Makefile.am): Likewise.
5021         * modules/trim (Makefile.am): Likewise.
5022         * modules/unistd-safer (Makefile.am): Likewise.
5023         * modules/unlinkdir (Makefile.am): Likewise.
5024         * modules/unlocked-io (Makefile.am): Likewise.
5025         * modules/userspec (Makefile.am): Likewise.
5026         * modules/utime (Makefile.am): Likewise.
5027         * modules/utimecmp (Makefile.am): Likewise.
5028         * modules/utimens (Makefile.am): Likewise.
5029         * modules/vasnprintf (Makefile.am): Likewise.
5030         * modules/vasprintf (Makefile.am): Likewise.
5031         * modules/vsnprintf (Makefile.am): Likewise.
5032         * modules/xalloc (Makefile.am): Likewise.
5033         * modules/xgetcwd (Makefile.am): Likewise.
5034         * modules/xnanosleep (Makefile.am): Likewise.
5035         * modules/xreadlink (Makefile.am): Likewise.
5036         * modules/xstrtod (Makefile.am): Likewise.
5037         * modules/xstrtol (Makefile.am): Likewise.
5038         * modules/xstrtold (Makefile.am): Likewise.
5039         * modules/yesno (Makefile.am): Likewise.
5040         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
5041
5042 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
5043
5044         * modules/error (Makefile.am): Distribute files through
5045         EXTRA_DIST, not lib_SOURCES.
5046
5047 2006-10-12  Eric Blake  <ebb9@byu.net>
5048
5049         * modules/error (Makefile.am): Distribute files in /lib.
5050         * modules/obstack (Makefile.am): Likewise.
5051
5052 2006-10-12  Bruno Haible  <bruno@clisp.org>
5053
5054         * modules/acl (Makefile.am): Distribute all files in lib/ through
5055         EXTRA_DIST.
5056         * modules/arcfour (Makefile.am): Likewise.
5057         * modules/arctwo (Makefile.am): Likewise.
5058         * modules/argmatch (Makefile.am): Likewise.
5059         * modules/argz (Makefile.am): Likewise.
5060         * modules/atexit (Makefile.am): Likewise.
5061         * modules/backupfile (Makefile.am): Likewise.
5062         * modules/c-strtod (Makefile.am): Likewise.
5063         * modules/c-strtold (Makefile.am): Likewise.
5064         * modules/calloc (Makefile.am): Likewise.
5065         * modules/canon-host (Makefile.am): Likewise.
5066         * modules/canonicalize (Makefile.am): Likewise.
5067         * modules/chdir-long (Makefile.am): Likewise.
5068         * modules/chdir-safer (Makefile.am): Likewise.
5069         * modules/check-version (Makefile.am): Likewise.
5070         * modules/chown (Makefile.am): Likewise.
5071         * modules/cloexec (Makefile.am): Likewise.
5072         * modules/close-stream (Makefile.am): Likewise.
5073         * modules/closeout (Makefile.am): Likewise.
5074         * modules/crc (Makefile.am): Likewise.
5075         * modules/cycle-check (Makefile.am): Likewise.
5076         * modules/des (Makefile.am): Likewise.
5077         * modules/dirfd (Makefile.am): Likewise.
5078         * modules/dirname (Makefile.am): Likewise.
5079         * modules/dup2 (Makefile.am): Likewise.
5080         * modules/euidaccess (Makefile.am): Likewise.
5081         * modules/exclude (Makefile.am): Likewise.
5082         * modules/exitfail (Makefile.am): Likewise.
5083         * modules/fcntl-safer (Makefile.am): Likewise.
5084         * modules/file-type (Makefile.am): Likewise.
5085         * modules/fileblocks (Makefile.am): Likewise.
5086         * modules/filemode (Makefile.am): Likewise.
5087         * modules/filenamecat (Makefile.am): Likewise.
5088         * modules/fnmatch (Makefile.am): Likewise.
5089         * modules/fopen-safer (Makefile.am): Likewise.
5090         * modules/fpending (Makefile.am): Likewise.
5091         * modules/fprintftime (Makefile.am): Likewise.
5092         * modules/free (Makefile.am): Likewise.
5093         * modules/fsusage (Makefile.am): Likewise.
5094         * modules/ftruncate (Makefile.am): Likewise.
5095         * modules/fts (Makefile.am): Likewise.
5096         * modules/gc (Makefile.am): Likewise.
5097         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
5098         * modules/getaddrinfo (Makefile.am): Likewise.
5099         * modules/getcwd (Makefile.am): Likewise.
5100         * modules/getdelim (Makefile.am): Likewise.
5101         * modules/getdomainname (Makefile.am): Likewise.
5102         * modules/getgroups (Makefile.am): Likewise.
5103         * modules/gethostname (Makefile.am): Likewise.
5104         * modules/gethrxtime (Makefile.am): Likewise.
5105         * modules/getline (Makefile.am): Likewise.
5106         * modules/getloadavg (Makefile.am): Likewise.
5107         * modules/getlogin_r (Makefile.am): Likewise.
5108         * modules/getopt (Makefile.am): Likewise.
5109         * modules/getpass (Makefile.am): Likewise.
5110         * modules/getpass-gnu (Makefile.am): Likewise.
5111         * modules/getsubopt (Makefile.am): Likewise.
5112         * modules/gettime (Makefile.am): Likewise.
5113         * modules/gettimeofday (Makefile.am): Likewise.
5114         * modules/getugroups (Makefile.am): Likewise.
5115         * modules/getusershell (Makefile.am): Likewise.
5116         * modules/glob (Makefile.am): Likewise.
5117         * modules/group-member (Makefile.am): Likewise.
5118         * modules/hard-locale (Makefile.am): Likewise.
5119         * modules/hash (Makefile.am): Likewise.
5120         * modules/hmac-md5 (Makefile.am): Likewise.
5121         * modules/hmac-sha1 (Makefile.am): Likewise.
5122         * modules/human (Makefile.am): Likewise.
5123         * modules/idcache (Makefile.am): Likewise.
5124         * modules/imaxabs (Makefile.am): Likewise.
5125         * modules/imaxdiv (Makefile.am): Likewise.
5126         * modules/inet_ntop (Makefile.am): Likewise.
5127         * modules/inet_pton (Makefile.am): Likewise.
5128         * modules/inttostr (Makefile.am): Likewise.
5129         * modules/isapipe (Makefile.am): Likewise.
5130         * modules/lchown (Makefile.am): Likewise.
5131         * modules/long-options (Makefile.am): Likewise.
5132         * modules/lstat (Makefile.am): Likewise.
5133         * modules/malloc (Makefile.am): Likewise.
5134         * modules/mathl (Makefile.am): Likewise.
5135         * modules/mbchar (Makefile.am): Likewise.
5136         * modules/md2 (Makefile.am): Likewise.
5137         * modules/md4 (Makefile.am): Likewise.
5138         * modules/md5 (Makefile.am): Likewise.
5139         * modules/memcasecmp (Makefile.am): Likewise.
5140         * modules/memchr (Makefile.am): Likewise.
5141         * modules/memcmp (Makefile.am): Likewise.
5142         * modules/memcoll (Makefile.am): Likewise.
5143         * modules/memcpy (Makefile.am): Likewise.
5144         * modules/memmem (Makefile.am): Likewise.
5145         * modules/memmove (Makefile.am): Likewise.
5146         * modules/mempcpy (Makefile.am): Likewise.
5147         * modules/memrchr (Makefile.am): Likewise.
5148         * modules/memset (Makefile.am): Likewise.
5149         * modules/memxor (Makefile.am): Likewise.
5150         * modules/mkancesdirs (Makefile.am): Likewise.
5151         * modules/mkdir (Makefile.am): Likewise.
5152         * modules/mkdir-p (Makefile.am): Likewise.
5153         * modules/mkdtemp (Makefile.am): Likewise.
5154         * modules/mkstemp (Makefile.am): Likewise.
5155         * modules/mktime (Makefile.am): Likewise.
5156         * modules/modechange (Makefile.am): Likewise.
5157         * modules/mountlist (Makefile.am): Likewise.
5158         * modules/nanosleep (Makefile.am): Likewise.
5159         * modules/openat (Makefile.am): Likewise.
5160         * modules/pagealign_alloc (Makefile.am): Likewise.
5161         * modules/physmem (Makefile.am): Likewise.
5162         * modules/poll (Makefile.am): Likewise.
5163         * modules/posixtm (Makefile.am): Likewise.
5164         * modules/posixver (Makefile.am): Likewise.
5165         * modules/putenv (Makefile.am): Likewise.
5166         * modules/quote (Makefile.am): Likewise.
5167         * modules/quotearg (Makefile.am): Likewise.
5168         * modules/raise (Makefile.am): Likewise.
5169         * modules/read-file (Makefile.am): Likewise.
5170         * modules/readline (Makefile.am): Likewise.
5171         * modules/readlink (Makefile.am): Likewise.
5172         * modules/readtokens (Makefile.am): Likewise.
5173         * modules/readutmp (Makefile.am): Likewise.
5174         * modules/realloc (Makefile.am): Likewise.
5175         * modules/regex (Makefile.am): Likewise.
5176         * modules/rename (Makefile.am): Likewise.
5177         * modules/rename-dest-slash (Makefile.am): Likewise.
5178         * modules/rijndael (Makefile.am): Likewise.
5179         * modules/rmdir (Makefile.am): Likewise.
5180         * modules/rpmatch (Makefile.am): Likewise.
5181         * modules/safe-read (Makefile.am): Likewise.
5182         * modules/safe-write (Makefile.am): Likewise.
5183         * modules/same (Makefile.am): Likewise.
5184         * modules/save-cwd (Makefile.am): Likewise.
5185         * modules/savedir (Makefile.am): Likewise.
5186         * modules/setenv (Makefile.am): Likewise.
5187         * modules/settime (Makefile.am): Likewise.
5188         * modules/sha1 (Makefile.am): Likewise.
5189         * modules/sig2str (Makefile.am): Likewise.
5190         * modules/snprintf (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/time_r (Makefile.am): Likewise.
5216         * modules/timegm (Makefile.am): Likewise.
5217         * modules/tmpfile-safer (Makefile.am): Likewise.
5218         * modules/unistd-safer (Makefile.am): Likewise.
5219         * modules/unlinkdir (Makefile.am): Likewise.
5220         * modules/userspec (Makefile.am): Likewise.
5221         * modules/utime (Makefile.am): Likewise.
5222         * modules/utimecmp (Makefile.am): Likewise.
5223         * modules/utimens (Makefile.am): Likewise.
5224         * modules/vasnprintf (Makefile.am): Likewise.
5225         * modules/vasprintf (Makefile.am): Likewise.
5226         * modules/vsnprintf (Makefile.am): Likewise.
5227         * modules/xalloc (Makefile.am): Likewise.
5228         * modules/xgetcwd (Makefile.am): Likewise.
5229         * modules/xnanosleep (Makefile.am): Likewise.
5230         * modules/xreadlink (Makefile.am): Likewise.
5231         * modules/xstrtod (Makefile.am): Likewise.
5232         * modules/xstrtol (Makefile.am): Likewise.
5233         * modules/xstrtold (Makefile.am): Likewise.
5234         * modules/yesno (Makefile.am): Likewise.
5235
5236 2006-10-12  Jim Meyering  <jim@meyering.net>
5237
5238         * m4/getloadavg.m4: Revert the change below.
5239
5240         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
5241         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
5242         fail with a symlink, which is what coreutils' ./bootstrap now
5243         creates by default.
5244
5245 2006-10-12  Bruno Haible  <bruno@clisp.org>
5246
5247         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
5248         mingw.
5249         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
5250         MSVC and mingw explicitly.
5251
5252 2006-10-11  Simon Josefsson  <jas@extundo.com>
5253             Bruno Haible  <bruno@clisp.org>
5254
5255         Add support for multiple gnulib-tool invocations in the scope of a
5256         single configure.ac file.
5257         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
5258         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
5259         with the same contents as the _LIBADD variable.
5260         (func_emit_initmacro_start, func_emit_initmacro_end,
5261         func_emit_initmacro_done): New functions.
5262         (func_import, func_create_testdir): Invoke them. Allow the identifiers
5263         gl_LIBOBJS and gl_LTLIBOBJS.
5264
5265 2006-10-11  Bruno Haible  <bruno@clisp.org>
5266
5267         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
5268         (func_create_testdir): Don't create po/Makefile.am, don't invoke
5269         autoreconf. Instead, invoke autopoint explicitly but move back the
5270         *.m4 files from gnulib.
5271
5272 2006-10-11  Bruno Haible  <bruno@clisp.org>
5273
5274         * gnulib-tool (func_usage): Make module names after --create-testdir
5275         optional.
5276         (func_create_testdir): If no module was specified, use nearly all
5277         modules.
5278
5279 2006-10-12  Jim Meyering  <jim@meyering.net>
5280
5281         Big performance improvement for fts-based tools that use FTS_NOSTAT.
5282         Avoid spurious inode-mismatch problems on non-POSIX file systems.
5283         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
5284         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
5285         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
5286         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
5287         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
5288         (fts_set_stat_required): New function.
5289         (fts_open): Defer the calls to fts_stat, if possible or requested.
5290         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
5291         into fts_stat itself.
5292         (fts_read): Perform any required (deferred) fts_stat call.
5293         (fts_build): Likewise, for the directory we're about to open and read.
5294         In the readdir loop, carefully decide whether each entry will require
5295         an eventual call to fts_stat, using dirent.d_type info if available.
5296         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
5297         a command line argument into this function.  Update all callers.
5298         Map a return value of FTS_DOT to FTS_D for a command line argument.
5299         * modules/fts (Depends-on): Add d-type.  Alphabetize.
5300         Thanks to Miklos Szeredi for his tenacity and for the initial
5301         bug report about "find" failing on a FUSE-based file system.
5302
5303         * lib/fts.c (fts_open): Use consistent indentation.
5304
5305 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
5306
5307         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
5308         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
5309         reported by Jim Meyering.  All uses of cache variables renamed
5310         to match Autoconf's.
5311         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
5312         the other one.
5313
5314         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
5315         Fix misspelling in diagnostic.
5316
5317 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
5318
5319         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
5320         defined.  Problem reported by Matthew Woehlke.
5321
5322         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
5323         Add support for Tandem NonStop R series.
5324         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
5325         Use new macro.
5326
5327         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
5328         (has_trailing_slash): Omit size arg; all callers changed.
5329         Omit 'inline', since it doesn't help performance and we'd
5330         need to configure it.
5331         Don't count //, ///, etc. as having a trailing slash.
5332         As a side effect, this removes a C99ism reported by Matthew Woehlke.
5333         (rpl_rename_dest_slash): On failure, use rename's errno rather
5334         than (in some cases) an incorrect or junk errno.
5335         Simplify code by removing need to compute length; this does
5336         cause it to make two passes instead of one over the file name,
5337         but it's worth it.
5338
5339         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
5340         change, since Autoconf's version may no longer be appropriate now
5341         that we are using CVS Autoconf's version.  Add support for Tandem.
5342
5343 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
5344             Bruno Haible  <bruno@clisp.org>
5345
5346         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
5347         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
5348         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
5349         gl_AC_TYPE_LONG_LONG.
5350
5351         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
5352         instead of HAVE_LONG_LONG.
5353         * lib/printf-args.c (printf_fetchargs): Likewise.
5354         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
5355         * lib/vasnprintf.c (VASNPRINTF): Likewise.
5356         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
5357         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
5358         gl_AC_TYPE_LONG_LONG.
5359
5360 2006-10-11  Bruno Haible  <bruno@clisp.org>
5361
5362         * m4/longlong.m4: Add comments.
5363         * m4/ulonglong.m4: Likewise.
5364
5365 2006-10-10  Bruno Haible  <bruno@clisp.org>
5366
5367         Make it possible to #define stpcpy, strdup to aliases.
5368         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
5369         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
5370
5371 2006-10-10  Bruno Haible  <bruno@clisp.org>
5372
5373         Make it possible to #define gcd to an alias.
5374         * lib/gcd.c: Include config.h.
5375
5376 2006-10-10  Bruno Haible  <bruno@clisp.org>
5377
5378         Make it possible to #define c_isascii to an alias.
5379         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
5380         defined. Undefine the macros before defining them, to avoid gcc
5381         warnings.
5382         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
5383         define NO_C_CTYPE_MACROS early.
5384
5385 2006-10-10  Bruno Haible  <bruno@clisp.org>
5386
5387         Make it possible to #define set_program_name to an alias.
5388         * lib/progname.c: Don't undefine set_program_name; instead, undefine
5389         ENABLE_RELOCATABLE early.
5390
5391 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
5392
5393         Port to Tandem NSK OSS, which has 64-bit signed int but at most
5394         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
5395         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
5396         More generally, don't assume that 64-bit signed int is available
5397         if unsigned int is, and vice versa.
5398         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
5399         unsigned symbols, not on their signed counterparts.
5400         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
5401         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
5402         (UINT64_C, UINTMAX_C):
5403         Likewise.
5404         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
5405         unsigned counterparts.
5406         (Have_long_long, Unsigned): New macros.
5407         (Int): Renamed from INT.
5408         (strtoimax): Use the new macros.
5409         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
5410         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
5411         * modules/inttypes (inttypes.h): Substitute
5412         HAVE_UNSIGNED_LONG_LONG_INT.
5413         * modules/stdint (stdint.h): Likewise.
5414         (Files): Add m4/ulonglong.m4.
5415
5416 2006-10-10  Bruno Haible  <bruno@clisp.org>
5417
5418         Fix a gcc -Wshadow warning.
5419         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
5420         to 'bucket'.
5421         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
5422         gl_linked_indexof_from_to): Likewise.
5423         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
5424         Likewise.
5425         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
5426         Likewise.
5427         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
5428         Reported by Eric Blake.
5429
5430 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
5431
5432         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
5433         for NetBSD.  Problem reported by Bruno Haible.
5434
5435 2006-10-09  Jim Meyering  <jim@meyering.net>
5436
5437         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
5438         Patch from Bruno Haible.
5439
5440 2006-10-09  Jim Meyering  <jim@meyering.net>
5441
5442         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
5443         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
5444         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
5445
5446 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5447
5448         Don't include <config.h> twice; this doesn't work in some cases,
5449         e.g., when config.h has "#define intmax_t long long int" and
5450         we include <config.h>, <inttypes.h>, <config.h> in that order.
5451         Problem reported by Matthew Woehlke in:
5452         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
5453         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
5454         * lib/fts-cycle.c: Don't include config.h.
5455         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
5456         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
5457         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
5458         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
5459         inttypes.h.
5460         * lib/xstrtoumax.c: Likewise.
5461         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
5462         __strtol and the like, so that this module is more like its siblings.
5463         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
5464         Remove; no longer needed now that we assume gnulib inttypes.h.
5465
5466 2006-10-08  Bruno Haible  <bruno@clisp.org>
5467
5468         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
5469         option.
5470
5471 2006-10-07  Jim Meyering  <jim@meyering.net>
5472
5473         * modules/inttypes (inttypes.h): Revert what seems to have been
5474         an inadvertent part of today's change: use "|", not "/" in the
5475         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
5476
5477 2006-10-07  Bruno Haible  <bruno@clisp.org>
5478
5479         * modules/sublist: New file.
5480
5481 2006-10-07  Bruno Haible  <bruno@clisp.org>
5482
5483         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
5484         * modules/argz (argz.h): Likewise.
5485         * modules/arpa_inet (arpa/inet.h): Likewise.
5486         * modules/byteswap (byteswap.h): Likewise.
5487         * modules/configmake (configmake.h): Likewise.
5488         * modules/fcntl (fcntl.h): Likewise.
5489         * modules/fnmatch (fnmatch.h): Likewise.
5490         * modules/getopt (getopt.h): Likewise.
5491         * modules/glob (glob.h): Likewise.
5492         * modules/inttypes (inttypes.h): Likewise.
5493         * modules/netinet_in (netinet/in.h): Likewise.
5494         * modules/poll (poll.h): Likewise.
5495         * modules/stdbool (stdbool.h): Likewise.
5496         * modules/stdint (stdint.h): Likewise.
5497         * modules/sys_select (sys/select.h): Likewise.
5498         * modules/sys_socket (sys/socket.h): Likewise.
5499         * modules/sys_stat (sys/stat.h): Likewise.
5500         * modules/sysexits (sysexits.h): Likewise.
5501         * modules/unistd (unistd.h): Likewise.
5502         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5503         Add a "DO NOT EDIT" comment to the generated file.
5504         (func_import): Likewise for gnulib-comp.m4.
5505
5506 2006-10-07  Bruno Haible  <bruno@clisp.org>
5507
5508         * lib/gl_sublist.h: New file.
5509         * lib/gl_sublist.c: New file.
5510
5511 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
5512
5513         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
5514         name (relative to the original working directory) and the file
5515         name component (relative to the temporary working directory).  All
5516         callers changed.
5517         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
5518         * lib/mkdir-p.c (make_dir_parents): Likewise.
5519         * lib/mkdir-p.h (make_dir_parents): Likewise.
5520
5521 2006-10-06  Eric Blake  <ebb9@byu.net>
5522
5523         Define several macros for use by the clean-temp module.
5524         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
5525         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
5526         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
5527
5528         * lib/clean-temp.h (close_stream_temp): New declaration.
5529         * lib/clean-temp.c (includes): Pull in headers according to what
5530         other modules are in use.
5531         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
5532
5533 2006-10-06  Bruno Haible  <bruno@clisp.org>
5534
5535         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
5536         instead of fopen, fwriteerror.
5537
5538 2006-10-06  Bruno Haible  <bruno@clisp.org>
5539
5540         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
5541         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
5542         int.
5543         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
5544         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
5545         Return an error indicator.
5546         Suggested by Eric Blake.
5547
5548 2006-10-06  Bruno Haible  <bruno@clisp.org>
5549
5550         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
5551         Reported by Eric Blake.
5552
5553 2006-10-06  Bruno Haible  <bruno@clisp.org>
5554
5555         * modules/closeout (Description): Mention stderr too.
5556
5557 2006-10-06  Bruno Haible  <bruno@clisp.org>
5558         and Paul Eggert  <eggert@cs.ucla.edu>
5559
5560         * lib/closeout.c (close_stdout): Also close stderr.
5561         * lib/closeout.h: Update comment.
5562
5563 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5564
5565         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
5566         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
5567         * lib/dirchownmod.c: Include lchown.h.
5568         * lib/lchown.c: Don't include files that lchown.h now includes.
5569         Don't declare chown, since lchown.h now does that.
5570         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
5571         (lchown): Define to rpl_chown if lchown is declared but
5572         does not exist.  Declare using a prototype if lchown is not
5573         declared.  Add a copyright notice.
5574         * lib/mkstemp.h: Include <unistd.h>.
5575         * lib/openat.c: Include lchown.h.
5576
5577         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
5578         we now test for that separately.
5579         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
5580         rather than O_NOFOLLOW, when testing whether it's possible to
5581         avoid a race condition reliably.
5582         * lib/savewd.c (savewd_chdir): Likewise.
5583
5584         Remove macros that are no longer needed now that stdint.h is
5585         reliable.
5586         * lib/fsusage.c (UINTMAX_MAX): Remove.
5587         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
5588         * lib/utimecmp.c (SIZE_MAX): Remove.
5589
5590         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
5591
5592         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
5593         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
5594         O_NOATIME works.
5595
5596 2006-10-05  Bruno Haible  <bruno@clisp.org>
5597
5598         * lib/gl_list.h (gl_sortedlist_search_from_to,
5599         gl_sortedlist_indexof_from_to): New declarations.
5600         (gl_list_implementation): New fields sortedlist_search_from_to,
5601         sortedlist_indexof_from_to.
5602         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
5603         inline functions.
5604         * lib/gl_list.c (gl_sortedlist_search_from_to,
5605         gl_sortedlist_indexof_from_to): New functions.
5606         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
5607         function.
5608         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
5609         (gl_array_sortedlist_search_from_to): New function.
5610         (gl_array_list_implementation): Update.
5611         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
5612         function.
5613         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
5614         (gl_carray_sortedlist_search_from_to): New function.
5615         (gl_carray_list_implementation): Update.
5616         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
5617         gl_linked_sortedlist_indexof_from_to): New functions.
5618         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5619         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5620         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
5621         gl_tree_sortedlist_indexof_from_to): New functions.
5622         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5623         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5624         Update.
5625         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5626         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
5627         Update.
5628
5629 2006-10-05  Bruno Haible  <bruno@clisp.org>
5630
5631         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
5632         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
5633         (struct gl_list_implementation): Add fields search_from_to,
5634         indexof_from_to. Remove fields search, indexof.
5635         (gl_list_search): Use the search_from_to method.
5636         (gl_list_search_from, gl_list_search_from_to): New functions.
5637         (gl_list_indexof): Use the indexof_from_to method.
5638         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5639         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
5640         (gl_list_search_from, gl_list_search_from_to): New functions.
5641         (gl_list_indexof): Use the indexof_from_to method.
5642         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5643         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
5644         gl_array_indexof. Add start_index, end_index arguments.
5645         (gl_array_search_from_to): Renamed from gl_array_search. Add
5646         start_index, end_index arguments.
5647         (gl_array_remove, gl_array_list_implementation): Update.
5648         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
5649         gl_carray_indexof. Add start_index, end_index arguments.
5650         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
5651         start_index, end_index arguments.
5652         (gl_carray_remove, gl_carray_list_implementation): Update.
5653         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
5654         gl_linked_search. Add start_index, end_index arguments.
5655         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
5656         start_index, end_index arguments.
5657         (gl_linked_remove): Update.
5658         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5659         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5660         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
5661         field to 'size_t'.
5662         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
5663         gl_tree_search. Add start_index, end_index arguments.
5664         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5665         start_index, end_index arguments.
5666         (gl_tree_remove): Update.
5667         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5668         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5669         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
5670         function.
5671         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
5672         gl_tree_search. Add start_index, end_index arguments.
5673         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5674         start_index, end_index arguments.
5675         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5676         Update.
5677         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
5678
5679 2006-10-05  Bruno Haible  <bruno@clisp.org>
5680
5681         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
5682
5683         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5684         fwriteerror_temp): New declarations.
5685         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
5686         (descriptors): New variable.
5687         (cleanup): First, close the descriptors.
5688         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
5689         fclose_temp, fwriteerror_temp): New functions.
5690
5691 2006-10-04  Jim Meyering  <jim@meyering.net>
5692
5693         * lib/fts.c (fts_open): Tiny comment change.
5694
5695 2006-10-04  Bruno Haible  <bruno@clisp.org>
5696
5697         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
5698         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
5699         gl_LOCK_BODY.
5700         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
5701         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
5702         gl_LOCK_EARLY_BODY.
5703         (gl_LOCK): Require gl_LOCK_BODY.
5704
5705 2006-10-04  Bruno Haible  <bruno@clisp.org>
5706
5707         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
5708         (gl_oset_search_atleast): New declaration.
5709         (struct gl_oset_implementation): Add field 'search_atleast'.
5710         (gl_oset_search_atleast): New inline function.
5711         * lib/gl_oset.c (gl_oset_search_atleast): New function.
5712         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
5713         (gl_array_oset_implementation): Update.
5714         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
5715         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
5716         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
5717
5718 2006-10-04  Bruno Haible  <bruno@clisp.org>
5719
5720         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
5721
5722 2006-10-03  Bruno Haible  <bruno@clisp.org>
5723
5724         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
5725         from gl_avltreehash_list_implementation.
5726
5727 2006-10-03  Bruno Haible  <bruno@clisp.org>
5728
5729         * lib/gl_oset.c (gl_oset_add): Fix return type.
5730
5731 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
5732
5733         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
5734
5735 2006-10-02  Eric Blake  <ebb9@byu.net>
5736
5737         * modules/strnlen (Depends-on): Add extensions.
5738
5739 2006-10-02  Eric Blake  <ebb9@byu.net>
5740
5741         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
5742         definition in 2.60+.
5743
5744 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
5745
5746         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
5747         checks.
5748
5749 2006-10-02  Bruno Haible  <bruno@clisp.org>
5750
5751         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
5752         to the AUTOMAKE_OPTIONS.
5753         Reported by Jim Meyering.
5754
5755 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
5756
5757         Work around bug in Solaris 10 /proc file system:
5758         /proc/self/fd/NNN/.. isn't the parent directory of
5759         the directory whose file descriptor is NNN.  This needs to
5760         be worked around at run time, not compile time, since a
5761         program might be built on Solaris 8, where things work, and
5762         run on Solaris 10.
5763         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
5764         to use the following interface instead:
5765         (OPENAT_BUFFER_SIZE): New macro.
5766         (openat_proc_name): New function.
5767         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
5768         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
5769         Likewise.
5770         * lib/openat-proc.c: New file.
5771         * modules/openat (Files): Add lib/openat-proc.c.
5772         (Depends-on): Add same-inode, stdbool.
5773         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
5774
5775 2006-09-29  Bruno Haible  <bruno@clisp.org>
5776
5777         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
5778         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
5779         argument. Set stdout_closed before testing for ferror, not after.
5780         (fwriteerror, fwriteerror_no_ebadf): New functions.
5781
5782 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5783
5784         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
5785
5786 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
5787
5788         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
5789         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
5790
5791 2006-09-28  Jim Meyering  <jim@meyering.net>
5792
5793         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
5794         Include <unistd.h>.
5795
5796 2006-09-28  Bruno Haible  <bruno@clisp.org>
5797
5798         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
5799         * modules/linkedhash-list (Depends-on): Likewise.
5800         * modules/rbtreehash-list (Depends-on): Likewise.
5801
5802 2006-09-28  Bruno Haible  <bruno@clisp.org>
5803
5804         * lib/strndup.h: Simplify the redefinition of strndup.
5805         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
5806         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
5807
5808 2006-09-28  Bruno Haible  <bruno@clisp.org>
5809
5810         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
5811         * lib/gl_linkedhash_list.c: Likewise.
5812         * lib/gl_rbtreehash_list.c: Likewise.
5813
5814 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
5815
5816         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
5817         getaddrinfo.
5818
5819         * lib/__fpending.h: Don't include <stdio_ext.h> unless
5820         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
5821         it causes <stdio_ext.h> to cause a compile-time error.
5822         Problem reported by Nelson H. F. Beebe.
5823         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
5824         of HAVE_DECL___PENDING.
5825
5826         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
5827         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
5828         declaration.
5829
5830 2006-09-27  Jim Meyering  <jim@meyering.net>
5831
5832         This file could end up with a definition for a function
5833         named __strndup, rather than rpl_strndup on a system with
5834         incomplete weak_alias support.
5835         * lib/strndup.c (strndup): Rename from __strndup.
5836         Remove #defines that used to map __strndup to strndup.
5837         Don't use K&R prototypes.
5838         Remove LIBC-related code, since this file is not sync'd with glibc.
5839         * lib/strndup.h: Revamp, accordingly.
5840         * m4/strndup.m4: Modernize.
5841
5842 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5843
5844         * modules/savewd (Depends-on): Add 'raise'.
5845         * lib/savewd.c: Include <signal.h>, for 'raise'.
5846
5847 2006-09-26  Jim Meyering  <jim@meyering.net>
5848
5849         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
5850         when we detect Darwin 8.7.0's acl_get_file bug.
5851         Rearrange to perform the new (below) run-test while $LIBS
5852         contains any acl-related library.  Set USE_ACL at the end.
5853         (gl_ACL_GET_FILE): New function.
5854
5855 2006-09-26  Eric Blake  <ebb9@byu.net>
5856
5857         * lib/verror.c: Include <config.h> unconditionally.
5858
5859 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
5860
5861         * modules/clock-time (Maintainer): Add self.
5862         * modules/getlogin_r (Depends-on): Add extensions.
5863
5864 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5865
5866         * modules/clock-time: New module.
5867         * modules/nanosleep (Depends-on): Add clock-time.
5868         * modules/gethrxtime (Depends-on): Likewise.
5869         * modules/gettime (Depends-on): Likewise.
5870         * modules/settime (Depends-on): Likewise.
5871
5872         * modules/fts-lgpl: Depend on openat.
5873         * modules/mkancesdirs: Depend on savewd.
5874         * modules/mkdir-p: Likewise.
5875
5876 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5877
5878         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
5879
5880         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
5881         `gl_have_arbitrary_file_name_length_limit' to
5882         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
5883         actually works between configure runs.
5884
5885 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5886             Bruno Haible  <bruno@clisp.org>
5887
5888         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
5889
5890 2006-09-25  Jim Meyering  <jim@meyering.net>
5891
5892         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
5893         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
5894
5895 2006-09-25  Eric Blake  <ebb9@byu.net>
5896
5897         * gnulib-tool (func_import, func_create_testdir): Fix typos in
5898         exec's in 2006-09-18 patch when shuffling fds.
5899
5900 2006-09-25  Bruno Haible  <bruno@clisp.org>
5901
5902         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
5903         Reported by Jim Meyering.
5904
5905 2006-09-24  Jim Meyering  <jim@meyering.net>
5906
5907         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
5908         compare a pointer against a literal "0".  That caused failures with
5909         at least HP-UX's hpcc.
5910
5911 2006-09-22  Simon Josefsson  <jas@extundo.com>
5912
5913         * modules/gc-sha1:
5914         * modules/gc-md4:
5915         * modules/gc-hmac-sha1:
5916         * modules/gc-hmac-md5:
5917         * modules/gc-des:
5918         * modules/gc-arcfour: Distribute more files.
5919
5920 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5921
5922         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
5923         (gl_linked_iterator_from_to): Initialize struct completely.
5924         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
5925         (gl_tree_iterator_from_to): Likewise
5926         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
5927         * lib/gl_array_list.c [lint] (gl_array_iterator)
5928         (gl_array_iterator_from_to): Likewise.
5929         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
5930         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
5931         (gl_carray_iterator_from_to): Likewise.
5932
5933         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
5934         * lib/md4.c (md4_process_block): Remove unused variable.
5935         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
5936         parentheses for clarity.
5937
5938 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5939
5940         * modules/bison-i18n (Depends-on): Add gettext.
5941
5942 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5943
5944         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
5945         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
5946         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
5947         also add missing comma that caused broken test.
5948         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
5949         stdlib.h, for `abort'.
5950         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
5951         variables.
5952         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
5953         include unistd.h if present, for `rmdir'.
5954         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
5955         variables.
5956         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
5957         in the process include standard headers for prototypes.
5958         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
5959         gets declared on GNU/Linux.
5960         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
5961         unistd.h, for `rmdir'.
5962         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
5963
5964         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
5965         always true.
5966         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
5967
5968         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
5969
5970 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5971
5972         * gnulib-tool (func_version): Create output all at once.  This
5973         may help avoid triggering unnecessary SIGPIPEs, and at any
5974         rate it doesn't hurt.
5975
5976 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5977             Bruno Haible  <bruno@clisp.org>
5978
5979         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
5980         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
5981         * m4/signed.m4 (bh_C_SIGNED): Likewise.
5982
5983         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
5984         (gl_FUNC_VASPRINTF): Invoke it.
5985
5986 2006-09-22  Bruno Haible  <bruno@clisp.org>
5987
5988         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
5989         getloadavg.c as first argument.
5990
5991 2006-09-22  Bruno Haible  <bruno@clisp.org>
5992
5993         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
5994         at the beginning of the gl_INIT macro.
5995         * modules/getloadavg (configure.ac): Pass $gl_source_base to
5996         gl_GETLOADAVG.
5997
5998 2006-09-22  Bruno Haible  <bruno@clisp.org>
5999
6000         * gnulib-tool (func_create_megatestdir): Don't include the config-h
6001         module.
6002         Suggested by Ralf Wildenhues.
6003
6004 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
6005
6006         Import this patch from libc:
6007
6008         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
6009
6010         * lib/regex_internal.c (re_string_reconstruct): Handle
6011         offset < pstr->valid_raw_len && pstr->offsets_needed case.
6012         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
6013         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
6014         re_string_context_at.
6015
6016         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
6017         now requires it.
6018         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
6019         gl_REGEX now does it for us.
6020         (gl_REGEX): Add test taken from
6021         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
6022
6023         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
6024         Check that large offsets work.  Modernize Autoconf usages.
6025         Prefer "yes" to mean a good thing rather than a bad.
6026         Don't put "#define mkstemp" in config.h, as this might interfere
6027         with standard system headers that "#define mkstemp mkstemp64".
6028
6029         * modules/mkstemp (Depends-on): Add extensions, so that
6030         mkstemp is visible on some platforms.
6031         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
6032         (Include): Change to "mkstemp.h" from <stdlib.h>.
6033         (Files): Add mkstemp.h.
6034
6035         * lib/mkstemp.h: New file, since some standard headers
6036         #define mkstemp.
6037         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
6038         Include "mkstemp.h".
6039         Make the _LIBC code resemble glibc original more,
6040         e.g., use K&R style.
6041         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
6042         (mkstemp): Remove, since mkstemp.h does this for us.
6043         * lib/stdlib--.h: Include mkstemp.h.
6044
6045         Import this patch from libc:
6046
6047         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
6048
6049         * lib/tempname.c (__gen_tempname): Change attempts_min
6050         into a macro.  Use preprocessor to decide how to initialize
6051         attempts [Coverity CID 67].
6052
6053 2006-09-20  Bruno Haible  <bruno@clisp.org>
6054
6055         * lib/mkdtemp.c: Import from libc.
6056         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
6057                 * sysdeps/posix/tempname.c (__gen_tempname): Change
6058                 attempts_min into a macro.  Use preprocessor to decide how to
6059                 initialize attempts [Coverity CID 67].
6060         2001-11-27  Paul Eggert  <eggert@twinsun.com>
6061                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
6062                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
6063
6064 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6065
6066         * gnulib-tool (func_exit): New function, to allow to pass the
6067         exit status portably through the trap.  Use everywhere.
6068         (--help, --version): Signal a write error.
6069         (trap): catch SIGPIPE, for write errors.
6070         Exit at the end of the trap, with the correct exit status.
6071
6072 2006-09-19  Karl Berry  <karl@gnu.org>
6073
6074         * doc/gnulib.texi: note about the license texinfo files.
6075
6076 2006-09-19  Eric Blake  <ebb9@byu.net>
6077
6078         * gnulib-tool: Avoid space-tab.
6079
6080 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
6081
6082         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
6083         that prevented coreutils 6.1 from building.  Problem reported
6084         by Petter Reinholdtsen.
6085
6086 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
6087
6088         * gnulib-tool (avoidlist): Fix typo that broke options like
6089         --avoid=lock that are used by coreutils bootstrap.
6090
6091 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
6092
6093         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
6094         more systematically.
6095
6096 2006-09-18  Jim Meyering  <jim@meyering.net>
6097
6098         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
6099
6100 2006-09-18  Bruno Haible  <bruno@clisp.org>
6101
6102         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
6103
6104 2006-09-18  Bruno Haible  <bruno@clisp.org>
6105
6106         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
6107         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
6108         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
6109         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
6110         * m4/gettext.m4: Require autoconf >= 2.52.
6111         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
6112         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
6113         of gl_cv_header_inttypes_h.
6114
6115 2006-09-18  Bruno Haible  <bruno@clisp.org>
6116
6117         * lib/javaversion.c: Include configmake.h.
6118
6119 2006-09-18  Bruno Haible  <bruno@clisp.org>
6120
6121         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
6122         avoid that the while loops be executed in a subshell.
6123
6124 2006-09-18  Bruno Haible  <bruno@clisp.org>
6125
6126         * MODULES.html.sh (func_module): Break long lines.
6127         Suggested by Bruce Korb <bkorb@gnu.org>.
6128
6129 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6130
6131         Speed up by a factor of 1.12.
6132         * gnulib-tool (nl): New variable.
6133         (func_import): Rewrite include directive extraction to only read each
6134         directive once.
6135
6136 2006-09-17  Bruno Haible  <bruno@clisp.org>
6137
6138         * modules/javaversion (Makefile.am): Remove DEFS setting.
6139         (Depends-on): Add configmake, for PKGDATADIR definition.
6140
6141 2006-09-17  Bruno Haible  <bruno@clisp.org>
6142
6143         * gnulib-tool (func_create_testdir): Rewrite all files at once.
6144
6145 2006-09-17  Bruno Haible  <bruno@clisp.org>
6146
6147         * gnulib-tool (func_append): New function, stolen from libtool.m4.
6148         (func_modules_transitive_closure, func_modules_add_dummy,
6149         func_modules_to_filelist, func_import, func_create_testdir,
6150         func_create_megatestdir, ...): Use it wherever possible.
6151         Suggested by Ralf Wildenhues.
6152
6153 2006-09-16  Karl Berry  <karl@gnu.org>
6154
6155         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
6156         to avoid sectioning errors.
6157         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
6158         [ifinfo]: blank line after @center-ed titles.
6159         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
6160         Spell FSF address consistently with others.
6161         (These changes approved by rms.)
6162
6163 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6164
6165         Speed up by a factor of 1.61.
6166         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
6167         already checked module names again.
6168
6169 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6170
6171         Speed up by a factor of 1.13.
6172         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
6173         for new_files, and the input to func_add_or_update.
6174
6175 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6176
6177         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
6178         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
6179
6180 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
6181
6182         * modules/mkancesdirs (Depends-on): Add fcntl.
6183         * modules/savewd: New file.
6184         * MODULES.html.sh (File system functions): Add savewd.
6185
6186         * modules/configmake (Makefile.am): Add support for the
6187         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
6188
6189 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
6190
6191         * m4/savewd.m4: New file.
6192
6193 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
6194
6195         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
6196         (dirchownmod): New arg FD.  All callers changed.
6197         Use FD rather than opening the directory ourself, as opening is
6198         now the caller's responsibility.
6199         * lib/dirchownmod.h: Likewise.
6200         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
6201         hosts that require <sys/types.h> before <sys/stat.h>.  Include
6202         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
6203         (test_dir): Remove.
6204         (mkancesdirs): Return length of prefix of FILE that has already
6205         been made, or -2 if there is a child doing the work.  Redo
6206         algorithm so that it is O(N) rather than O(N**2).  Optimize away
6207         ".", and treat ".." specially since it might stray back into
6208         already-created areas.  Use a subprocess if necessary.  New arg
6209         WD; all users changed.  MAKE_DIR function should now return 1
6210         if it creates a directory that is not readable.  Return -2 if
6211         a child process is spun off.
6212         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
6213         Adjust signature to match code.
6214         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
6215         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
6216         all users changed.
6217         * lib/savewd.c, lib/savewd.h: New files.
6218
6219 2006-09-15  Jim Meyering  <jim@meyering.net>
6220
6221         * modules/rename-dest-slash: New module.
6222         * MODULES.html.sh (posix_compat): Add it here.
6223
6224         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
6225
6226 2006-09-15  Jim Meyering  <jim@meyering.net>
6227
6228         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
6229         file.
6230
6231         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
6232
6233 2006-09-15  Jim Meyering  <jim@meyering.net>
6234
6235         * lib/rename-dest-slash.c (has_trailing_slash): Use
6236         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
6237         (rpl_rename_dest_slash): Perform the cheaper trailing slash
6238         test before testing whether SRC is a directory.
6239         Suggestions from Bruno Haible.
6240
6241         Avoid a warning about an unused variable.
6242         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
6243         into the #ifdef block where it's used.
6244
6245         * lib/rename-dest-slash.c: New file.
6246
6247 2006-09-14  Bruno Haible  <bruno@clisp.org>
6248
6249         * lib/allocsa.c: Include <config.h> unconditionally.
6250         * lib/asnprintf.c: Likewise.
6251         * lib/asprintf.c: Likewise.
6252         * lib/c-strcasecmp.c: Likewise.
6253         * lib/c-strcasestr.c: Likewise.
6254         * lib/c-strncasecmp.c: Likewise.
6255         * lib/c-strstr.c: Likewise.
6256         * lib/classpath.c: Likewise.
6257         * lib/clean-temp.c: Likewise.
6258         * lib/concatpath.c: Likewise.
6259         * lib/copy-file.c: Likewise.
6260         * lib/csharpcomp.c: Likewise.
6261         * lib/csharpexec.c: Likewise.
6262         * lib/execute.c: Likewise.
6263         * lib/fatal-signal.c: Likewise.
6264         * lib/findprog.c: Likewise.
6265         * lib/fwriteerror.c: Likewise.
6266         * lib/gl_array_list.c: Likewise.
6267         * lib/gl_array_oset.c: Likewise.
6268         * lib/gl_avltree_list.c: Likewise.
6269         * lib/gl_avltree_oset.c: Likewise.
6270         * lib/gl_avltreehash_list.c: Likewise.
6271         * lib/gl_carray_list.c: Likewise.
6272         * lib/gl_linked_list.c: Likewise.
6273         * lib/gl_linkedhash_list.c: Likewise.
6274         * lib/gl_list.c: Likewise.
6275         * lib/gl_oset.c: Likewise.
6276         * lib/gl_rbtree_list.c: Likewise.
6277         * lib/gl_rbtree_oset.c: Likewise.
6278         * lib/gl_rbtreehash_list.c: Likewise.
6279         * lib/imaxabs.c: Likewise.
6280         * lib/imaxdiv.c: Likewise.
6281         * lib/javacomp.c: Likewise.
6282         * lib/javaexec.c: Likewise.
6283         * lib/javaversion.c: Likewise.
6284         * lib/linebreak.c: Likewise.
6285         * lib/localcharset.c: Likewise.
6286         * lib/lock.c: Likewise.
6287         * lib/mbchar.c: Likewise.
6288         * lib/mbswidth.c: Likewise.
6289         * lib/mkdtemp.c: Likewise.
6290         * lib/pipe.c: Likewise.
6291         * lib/printf-args.c: Likewise.
6292         * lib/printf-parse.c: Likewise.
6293         * lib/progname.c: Likewise.
6294         * lib/progreloc.c: Likewise.
6295         * lib/readlink.c: Likewise.
6296         * lib/sh-quote.c: Likewise.
6297         * lib/stpcpy.c: Likewise.
6298         * lib/stpncpy.c: Likewise.
6299         * lib/strcasecmp.c: Likewise.
6300         * lib/strcasestr.c: Likewise.
6301         * lib/strcspn.c: Likewise.
6302         * lib/striconv.c: Likewise.
6303         * lib/strncasecmp.c: Likewise.
6304         * lib/strnlen1.c: Likewise.
6305         * lib/strstr.c: Likewise.
6306         * lib/strtok_r.c: Likewise.
6307         * lib/tls.c: Likewise.
6308         * lib/tmpdir.c: Likewise.
6309         * lib/unicodeio.c: Likewise.
6310         * lib/unsetenv.c: Likewise.
6311         * lib/vasnprintf.c: Likewise.
6312         * lib/vasprintf.c: Likewise.
6313         * lib/wait-process.c: Likewise.
6314         * lib/xallocsa.c: Likewise.
6315         * lib/xsetenv.c: Likewise.
6316         * lib/xstriconv.c: Likewise.
6317
6318 2006-09-13  Simon Josefsson  <jas@extundo.com>
6319
6320         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
6321         that internally, suggested by Ralf Wildenhues
6322         <Ralf.Wildenhues@gmx.de>.
6323
6324 2006-09-13  Simon Josefsson  <jas@extundo.com>
6325
6326         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
6327         @LIBOBJS@.
6328         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6329
6330 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
6331
6332         * lib/_fpending.c: Include <config.h> unconditionally, since we no
6333         longer worry about uses that don't define HAVE_CONFIG_H.
6334         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
6335         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
6336         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
6337         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
6338         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
6339         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
6340         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
6341         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
6342         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
6343         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
6344         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
6345         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
6346         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
6347         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
6348         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
6349         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
6350         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
6351         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
6352         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
6353         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
6354         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
6355         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
6356         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
6357         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
6358         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
6359         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
6360         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
6361         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
6362         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
6363         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
6364         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
6365         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
6366         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
6367         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
6368         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
6369         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
6370         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
6371         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
6372         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
6373         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
6374         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
6375         Likewise.
6376
6377 2006-09-13  Eric Blake  <ebb9@byu.net>
6378
6379         * lib/getopt.c: Fix typo in last commit.
6380
6381 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
6382
6383         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
6384         dgettext.
6385
6386 2006-09-12  Jim Meyering  <jim@meyering.net>
6387
6388         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
6389         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
6390         Reported by Nelson H. F. Beebe.
6391
6392 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
6393
6394         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
6395         program_invocation_name and program_invocation_short_name are
6396         initialized.
6397         * lib/argp-namefrob.h: Move declarations of program_invocation_name
6398         and program_invocation_short_name to argp.h, so they are visible
6399         to user programs.
6400         * lib/argp.h: Likewise
6401
6402 2006-09-10  Bruno Haible  <bruno@clisp.org>
6403
6404         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
6405         m4/inttypes_h.m4, m4/uintmax_t.m4.
6406
6407 2006-09-10  Bruno Haible  <bruno@clisp.org>
6408
6409         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
6410         gl_AC_TYPE_UINTMAX_T.
6411
6412 2006-09-10  Bruno Haible  <bruno@clisp.org>
6413
6414         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
6415
6416 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6417
6418         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
6419         convention.  Text proposed by Bruno Haible.
6420         (struct argp_option): Document the use of N_() wrappers.
6421
6422         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
6423         '\v', and translate the two parts separately, instead of feeding
6424         the whole string to gettext.  This allows to exclude
6425         '\v' from the strings visible to the translator by writing doc
6426         strings as N_("..") "\v" N_("..").
6427
6428 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
6429
6430         * config/srclist.txt: Undo latest change; the bug was fixed.
6431
6432 2006-09-09  Bruno Haible  <bruno@clisp.org>
6433
6434         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
6435         assignments if building a library without libtool.
6436         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
6437         in func_emit_lib_Makefile_am.
6438         (func_import): When building a static library libfoo.a, arrange to
6439         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
6440         (func_create_testdir): Likewise.
6441         * modules/gc (configure.ac, Makefile.am): If building statically,
6442         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
6443         * modules/iconvme (configure.ac, Makefile.am): Likewise.
6444         * modules/striconv (configure.ac, Makefile.am): Likewise.
6445         Based on a suggestion by Ralf Wildenhues.
6446
6447 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6448
6449         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
6450         Check for unistd.h too, since Autoconf doesn't assume POSIX.
6451         Also:
6452
6453         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6454         Add year_2050_test to catch glibc bug 2821
6455         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6456
6457         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6458         Prefer #ifdef to #if.
6459
6460         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
6461         Return from 'main' instead of calling 'exit'.
6462
6463 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6464
6465         * lib/mktime.c (guess_time_tm): Fix bug where mktime
6466         returned the maximum time_t value rather than (time_t) -1.
6467         Problem originally reported by William Bardwell
6468         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6469
6470         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6471         Moved to here ...
6472         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6473         ... from here.
6474
6475 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6476
6477         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
6478         2821 is fixed.
6479
6480 2006-09-08  Jim Meyering  <jim@meyering.net>
6481
6482         Don't make generated files read-only.  That would bother too many
6483         people.  However, do retain the ability to work when targets are
6484         read-only: remove the destination and temporary files before writing
6485         them (when generated via sed or echo), or by using the -f option for
6486         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
6487         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6488         * modules/byteswap, modules/configmake, modules/fcntl:
6489         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6490         * modules/localcharset, modules/netinet_in, modules/poll:
6491         * modules/stdbool, modules/stdint, modules/sys_select:
6492         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6493
6494 2006-09-08  Jim Meyering  <jim@meyering.net>
6495
6496         Avoid new build failure on FreeBSD 6.0.
6497         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
6498         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
6499         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
6500
6501 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6502
6503         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
6504
6505 2006-09-07  Jim Meyering  <jim@meyering.net>
6506
6507         Fix global typo in last change: use chmod u-w, not chmod u-x.
6508         Spotted by Paul Eggert and Bruce Korb.
6509         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6510         * modules/byteswap, modules/configmake, modules/fcntl:
6511         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6512         * modules/localcharset, modules/netinet_in, modules/poll:
6513         * modules/stdbool, modules/stdint, modules/sys_select:
6514         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6515
6516 2006-09-06  Jim Meyering  <jim@meyering.net>
6517
6518         Make generated files be read-only.
6519         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
6520         Ensure that each generated file is now read-only.
6521         * modules/argz: Likewise.
6522         * modules/arpa_inet: Likewise.
6523         * modules/byteswap: Likewise.
6524         * modules/configmake: Likewise.
6525         * modules/fcntl: Likewise.
6526         * modules/fnmatch: Likewise.
6527         * modules/getopt: Likewise.
6528         * modules/glob: Likewise.
6529         * modules/inttypes: Likewise.
6530         * modules/netinet_in: Likewise.
6531         * modules/poll: Likewise.
6532         * modules/stdbool: Likewise.
6533         * modules/stdint: Likewise.
6534         * modules/sys_select: Likewise.
6535         * modules/sys_socket: Likewise.
6536         * modules/sys_stat: Likewise.
6537         * modules/sysexits: Likewise.
6538         * modules/localcharset: Same as above, but continue using temporary
6539         file named "t-$@" (why different?) rather than the "$@-t" used
6540         everywhere else.
6541
6542         * modules/sysexits (Makefile.am): Replace literal occurrences
6543         of "sysexit.h" more readable, and more consistent, "$@".
6544
6545 2006-09-06  Bruno Haible  <bruno@clisp.org>
6546
6547         * modules/striconv: New file.
6548         * modules/xstriconv: New file.
6549         * MODULES.html.sh (Internationalization functions): Add striconv,
6550         xstriconv.
6551
6552 2006-09-06  Bruno Haible  <bruno@clisp.org>
6553
6554         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
6555         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
6556         not using libtool correctly.
6557
6558 2006-09-06  Bruno Haible  <bruno@clisp.org>
6559
6560         * lib/striconv.h: New file.
6561         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
6562         iconvstring.c.
6563         * lib/xstriconv.h: New file.
6564         * lib/xstriconv.c: New file.
6565
6566 2006-09-06  Bruno Haible  <bruno@clisp.org>
6567
6568         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
6569         lib_..._LDFLAGS.
6570
6571 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6572
6573         * lib/argz_.h: Sync from Libtool.
6574
6575         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
6576                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6577
6578         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
6579
6580 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6581
6582         * modules/trim: New file.
6583
6584 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6585
6586         * lib/trim.h: New file.
6587         * lib/trim.c: New file.
6588
6589 2006-09-05  Bruno Haible  <bruno@clisp.org>
6590
6591         * MODULES.html.sh (String handling): Add trim.
6592
6593 2006-09-04  Karl Berry  <karl@gnu.org>
6594
6595         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
6596         until next release.
6597
6598 2006-09-03  Bruno Haible  <bruno@clisp.org>
6599
6600         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
6601         correctly.
6602
6603 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6604
6605         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
6606         not gl_GETLOADAVG.  Omit unneeded semicolons.
6607         Problems reported by Ralf Wildenhues in
6608         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6609         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
6610         at the end, which is the usual gnulib style.
6611
6612         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
6613         of doing all the work ourselves.
6614         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
6615         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
6616
6617 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6618
6619         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
6620         Problem reported by Ralf Wildenhues in
6621         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6622
6623         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
6624         HAVE_STRUCT_STATFS_F_FSTYPENAME.
6625
6626 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6627
6628         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
6629         yesterday's patch by changing test -n to test -z.
6630
6631 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6632
6633         * modules/getloadavg (Files): Add m4/getloadavg.m4.
6634         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
6635         the former is now obsolescent.
6636
6637         * modules/chdir-long (Depends-on): Add fcntl.
6638
6639 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6640
6641         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
6642         obsolescent, and programs should use gnulib instead.
6643         * m4/getloadavg.m4: New file, with contents taken from Autoconf
6644         but with prefixes changed.
6645
6646 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6647
6648         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
6649         or stdbool.h, because they might not exist while configuring.
6650
6651         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
6652         Don't include unistd.h or limits.h; not needed, since chdir-long.h
6653         does that for us.
6654         (O_DIRECTORY): Remove.
6655
6656 2006-08-31  Eric Blake  <ebb9@byu.net>
6657
6658         * gnulib-tool: Don't let emacs change spaces to TAB.
6659
6660 2006-08-31  Bruno Haible  <bruno@clisp.org>
6661
6662         * gnulib-tool: When calling func_import more than once, do it in a
6663         subshell.
6664         Reported by Eric Blake <ebb9@byu.net>.
6665
6666 2006-08-31  Bruno Haible  <bruno@clisp.org>
6667
6668         * gnulib-tool (nl): Remove variable.
6669         (sed_transform_lib_file): Use more robust test for config-h module.
6670         (func_import): Fix typo in 2006-08-25 patch.
6671
6672 2006-08-31  Bruno Haible  <bruno@clisp.org>
6673
6674         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
6675         specified, augment Makefile.am variables instead of assigning them.
6676
6677 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6678
6679         Work around a bug in both the Linux and SunOS 64-bit kernels:
6680         nanosleep mishandles sleeps for longer than 2**31 seconds.
6681         Problem reported by Frank v Waveren in
6682         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6683         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
6684         Check for nanosleep bug.
6685         (LIB_NANOSLEEP): Append clock_gettime library if needed.
6686
6687 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6688
6689         Work around a bug in both the Linux and SunOS 64-bit kernels:
6690         nanosleep mishandles sleeps for longer than 2**31 seconds.
6691         Problem reported by Frank v Waveren in
6692         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6693         * lib/nanosleep.c (BILLION): New constant.
6694         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
6695         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
6696         implementation.
6697
6698 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6699
6700         * modules/nanosleep (Depends-on): Add gettime.
6701
6702 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6703         and Simon Josefsson  <jas@extundo.com>
6704         and Oskar Liljeblad  <oskar@osk.mine.nu>
6705
6706         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
6707         * gnulib-tool (func_import): New license type 'unmodifiable license
6708         text'.
6709         * modules/fdl: Use it.  Longer description.
6710         * module/gpl, module/lgpl: New files.
6711
6712 2006-08-30  Jim Meyering  <jim@meyering.net>
6713
6714         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
6715         shadowing the parameter.
6716
6717 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6718
6719         Sync from Libtool:
6720
6721         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6722
6723         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
6724         sharing with gnulib.  Report by Eric Blake.
6725
6726 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6727
6728         * modules/isapipe: New file.
6729         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
6730
6731 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6732
6733         * modules/configmake (Makefile.am): Add a comment, and omit
6734         the CONFIGMAKE_ prefix from generated macro names.  Suggested
6735         by Bruno Haible.
6736
6737 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6738
6739         * m4/isapipe.m4: New file.
6740
6741 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6742
6743         * lib/isapipe.c, lib/isapipe.h: New files.
6744
6745 2006-08-29  Jim Meyering  <jim@meyering.net>
6746
6747         * modules/configmake (Makefile.am): Make configmake.h depend on
6748         Makefile.  Otherwise, a stale configmake.h could hang around.
6749
6750 2006-08-29  Eric Blake  <ebb9@byu.net>
6751
6752         * lib/error.c (error_at_line, print_errno_message): Match libc, after
6753         resolution of upstream bug 3044.
6754
6755 2006-08-29  Bruno Haible  <bruno@clisp.org>
6756
6757         * modules/localcharset (Depends-on): Add configmake.
6758         (Makefile.am): Remove setting of LIBDIR through DEFS.
6759
6760 2006-08-29  Bruno Haible  <bruno@clisp.org>
6761
6762         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
6763         defined.
6764
6765 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6766
6767         * modules/fcntl: New file.
6768         * modules/chdir-safer (Depends-on): Add fcntl.
6769         * modules/fts: Likewise.
6770         * modules/mkdir-p: Likewise.
6771
6772         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
6773         This undoes the most recent change, since we're now addressing the
6774         problem in a different way.
6775
6776         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
6777         into output, since the output might be called Makefile.am even
6778         if $makefile_name is something different.
6779         (func_import): Use $makefile_am rather than
6780         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
6781         empty.
6782
6783         * modules/inttypes (Files): Add m4/inttypes-h.m4.
6784
6785 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6786
6787         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
6788         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
6789         recent change to stdint.m4, since we're now addressing the problem in a
6790         different way.
6791
6792 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6793
6794         * m4/fcntl_h.m4: New file.
6795
6796 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6797
6798         * lib/fcntl_.h: New file.
6799         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
6800         the fcntl module.
6801         * lib/dirchownmod.c: Likewise.
6802         * lib/fts.c: Likewise.
6803
6804         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
6805         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
6806         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
6807         just before including <inttypes.h>, to avoid circular inclusion.
6808
6809 2006-08-28  Jim Meyering  <jim@meyering.net>
6810
6811         * doc/visibility.texi: Actually read and correct the grammar of the
6812         sentence affected by yesterday's change.
6813
6814 2006-08-28  Eric Blake  <ebb9@byu.net>
6815
6816         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
6817         needs wrapper.
6818
6819 2006-08-28  Eric Blake  <ebb9@byu.net>
6820
6821         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
6822
6823 2006-08-28  Eric Blake  <ebb9@byu.net>
6824
6825         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
6826
6827 2006-08-28  Bruno Haible  <bruno@clisp.org>
6828
6829         * modules/c-strstr: New file, from GNU gettext.
6830         * MODULES.html.sh (String handling): Add c-strstr.
6831
6832 2006-08-28  Bruno Haible  <bruno@clisp.org>
6833
6834         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
6835         macros.
6836         Reported by Eric Blake.
6837
6838 2006-08-28  Bruno Haible  <bruno@clisp.org>
6839
6840         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
6841         (VASNPRINTF): Return a string of length > INT_MAX without failing.
6842         * lib/vasprintf.c: Include errno.h, limits.h.
6843         (EOVERFLOW): New fallback definition.
6844         (vasprintf): Test here whether the string length is > INT_MAX.
6845         * lib/vsnprintf.c: Include errno.h, limits.h.
6846         (EOVERFLOW): New fallback definition.
6847         (vsnprintf): Fix bug when generated string was too long for the buffer.
6848         Test here whether the string length is > INT_MAX.
6849
6850 2006-08-28  Bruno Haible  <bruno@clisp.org>
6851
6852         * lib/inttypes_.h (SCNX*): Remove definitions.
6853         Reported by Eric Blake.
6854
6855 2006-08-28  Bruno Haible  <bruno@clisp.org>
6856
6857         * lib/c-strstr.h: New file, from GNU gettext.
6858         * lib/c-strstr.c: New file, from GNU gettext.
6859
6860 2006-08-28  Bruno Haible  <bruno@clisp.org>
6861
6862         * gnulib-tool: Reorder some statements.
6863
6864 2006-08-28  Bruno Haible  <bruno@clisp.org>
6865
6866         * gnulib-tool: New option --makefile-name.
6867         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
6868         $makefile_name.
6869         (func_import): Write $makefile_name to the cache file, and read it from
6870         there unless explicitly specified. Use $makefile_name as file name
6871         instead of Makefile.am. Adjust the recommendations accordingly.
6872
6873 2006-08-28  Bruno Haible  <bruno@clisp.org>
6874
6875         * gnulib-tool (func_verify_module): Check against misapplying patch.
6876
6877 2006-08-28  Bruno Haible  <bruno@clisp.org>
6878
6879         * gnulib-tool (func_relativize, func_relconcat): New functions.
6880         Give an error if --local-dir is given with --update.
6881         Remove trailing slashes from $local_gnulib_dir.
6882         (func_import): Store the relativized $local_gnulib_dir in
6883         gnulib-cache.m4, and read it from there if not specified explicitly.
6884
6885 2006-08-28  Bruno Haible  <bruno@clisp.org>
6886
6887         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
6888         is the current directory. Respect also $local_gnulib_dir.
6889
6890 2006-08-28  Bruno Haible  <bruno@clisp.org>
6891             Simon Josefsson  <jas@extundo.com>
6892
6893         BeOS portability.
6894         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
6895
6896 2006-08-27  Jim Meyering  <jim@meyering.net>
6897
6898         * doc/visibility.texi: Remove duplicate word: "pointer".
6899
6900 2006-08-26  Bruno Haible  <bruno@clisp.org>
6901
6902         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
6903         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
6904         (Makefile.am): Create inttypes.h from inttypes_.h.
6905         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
6906
6907         * modules/imaxabs: New file.
6908
6909         * modules/imaxdiv: New file.
6910
6911 2006-08-26  Bruno Haible  <bruno@clisp.org>
6912
6913         * m4/inttypes.m4: New file.
6914         * m4/_inttypes_h.m4: Remove file.
6915         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
6916         PRI_MACROS_BROKEN.
6917         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
6918
6919         * m4/imaxabs.m4: New file.
6920
6921         * m4/imaxdiv.m4: New file.
6922
6923 2006-08-26  Bruno Haible  <bruno@clisp.org>
6924
6925         * lib/inttypes_.h: New file.
6926         * lib/inttypes.h: Remove file.
6927         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
6928
6929         * lib/imaxabs.c: New file.
6930
6931         * lib/imaxdiv.c: New file.
6932
6933 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6934
6935         New config-h module, so that "make" output needn't be cluttered
6936         by -DHAVE_CONFIG_H.
6937         * MODULES.html.sh (Support for building libraries and executables):
6938         Add config-h.
6939         * modules/config-h: New file.
6940         * gnulib-tool (nl, sed_transform_lib_file): New vars.
6941         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
6942         the config-h module is used.
6943
6944         New configmake module, so that "make" output needn't be cluttered
6945         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
6946         * MODULES.html.sh (Support for building libraries and executables):
6947         Add configmake.
6948         * modules/configmake: New file.
6949
6950 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6951
6952         * m4/config-h.m4: New file.
6953
6954 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6955
6956         * config/srclist.txt: Add elisp-comp.
6957
6958 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6959
6960         * MODULES.html.sh (Support for building libraries and executables):
6961         Add elisp-comp.
6962         * build-aux/elisp-comp: New file.
6963         * modules/elisp-comp: New file.
6964
6965 2006-08-24  Bruno Haible  <bruno@clisp.org>
6966
6967         * gnulib-tool (func_create_testdir): Use non-default values of
6968         sourcebase and m4base.
6969
6970 2006-08-24  Bruno Haible  <bruno@clisp.org>
6971
6972         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
6973         HTML structure.
6974
6975 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
6976
6977         * modules/openat (Depends-on): Add lchown.
6978
6979 2006-08-23  Bruno Haible  <bruno@clisp.org>
6980
6981         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
6982         of gl_LOCK_EARLY instead of gl_LOCK.
6983
6984 2006-08-23  Bruno Haible  <bruno@clisp.org>
6985
6986         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
6987         on OSF/1 to no.
6988         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
6989
6990 2006-08-23  Bruno Haible  <bruno@clisp.org>
6991
6992         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
6993         as unusable.
6994
6995         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
6996         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
6997         (gl_LOCK): New macro.
6998
6999 2006-08-22  Simon Josefsson  <jas@extundo.com>
7000
7001         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
7002         to md5 module.
7003
7004 2006-08-22  Simon Josefsson  <jas@extundo.com>
7005
7006         * MODULES.html.sh: Add "Support for maintaining and release
7007         projects".
7008
7009         * build-aux/gnupload: New file, from coreutils.
7010
7011 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
7012
7013         Avoid the need for AC_LIBSOURCES in m4 macros.
7014         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
7015         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
7016         * modules/check-version (EXTRA_DIST): Add check-version.h.
7017         * modules/crc (EXTRA_DIST): Add crc.h.
7018         * modules/des (EXTRA_DIST): Add des.h.
7019         * modules/gc (EXTRA_DIST): Add gc.h.
7020         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
7021         * modules/getline (EXTRA_DIST): Add getline.h.
7022         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
7023         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
7024         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
7025         * modules/md2 (EXTRA_DIST): Add md2.h.
7026         * modules/md4 (EXTRA_DIST): Add md4.h.
7027         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
7028         * modules/read-file (EXTRA_DIST): Add read-file.h.
7029         * modules/readline (EXTRA_DIST): Add readline.h.
7030         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
7031         rijndael-api-fst.h.
7032
7033 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
7034
7035         * m4/rijndael.m4 (gl_ARCFOUR):
7036         * m4/arctwo.m4 (gl_ARCTWO):
7037         * m4/check-version.m4 (gl_CHECK_VERSION):
7038         * m4/crc.m4 (gl_CRC):
7039         * m4/des.m4 (gl_DES):
7040         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
7041         * m4/gc.m4 (gl_GC):
7042         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
7043         * m4/getline.m4 (gl_FUNC_GETLINE):
7044         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
7045         * m4/hmac-md5.m4 (gl_HMAC_MD5):
7046         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
7047         * m4/md2.m4 (gl_MD2):
7048         * m4/md4.m4 (gl_MD4):
7049         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
7050         * m4/read-file.m4 (gl_FUNC_READ_FILE):
7051         * m4/readline.m4 (gl_FUNC_READLINE):
7052         * m4/rijndael.m4 (gl_RIJNDAEL):
7053         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
7054         to get the necessary .h files and whatnot.
7055
7056 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
7057
7058         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
7059         gnulib rather than the other way around.
7060         * config/srclistvars.sh (COREUTILS): Remove.
7061
7062 2006-08-22  Jim Meyering  <jim@meyering.net>
7063
7064         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
7065
7066         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
7067
7068 2006-08-22  Eric Blake  <ebb9@byu.net>
7069
7070         * modules/regexprops-generic: New file.
7071         * MODULES.html.sh (Support for building documentation): List it.
7072
7073 2006-08-22  Eric Blake  <ebb9@byu.net>
7074
7075         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
7076         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
7077         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
7078         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
7079
7080 2006-08-22  Bruno Haible  <bruno@clisp.org>
7081
7082         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
7083         and lib_LTLIBRARIES like the other lib_* variables.
7084
7085 2006-08-22  Bruno Haible  <bruno@clisp.org>
7086
7087         * build-aux/x-to-1.in: New file, from GNU gettext.
7088
7089 2006-08-22  Bruno Haible  <bruno@clisp.org>
7090
7091         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
7092         <utmpx.h> exists.
7093
7094 2006-08-22  Bruno Haible  <bruno@clisp.org>
7095
7096         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
7097         <utmpx.h> exists.
7098
7099 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7100
7101         BeOS portability.
7102         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
7103         exist.
7104         Problem reported by Bruno Haible.
7105
7106 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7107
7108         Avoid the need for AC_LIBSOURCES in m4 macros.
7109         * modules/acl (EXTRA_DIST): Add acl.h.
7110         * modules/argmatch (Files): Add m4/argmatch.m4.
7111         (configure.ac): Add gl_ARGMATCH.
7112         (EXTRA_DIST): Renamed from lib_SOURCES, for
7113         consistency with the other modules.  Remove argmatch.c.
7114         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
7115         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
7116         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
7117         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
7118         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
7119         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
7120         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
7121         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
7122         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
7123         * modules/closeout (EXTRA_DIST): Add closeout.h.
7124         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
7125         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
7126         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
7127         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
7128         dirname.h; remove basename.c and stripslash.c.
7129         * modules/exclude (EXTRA_DIST): Add exclude.h.
7130         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
7131         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
7132         * modules/file-type (EXTRA_DIST): Add file-type.h.
7133         * modules/filemode (EXTRA_DIST): Add filemode.h.
7134         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
7135         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
7136         * modules/fpending (EXTRA_DIST): Add __fpending.h.
7137         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
7138         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
7139         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
7140         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
7141         * modules/getdate (EXTRA_DIST): Add getdate.c.
7142         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
7143         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
7144         * modules/getpass (EXTRA_DIST): Add getpass.h.
7145         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
7146         * modules/group-member (EXTRA_DIST): Add group-member.h.
7147         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
7148         * modules/hash (EXTRA_DIST): Add hash.h.
7149         * modules/human (EXTRA_DIST): Add human.h.
7150         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
7151         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
7152         * modules/lchown (EXTRA_DIST): Add lchown.h.
7153         * modules/long-options (EXTRA_DIST): Add long-options.h.
7154         * modules/lstat (EXTRA_DIST): Add lstat.h.
7155         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
7156         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
7157         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
7158         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
7159         * modules/memxor (EXTRA_DIST): Add memxor.h.
7160         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
7161         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
7162         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
7163         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
7164         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
7165         * modules/physmem (EXTRA_DIST): Add physmem.h.
7166         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
7167         * modules/posixver (EXTRA_DIST): Add posixver.h.
7168         * modules/quote (EXTRA_DIST): Add quote.h.
7169         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
7170         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
7171         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
7172         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
7173         regex_internal.h regexec.c.
7174         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
7175         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
7176         * modules/same (EXTRA_DIST): Add same.h.
7177         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
7178         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
7179         * modules/savedir (EXTRA_DIST): Add savedir.h.
7180         * modules/sha1 (EXTRA_DIST): Add sha1.h.
7181         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
7182         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
7183         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
7184         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
7185         * modules/strdup (EXTRA_DIST): Add strdup.h.
7186         * modules/strftime (EXTRA_DIST): Add strftime.h.
7187         * modules/strndup (EXTRA_DIST): Add strndup.h.
7188         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
7189         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
7190         * modules/time_r (EXTRA_DIST): Add time_r.h.
7191         * modules/timespec (EXTRA_DIST): Add timespec.h.
7192         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
7193         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
7194         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
7195         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
7196         * modules/userspec (EXTRA_DIST): Add userspec.h.
7197         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
7198         * modules/utimens (EXTRA_DIST): Add utimens.h.
7199         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
7200         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
7201         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
7202         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
7203         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
7204         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
7205         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
7206         * modules/yesno (EXTRA_DIST): Add yesno.h.
7207
7208 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7209
7210         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
7211
7212         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
7213         * m4/dev-ino.m4, same-inode.m4: Remove.
7214
7215         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
7216         * m4/acl.m4 (AC_FUNC_ACL):
7217         * m4/backupfile.m4 (gl_BACKUPFILE):
7218         * m4/c-strtod.m4 (gl_C99_STRTOLD):
7219         * m4/canon-host.m4 (gl_CANON_HOST):
7220         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
7221         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
7222         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
7223         * m4/cloexec.m4 (gl_CLOEXEC):
7224         * m4/close-stream.m4 (gl_CLOSE_STREAM):
7225         * m4/closeout.m4 (gl_CLOSEOUT):
7226         * m4/dirfd.m4 (gl_FUNC_DIRFD):
7227         * m4/dirname.m4 (gl_DIRNAME):
7228         * m4/exclude.m4 (gl_EXCLUDE):
7229         * m4/exitfail.m4 (gl_EXITFAIL):
7230         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
7231         * m4/file-type.m4 (gl_FILE_TYPE):
7232         * m4/filemode.m4 (gl_FILEMODE):
7233         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
7234         * m4/fpending.m4 (gl_FUNC_FPENDING):
7235         * m4/fprintftime.m4 (gl_FPRINTFTIME):
7236         * m4/fts.m4 (gl_FUNC_FTS):
7237         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
7238         * m4/getdate.m4 (gl_GETDATE):
7239         * m4/gethrxtime.m4 (gl_GETHRXTIME):
7240         * m4/getpagesize.m4 (gl_GETPAGESIZE):
7241         * m4/getpass.m4 (gl_FUNC_GETPASS):
7242         * m4/gettime.m4 (gl_GETTIME):
7243         * m4/getugroups.m4 (gl_GETUGROUPS):
7244         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
7245         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
7246         * m4/hard-locale.m4 (gl_HARD_LOCALE):
7247         * m4/hash.m4 (gl_HASH):
7248         * m4/idcache.m4 (gl_IDCACHE):
7249         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
7250         * m4/lchown.m4 (gl_FUNC_LCHOWN):
7251         * m4/long-options.m4 (gl_LONG_OPTIONS):
7252         * m4/lstat.m4 (gl_FUNC_LSTAT):
7253         * m4/md5.m4 (gl_MD5):
7254         * m4/memcasecmp.m4 (gl_MEMCASECMP):
7255         * m4/memcoll.m4 (gl_MEMCOLL):
7256         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
7257         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
7258         * m4/memxor.m4 (gl_MEMXOR):
7259         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
7260         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
7261         * m4/modechange.m4 (gl_MODECHANGE):
7262         * m4/mountlist.m4 (gl_MOUNTLIST):
7263         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
7264         * m4/openat.m4 (gl_FUNC_OPENAT):
7265         * m4/pathmax.m4 (gl_PATHMAX):
7266         * m4/physmem.m4 (gl_PHYSMEM):
7267         * m4/posixtm.m4 (gl_POSIXTM):
7268         * m4/posixver.m4 (gl_POSIXVER):
7269         * m4/quote.m4 (gl_QUOTE):
7270         * m4/quotearg.m4 (gl_QUOTEARG):
7271         * m4/readtokens.m4 (gl_READTOKENS):
7272         * m4/readutmp.m4 (gl_READUTMP):
7273         * m4/regex.m4 (gl_REGEX):
7274         * m4/safe-read.m4 (gl_SAFE_READ):
7275         * m4/safe-write.m4 (gl_SAFE_WRITE):
7276         * m4/same.m4 (gl_SAME):
7277         * m4/save-cwd.m4 (gl_SAVE_CWD):
7278         * m4/savedir.m4 (gl_SAVEDIR):
7279         * m4/settime.m4 (gl_SETTIME):
7280         * m4/sha1.m4 (gl_SHA1):
7281         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
7282         * m4/stat-macros.m4 (gl_STAT_MACROS):
7283         * m4/stat-time.m4 (gl_STAT_TIME):
7284         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
7285         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
7286         * m4/strdup.m4 (gl_FUNC_STRDUP):
7287         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
7288         * m4/strndup.m4 (gl_FUNC_STRNDUP):
7289         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
7290         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
7291         * m4/time_r.m4 (gl_TIME_R):
7292         * m4/timespec.m4 (gl_TIMESPEC):
7293         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
7294         * m4/unlinkdir.m4 (gl_UNLINKDIR):
7295         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
7296         * m4/userspec.m4 (gl_USERSPEC):
7297         * m4/utimecmp.m4 (gl_UTIMECMP):
7298         * m4/utimens.m4 (gl_UTIMENS):
7299         * m4/xalloc.m4 (gl_XALLOC):
7300         * m4/xgetcwd.m4 (gl_XGETCWD):
7301         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
7302         * m4/xreadlink.m4 (gl_XREADLINK):
7303         * m4/xstrtod.m4 (gl_XSTRTOD):
7304         * m4/yesno.m4 (gl_YESNO):
7305         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
7306         to get the necessary .h files and whatnot.
7307
7308 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
7309             Bruno Haible  <bruno@clisp.org>
7310
7311         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
7312         /bin/sh understanding of '!' conditional negation.
7313
7314 2006-08-21  Jim Meyering  <jim@meyering.net>
7315
7316         * modules/openat (Depends-on): Really alphabetize.
7317
7318         * modules/acl (Depends-on): Add error and quote.
7319
7320         * check-module (find_included_lib_files): Add at-func.c to the
7321         ok-to-include-more-than-once white list.
7322
7323         * modules/openat (Depends-on): Add lstat.  Alphabetize.
7324
7325 2006-08-21  Bruno Haible  <bruno@clisp.org>
7326
7327         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7328         Emit a pkgdata_DATA variable only if some snippets add contents to it.
7329         Reported by Martin Lambers <marlam@marlam.de>.
7330
7331 2006-08-21  Bruno Haible  <bruno@clisp.org>
7332
7333         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
7334         specify an installation location, don't emit a noinst_LIBRARIES or
7335         noinst_LTLIBRARIES assignment.
7336
7337 2006-08-21  Bruno Haible  <bruno@clisp.org>
7338
7339         BeOS portability.
7340         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
7341         BeOS has mbrtowc() but no <wctype.h>.
7342
7343 2006-08-21  Bruno Haible  <bruno@clisp.org>
7344
7345         BeOS portability.
7346         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
7347         exist.
7348
7349 2006-08-21  Bruno Haible  <bruno@clisp.org>
7350
7351         BeOS portability.
7352         * lib/mbchar.h: Include <wctype.h> only if it exists.
7353
7354 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7355
7356         Remove files that are no longer needed by their respective modules.
7357         * m4/obstack.m4: Remove.
7358         * m4/strerror_r.m4: Remove.
7359         * m4/uint32_t.m4: Remove.
7360         * m4/uintptr_t.m4: Remove.
7361         * m4/ullong_max.m4: Remove.
7362         * m4/xstrtoimax.m4: Remove.
7363         * m4/xstrtoumax.m4: Remove.
7364
7365         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
7366         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
7367         dependencies now capture this.
7368
7369         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
7370         Do not use AC_LIBSOURCES, since gnulib modules now do this.
7371         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
7372         * m4/human.m4 (gl_HUMAN): Likewise.
7373         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
7374         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
7375
7376         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
7377
7378         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
7379         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
7380         stdint.
7381         * m4/human.m4 (gl_HUMAN): Likewise.
7382         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
7383         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
7384         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
7385         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
7386         * m4/xstrtol (gl_XSTRTOL): Likewise.
7387
7388         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
7389         AC_TYPE_LONG_LONG_INT.
7390         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
7391         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
7392         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
7393         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
7394
7395         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
7396         on stdbool.
7397
7398         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
7399         (gl_PREREQ_XSTRTOUL): Remove.
7400
7401         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
7402
7403         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
7404         mode.
7405
7406 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7407
7408         Add and change modules to make it easier for coreutils to use
7409         gnulib-tool.
7410         * modules/backupfile (Files): Remove m4/d-ino.m4.
7411         (Depends-on): Add d-ino.
7412         * modules/cycle-check (Depends-on): Add stdint.
7413         (lib_SOURCES): Add cycle-check.h.
7414         * modules/d-ino: New module.
7415         * modules/d-type: New module.
7416         * modules/error (Files): Remove m4/strerror_r.m4.
7417         * modules/filemode (Files): Add m4/st_dm_mode.m4.
7418         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
7419         m4/inttypes_h.m4, m4/uintmax_t.m4.
7420         (Depends-on): Add stdint.
7421         (lib_SOURCES): Add fsusage.h.
7422         * modules/getcwd (Files): Remove d-ino.m4.
7423         (Depends-on): Add d-ino.
7424         * modules/getndelim2 (Depends-on): Add stdint.
7425         * modules/glob (Files): Remove m4/d-type.m4.
7426         (Depends-on): Add d-type.
7427         * modules/host-os: New module.
7428         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
7429         m4/inttypes_h.m4, m4/uintmax_t.m4.
7430         * Depends-on: Add stdint.
7431         (lib_SOURCES): Add human.h.
7432         * modules/inttostr (Files): Remove m4/intmax_t.m4,
7433         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
7434         m4/uintmax_t.m4, m4/ulonglong.m4.
7435         (Depends-on): Add stdint.
7436         (EXTRA_DIST): Add inttostr.h.
7437         * modules/lchmod: New module.
7438         * modules/link-follow: New module.
7439         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
7440         (Depends-on): Add lchmod.
7441         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
7442         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
7443         (Depends-on): Add stdint.
7444         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
7445         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
7446         (Depends-on): Add stdint.
7447         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
7448         * modules/perl: New module.
7449         * modules/regex (Depends-on): Add stdint.
7450         * modules/rmdir-errno: New module.
7451         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7452         m4/intmax_t.m4.
7453         (Depends-on): Add stdint.
7454         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7455         m4/uintmax_t.m4.
7456         (Depends-on): Add stdint.
7457         * modules/unlink-busy: New module.
7458         * modules/utimecmp (Depends-on): Add stdint.
7459         * modules/uptime: New module.
7460         * modules/winsz-ioctl: New module.
7461         * modules/winsz-termios: New module.
7462         * modules/xnanosleep (Depends-on): Add nanosleep.
7463         * modules/ullong_max: Remove.
7464         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
7465         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
7466         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
7467         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
7468         (Depends-on): Add inttypes.
7469         (lib_SOURCES): Add xstrtol.h.
7470         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
7471         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
7472         * MODULES.html.sh: Move 'assert' into the assert section.
7473         Move 'dummy' into the linking section.
7474         Remove ullong_max.
7475         Add section for compatibility checks for POSIX:2001 functions,
7476         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
7477         winsz-ioctl, and winsz-termios into it.
7478         Add lchmod.
7479         Add top-level Misc section and put host-os, perl, and uptime
7480         into it.
7481
7482 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7483
7484         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
7485         now assume the stdint module.  Do not include inttypes.h.
7486         * lib/fsusage.h: Likewise.
7487         * lib/getndelim2.c: Likewise.
7488         * lib/human.h: Likewise.
7489         * lib/inttostr.h: Likewise.
7490         * lib/obstack.c: Likewise.
7491         * lib/regex_internal.h: Likewise.
7492         * lib/tempname.c: Likewise.
7493         * lib/utimecmp.c: Likewise.
7494         * lib/xstrtol.h: Likewise.
7495
7496         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
7497
7498         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
7499         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
7500         * lib/xtime.h: Likewise.
7501
7502 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7503
7504         * modules/openat (Files): Add lib/fchmodat.c.
7505         Fixes problem reported by Jay Youngman.
7506
7507 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7508
7509         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
7510         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
7511
7512 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7513             Bruno Haible  <bruno@clisp.org>
7514
7515         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
7516         and is a script that invokes bison. Tighten the code. Add comments.
7517
7518 2006-08-18  Jim Meyering  <jim@meyering.net>
7519
7520         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
7521         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
7522         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
7523         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
7524
7525 2006-08-18  Bruno Haible  <bruno@clisp.org>
7526
7527         * modules/bison-i18n: New file.
7528         * MODULES.html.sh (Internationalization functions): Add it.
7529
7530 2006-08-18  Bruno Haible  <bruno@clisp.org>
7531
7532         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
7533         sys/statvfs.h. When getmntinfo was found, check its declaration and
7534         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
7535
7536 2006-08-18  Bruno Haible  <bruno@clisp.org>
7537
7538         * m4/bison-i18n.m4: New file, from bison.
7539
7540 2006-08-18  Bruno Haible  <bruno@clisp.org>
7541
7542         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
7543         (ME_DUMMY): Treat "kernfs" as a dummy.
7544         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
7545
7546 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7547
7548         Update from coreutils.
7549
7550         2006-08-15  Jim Meyering  <jim@meyering.net>
7551
7552         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
7553
7554         2006-01-17  Jim Meyering  <jim@meyering.net>
7555
7556         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
7557
7558         2006-01-11  Jim Meyering  <jim@meyering.net>
7559
7560         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
7561         Check for the lchmod function.
7562
7563 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7564
7565         Update from coreutils.
7566
7567         * lib/__fpending.h: Add copyright notice.
7568         * lib/fprintftime.h: Likewise.
7569         * lib/savedir.c: Use (C) in copyright notice.
7570         * lib/savedir.h: Likewise.
7571
7572         2006-08-15  Jim Meyering  <jim@meyering.net>
7573
7574         * lib/at-func.c: New file, with the logic of all emulated at-functions.
7575         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
7576         in support of the EXPECTED_ERRNO macro.
7577         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
7578         definitions.  Instead, define the appropriate symbols and include
7579         "at-func.c".
7580         * lib/mkdirat.c (mkdirat): Likewise.
7581         * lib/fchmodat.c (fchmodat): Likewise.
7582         (ENOSYS): Remove definition.
7583         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
7584         it.  Don't include "unistd--.h" -- it wasn't ever used.
7585
7586         2006-01-17  Jim Meyering  <jim@meyering.net>
7587
7588         Rewrite fts.c not to change the current working directory,
7589         by using openat, fstatat, fdopendir, etc..
7590
7591         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
7592         (HAVE_OPENAT_SUPPORT): Define.
7593         [_LIBC] (fchdir): Don't undef or define; no longer used.
7594         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
7595         Now, this `function' always succeeds, and consumes its file descriptor
7596         parameter -- so callers must not close such FDs.  Update callers.
7597         (diropen_fd, opendirat, cwd_advance_fd): New functions.
7598         (diropen): Add parameter, SP.  Adjust all callers.
7599         Implement using diropen_fd, rather than open.
7600         (fts_open): Initialize new member, fts_cwd_fd.
7601         Remove fts_rft-setting code.
7602         (fts_close): Close fts_cwd_fd, if necessary.
7603         (__opendir2): Define in terms of opendir or opendirat,
7604         depending on whether the FST_NOCHDIR flag is set.
7605         (fts_build): Since fts_safe_changedir consumes its FD, and since
7606         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
7607         and close the dup'd file descriptor upon failure.
7608         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
7609         (fts_safe_changedir): Tweak semantics to reflect that this function
7610         now calls cwd_advance_fd and hence consumes its FD argument.
7611         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
7612         [struct FTS] (fts_rft): Remove now-unused member.
7613         [struct FTS] (fts_cycle.state): Improve comment.
7614
7615         * lib/openat.c (openat_needs_fchdir): New function.
7616         * lib/openat.h (openat_needs_fchdir): Declare it.
7617
7618 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
7619
7620         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
7621         Problem and fix reported by Pádraig Brady in
7622         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
7623
7624 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7625
7626         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
7627
7628 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7629
7630         * lib/memcoll.c (memcoll): Optimize for the common case where the
7631         arguments are bytewise equal.
7632
7633 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7634
7635         * doc/regexprops-generic.texi: Add a copyright notice.
7636
7637 2006-08-15  Bruno Haible  <bruno@clisp.org>
7638
7639         * modules/tmpdir (License): Change to LGPL.
7640
7641 2006-08-15  Bruno Haible  <bruno@clisp.org>
7642
7643         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
7644         module.
7645
7646 2006-08-14  Simon Josefsson  <jas@extundo.com>
7647
7648         * config/srclist.txt: Add gnupload.
7649
7650 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7651
7652         Change copyright notice from LGPL 2 to GPL 2, since that's the
7653         standard form used in the gnulib repository.
7654         * tests/test-lock.c: Likewise.
7655         * tests/test-stdint.c: Likewise.
7656         * tests/test-tls.c: Likewise.
7657
7658         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
7659         prelude-manager.  User shorter URLs for GNU projects, without '?'.
7660         Add copyright notice.
7661
7662         * check-module: Add copyright notice.  Output a copyright
7663         notice if "--version" is specified.
7664         * modules/COPYING: New file.
7665         * tests/test-getaddrinfo.c: Add copyright notice.
7666         * tests/test-verify.c: Likewise.
7667
7668 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7669
7670         Change copyright notice from LGPL 2 to GPL 2, since that's the
7671         standard form used in the gnulib repository.
7672         * lib/lock.c: LGPL -> GPL.
7673         * lib/lock.h: Likewise.
7674         * lib/strnlen1.c: Likewise.
7675         * lib/strnlen1.h: Likewise.
7676         * lib/tls.c: Likewise.
7677         * lib/tls.h: Likewise.
7678         * lib/tmpdir.c: Likewise.
7679
7680         * lib/TODO: Remove; this belongs only in coreutils.
7681
7682 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7683
7684         Add copyright notices to long-enough files that lack them, since
7685         otherwise the files aren't clearly free.  Use the same notice that
7686         getdate.texi already uses.
7687         * doc/alloca-opt.texi: Add copyright notice.
7688         * doc/alloca.texi: Likewise.
7689         * doc/ctime.texi: Likewise.
7690         * doc/functions.texi: Likewise.
7691         * doc/gcd.texi: Likewise.
7692         * doc/gnulib-tool.texi: Likewise.
7693         * doc/inet_ntoa.texi: Likewise.
7694         * doc/visibility.texi: Likewise.
7695
7696         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
7697         * doc/quote.texi: Add copyright notice.
7698
7699         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
7700         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
7701         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
7702         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
7703         is now obsolete, and give a pointer to the Sun list.
7704         Add copyright notice.
7705
7706 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7707
7708         * config/srclistvars.sh: Add copyright notice.
7709
7710 2006-08-14  Eric Blake  <ebb9@byu.net>
7711
7712         Import the following change from libc:
7713
7714         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
7715
7716         Upstream bug 2997.
7717         * lib/misc/error.c: Add space between program name and message if file
7718         name is missing.
7719
7720 2006-08-12  Karl Berry  <karl@gnu.org>
7721
7722         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
7723         remove, these originate in gnulib now.
7724
7725 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7726
7727         * doc/Makefile (standards.info standards.html standards.dvi):
7728         Also depend on make-stds.texi.
7729
7730 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7731
7732         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
7733         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
7734
7735         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
7736         in wchar_t.  Problem reported by Eric Blake.
7737
7738         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
7739         LEN is smaller than SIZE.  Suggested by Bruno Haible.
7740         Also, help the compiler to keep LEN in a register.
7741
7742 2006-08-11  Eric Blake  <ebb9@byu.net>
7743
7744         * users.txt: Sort.  Add tar.
7745
7746 2006-08-11  Bruno Haible  <bruno@clisp.org>
7747
7748         * users.txt: New file.
7749
7750 2006-08-11  Bruno Haible  <bruno@clisp.org>
7751
7752         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
7753         before <wchar.h>. Needed for OSF/1 and BSD/OS.
7754
7755 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7756
7757         * modules/snprintf (Depends-on): Remove minmax.
7758         (Maintainer): Add self and Bruno.
7759
7760 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7761
7762         * lib/.cppi-disable: Add snprintf.h, socket_.h.
7763         * lib/snprintf.c: Include <errno.h> and <limits.h>.
7764         (EOVERFLOW): Define if the system does not.
7765         Do not include "minmax.h"; it wasn't used.
7766         (snprintf): Don't assume size_t promotes to an unsigned type.
7767         Fix bug when generated string was too long for the buffer: the
7768         buffer's contents are supposed to be the initial prefix of the
7769         output.  Don't assume vasnprintf returns EOVERFLOW if the size
7770         exceeds INT_MAX; do the check ourselves.
7771
7772         Import the following changes from libc:
7773
7774         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
7775
7776         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
7777         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
7778         set wc to the byte which couldn't be converted.
7779         (re_string_reconstruct): Don't clear valid_raw_len before calling
7780         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
7781         tip_context using re_string_context_at.
7782
7783         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
7784
7785         * lib/posix/regex.h: g++ still cannot handled [restrict].
7786
7787         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
7788
7789         * lib/posix/regex.h: Remove special handling for VMS.
7790
7791 2006-08-10  Jim Meyering  <jim@meyering.net>
7792
7793         * modules/same-inode: New module.
7794         * modules/dev-ino: New module.
7795         * modules/cycle-check: Depend on these modules, rather than simply
7796         including their .h files.
7797         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
7798         required via m4/cycle-check.m4.
7799         * modules/same: Depend on new same-inode module, rather than
7800         including same-inode.h.
7801         * modules/chdir-safer: New file.
7802
7803         * modules/chown (Depends-on): Add stat-macros.
7804
7805 2006-08-10  Jim Meyering  <jim@meyering.net>
7806
7807         * m4/cycle-check.m4: New file.
7808         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
7809         * m4/dev-ino.m4, m4/same-inode.m4: New files.
7810
7811 2006-08-10  Eric Blake  <ebb9@byu.net>
7812
7813         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
7814         in from original proposal.
7815
7816 2006-08-10  Eric Blake  <ebb9@byu.net>
7817         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7818
7819         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
7820         namespace.
7821
7822 2006-08-10  Bruno Haible  <bruno@clisp.org>
7823
7824         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
7825         as well.
7826
7827 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7828
7829         Sync from coreutils.
7830
7831         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
7832
7833         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
7834         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
7835
7836 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7837
7838         * modules/restrict: Remove; no longer needed now that we assume
7839         Autoconf 2.59 or later.
7840         * MODULES.html.sh: Remove 'restrict'.
7841         * modules/argp (Depends-on): Remove 'restrict'.
7842         * modules/base64 (Depends-on): Likewise.
7843         * modules/gc (Depends-on): Likewise.
7844         * modules/getaddrinfo (Depends-on): Likewise.
7845         * modules/glob (Depends-on): Likewise.
7846         * modules/inet_ntop (Depends-on): Likewise.
7847         * modules/inet_pton (Depends-on): Likewise.
7848         * modules/memxor (Depends-on): Likewise.
7849         * modules/regex (Depends-on): Likewise.
7850         * modules/strtok_r (Depends-on): Likewise.
7851         * modules/time_r (Depends-on): Likewise.
7852
7853 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7854
7855         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
7856         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
7857         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
7858         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
7859         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
7860         * m4/memxor.m4 (gl_MEMXOR): Likewise.
7861         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
7862         gl_C_RESTRICT replaced by AC_C_RESTRICT.
7863
7864         Merge from coreutils.
7865         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
7866         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
7867         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
7868         * m4/time_r.m4 (gl_TIME_R): Likewise.
7869
7870 2006-08-09  Karl Berry  <karl@gnu.org>
7871
7872         * config/srclist.txt: no more gettext-tools, per Bruno.
7873
7874 2006-08-08  Eric Blake  <ebb9@byu.net>
7875
7876         * modules/verror: New module.
7877         * MODULES.html.sh: Document it.
7878
7879 2006-08-08  Eric Blake  <ebb9@byu.net>
7880
7881         * lib/verror.h, lib/verror.c: New files.
7882
7883 2006-08-08  Eric Blake  <ebb9@byu.net>
7884
7885         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
7886         verror_at_line output complies with GNU Coding Standards even when
7887         file is NULL.
7888
7889 2006-08-07  Bruno Haible  <bruno@clisp.org>
7890
7891         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
7892         versions of AIX.
7893         Reported by Ralf Wildenhues.
7894
7895 2006-08-07  Bruno Haible  <bruno@clisp.org>
7896
7897         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
7898         in an AC_DEFUN. Needed so that the autoconf snippets can use
7899         AC_REQUIRE.
7900
7901 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7902
7903         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7904         Initialize pkgdata_DATA.
7905         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
7906         overriding it.
7907
7908 2006-08-06  Eric Blake  <ebb9@byu.net>
7909
7910         * lib/error.h: Fold in some upstream changes from glibc.
7911         * lib/error.c: Likewise.
7912
7913 2006-08-04  Bruno Haible  <bruno@clisp.org>
7914
7915         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7916         Make the mostlyclean-local rule depend on mostlyclean-generic.
7917         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
7918
7919 2006-07-31  Bruno Haible  <bruno@clisp.org>
7920
7921         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
7922         <stdlib.h>, <string.h>.
7923
7924 2006-07-30  Bruno Haible  <bruno@clisp.org>
7925
7926         * modules/readlink (License): Change to LGPL.
7927
7928 2006-07-30  Bruno Haible  <bruno@clisp.org>
7929
7930         * modules/javaversion (Makefile.am): Distribute javaversion.java and
7931         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
7932         set PKGDATADIR to point to it.
7933
7934 2006-07-30  Bruno Haible  <bruno@clisp.org>
7935
7936         * modules/csharpexec (configure.ac): Comment out macro invocation.
7937         * modules/javaexec (configure.ac): Likewise.
7938         * modules/javacomp-script (configure.ac): Likewise.
7939
7940         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
7941
7942 2006-07-30  Bruno Haible  <bruno@clisp.org>
7943
7944         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
7945         linked-list.
7946
7947 2006-07-30  Bruno Haible  <bruno@clisp.org>
7948
7949         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
7950
7951 2006-07-30  Bruno Haible  <bruno@clisp.org>
7952
7953         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7954         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
7955         get removed.
7956
7957 2006-07-29  Bruno Haible  <bruno@clisp.org>
7958
7959         Make it possible for gnulib-tool to work with locally modified or
7960         augmented gnulib repositories.
7961         * gnulib-tool (func_usage): Document --local-dir option.
7962         (local_gnulib_dir): New variable.
7963         Handle --local-dir option.
7964         (func_lookup_file): New function.
7965         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
7966         (func_get_description, func_get_filelist, func_get_description,
7967         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
7968         func_get_automake_snippet, func_get_include_directive,
7969         func_get_license, func_get_maintainer): Use func_lookup_file.
7970         (func_import, func_create_testdir): Use func_lookup_file.
7971
7972 2006-07-29  Bruno Haible  <bruno@clisp.org>
7973
7974         * modules/setenv (Depends-on): Add unistd.
7975
7976 2006-07-29  Bruno Haible  <bruno@clisp.org>
7977
7978         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
7979
7980 2006-07-29  Bruno Haible  <bruno@clisp.org>
7981
7982         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
7983
7984 2006-07-29  Bruno Haible  <bruno@clisp.org>
7985
7986         * gnulib-tool (import, update): If there is no Makefile.am, look at
7987         aclocal.m4, instead of bailing out.
7988
7989 2006-07-29  Bruno Haible  <bruno@clisp.org>
7990
7991         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
7992         Categorize the options by when they are useful.
7993
7994 2006-07-29  Bruno Haible  <bruno@clisp.org>
7995
7996         * gnulib-tool (func_usage): Document option --no-libtool.
7997         Handle option --no-libtool.
7998         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
7999         for changed semantics of $libtool variable.
8000         (func_import): Likewise. If libtool is not used, show this through
8001         an option --no-libtool.
8002         (func_create_testdir): Update.
8003
8004 2006-07-29  Bruno Haible  <bruno@clisp.org>
8005
8006         * gnulib-tool (func_import): Extend error message about missing
8007         --doc-base.
8008
8009 2006-07-29  Bruno Haible  <bruno@clisp.org>
8010
8011         * gnulib-tool (func_import): Don't create the $docbase directory if
8012         there is no file to store there.
8013
8014 2006-07-29  Bruno Haible  <bruno@clisp.org>
8015
8016         * gnulib-tool (autoconf_minversion): If a --dir option is given and
8017         relevant, look for configure.ac there, not in the current directory.
8018         Also use a simple search for AC_PREREQ, not "autoconf --trace".
8019
8020 2006-07-29  Bruno Haible  <bruno@clisp.org>
8021
8022         * gnulib-tool (SORT): New variable.
8023         (func_usage): Undocument --assume-autoconf option.
8024         Remove --assume-autoconf option handling.
8025         (autoconf_minversion): Determine from the contents of configure.ac.
8026         (func_import): Remove autoconf_minversion handling.
8027         Suggested by Eric Blake.
8028
8029 2006-07-29  Bruno Haible  <bruno@clisp.org>
8030
8031         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
8032
8033 2006-07-29  Bruno Haible  <bruno@clisp.org>
8034
8035         * config/srclist.txt (*setenv.[ch]): Remove rules.
8036
8037 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8038
8039         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
8040
8041 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8042
8043         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
8044         arpa/inet.h.
8045
8046 2006-07-28  Simon Josefsson  <jas@extundo.com>
8047
8048         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
8049         * modules/inet_pton (Depends-on): Likewise.
8050
8051 2006-07-28  Simon Josefsson  <jas@extundo.com>
8052
8053         * m4/netinet_in_h.m4: New file.
8054
8055 2006-07-28  Simon Josefsson  <jas@extundo.com>
8056
8057         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
8058         #include's.
8059
8060 2006-07-28  Simon Josefsson  <jas@extundo.com>
8061
8062         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
8063         #include's.
8064
8065 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
8066
8067         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
8068         setgid on directories only if they set these bits.
8069         * lib/modechange.h: Remove obsolete comment about masks.
8070
8071 2006-07-28  Eric Blake  <ebb9@byu.net>
8072
8073         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
8074         macro expansion.
8075
8076 2006-07-28  Bruno Haible  <bruno@clisp.org>
8077
8078         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
8079
8080 2006-07-28  Bruno Haible  <bruno@clisp.org>
8081
8082         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
8083
8084 2006-07-28  Bruno Haible  <bruno@clisp.org>
8085
8086         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
8087         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
8088         Define fallbacks.
8089         Avoids link error on FreeBSD 4.x.
8090         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
8091
8092         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
8093         encoding.
8094         * lib/mbswidth.c (iswcntrl): Likewise.
8095
8096 2006-07-27  Bruno Haible  <bruno@clisp.org>
8097
8098         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
8099         test.
8100
8101 2006-07-27  Bruno Haible  <bruno@clisp.org>
8102
8103         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
8104         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
8105         defined.
8106
8107 2006-07-26  Eric Blake  <ebb9@byu.net>
8108
8109         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
8110
8111 2006-07-26  Eric Blake  <ebb9@byu.net>
8112
8113         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
8114         like mingw that lack mkstemp.
8115         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
8116         avoid compilation warning on mingw.
8117
8118 2006-07-26  Bruno Haible  <bruno@clisp.org>
8119
8120         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
8121         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
8122         INT_FAST*_MIN, INTPTR_MIN.
8123
8124 2006-07-25  Bruno Haible  <bruno@clisp.org>
8125
8126         * modules/version-etc (Depends-on): Add stdarg.
8127
8128 2006-07-25  Bruno Haible  <bruno@clisp.org>
8129
8130         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
8131         complex commands.
8132
8133 2006-07-25  Bruno Haible  <bruno@clisp.org>
8134
8135         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
8136         defined in <stdarg.h> or config.h.
8137
8138 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8139
8140         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
8141         (gl_STDIO_SAFER): Remove.
8142
8143 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8144
8145         * MODULES.html.sh (File stream based Input/Output):
8146         Add fopen-safer, tmpfile-safer; remove stdio-safer.
8147         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
8148         * modules/fopen-safer, modules/tmpfile-safer: New files.
8149         * modules/stdio-safer: Remove.
8150
8151 2006-07-24  Bruno Haible  <bruno@clisp.org>
8152
8153         * modules/tmpdir: New file.
8154         * MODULES.html.sh (File system functions): Add it.
8155
8156 2006-07-24  Bruno Haible  <bruno@clisp.org>
8157
8158         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
8159         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
8160
8161 2006-07-24  Bruno Haible  <bruno@clisp.org>
8162
8163         * modules/clean-temp: New file.
8164
8165 2006-07-24  Bruno Haible  <bruno@clisp.org>
8166
8167         * m4/tmpdir.m4: New file, from GNU gettext.
8168
8169 2006-07-24  Bruno Haible  <bruno@clisp.org>
8170
8171         * lib/tmpdir.h: New file, from GNU gettext.
8172         * lib/tmpdir.c: New file, from GNU gettext.
8173
8174 2006-07-24  Bruno Haible  <bruno@clisp.org>
8175
8176         * lib/clean-temp.h: New file, from GNU gettext.
8177         * lib/clean-temp.c: New file, from GNU gettext.
8178
8179 2006-07-23  Eric Blake  <ebb9@byu.net>
8180
8181         * modules/stdio-safer (Files): Add tmpfile-safer.c.
8182         (Depends-on): Add binary-io.
8183
8184 2006-07-23  Eric Blake  <ebb9@byu.net>
8185
8186         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
8187
8188 2006-07-23  Eric Blake  <ebb9@byu.net>
8189
8190         * lib/tmpfile-safer.c: New file.
8191         * lib/stdio-safer.h (fopen_safer): Add prototype.
8192         * lib/stdio--.h (tmpfile): Make safer.
8193
8194 2006-07-23  Bruno Haible  <bruno@clisp.org>
8195
8196         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
8197         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
8198         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
8199         gl_linked_remove_at): Use it.
8200
8201 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8202         and Simon Josefsson <jas@extundo.com>
8203
8204         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
8205
8206         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
8207
8208 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8209
8210         * modules/close-stream: New file.
8211         * modules/closeout (Description): Make it clear that it exits
8212         with a diagnostic on error.
8213         (Depends-on): Add close-stream.  Remove fpending, stdbool.
8214         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
8215
8216 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8217
8218         * m4/close-stream.m4: New file.
8219
8220 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8221
8222         * lib/close-stream.c, lib/close-stream.h: New files.
8223
8224 2006-07-22  Bruno Haible  <bruno@clisp.org>
8225
8226         Merge from GNU gettext 0.15.
8227
8228         2006-05-01  Bruno Haible  <bruno@clisp.org>
8229
8230                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
8231
8232         2006-07-22  Bruno Haible  <bruno@clisp.org>
8233
8234                 * modules/javaversion: New file.
8235                 * MODULES.html.sh (Java): Add javaversion.
8236
8237         2006-03-12  Bruno Haible  <bruno@clisp.org>
8238
8239                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
8240
8241         2005-12-04  Bruno Haible  <bruno@clisp.org>
8242
8243                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
8244                 (untested).
8245
8246         2006-06-21  Bruno Haible  <bruno@clisp.org>
8247
8248                 Avoid warnings from recent versions of mcs.
8249                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
8250                 -o, -L, -r any more. Use options documented since mcs-1.0
8251                 instead. Similarly for -g.
8252
8253         2005-12-04  Bruno Haible  <bruno@clisp.org>
8254
8255                 * build-aux/csharpcomp.sh.in: Suffix for resources is
8256                 .resources, not .resource.
8257
8258         2005-07-09  Bruno Haible  <bruno@clisp.org>
8259
8260                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
8261                 add a .dll suffix.
8262                 Reported by Mark Junker <mjscod@gmx.de>.
8263
8264         2006-07-22  Bruno Haible  <bruno@clisp.org>
8265
8266                 * modules/gettext: Upgrade to gettext-0.15.
8267                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
8268                 m4/visibility.m4.
8269                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
8270
8271 2006-07-22  Bruno Haible  <bruno@clisp.org>
8272
8273         Merge from GNU gettext 0.15.
8274
8275         2006-03-25  Bruno Haible  <bruno@clisp.org>
8276
8277                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
8278
8279         2006-07-21  Bruno Haible  <bruno@clisp.org>
8280
8281                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
8282                 "1.1".
8283
8284         2006-05-09  Bruno Haible  <bruno@clisp.org>
8285
8286                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
8287                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
8288                 for the conftestver execution.
8289
8290         2006-05-01  Bruno Haible  <bruno@clisp.org>
8291
8292                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
8293                 optional target-version argument. Verify that the compiler
8294                 groks source of the specified source-version, or add -source
8295                 option as necessary. Verify that the compiler produces
8296                 bytecode in the specified target-version, or add -target and
8297                 -source options as necessary. Make the result of the test
8298                 available as variable CONF_JAVAC. Also log error output in
8299                 config.log.
8300
8301         2006-03-11  Bruno Haible  <bruno@clisp.org>
8302
8303                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
8304
8305         2006-05-09  Bruno Haible  <bruno@clisp.org>
8306
8307                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
8308                 CLASSPATH_SEPARATOR to a semicolon.
8309
8310         2006-03-12  Bruno Haible  <bruno@clisp.org>
8311
8312                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
8313                 available as variable CONF_JAVA, for subsequent autoconf
8314                 tests. Also log error output in config.log.
8315
8316         2006-07-19  Bruno Haible  <bruno@clisp.org>
8317
8318                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
8319                 that getline works on glibc2 systems. Needed to avoid trouble
8320                 in relocatable.c.
8321                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
8322
8323         2005-12-04  Bruno Haible  <bruno@clisp.org>
8324
8325                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
8326                 launcher (untested).
8327
8328         2005-12-04  Bruno Haible  <bruno@clisp.org>
8329
8330                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
8331
8332         2006-07-22  Bruno Haible  <bruno@clisp.org>
8333
8334                 * gettext.m4: Update from GNU gettext-0.15.
8335                 * nls.m4: Likewise.
8336                 * po.m4: Likewise.
8337                 * inttypes-pri.m4: Likewise.
8338                 * inttypes-h.m4: Renamed from inttypes.m4.
8339                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
8340
8341 2006-07-22  Bruno Haible  <bruno@clisp.org>
8342
8343         Merge from GNU gettext 0.15.
8344
8345         2005-07-05  Bruno Haible  <bruno@clisp.org>
8346
8347                 * printf-args.c (printf_fetchargs): Work around broken
8348                 definition of wint_t on mingw.
8349
8350         2005-02-12  Bruno Haible  <bruno@clisp.org>
8351
8352                 * xallocsa.h: Add extern "C" for C++.
8353
8354         2006-05-17  Bruno Haible  <bruno@clisp.org>
8355
8356                 Cygwin portability.
8357                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
8358
8359         2006-04-30  Bruno Haible  <bruno@clisp.org>
8360
8361                 * progreloc.c: Include <mach-o/dyld.h> if available.
8362                 (find_executable): Use _NSGetExecutablePath when possible.
8363
8364         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
8365
8366                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
8367                 function.
8368
8369         2005-12-29  Bruno Haible  <bruno@clisp.org>
8370
8371                 * progreloc.c (set_program_name_and_installdir): Fix
8372                 compilation error.
8373
8374         2005-12-04  Bruno Haible  <bruno@clisp.org>
8375
8376                 Cygwin portability.
8377                 * progreloc.c: Include <windows.h> also on Cygwin.
8378                 (find_executable): Add support for Cygwin.
8379                 (set_program_name_and_installdir): Handle also platforms with
8380                 nonempty EXEEXT.
8381
8382         2006-07-11  Bruno Haible  <bruno@clisp.org>
8383
8384                 * javacomp.c: Fix a comment.
8385                 Reported by Jim Meyering.
8386
8387         2006-04-30  Bruno Haible  <bruno@clisp.org>
8388
8389                 * javacomp.h (compile_java_class): Add source_version,
8390                 target_version arguments.
8391                 * javacomp.c: Rewritten to choose only a compiler that
8392                 respects the specified source_version and target_version.
8393
8394         2006-06-27  Bruno Haible  <bruno@clisp.org>
8395
8396                 Assume correct S_ISDIR macro.
8397                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
8398
8399         2006-07-22  Bruno Haible  <bruno@clisp.org>
8400
8401                 * javaversion.h: New file, from GNU gettext.
8402                 * javaversion.c: New file, from GNU gettext.
8403                 * javaversion.java: New file, from GNU gettext.
8404                 * javaversion.class: New file, from GNU gettext.
8405
8406         2006-05-17  Bruno Haible  <bruno@clisp.org>
8407
8408                 Cygwin portability.
8409                 * javaexec.c (execute_java_class): Test for jview program
8410                 also on Cygwin.
8411
8412         2006-04-09  Bruno Haible  <bruno@clisp.org>
8413
8414                 * fatal-signal.c: Don't include string.h.
8415                 (at_fatal_signal): Use a copying loop instead of memcpy.
8416
8417         2005-12-04  Bruno Haible  <bruno@clisp.org>
8418
8419                 * csharpexec.c: Add support for 'clix' launcher (untested).
8420                 (execute_csharp_using_sscli): New function.
8421                 (execute_csharp_program): Call it.
8422
8423         2006-06-21  Bruno Haible  <bruno@clisp.org>
8424
8425                 Avoid warnings from recent versions of mcs.
8426                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
8427                 -o, -L, -r any more. Use options documented since mcs-1.0
8428                 instead. Similarly for -g.
8429
8430         2005-07-09  Bruno Haible  <bruno@clisp.org>
8431
8432                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
8433                 add a .dll suffix.
8434                 Reported by Mark Junker <mjscod@gmx.de>.
8435
8436         2006-06-17  Bruno Haible  <bruno@clisp.org>
8437
8438                 * config.charset: Update for NetBSD 3.0.
8439
8440         2006-05-17  Bruno Haible  <bruno@clisp.org>
8441
8442                 Cygwin portability.
8443                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
8444
8445         2006-05-16  Bruno Haible  <bruno@clisp.org>
8446
8447                 * localcharset.c [CYGWIN]: Include <windows.h>.
8448                 (get_charset_aliases): For Cygwin, return the same CPxxx
8449                 aliases list as under WIN32.
8450                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
8451                 the environment variables. Fall back to GetACP().
8452
8453         2006-04-05  Bruno Haible  <bruno@clisp.org>
8454
8455                 * config.charset: Update Juan Manuel Guerrero's address.
8456
8457         2005-02-12  Bruno Haible  <bruno@clisp.org>
8458
8459                 * allocsa.h: Add extern "C" for C++.
8460
8461         2005-02-10  Bruno Haible  <bruno@clisp.org>
8462
8463                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
8464                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
8465
8466         2006-07-22  Bruno Haible  <bruno@clisp.org>
8467
8468                 * gettext.h: Update to GNU gettext-0.15.
8469
8470 2006-07-22  Bruno Haible  <bruno@clisp.org>
8471
8472         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
8473         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
8474         lib-prefix.m4, longdouble.m4, ssize_t.m4.
8475
8476 2006-07-21  Eric Blake  <ebb9@byu.net>
8477
8478         * modules/stdlib-safer: New file.
8479         * MODULES.html.sh (File stream based Input/Output): Add
8480         stdlib-safer.
8481
8482 2006-07-21  Eric Blake  <ebb9@byu.net>
8483
8484         * lib/stdlib-safer.h: New file from coreutils, required by
8485         stdlib--.h.
8486
8487 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
8488
8489         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
8490
8491 2006-07-20  Bruno Haible  <bruno@clisp.org>
8492
8493         * gnulib-tool: Recognize new option --assume-autoconf.
8494         (autoconf_minversion): New variable.
8495         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
8496
8497 2006-07-20  Bruno Haible  <bruno@clisp.org>
8498
8499         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
8500
8501 2006-07-19  Derek R. Price  <derek@ximbiot.com>
8502
8503         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
8504         Reindent and repaginate.
8505
8506 2006-07-19  Derek Price  <derek@ximbiot.com>
8507
8508         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
8509         Correct grammar.
8510
8511 2006-07-17  Bruno Haible  <bruno@clisp.org>
8512
8513         * modules/list: New file.
8514         * modules/array-list: New file.
8515         * modules/carray-list, modules/carray-list-tests: New files.
8516         * modules/linked-list, modules/linked-list-tests: New files.
8517         * modules/avltree-list, modules/avltree-list-tests: New files.
8518         * modules/rbtree-list, modules/rbtree-list-tests: New files.
8519         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
8520         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
8521         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
8522         * modules/oset: New file.
8523         * modules/array-oset: New file.
8524         * modules/avltree-oset, modules/avltree-oset-tests: New files.
8525         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
8526         * tests/test-carray_list.c: New file.
8527         * tests/test-linked_list.c: New file.
8528         * tests/test-avltree_list.c: New file.
8529         * tests/test-rbtree_list.c: New file.
8530         * tests/test-linkedhash_list.c: New file.
8531         * tests/test-avltreehash_list.c: New file.
8532         * tests/test-rbtreehash_list.c: New file.
8533         * tests/test-avltree_oset.c: New file.
8534         * tests/test-rbtree_oset.c: New file.
8535         * MODULES.html.sh (Container data structures): New section.
8536
8537 2006-07-17  Bruno Haible  <bruno@clisp.org>
8538
8539         * m4/gl_list.m4: New file.
8540
8541 2006-07-17  Bruno Haible  <bruno@clisp.org>
8542
8543         * lib/gl_list.h: New file.
8544         * lib/gl_list.c: New file.
8545         * lib/gl_array_list.h: New file.
8546         * lib/gl_array_list.c: New file.
8547         * lib/gl_carray_list.h: New file.
8548         * lib/gl_carray_list.c: New file.
8549         * lib/gl_linked_list.h: New file.
8550         * lib/gl_linked_list.c: New file.
8551         * lib/gl_anylinked_list1.h: New file.
8552         * lib/gl_anylinked_list2.h: New file.
8553         * lib/gl_avltree_list.h: New file.
8554         * lib/gl_avltree_list.c: New file.
8555         * lib/gl_anyavltree_list1.h: New file.
8556         * lib/gl_anyavltree_list2.h: New file.
8557         * lib/gl_rbtree_list.h: New file.
8558         * lib/gl_rbtree_list.c: New file.
8559         * lib/gl_anyrbtree_list1.h: New file.
8560         * lib/gl_anyrbtree_list2.h: New file.
8561         * lib/gl_anytree_list1.h: New file.
8562         * lib/gl_anytree_list2.h: New file.
8563         * lib/gl_linkedhash_list.h: New file.
8564         * lib/gl_linkedhash_list.c: New file.
8565         * lib/gl_anyhash_list1.h: New file.
8566         * lib/gl_anyhash_list2.h: New file.
8567         * lib/gl_avltreehash_list.h: New file.
8568         * lib/gl_avltreehash_list.c: New file.
8569         * lib/gl_rbtreehash_list.h: New file.
8570         * lib/gl_rbtreehash_list.c: New file.
8571         * lib/gl_anytreehash_list1.h: New file.
8572         * lib/gl_anytreehash_list2.h: New file.
8573
8574         * lib/gl_oset.h: New file.
8575         * lib/gl_oset.c: New file.
8576         * lib/gl_array_oset.h: New file.
8577         * lib/gl_array_oset.c: New file.
8578         * lib/gl_avltree_oset.h: New file.
8579         * lib/gl_avltree_oset.c: New file.
8580         * lib/gl_rbtree_oset.h: New file.
8581         * lib/gl_rbtree_oset.c: New file.
8582         * lib/gl_anytree_oset.h: New file.
8583
8584 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8585
8586         * m4/mkancesdirs.m4: New file.
8587         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
8588         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
8589         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
8590         it.
8591
8592 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8593
8594         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
8595         * lib/mkancesdirs.h: New files.
8596         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
8597         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
8598         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
8599         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
8600         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
8601         callers changed.  Revamp internals significantly, by not
8602         attempting to create directories that are temporarily more
8603         permissive than the final results.  Do not attempt to use
8604         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
8605         This removes some race conditions, fixes some bugs, and simplifies
8606         things.  Use new dirchownmod function to do owner and mode changes.
8607         * lib/mkdir-p.h: Likewise.
8608         * lib/modechange.c (octal_to_mode): New function.
8609         (struct mode_change): New member mentioned.
8610         (make_node_op_equals): New arg mentioned.  All callers changed.
8611         (mode_compile): Keep track of which mode bits the user has explicitly
8612         mentioned.
8613         (mode_adjust): New arg DIR, so that we implement the X op correctly.
8614         New arg PMODE_BITS, to keep track of which mode bits the user
8615         mentioned; it treats S_ISUID and S_ISGID speciall.
8616         All callers changed.
8617         * lib/modechange.h: Likewise.
8618
8619 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8620
8621         * MODULES.html.sh: Add mkancestors.
8622         * modules/mkancesdirs: New module.
8623         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
8624         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
8625         The chdir-safer and afs files are now orphans; I'll remove them
8626         unless someone speaks up.
8627         Add lib/dirchownmod.c, lib/dirchownmod.h.
8628         (Depends-on): Remove alloca, chown, save-cwd, dirname.
8629         Add lchown, mkancesdirs.
8630         (Maintainer): Add self.
8631
8632 2006-07-15  Karl Berry  <karl@gnu.org>
8633
8634         * gnulib-tool: help message wording/arrangement.
8635
8636 2006-07-14  Simon Josefsson  <jas@extundo.com>
8637
8638         * doc/gnulib.texi (Libtool and Windows): New section.
8639
8640 2006-07-12  Simon Josefsson  <jas@extundo.com>
8641
8642         * modules/gendocs (License): Fix license, approved by Karl.
8643
8644 2006-07-12  Eric Blake  <ebb9@byu.net>
8645
8646         * MODULES.html.sh: Add gendocs.
8647
8648 2006-07-11  Eric Blake  <ebb9@byu.net>
8649
8650         * modules/fdl: New module, to install doc/fdl.texi.
8651         * MODULES.html.sh: Add new section for documentation modules.
8652         * gnulib-tool: Avoid space-tab.
8653         (--doc-base): New option, to manage files from doc.
8654
8655 2006-07-11  Eric Blake  <ebb9@byu.net>
8656
8657         * m4/absolute-header.m4: Fix comments to match recent change.
8658
8659 2006-07-11  Eric Blake  <ebb9@byu.net>
8660
8661         * gnulib-tool: List --doc-base before --tests-base.
8662
8663 2006-07-11  Derek R. Price  <derek@ximbiot.com>
8664
8665         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
8666
8667 2006-07-11  Bruno Haible  <bruno@clisp.org>
8668
8669         * README: Mention where to put documentation.
8670
8671 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8672
8673         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
8674
8675 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8676
8677         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
8678         to stdint.m4.
8679
8680 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8681
8682         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
8683         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
8684         "no/such/file/stdint.h" when there is no such file, so that
8685         the resulting C code can be parsed by dodgy compilers.
8686         Problems reported by Bob Proulx.
8687
8688 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8689
8690         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
8691         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8692         macros into the GNU _D_EXACT_NAMLEN.
8693         * lib/savedir.c:  Likewise.
8694         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
8695
8696 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8697         and Paul Eggert  <eggert@cs.ucla.edu>
8698
8699         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
8700         * m4/savedir.m4:
8701         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8702         macros into the GNU _D_EXACT_NAMLEN.
8703
8704 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8705
8706         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
8707         around the absolute name, to work around a problem with the HP-UX
8708         11.23 native C compiler, reported by Bob Proulx.
8709
8710 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8711
8712         * doc/maintain.texi, make-stds.texi: Sync from
8713         <http://savannah.gnu.org/projects/gnustandards>.
8714
8715 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8716
8717         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
8718
8719 2006-07-09  Jim Meyering  <jim@meyering.net>
8720
8721         * m4/glob.m4: Remove a doubled word in a comment.
8722
8723 2006-07-09  Jim Meyering  <jim@meyering.net>
8724
8725         * lib/argp-pv.c: Remove a doubled word in a comment.
8726         * lib/check-version.c (check_version): Likewise.
8727         * lib/javacomp.c (compile_java_class): Likewise.
8728
8729 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8730
8731         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
8732         for the benefit of people using Autoconf 2.60.  If you want to
8733         support older Autoconf versions you can copy m4/onceonly_2_57.m4
8734         (or m4/onceonly.m4, if pre-2.57) manually.
8735
8736 2006-07-08  Jim Meyering  <jim@meyering.net>
8737
8738         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
8739         comment.
8740         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
8741         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
8742         comment.
8743
8744 2006-07-08  Jim Meyering  <jim@meyering.net>
8745
8746         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
8747
8748 2006-07-07  Simon Josefsson  <jas@extundo.com>
8749
8750         * tests/test-crc.c: Change expected crc value, the test vector
8751         were probably computed using the old broken crc.c?
8752
8753 2006-07-06  Simon Josefsson  <jas@extundo.com>
8754
8755         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
8756         now the canonical place for the M4 file).
8757
8758         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
8759         from the sys_socket dependency now.
8760
8761         * modules/inet_pton (Files): Ditto.
8762
8763         * modules/inet_ntop (Files): Ditto.
8764
8765 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8766
8767         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
8768         not gl_PREREQ_GETUSERSHELL.
8769
8770 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8771
8772         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
8773         with only one argument, for Autoconf 2.60.
8774         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
8775         expand to nothing, so add a shell command to avoid syntax error.
8776         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8777
8778 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8779
8780         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
8781
8782 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8783
8784         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
8785         no longer needed.  Check for isblank decl.
8786         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
8787         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
8788         of existence.
8789
8790 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8791
8792         * lib/getloadavg.c: Use __VMS, not VMS.
8793         * lib/getopt.c: Likewise.
8794         * lib/getpagesize.h: Likewise.
8795         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
8796         and probably does not work.
8797
8798 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8799
8800         * lib/.cppi-disable: Add wcwidth.
8801         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
8802         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
8803         (ISGRAPH): Remove.  All uses changed to isgraph.
8804         (FOLD) [!defined _LIBC]: Remove special case.
8805         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
8806         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
8807         HAVE_ISBLANK.
8808         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
8809         case.
8810
8811 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
8812
8813         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
8814         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
8815         brackets.  Other minor changes to suppress some compiler
8816         warnings.
8817
8818 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8819         and Paul Eggert  <eggert@cs.ucla.edu>
8820
8821         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
8822         of invoking obsolescent AC_HEADER_DIRENT macro.
8823         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8824         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
8825         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8826         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
8827         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
8828         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
8829         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
8830         * m4/readdir.m4: Remove; no longer needed.
8831
8832 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8833         and Paul Eggert  <eggert@cs.ucla.edu>
8834
8835         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
8836         Don't worry about this obsolete case any more.
8837         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
8838         directories.
8839         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
8840         worry about this obsolete case any more.
8841         * lib/fts.c: Likewise.
8842         * lib/getcwd.c: Likewise.
8843         * lib/glob.h: Likewise.
8844         * lib/savedir.c: Likewise.
8845
8846 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8847
8848         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
8849         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
8850         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
8851         needed.
8852         All uses removed.
8853         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8854         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8855         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
8856         needed.
8857         * m4/getdate.m4 (gl_GETDATE): Likewise.
8858         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8859         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8860         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8861         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8862         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8863         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8864         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
8865         needed.
8866
8867 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8868
8869         * lib/memcasecmp.c: Include <limits.h>.
8870         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
8871         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
8872         Don't assume isdigit succeeds only on '0' through '9'.
8873
8874 2006-07-05  Eric Blake  <ebb9@byu.net>
8875
8876         * modules/getaddrinfo (Depends-on): Add snprintf.
8877
8878 2006-07-05  Eric Blake  <ebb9@byu.net>
8879
8880         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
8881         to avoid 'header present but could not be compiled' on cygwin.
8882
8883 2006-07-05  Eric Blake  <ebb9@byu.net>
8884
8885         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
8886         missing from netdb.h.
8887         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
8888
8889 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8890
8891         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
8892         no longer needed.
8893         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
8894         * m4/getdate.m4 (gl_GETDATE): Likewise.
8895         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8896         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8897         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8898         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8899         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8900
8901 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8902
8903         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
8904         All uses of is_space replaced by isspace.
8905         * lib/exit.h: Don't talk about STDC_HEADERS.
8906         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
8907         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
8908         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
8909         replaced by isprint etc.
8910         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
8911         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8912         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
8913         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
8914         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
8915         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8916
8917 2006-07-05  Bruno Haible  <bruno@clisp.org>
8918
8919         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
8920         the function exists, before testing against AIX.
8921         Reported by Martin Lambers <marlam@marlam.de>.
8922
8923 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8924
8925         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
8926         From Mark D. Baushke.
8927
8928 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8929
8930         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
8931         to the absolute name, not just one, to bypass Sun C 5.8's
8932         "warning: #include of /usr/include/... may be non-portable".
8933
8934 2006-07-04  Eric Blake  <ebb9@byu.net>
8935
8936         * modules/dirname-tests: New test module.
8937         * tests/test-dirname.c: New file, replacing dirname.c
8938         TEST_DIRNAME section that was recently deleted.
8939
8940 2006-07-04  Bruno Haible  <bruno@clisp.org>
8941
8942         Assume ANSI C header files and <ctype.h> functions.
8943         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
8944         (mbsnwidth): Use isprint, iscntrl instead.
8945
8946 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8947
8948         Merge from coreutils.
8949         * MODULES.html.sh: Add xstrtold.
8950         * modules/xstrtold: New file.
8951         * modules/cycle-check (Files): Add lib/same-inode.h.
8952         * modules/dirname (Files): Add m4/double-slash-root.m4.
8953         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
8954         * modules/mkdir-p (Files): Add lib/same-inode.h.
8955         * modules/same (Files): Add lib/same-inode.h.
8956
8957 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8958
8959         * m4/absolute-header.m4: Renamed from full-header-path.m4.
8960         This is to keep the terminology clean; POSIX talks about
8961         "absolute pathnames", not "full pathnames", but the GNU
8962         Coding Standards say to use "path" for something else;
8963         so use "absolute" to keep both sides happy.
8964         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
8965         Set gl_absolute_header, not gl_full_header_path.
8966         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
8967         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
8968         All uses changed.
8969
8970         Merge from coreutils.
8971
8972         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8973
8974         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
8975         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
8976         want to require the building of c-strtod.o.
8977         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
8978         needs -lm directly.
8979         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
8980
8981         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8982
8983         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
8984         --as-needed option if available.  Problem reported by Albert Chin in
8985         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
8986         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
8987         cc merely issues a bunch of annoying warnings for --as-needed
8988         (this problem was reported by Bob Proulx).  Also, try linking with
8989         -lm to detect a bug in binutils 2.16 (this problem was reported
8990         by Ralf Wildenhues).
8991
8992         2006-06-18  Jim Meyering  <jim@meyering.net>
8993
8994         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
8995         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
8996         macro.
8997         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
8998         also check for glibc-2.4's abort-inducing bug.
8999
9000         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
9001         Low-probability clean-up should be to use rmdir to get rid of
9002         the just-created directory, not unlink.
9003
9004         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
9005         configure fail, and request a bug report to inform us about it.
9006         Add a comment that, barring reports to the contrary, in 2007 we'll
9007         assume ftruncate is universally available.
9008
9009         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
9010
9011         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
9012
9013         2006-03-12  Jim Meyering  <jim@meyering.net>
9014
9015         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
9016         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
9017         * m4/same.m4 (gl_SAME): Likewise.
9018         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
9019
9020         2006-03-11  Eric Blake  <ebb9@byu.net>
9021
9022         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
9023         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
9024         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
9025         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
9026
9027 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
9028
9029         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
9030         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
9031         reported by Mark D. Baushke, one in
9032         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
9033
9034         Merge from coreutils.
9035
9036         * lib/.cppi-disable: Add stdint_.h.
9037         * lib/.cvsignore: Add stdint.h.
9038
9039         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
9040
9041         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
9042         both double and long double versions.
9043         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
9044         * lib/xstrtold.c: New file.
9045         * lib/xstrtod.h (xstrtold): New decl.
9046
9047         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9048
9049         * lib/filemode.c (setst): Remove.
9050         (strmode): Rewrite to avoid setst.  This makes the code shorter,
9051         (arguably) clearer, and the generated code is a bit smaller on my
9052         Debian GNU/Linux stable x86 host.
9053
9054         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
9055
9056         * lib/filemode.c: Include "filemode.h" first, to test the interface.
9057         Assume that filemode.h includes sys/types.h and sys/stat.h.
9058         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
9059         (ftypelet): Reorder to put common cases first, for efficiency.
9060         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
9061         to do 'M'.
9062         (strmode): Renamed from mode_string, and now stores 12 bytes instead
9063         of 10, for compatibility with FreeBSD.  All callers changed.
9064         (filemodestring): Now stores 12 bytes instead of 10, and sets file
9065         types that can't be deduced solely from st_mode.  First arg is now a
9066         const pointer.
9067         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
9068         (strmode): Renamed from mode_string.
9069         (filemodestring): New decl.
9070         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
9071         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
9072         needed.
9073         (S_ISPORT, S_ISWHT): New macros, if not already defined.
9074
9075         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
9076
9077         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
9078         fsusage.h now does that.  Include fsusage.h first, to test interface.
9079         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
9080         at most one method (the old code could have generated decls that
9081         didn't conform to C89, not that this was ever exercised).
9082         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
9083
9084         2006-03-19  Jim Meyering  <jim@meyering.net>
9085
9086         Work even in a chroot where d_ino values for entries in "/"
9087         don't match the stat.st_ino values for the same names.
9088         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
9089         number, iterate through all entries again, using lstat instead.
9090         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
9091         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
9092
9093         * lib/getcwd.c (__getcwd): Clarify a comment.
9094         Use memcpy in place of a call to strcpy.
9095
9096         2006-03-12  Jim Meyering  <jim@meyering.net>
9097
9098         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
9099         matches that of the current directory (which we're about to chdir ".."
9100         out of), then save the dev-ino of the parent, instead.
9101
9102         * lib/same-inode.h (SAME_INODE): New file/macro.
9103         * lib/chdir-safer.c (SAME_INODE): Remove definition.
9104         Include "same-inode.h", instead.
9105         * lib/same.c: Likewise.
9106         * lib/cycle-check.h: Include "same-inode.h".
9107         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
9108         * lib/cycle-check.c (SAME_INODE): Remove definition.
9109         * lib/root-dev-ino.h: Include "same-inode.h".
9110
9111         2006-03-11  Eric Blake  <ebb9@byu.net>
9112
9113         * lib/same.c (same_name): s/base_name/last_component/
9114         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
9115         * lib/filenamecat.c (file_name_concat): Likewise.
9116
9117         2006-03-11  Eric Blake  <ebb9@byu.net>,
9118                     Paul Eggert  <eggert@cs.ucla.edu>
9119
9120         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
9121         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
9122         drive prefix.
9123         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
9124         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
9125         (last_component): New method.
9126         * lib/dirname.c (dir_len): Determine when drive letters need a
9127         subsequent slash.  Preserve // when it is special.
9128         (dir_name): Don't append dot when drive letter is absolute.
9129         [TEST_DIRNAME]: Move into a full-blown gnulib test.
9130         * lib/basename.c (base_name): New semantics - malloc the result.
9131         Preserve // when it is special.  Preserve relative files that look
9132         like drive letters.
9133         (base_len): Preserve // when it is special.
9134         (last_component): New method, similar to old base_name semantics.
9135         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
9136         base_name.  Strip redundant slashes from ///.
9137
9138 2006-07-03  Jim Meyering  <jim@meyering.net>
9139
9140         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
9141         macro is used before the first cycle_check call.
9142
9143 2006-07-03  Eric Blake  <ebb9@byu.net>
9144
9145         * modules/dirname (Depends-on): Add xstrndup.
9146
9147 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
9148
9149         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
9150         test cases, so that config.log is a bit easier to follow.
9151
9152 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
9153
9154         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
9155         both are 64 bits, since this seems to be the tradition, and this
9156         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
9157         we ever run into a host that prefers long long to long in this
9158         case, we'll need another configure-time test.  Problem reported by
9159         Jim Meyering.
9160
9161 2006-07-02  Eric Blake  <ebb9@byu.net>
9162
9163         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
9164
9165 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9166
9167         * modules/inttypes (Depends-on): No longer depends on stdint.
9168         * modules/stdint (Description): Say more about assumptions.
9169         Say that the fast types might differ.  Say macros are used.
9170         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
9171         (Makefile.am): Revise list of substituted symbols to match
9172         new stdint.m4.
9173         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
9174         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
9175         * tests/test-stdint.c (verify_same_types)
9176         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
9177         the code conforms to C99/C89.
9178         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
9179         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
9180
9181 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9182
9183         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
9184         but fix a bug, by requiring at least 64 bits.
9185         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
9186         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
9187         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
9188         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
9189
9190         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
9191         changes.  Make 2.59 a prerequisite.  Check and substitute for
9192         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
9193         inttypes.h.  Do not use special include files; just use the
9194         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
9195         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
9196         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
9197         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
9198         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
9199         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
9200         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
9201         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
9202         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
9203         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
9204         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
9205         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
9206         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
9207         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
9208         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
9209         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
9210         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
9211         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
9212         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
9213         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
9214         WINT_MAX.  Check for C99 conformance more strictly, by detecting
9215         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
9216         not check for things that C99 does not require, e.g., int8_t.  If
9217         a test isn't needed unless <stdint.h> isn't working, and is
9218         unlikely to be needed for any other reason, then don't do it
9219         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
9220         size_t, since we assume C89 freestanding at least.  Do not check
9221         for sig_atomic_t, wchar_t, or wint_t, since the code now does
9222         the right thing even if the types are not defined.  Instead use:
9223         (gl_STDINT_TYPE_PROPERTIES): New macro.
9224         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
9225         testing whether <sys/types.h> clashes, as Autoconf does this for
9226         us now.  All uses removed.
9227         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
9228         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
9229         (gl_CHECK_TYPE_SAME):
9230         Remove; no longer needed.
9231         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
9232         exists, since we'll return 0 anyway in that case.
9233         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
9234
9235 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9236
9237         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
9238         possible collision with system files.
9239         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
9240         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
9241         WCHAR_MIN and WCHAR_MAX in this case.
9242         (<stddef.h>): Do not include; no longer needed.
9243         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
9244         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
9245         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
9246         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
9247         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
9248         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
9249         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
9250         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
9251         !defined(__c99))]: Include in this case too, since it's harmless
9252         now.
9253         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
9254         dangerous to do so.
9255         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
9256         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
9257         (_STDINT_MIN, _STDINT_MAX): New macros.
9258         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
9259         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
9260         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
9261         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
9262         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
9263         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
9264         macros, not typedefs; this simplifies things quite a bit.
9265         Use long int for all types narrower than int64_t.
9266         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
9267         Define in terms of long long int or int64_t or long int,
9268         not int64_t or int32_t.  This saves some compile-time testing.
9269         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
9270         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
9271         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
9272         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
9273         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
9274         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
9275         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
9276         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
9277         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
9278         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
9279         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
9280         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
9281         undef any previous version and define our own version, for
9282         simplicity and consistency with the new macros for types.
9283         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
9284         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
9285         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
9286         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
9287         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
9288         @WINT_T_SUFFIX@ to keep things simple here.
9289         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
9290         Simplify by assuming typical 8/16/32/64 host, since we're
9291         already doing that elsewhere anyway.
9292         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
9293         and assume long long int is 64 bits if available.  This
9294         speeds up 'configure'.
9295
9296 2006-07-01  Eric Blake  <ebb9@byu.net>
9297
9298         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
9299         Reported by Andreas Buening.
9300
9301 2006-07-01  Eric Blake  <ebb9@byu.net>
9302
9303         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
9304
9305 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
9306
9307         * lib/getaddrinfo.c: fixed typo
9308
9309 2006-06-29  Jim Meyering  <jim@meyering.net>
9310
9311         * modules/strftime (Maintainer): Add my name, since with the
9312         FPRINTFTIME changes strftime.c has forked from glibc.
9313
9314 2006-06-29  Eric Blake  <ebb9@byu.net>
9315
9316         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
9317
9318 2006-06-29  Eric Blake  <ebb9@byu.net>
9319
9320         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
9321
9322 2006-06-29  Eric Blake  <ebb9@byu.net>
9323
9324         * lib/stat_.h: New file.
9325
9326 2006-06-29  Eric Blake  <ebb9@byu.net>
9327
9328         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
9329         unused static function.
9330
9331 2006-06-29  Eric Blake  <ebb9@byu.net>
9332
9333         * doc/functions.texi (Function Portability): Document missing lstat
9334         on mingw.
9335
9336 2006-06-29  Eric Blake  <ebb9@byu.net>
9337
9338         * MODULES.html.sh: Add sys_stat.
9339         * modules/sys_stat: New module.
9340         * modules/mkstemp (Depends-on): Add sys_stat.
9341
9342 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9343
9344         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
9345
9346 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9347
9348         * m4/c-bs-a.m4: Removed.
9349
9350 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9351
9352         * lib/strftime.c: Assume strftime() exists.
9353
9354 2006-06-29  Derek Price  <derek@ximbiot.com>
9355
9356         * modules/c-bs-a: Removed - \a is C89.
9357         * MODULES.html.sh: Remove c-bs-a.
9358
9359 2006-06-29  Bruno Haible  <bruno@clisp.org>
9360
9361         * modules/wcwidth (License): Change to LGPL.
9362
9363 2006-06-28  Simon Josefsson  <jas@extundo.com>
9364
9365         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
9366         on _WIN32.
9367
9368         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
9369         getnameinfo.
9370
9371 2006-06-28  Simon Josefsson  <jas@extundo.com>
9372
9373         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
9374
9375 2006-06-28  Simon Josefsson  <jas@extundo.com>
9376
9377         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
9378         functions there.  It will succeed on Windows XP, but on Windows
9379         2000 and (presumably) earlier, it will fail, and use the internal
9380         re-implementation.
9381         (use_win32_p): New function.
9382         (getaddrinfo): Use strtoul on servname, to support numeric ports.
9383         Support AI_NUMERICSERV to disable getservbyname.
9384         (getnameinfo): New function, only supports
9385         NI_NUMERICHOST|NI_NUMERICSERV for now.
9386
9387         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
9388         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
9389         getnameinfo.
9390
9391 2006-06-28  Eric Blake  <ebb9@byu.net>
9392
9393         * modules/wcwidth: New file.
9394         * modules/mbchar (Depends-on): Add wcwidth.
9395         * modules/mbswidth (Depends-on): Add wcwidth.
9396         * MODULES.html.sh: Add wcwidth.
9397
9398 2006-06-28  Eric Blake  <ebb9@byu.net>
9399
9400         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
9401         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
9402
9403 2006-06-28  Eric Blake  <ebb9@byu.net>
9404
9405         * lib/xvasprintf.h: Fix comments.
9406
9407 2006-06-28  Eric Blake  <ebb9@byu.net>
9408
9409         * lib/mbchar.h (wcwidth): Include wcwidth.h.
9410         * lib/mbswidth.c (wcwidth): Move from here...
9411         * lib/wcwidth.h: ...to this new file.
9412
9413 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9414
9415         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
9416
9417         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
9418         it's obsolete.
9419         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
9420
9421 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9422
9423         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
9424         Autoconf 2.60 says this stuff was obsolete.
9425
9426 2006-06-28  Bruno Haible  <bruno@clisp.org>
9427
9428         * modules/wcwidth (Files): Add m4/wchar_t.m4.
9429
9430 2006-06-28  Bruno Haible  <bruno@clisp.org>
9431
9432         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
9433         gt_TYPE_WCHAR_T.
9434
9435 2006-06-28  Bruno Haible  <bruno@clisp.org>
9436
9437         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
9438         declaration for wcwidth.
9439         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
9440
9441 2006-06-28  Bruno Haible  <bruno@clisp.org>
9442
9443         * lib/mkdtemp.c [MINGW]: Include <io.h>.
9444         (mkdir): Define using _mkdir.
9445
9446 2006-06-28  Bruno Haible  <bruno@clisp.org>
9447
9448         * lib/getaddrinfo.h: Fix POSIX URL.
9449         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
9450         _WIN32.
9451         (use_win32_p): Make static.
9452         (getaddrinfo): Reject service name if it is empty or does not consist
9453         solely of decimal digits, or if its value is > 65535.
9454         (getnameinfo): Remove useless casts.
9455
9456 2006-06-27  Simon Josefsson  <jas@extundo.com>
9457
9458         * modules/sys_select: New file, suggested by Bruno Haible, Paul
9459         Eggert and Martin Lambers.
9460
9461 2006-06-27  Simon Josefsson  <jas@extundo.com>
9462
9463         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
9464         Eggert and Martin Lambers.
9465
9466 2006-06-27  Bruno Haible  <bruno@clisp.org>
9467
9468         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
9469         result to 0, not to empty.
9470         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
9471
9472 2006-06-27  Bruno Haible  <bruno@clisp.org>
9473
9474         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
9475
9476 2006-06-26  Simon Josefsson  <jas@extundo.com>
9477
9478         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
9479         present.
9480
9481 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
9482
9483         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
9484         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
9485         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
9486
9487 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
9488
9489         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
9490
9491 2006-06-26  Bruno Haible  <bruno@clisp.org>
9492
9493         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
9494
9495 2006-06-26  Bruno Haible  <bruno@clisp.org>
9496
9497         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
9498
9499 2006-06-26  Bruno Haible  <bruno@clisp.org>
9500
9501         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
9502         SGI C compiler in pre-C99 mode.
9503         Suggested by Mark D. Baushke and Larry Jones.
9504
9505 2006-06-26  Bruno Haible  <bruno@clisp.org>
9506
9507         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
9508         WCHAR_MAX.
9509         Reported by Mark D. Baushke and Larry Jones.
9510
9511 2006-06-26  Bruno Haible  <bruno@clisp.org>
9512
9513         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
9514         in pre-C99 mode.
9515         Suggested by Mark D. Baushke and Larry Jones.
9516
9517 2006-06-23  Simon Josefsson  <jas@extundo.com>
9518             Bruno Haible  <bruno@clisp.org>
9519
9520         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
9521         Emit mostlyclean-local rule.
9522         (func_emit_tests_Makefile_am): Likewise.
9523         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
9524
9525 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
9526
9527         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
9528
9529 2006-06-23  Bruno Haible  <bruno@clisp.org>
9530
9531         * tests/test-stdint.c: Update to match ISO C 99 Technical
9532         Corrigendum 1.
9533
9534 2006-06-23  Bruno Haible  <bruno@clisp.org>
9535
9536         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
9537
9538 2006-06-23  Bruno Haible  <bruno@clisp.org>
9539
9540         * lib/stdint_.h: Treat IRIX like OpenBSD.
9541
9542 2006-06-23  Bruno Haible  <bruno@clisp.org>
9543
9544         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
9545         ISO C 99 Technical Corrigendum 1.
9546
9547 2006-06-22  Simon Josefsson  <jas@extundo.com>
9548
9549         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
9550         MinGW.
9551
9552 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
9553
9554         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
9555         needed.  Some compiler complained about some of them.  Problem reported
9556         by Larry Jones in
9557         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
9558
9559 2006-06-21  Simon Josefsson  <jas@extundo.com>
9560
9561         * tests/test-getaddrinfo.c: New file.
9562
9563         * modules/getaddrinfo-tests: New file.
9564
9565         * MODULES.html.sh: Add inet_pton.
9566
9567         * modules/inet_pton: New file.
9568
9569 2006-06-21  Simon Josefsson  <jas@extundo.com>
9570
9571         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
9572         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
9573         of using the (limited) gnulib implementation on Windows XP.
9574
9575         * m4/inet_pton.m4: New file.
9576
9577 2006-06-21  Simon Josefsson  <jas@extundo.com>
9578
9579         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
9580         variable.
9581
9582         * lib/socket_.h: Don't define WINVER.
9583
9584         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
9585         slightly modified to work in gnulib.
9586
9587 2006-06-21  Simon Josefsson  <jas@extundo.com>
9588
9589         * doc/gnulib.texi (Windows sockets): Add.
9590
9591 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
9592
9593         * lib/read-file.c (fread_file): Start with buffer allocation of
9594         0 bytes rather than 1 byte; this simplifies the code.
9595         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
9596         code to free buffer and save/restore errno.
9597         (internal_read_file): Remove unused local.
9598
9599 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9600
9601         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
9602         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
9603         Problem reported by Denis Excoffier in
9604         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
9605
9606 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9607
9608         * modules/sys_socket, modules/socklen: Include sys/types since
9609         FreeBSD 4.x's sys/socket.h needs it.
9610
9611 2006-06-19  Simon Josefsson  <jas@extundo.com>
9612
9613         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
9614
9615 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
9616
9617         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
9618
9619 2006-06-19  Bruno Haible  <bruno@clisp.org>
9620
9621         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
9622         and FULL_PATH_INTTYPES_H in angle brackets.
9623         Reported by Mark D. Baushke <mdb@gnu.org>.
9624
9625 2006-06-17  Eric Blake  <ebb9@byu.net>
9626
9627         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
9628         errno.
9629
9630 2006-06-17  Bruno Haible  <bruno@clisp.org>
9631
9632         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
9633         <sys/inttypes.h>.
9634
9635 2006-06-17  Bruno Haible  <bruno@clisp.org>
9636
9637         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
9638         whether errno is declared. Assume <errno.h> declares errno.
9639
9640 2006-06-17  Bruno Haible  <bruno@clisp.org>
9641
9642         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
9643
9644 2006-06-17  Bruno Haible  <bruno@clisp.org>
9645
9646         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
9647         problem on Solaris 2.5.1.
9648
9649 2006-06-16  Eric Blake  <ebb9@byu.net>
9650
9651         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
9652         * lib/unicodeio.c [!defined errno]: Likewise.
9653         * lib/strtol.c [!defined errno]: Likewise.
9654         * lib/strtod.c [!defined errno]: Likewise.
9655
9656 2006-06-15  Eric Blake  <ebb9@byu.net>
9657
9658         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
9659
9660 2006-06-15  Eric Blake  <ebb9@byu.net>
9661
9662         * config/srclist.txt (ssize_t.m4): Lose sync.
9663
9664 2006-06-15  Bruno Haible  <bruno@clisp.org>
9665
9666         * modules/stdint (Files): Include m4/full-header-path.m4,
9667         m4/size_max.m4, m4/wchar_t.m4.
9668         (Makefile.am): Many more substitutions.
9669         * modules/stdint-tests: New file.
9670         * tests/test-stdint.c: New file.
9671
9672 2006-06-15  Bruno Haible  <bruno@clisp.org>
9673
9674         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
9675         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
9676         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
9677         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
9678         gl_CHECK_TYPE_SAME): New macros.
9679
9680 2006-06-15  Bruno Haible  <bruno@clisp.org>
9681
9682         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
9683
9684 2006-06-15  Bruno Haible  <bruno@clisp.org>
9685
9686         * lib/stdint_.h: Rewritten to be fully auto-configured.
9687         Fixes bug on HP-UX/IA64.
9688
9689 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
9690
9691         * lib/getdate.y (__attribute__): Don't define if already defined.
9692         Problem reported by Larry Jones.
9693         * lib/utimens.c (__attribute__): Likewise.
9694
9695 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
9696
9697         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
9698         reported by Andreas Schwab.
9699
9700 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9701             Bruno Haible  <bruno@clisp.org>
9702
9703         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
9704         check for the declaration of strnlen and a run test that exposes the
9705         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
9706         rpl_strndup.
9707
9708 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9709             Bruno Haible  <bruno@clisp.org>
9710
9711         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
9712
9713 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9714
9715         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
9716         compile test, for Tru64 4.0D.
9717
9718 2006-05-28  Karl Berry  <karl@gnu.org>
9719
9720         * config/srclist.txt (printf-args.c): lose sync.
9721
9722 2006-05-26  Martin Lambers  <marlam@marlam.de>
9723
9724         * lib/getpass.c: Updates the test for the native W32 API, and adds
9725         missing includes, thus fixing compilation warnings.
9726
9727 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9728
9729         * lib/exclude.c (exclude_fnmatch): New function.
9730         (excluded_file_name): Call exclude_fnmatch.
9731         * lib/exclude.h (excluded_file_name): New prototype
9732
9733 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
9734
9735         * lib/tempname.c (small_open, large_open): New macros.
9736         (__open, __open64) [!_LIBC]: Remove.
9737         (__gen_tempname): Use small_open and large_open instead of __open
9738         and __open64.  This fixes a portability bug on HP-UX 11.11i
9739         reported by Simon Wing-Tang in
9740         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
9741
9742 2006-05-24  Bruno Haible  <bruno@clisp.org>
9743
9744         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
9745         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
9746         Reported by Thorsten Maerz <torte@netztorte.de> via
9747         Aaron Stone <aaron@serendipity.cx>.
9748
9749 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9750
9751         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
9752         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
9753         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
9754         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
9755         not really conditional on the cache.
9756         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
9757
9758 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9759
9760         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
9761         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
9762         (my_usleep): Don't mishandle maximum value.
9763
9764 2006-05-19  Jim Meyering  <jim@meyering.net>
9765
9766         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
9767
9768 2006-05-17  Bruno Haible  <bruno@clisp.org>
9769
9770         Cygwin portability.
9771         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
9772
9773 2006-05-17  Bruno Haible  <bruno@clisp.org>
9774
9775         * lib/stdint_.h: Fix recognition of Cygwin.
9776
9777 2006-05-15  Bruno Haible  <bruno@clisp.org>
9778
9779         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
9780         on libtool patch by Ralf Wildenhues.
9781
9782 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9783
9784         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
9785         test for C99 conformance; (bool) 0.5 is an integer constant
9786         expression, but (bool) -0.5 is not.  Problem reported by Fedor
9787         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
9788
9789 2006-05-11  Simon Josefsson  <jas@extundo.com>
9790
9791         * m4/xvasprintf.m4: Fix obvious typo.
9792
9793 2006-05-11  Jim Meyering  <jim@meyering.net>
9794
9795         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
9796         James Lemley.
9797
9798 2006-05-10  Simon Josefsson  <jas@extundo.com>
9799
9800         * lib/md4.c: Typo fix, update copyright years.
9801         (K1, K2): Don't use L because it turn computations into 64-bit on
9802         64-bit platforms.
9803
9804 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
9805
9806         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
9807         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
9808         unwanted sign propagation, e.g., on hosts with 64-bit int.
9809         There still are some problems with reeelly weird theoretical hosts
9810         (e.g., 33-bit int) but it's not worth worrying about now.
9811         * lib/sha1.c (rol): Likewise.
9812         (K1, K2, K3, K4): Remove unnecessary L suffix.
9813
9814 2006-05-10  Bruno Haible  <bruno@clisp.org>
9815
9816         * lib/des.c: Cast to avoid warnings.
9817
9818 2006-05-09  Bruno Haible  <bruno@clisp.org>
9819
9820         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
9821         (Depends-on): Depend also on xsize, stdarg.
9822         (configure.ac): Add gl_XVASPRINTF.
9823
9824 2006-05-09  Bruno Haible  <bruno@clisp.org>
9825
9826         * m4/xvasprintf.m4: New file.
9827
9828 2006-05-09  Bruno Haible  <bruno@clisp.org>
9829
9830         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
9831         (EOVERFLOW): Define fallback value.
9832         (xstrcat): New function.
9833         (xvasprintf): Recognize the special case of a string concatenation.
9834
9835 2006-05-08  Eric Blake  <ebb9@byu.net>
9836
9837         * gnulib-tool (func_version): Base copyright year on CVS date.
9838         (func_emit_copyright_notice): New function.
9839         (func_emit_lib_Makefile_am): Use it.
9840         (func_emit_tests_Makefile_am): Likewise.
9841         (func_import): Likewise.
9842
9843 2006-05-08  Bruno Haible  <bruno@clisp.org>
9844
9845         * modules/stdarg: New file.
9846         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
9847
9848 2006-05-08  Bruno Haible  <bruno@clisp.org>
9849
9850         * m4/stdarg.m4: New file, from GNU gettext.
9851
9852 2006-05-08  Bruno Haible  <bruno@clisp.org>
9853
9854         * config/srclist.txt (build-aux/config.rpath): different from latest
9855         release.
9856
9857 2006-05-08  Bruno Haible  <bruno@clisp.org>
9858
9859         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
9860
9861 2006-05-05  Jim Meyering  <jim@meyering.net>
9862
9863         * m4/warning.m4: New file, derived from bison's file by the same name.
9864
9865 2006-05-03  Bruno Haible  <bruno@clisp.org>
9866
9867         * lib/stdint_.h: Shorter URL.
9868         * lib/inttypes.h: Likewise.
9869
9870 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9871
9872         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
9873
9874 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9875
9876         * lib/verify.h: Document the internals better.  Most of this change
9877         was written by Bruno Haible.
9878
9879 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9880
9881         * doc/verify.texi: New file, partly based on a proposal by
9882         Bruno Haible.
9883
9884 2006-05-02  Bruno Haible  <bruno@clisp.org>
9885
9886         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
9887         test from here...
9888         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
9889
9890 2006-04-29  Bruno Haible  <bruno@clisp.org>
9891
9892         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
9893         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
9894
9895 2006-04-29  Bruno Haible  <bruno@clisp.org>
9896
9897         * gnulib-tool: Make --update option actually work.
9898
9899 2006-04-29  Bruno Haible  <bruno@clisp.org>
9900
9901         * doc/gcd.texi: New file.
9902         * doc/gnulib.texi: Include it.
9903
9904 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
9905
9906         * lib/getdate.y (get_date): When adding relative date, start with the
9907         initial time, not with the result of the first mktime call.
9908
9909 2006-04-25  Bruno Haible  <bruno@clisp.org>
9910
9911         * gnulib-tool (func_import): Output the include directives in three
9912         blocks, sorted separately.
9913         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9914
9915 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9916
9917         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
9918         to define main with arguments, for C++.  Reported by Eric Blake.
9919         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
9920         Prefer 'int main ()' to 'int main (void)', for C++.
9921         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9922         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
9923         for 'main', for C99 and C++.
9924
9925 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9926
9927         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
9928         Don't assume that exit status -1 is valid.
9929         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9930         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
9931         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
9932         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
9933         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
9934         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
9935         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
9936         functions can be used without declaring them, or that you can
9937         exit with status -1.
9938         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
9939
9940 2006-04-24  Karl Berry  <karl@gnu.org>
9941
9942         * config/srclist.txt (longdouble.m4): sync lost.
9943
9944 2006-04-24  Eric Blake  <ebb9@byu.net>
9945
9946         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
9947
9948 2006-04-24  Bruno Haible  <bruno@clisp.org>
9949
9950         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
9951         poll() implementation in AIX.
9952         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9953
9954 2006-04-24  Bruno Haible  <bruno@clisp.org>
9955
9956         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
9957         assigned exactly once.
9958
9959 2006-04-23  Claudio Fontana  <claudio@gnu.org>
9960             Bruno Haible  <bruno@clisp.org>
9961
9962         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
9963         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
9964         for AM_CPPFLAGS.
9965
9966 2006-04-23  Bruno Haible  <bruno@clisp.org>
9967
9968         * modules/copy-file: Depend on unistd.
9969         * modules/execute: Likewise.
9970         * modules/fatal-signal: Likewise.
9971         * modules/findprog: Likewise.
9972         * modules/mkdtemp : Likewise.
9973         * modules/pipe: Likewise.
9974         * modules/wait-process: Likewise.
9975
9976 2006-04-23  Bruno Haible  <bruno@clisp.org>
9977
9978         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
9979         condition was already detected.
9980         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9981
9982 2006-04-23  Bruno Haible  <bruno@clisp.org>
9983
9984         * lib/copy-file.c: Include <unistd.h> unconditionally.
9985         * lib/execute.c: Likewise.
9986         * lib/fatal-signal.c: Likewise.
9987         * lib/findprog.c: Likewise.
9988         * lib/mkdtemp.c: Likewise.
9989         * lib/pipe.h: Likewise.
9990         * lib/pipe.c: Likewise.
9991         * lib/wait-process.h: Likewise.
9992
9993 2006-04-23  Bruno Haible  <bruno@clisp.org>
9994
9995         * gnulib-tool (func_usage): Fix --import description. Document
9996         --update.
9997         (func_import): Create temporary file in a temporary directory, if
9998         --dry-run is specified. Silence errors from 'grep' when there are no
9999         m4 files in $m4dir.
10000         (func_create_testdir): Silence errors from 'grep' when there are no
10001         m4 files in $m4dir.
10002         Reported by Karl Berry <karl@freefriends.org>.
10003
10004 2006-04-20  Bruno Haible  <bruno@clisp.org>
10005
10006         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
10007         one argument, so that the code will be portable to Autoconf 2.60.
10008         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
10009         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
10010         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
10011
10012 2006-04-19  Derek Price  <derek@ximbiot.com>
10013             Eric Blake  <ebb9@byu.net>
10014
10015         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
10016         rather than "/full/path.h".  Update comment to match.  Shorten &
10017         generalize m4_translit call via AS_TR_CPP.
10018
10019 2006-04-19  Derek Price  <derek@ximbiot.com>
10020             Eric Blake  <ebb9@byu.net>
10021
10022         * lib/inttypes.h: Correct grammar in comment.
10023
10024 2006-04-18  Derek Price  <derek@ximbiot.com>
10025             Paul Eggert  <eggert@cs.ucla.edu>
10026
10027         * modules/inttypes: New file.
10028         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
10029
10030 2006-04-18  Derek Price  <derek@ximbiot.com>
10031             Paul Eggert  <eggert@cs.ucla.edu>
10032
10033         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
10034         New files.
10035
10036 2006-04-18  Derek Price  <derek@ximbiot.com>
10037             Paul Eggert  <eggert@cs.ucla.edu>
10038
10039         * lib/inttypes.h: New file.
10040         * lib/strtoimax.c: Assume <inttypes.h>.
10041
10042 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10043
10044         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
10045         isn't mounted.  Problem reported by Kir Kolyshkin.
10046
10047 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
10048
10049         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
10050         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
10051         Derek R. Price.
10052         * lib/regex.h (RE_DUP_MAX): Update comment to match current
10053         implementation.
10054
10055 2006-04-12  Eric Blake  <ebb9@byu.net>
10056
10057         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
10058         is now done automatically by the corresponding Autoconf macro.
10059
10060 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
10061
10062         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
10063         time_r.h.
10064
10065 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10066
10067         Merge regex changes from libc, removing some of our
10068         POSIX-conformance changes that were rejected and redoing them in a
10069         less-intrusive way.
10070
10071         * lib/regcomp.c (re_compile_internal, init_dfa):
10072         Length arg is now size_t, not Idx.  All uses changed.
10073         (peek_token): Forward decl now says internal_function.
10074         (__re_error_msgid, __re_error_msgid_idx):
10075         Now static rather than extern with attribute_hidden.
10076         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
10077         For some reason libc prefers K&R style defns for external functions.
10078         (regerror) [!defined _LIBC]: Likewise.
10079         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
10080         (seek_collating_symbol_entry, lookup_collation_sequence_value):
10081         (build_range_exp, build_collating_symbol):
10082         Use K&R-style defn.
10083         (re_compile_fastmap): Use '\0' to memset, not 0.
10084         (utf8_sb_map): Make the calculations more obvious.
10085         (init_dfa, parse_bracket_exp, build_charclass_op):
10086         Call calloc and cast result, as glibc does.
10087         (init_word_char, fetch_token, peek_token, peek_token_bracket):
10088         (build_range_exp, build_collating_symbol):
10089         Now internal functions.
10090
10091         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
10092
10093         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
10094         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
10095         Don't depend on VMS; depend on __VMS instead, for POSIX
10096         namespace cleanness.
10097         (regoff_t): Define to ssize_t, not long int.
10098
10099         Remove the REG_ macros named below.  Instead, make the old names
10100         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
10101         __USE_GNU_REGEX.
10102         (REG_BACKSLASH_ESCAPE_IN_LISTS):
10103         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
10104         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
10105         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
10106         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
10107         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
10108         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
10109         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
10110         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
10111         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
10112         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
10113         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
10114         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
10115         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
10116         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
10117         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
10118         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
10119         (REG_NREGS):
10120         Remove.  All uses replaced by the old RE_* names.
10121         (RE_BACKSLASH_ESCAPE_IN_LISTS):
10122         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
10123         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
10124         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
10125         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
10126         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
10127         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
10128         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
10129         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
10130         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
10131         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
10132         Don't bother having these macros be independent of each others'
10133         values, since they no longer exist in the POSIX name space.
10134
10135         Rename the following member names back to their old names,
10136         unless !__USE_GNU_REGEX.  All uses changed back.
10137         (buffer): Renamed from re_buffer.
10138         (allocated): Renamed from re_allocated.
10139         (used): Renamed from re_used.
10140         (syntax): Renamed from re_syntax.
10141         (fastmap): Renamed from re_fastmap.
10142         (translate): Renamed from re_translate.
10143         (can_be_null): Renamed from re_can_be_null.
10144         (regs_allocated): Renamed from re_regs_allocated.
10145         (fastmap_accurate): Renamed from re_fastmap_accurate.
10146         (no_sub): Renamed from re_no_sub.
10147         (not_bol): Renamed from re_not_bol.
10148         (not_eol): Renamed from re_not_eol.
10149         (newline_anchor): Renamed from re_newline_anchor.
10150         (num_regs): Renamed from rm_num_regs.
10151         (start): Renamed from rm_start.
10152         (end): Renamed from rm_end.
10153
10154         (free_state): Move up a bit.
10155
10156         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
10157         #define to be empty.
10158         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
10159         when that is what is intended.
10160         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
10161         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
10162         (MAX): New macro.
10163         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
10164         All uses changed back to re_malloc, etc.  It's now the caller's
10165         responsibility to check for overflow; all callers changed.
10166         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
10167         (re_x2nrealloc): Remove.
10168         (free_state): Remove decl.
10169
10170         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
10171         (re_set_registers, re_exec):
10172         Use K&R-style defn.
10173
10174         2006-01-31  Roland McGrath  <roland@redhat.com>
10175
10176         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
10177         Reported by Mike Frysinger <vapier@gentoo.org>.
10178
10179         2006-01-15  Andreas Jaeger  <aj@suse.de>
10180
10181         [BZ #1950]
10182         * lib/regex_internal.c (re_string_reconstruct): Adjust for
10183         build_wcs_upper_buffer change.
10184         (build_wcs_upper_buffer): Change return type.
10185
10186         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
10187
10188         * lib/regex_internal.h: Include <stdint.h> if available.
10189
10190         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
10191
10192         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
10193
10194         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
10195
10196         * lib/regcomp.c: Adjust for changed secondary hash function.
10197
10198         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
10199
10200         * lib/regex.h: Pretty printing.
10201         Clean up namespace a bit.
10202
10203         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
10204
10205         * lib/regexec.c (update_cur_sifted_state, check_arrival,
10206         check_arrival_add_next_nodes): Avoid using uninitialized variable.
10207
10208         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10209                     Ulrich Drepper  <drepper@redhat.com>
10210
10211         [BZ #1302]
10212         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
10213         changed.
10214         (bitset_word_t): Renamed from bitset_word.  All uses changed.
10215
10216         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
10217
10218         [BZ #281]
10219         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
10220         * lib/regcomp.c: Remove unnecessary uses of
10221         unsigned RE_TRANSLATE_TYPE.
10222         * lib/regex_internal.h: Likewise.
10223         * lib/regex_internal.c: Likewise.
10224         * lib/regexec.c: Likewise.
10225         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
10226
10227         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
10228
10229         * lib/regexec.c (find_recover_state): Remove unnecessary
10230         initialization.
10231         (transit_state_bkref): Make DFA a const pointer.
10232         (get_subexp): Likewise.
10233         (check_arrival): Likewise.
10234         (update_cur_sifted_state): Likewise.
10235         (re_search_internal): Likewise.
10236         (prune_impossible_nodes): Likewise.
10237         (acquire_init_state_context): Likewise.
10238         (proceed_next_node): Likewise.
10239         (set_regs): Likewise.
10240         (free_fail_stack_return): Likewise.
10241         (check_arrival_expand_ecl): Mark DFA parameter as const.
10242         (check_arrival_expand_ecl_sub): Likewise.
10243         (check_subexp_limits): Likewise.
10244         (sub_epsilon_src_nodes):  Likewise.
10245         (add_epsilon_src_nodes):  Likewise.
10246         (merge_state_array): Likewise.
10247         (update_regs): Likewise.
10248         (build_trtable): Likewise.
10249         (sift_states_backward): Mark MCTX parameter as const.
10250         (build_sifted_states): Likewise.
10251         (update_cur_sifted_state): Likewise.
10252         (sift_states_mkref): Likewise.
10253         (check_arrival_expand_ecl): Mark eclosure as const.
10254         (check_dst_limits_calc_pos_1): Likewise.
10255         * lib/regex_internal.h (re_match_context_t): Make dfa a const
10256         pointer.
10257
10258         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
10259
10260         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
10261         (transit_state_sb): Likewise.
10262         (transit_state_mb): Likewise.
10263         (sift_states_iter_mb): Likewise.
10264         (check_arrival_add_next_nodes): Likewise.
10265         (check_node_accept_bytes): Change first parameter to pointer-to-const.
10266         [_LIBC] (re_search_2_stub): Use mempcpy.
10267
10268         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
10269         mbrtowc for very simple UTF-8 case.
10270
10271         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
10272         a pointer-to-const.
10273         (re_acquire_state_context): Likewise.
10274         * lib/regex_internal.h: Adjust prototypes.
10275
10276         * lib/regex.c: Prevent using C++ compilers.
10277
10278         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
10279         (re_acquire_state_context): Likewise.
10280
10281 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10282
10283         * modules/regex (Depends-on): Add ssize_t.
10284
10285 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10286
10287         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
10288         translation table.
10289
10290 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10291
10292         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
10293
10294 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
10295             Bruno Haible  <bruno@clisp.org>
10296
10297         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
10298         <sys/types.h> and <inttypes.h>.
10299
10300 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10301
10302         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
10303         `__error_t_defined', so argp.h will not typedef the former.
10304
10305 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
10306
10307         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
10308         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
10309         glibc names.  Even if glibc is changed to conform to POSIX, the
10310         traditional names will be available anyway, since regex depends on
10311         the extensions module.  Also, fix a longstanding typo in the
10312         implementation of Spencer ERE test #75 from grep 2.3.  Problems
10313         reported by Emanuele Giaquinta.  Also, change sense of cached
10314         variable, so that the message makes sense.
10315
10316 2006-03-24  Simon Josefsson  <jas@extundo.com>
10317
10318         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
10319         including some doc fixes.
10320         (base64_encode_alloc): Fix +1 bug on allocation failures.
10321
10322 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10323
10324         * lib/base64.c (base64_encode): Do not read past end of array with
10325         unsanitized input on systems with CHAR_BIT > 8.
10326
10327 2006-03-24  Eric Blake  <ebb9@byu.net>
10328
10329         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
10330
10331 2006-03-22  Karl Berry  <karl@gnu.org>
10332
10333         * config/srclist.txt (*setenv.[ch]): get from coreutils.
10334         * config/srclistvars.sh (COREUTILS): new var.
10335
10336 2006-03-17  Jim Meyering  <jim@meyering.net>
10337
10338         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
10339         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
10340
10341 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
10342
10343         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
10344         no longer needs it.  Instead, check that regoff_t is as least
10345         as wide as ptrdiff_t.
10346
10347         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
10348         so that our regex.h stays compatible with the installed regex.
10349         This is helpful for installers who configure --without-included-regex.
10350         Problem reported by Emanuele Giaquinta.
10351
10352 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
10353
10354         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
10355         Typedef to long int, not to off_, as POSIX will likely change
10356         in that direction.
10357
10358 2006-03-15  Eric Blake  <ebb9@byu.net>
10359
10360         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
10361
10362 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10363
10364         * lib/argp-help.c (validate_uparams): Fix typo
10365         * lib/argp-parse.c (argp_default_options): Consistently begin help
10366         messages with a lowercase letter.
10367
10368 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
10369
10370         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
10371         overrun buffers and shouldn't be used (much as gets shouldn't be
10372         used).
10373         * lib/time_r.c (asctime_r, ctime_r): Likewise.
10374
10375 2006-03-08  Simon Josefsson  <jas@extundo.com>
10376
10377         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
10378         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10379
10380 2006-03-08  Simon Josefsson  <jas@extundo.com>
10381
10382         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
10383         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10384
10385 2006-03-08  Simon Josefsson  <jas@extundo.com>
10386
10387         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
10388         signal that configure disabled the device.
10389
10390 2006-03-08  Simon Josefsson  <jas@extundo.com>
10391
10392         * build-aux/maint.mk: Fix refresh-po, to handle no translated
10393         languages.
10394
10395 2006-03-07  Simon Josefsson  <jas@extundo.com>
10396
10397         * modules/getopt (Depends-on): Add unistd.
10398
10399         * modules/unistd: New file.
10400
10401 2006-03-07  Simon Josefsson  <jas@extundo.com>
10402
10403         * modules/gc-random: New file.
10404
10405 2006-03-07  Simon Josefsson  <jas@extundo.com>
10406
10407         * m4/unistd_h.m4: New file.
10408
10409 2006-03-07  Simon Josefsson  <jas@extundo.com>
10410
10411         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
10412         test to be side-effect free by storing the result in the cache
10413         variable gl_cv_lib_readline, and moving the assignment of
10414         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
10415         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10416
10417 2006-03-07  Simon Josefsson  <jas@extundo.com>
10418
10419         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
10420         error on missing devices (the functions will return an error).
10421
10422         * m4/gc.m4: Move random stuff to gc-random.m4
10423
10424 2006-03-07  Simon Josefsson  <jas@extundo.com>
10425
10426         * lib/unistd_.h: New file.
10427
10428 2006-03-07  Simon Josefsson  <jas@extundo.com>
10429
10430         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
10431
10432 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10433
10434         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
10435         Problem reported by Juan Manuel Guerrero.
10436
10437 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10438
10439         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
10440         the unistd module.
10441         * lib/getlogin_r.c: Likewise.
10442         * lib/getlogin_r.h: Likewise.
10443         * lib/glob.c: Likewise.
10444         * lib/pagealign_alloc.c: Likewise.
10445         * lib/unistd_.h: Remove; no longer needed.
10446
10447 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10448
10449         * MODULES.html.sh (Support for systems lacking POSIX:2001):
10450         Add unistd.
10451         * modules/c-stack (Depends-on): Add unistd.
10452         * modules/getlogin_r: Likewise.
10453         * modules/glob: Likewise.
10454         * modules/pagealign_alloc: Likewise.
10455         * modules/unistd (Files): Remove lib/unistd_.h.
10456         (EXTRA_DIST): Remove.
10457         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
10458         need unistd_.h.
10459         (MOSTLYCLEANFILES): Remove unistd.h-t.
10460
10461 2006-03-03  Simon Josefsson  <jas@extundo.com>
10462
10463         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
10464
10465 2006-03-03  Simon Josefsson  <jas@extundo.com>
10466
10467         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
10468         libidn and bison.
10469
10470 2006-03-03  Simon Josefsson  <jas@extundo.com>
10471
10472         * build-aux/maint.mk: Add indent target.
10473
10474 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
10475
10476         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
10477         our replacement poll.h in any case, to avoid a differing
10478         declaration from a system header.  Seen on AIX.
10479
10480 2006-03-01  Simon Josefsson  <jas@extundo.com>
10481
10482         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
10483         <kasal@ucw.cz>.
10484
10485 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10486
10487         * modules/gettime (Depends-on): Add extensions module.
10488         * modules/nanosleep (Depends-on): Likewise.
10489         * modules/settime (Depends-on): Likewise.
10490
10491 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10492
10493         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
10494         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
10495         pedantically.
10496         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10497         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
10498
10499         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
10500         not "==".  Reported by Ralf Wildenhues.
10501
10502 2006-03-01  Karl Berry  <karl@gnu.org>
10503
10504         * doc/Copyright/request-*: new files, synced from gnuorg.
10505
10506 2006-03-01  Karl Berry  <karl@gnu.org>
10507
10508         * config/srclist.txt (Copyright/*): new entries.
10509
10510 2006-02-28  Simon Josefsson  <jas@extundo.com>
10511
10512         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
10513
10514 2006-02-27  Simon Josefsson  <jas@extundo.com>
10515
10516         * lib/base64.h: Indent #define's.  From Jim Meyering
10517         <jim@meyering.net>.
10518
10519 2006-02-27  Jim Meyering  <jim@meyering.net>
10520
10521         Revert the change of 2006-02-24, so these files can continue
10522         to be sync'd from gettext.
10523         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
10524         of `config.h'.
10525
10526 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
10527
10528         * modules/intprops: New file.
10529         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
10530         Add intprops.
10531         * modules/getloadavg (Files): Remove lib/intprops.h.
10532         (Depends-on): Add intprops.
10533         * modules/human: Likewise.
10534         * modules/inttostr: Likewise.
10535         * modules/openat: Likewise.
10536         * modules/sig2str: Likewise.
10537         * modules/userspec: Likewise.
10538         * modules/utimecmp: Likewise.
10539         * modules/xnanosleep: Likewise.
10540         * modules/xstrtol: Likewise.
10541
10542 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
10543
10544         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
10545         * modules/lock-tests (TESTS): Use $(EXEEXT).
10546         * modules/tls-tests: Likewise.
10547         * modules/argp-tests: Likewise.
10548         (check_PROGRAMS): New var, replacing...
10549         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
10550
10551 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10552
10553         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
10554         `config.h'.
10555
10556 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
10557
10558         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
10559
10560 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10561
10562         Sync from coreutils.
10563         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
10564         gl_CHDIR_SAFER.
10565
10566 2006-02-22  Jim Meyering  <jim@meyering.net>
10567
10568         Sync from coreutils.
10569         * m4/chdir-safer.m4: New file.
10570
10571 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10572
10573         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
10574         AT_FDCWD exceeds INT_MAX.
10575         * lib/openat.h (AT_FDCWD): Likewise.
10576
10577 2006-02-17  Eric Blake  <address@hidden>
10578
10579         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
10580
10581 2006-02-16  Simon Josefsson  <jas@extundo.com>
10582
10583         * modules/getaddrinfo (Depends-on): Add sys_socket.
10584
10585 2006-02-15  Simon Josefsson  <jas@extundo.com>
10586
10587         * build-aux/maint.mk: Add dsyntax-check rule.
10588
10589 2006-02-15  Eric Blake  <ebb9@byu.net>
10590
10591         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
10592         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
10593         'present but cannot compile' warnings on cygwin.
10594         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
10595         use ws2tcpip.h if sys/socket.h works.
10596         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
10597         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
10598
10599 2006-02-14  Simon Josefsson  <jas@extundo.com>
10600
10601         * modules/maintainer-makefile (Files): Rename.
10602
10603         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
10604         and (the local) Makefile.cfg to maint-cfg.mk.
10605
10606         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
10607         to the latter.
10608
10609         * modules/maintainer-makefile: New module.
10610
10611         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
10612         severaly stripped to make it possible to build it up from scratch
10613         with reliable tests.
10614
10615         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
10616         fixes to permit overriding the default actions when configure and
10617         makefile are not available.
10618
10619 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
10620
10621         Sync from coreutils.
10622         * modules/lstat (Depends-on): Don't depend on xalloc.
10623         (License): Change from GPL to LGPL, since this is now simply a
10624         replacement for a libc function.
10625
10626 2006-02-14  Jim Meyering  <jim@meyering.net>
10627
10628         Sync from coreutils.
10629
10630         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
10631         failure on deficient systems, and simplify gnulib lgpl dependencies.
10632         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
10633         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
10634
10635         * lib/xalloc-die.c: Remove unused definition of N_.
10636
10637 2006-02-14  Jim Meyering  <jim@meyering.net>
10638
10639         Sync from coreutils.
10640         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
10641         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
10642         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
10643         double-quote uses of that variable, to accommodate the rare case in
10644         which getmntent is available in none of the libraries checked.  This
10645         happens at least on FreeBSD 5.0.
10646
10647 2006-02-13  Simon Josefsson  <jas@extundo.com>
10648
10649         * gnulib-tool (Usage): Fix --import, from
10650         karl@freefriends.org (Karl Berry).
10651
10652 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10653
10654         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
10655
10656 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
10657
10658         * lib/argp-namefrob.h: Restore changes accidentally lost during the
10659         "autoupdate" on 2005-12-12.
10660
10661 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10662
10663         * modules/closeout (Depends-on): Remove atexit.
10664
10665 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10666
10667         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
10668         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
10669
10670 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
10671
10672         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
10673         __EXTENSIONS__ if this causes compilation to fail.  Problem
10674         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
10675         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
10676
10677 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
10678
10679         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
10680         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
10681         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
10682         All uses changed.
10683
10684 2006-01-26  Simon Josefsson  <jas@extundo.com>
10685
10686         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
10687         prototype is visible on mingw32.
10688
10689         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
10690         for mingw32.
10691
10692         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
10693         mingw32).
10694
10695 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
10696
10697         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
10698         attempt to open for write; this always fails, at least on POSIX
10699         hosts.  This reinstates the 2006-01-09 change, which was
10700         inadvertently removed.
10701
10702 2006-01-26  Bruno Haible  <bruno@clisp.org>
10703
10704         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
10705         Reported by Paul Eggert.
10706
10707 2006-01-26  Bruno Haible  <bruno@clisp.org>
10708             Paul Eggert  <eggert@cs.ucla.edu>
10709
10710         * lib/stdbool_.h (_Bool)
10711         [(! (defined __cplusplus || defined __BEOS__)
10712           && !defined __GNUC__
10713           && !(defined __HP_cc || defined __xlc__
10714                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
10715                || defined __sgi))]:
10716         #define to signed char in these cases too; this simplifies
10717         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
10718         etc., separately) and makes it more conservative.
10719
10720 2006-01-25  Simon Josefsson  <jas@extundo.com>
10721
10722         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
10723         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
10724         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
10725
10726 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10727
10728         * lib/argp-namefrob.h: Bugfix. Remove stray #
10729
10730 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
10731
10732         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
10733         so that we test the test.
10734         Check for yet another HP-UX cc bug involving *bool |= bool.
10735
10736 2006-01-25  Karl Berry  <karl@gnu.org>
10737
10738         * config/srclist.txt (vasnprintf.c): sync lost.
10739
10740 2006-01-25  Jim Meyering  <jim@meyering.net>
10741
10742         Sync from the stable (b5) branch of coreutils:
10743
10744         * lib/fts.c (fts_children): Don't let close() clobber errno from
10745         failed fchdir().
10746
10747         * lib/fts.c (fts_stat): When following a symlink-to-directory,
10748         don't necessarily interpret stat-fails+lstat-succeeds as indicating
10749         a dangling symlink.  That can also happen at least for ELOOP.
10750         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
10751         FYI, this bug predates the inclusion of fts.c in coreutils.
10752
10753         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
10754         in their own block, so pre-c99 compilers don't object.
10755
10756         Avoid the double-free (first in fts_read, second in fts_close) that
10757         would occur when an `active' directory is made inaccessible (e.g.,
10758         via chmod a-x) during a traversal.
10759         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10760         before returning.  Reproduce this failure by
10761         mkdir -p a/b; cd a; chmod a-x . b
10762         Reported by Stavros Passas.
10763
10764 2006-01-25  Jim Meyering  <jim@meyering.net>
10765
10766         * lib/fileblocks.c: Remove more useless parentheses.
10767         * lib/readutmp.h: Likewise.
10768
10769 2006-01-25  Bruno Haible  <bruno@clisp.org>
10770
10771         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
10772         warnings.
10773         Reported by Paul Eggert.
10774
10775 2006-01-25  Bruno Haible  <bruno@clisp.org>
10776
10777         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
10778         rid of a trap command. For Solaris sh.
10779         Reported by Mark D. Baushke <mdb@gnu.org>.
10780
10781 2006-01-24  Simon Josefsson  <jas@extundo.com>
10782
10783         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
10784         Bruno.
10785
10786 2006-01-24  Karl Berry  <karl@gnu.org>
10787
10788         * config/srclist.txt (argp-namefrob.h): sync lost.
10789
10790 2006-01-24  Jim Meyering  <jim@meyering.net>
10791
10792         * modules/openat (Files): Add lib/intprops.h.
10793         From Mark D. Baushke.
10794
10795 2006-01-24  Jim Meyering  <jim@meyering.net>
10796
10797         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
10798         Reported by Mark D. Baushke.
10799
10800 2006-01-24  Jim Meyering  <jim@meyering.net>
10801
10802         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
10803
10804 2006-01-24  Bruno Haible  <bruno@clisp.org>
10805
10806         * modules/strnlen (Maintainer): Change from glibc to all.
10807
10808 2006-01-24  Bruno Haible  <bruno@clisp.org>
10809
10810         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
10811         Patch by Paul Eggert.
10812
10813 2006-01-24  Bruno Haible  <bruno@clisp.org>
10814
10815         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
10816         already has it.
10817         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
10818         2005-11-26.
10819
10820         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
10821         'signed char' to avoid problems with the built-in _Bool type.
10822         Reported by Paul Eggert on 2005-11-26.
10823
10824 2006-01-24  Bruno Haible  <bruno@clisp.org>
10825
10826         * gnulib-tool (func_import): Avoid constructing complicated sed
10827         expressions inside backquote.
10828         Report and solution by Mark D. Baushke <mdb@gnu.org>.
10829
10830 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
10831
10832         These changes imported from libc.
10833         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
10834         test and two separate function calls.
10835         * lib/strndup.c (__strndup): Add libc_hidden_def.
10836
10837 2006-01-23  Simon Josefsson  <jas@extundo.com>
10838
10839         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
10840         Remove the test_*_SOURCES variable: automake infers it by default.
10841         * modules/tls-tests: Likewise.
10842
10843 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10844
10845         Work around porting bugs reported by Dieter in
10846         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
10847         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
10848         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
10849         Include "getopt.h" first, to check interface.
10850         (getenv): Declare only if defined HAVE_DECL_GETENV &&
10851         !HAVE_DECL_GETENV.
10852         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
10853         (__strndup): Revert to K&R-style function dfns, the glibc style.
10854         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
10855         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
10856         Include strnlen.h first, to get prototype properly.
10857         (strnlen): Renamed from __strnlen.
10858         Remove weak alias.
10859
10860 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10861
10862         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
10863
10864 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10865
10866         * config/srclist.txt: Adjust to reflect glibc reorganization.
10867         This affects only comments.
10868
10869 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10870
10871          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
10872          Reported by Bruce Korb <bkorb@gnu.org>.
10873
10874 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
10875
10876         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
10877         to pacify gcc -Wswitch-default.
10878
10879 2006-01-22  Bruno Haible  <bruno@clisp.org>
10880
10881         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
10882         temporary buffer for sprintf, take into account the precision also
10883         for 'd', 'i', 'u', 'o', 'x', 'X'.
10884
10885 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10886
10887         * modules/argp-tests: New module
10888         * tests/test-argp.c: New file
10889         * tests/test-argp-2.sh: New file
10890
10891 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10892
10893         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
10894         (__argp_base_name): Removed
10895         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
10896         typo.
10897         (__argp_base_name): Provide macro definition or extern declaration
10898         depending on the configuration
10899
10900 2006-01-20  Simon Josefsson  <jas@extundo.com>
10901
10902         * modules/inet_ntop (Depends-on): Depend on sys_socket.
10903
10904 2006-01-20  Simon Josefsson  <jas@extundo.com>
10905
10906         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
10907
10908 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
10909
10910         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
10911         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
10912         Suggested by Bruno Haible.
10913
10914 2006-01-20  Karl Berry  <karl@gnu.org>
10915
10916         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
10917         until changes propagate, I guess.
10918
10919 2006-01-19  Simon Josefsson  <jas@extundo.com>
10920
10921         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
10922
10923 2006-01-19  Simon Josefsson  <jas@extundo.com>
10924
10925         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
10926
10927 2006-01-19  Simon Josefsson  <jas@extundo.com>
10928
10929         * gnulib-tool: Set check_PROGRAMS.
10930
10931         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10932         modules/des-tests, modules/gc-arcfour-tests,
10933         modules/gc-arctwo-tests, modules/gc-des-tests,
10934         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10935         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10936         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10937         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10938         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10939         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
10940         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
10941         test_*_SOURCES.
10942
10943 2006-01-18  Simon Josefsson  <jas@extundo.com>
10944
10945         * modules/socklen (Depends-on): Depend on sys_socket.
10946
10947 2006-01-18  Simon Josefsson  <jas@extundo.com>
10948
10949         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10950         modules/des-tests, modules/gc-arcfour-tests,
10951         modules/gc-arctwo-tests, modules/gc-des-tests,
10952         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10953         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10954         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10955         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10956         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10957         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
10958         $(EXEEXT) to automake TESTS variable, for mingw32.
10959
10960 2006-01-17  Simon Josefsson  <jas@extundo.com>
10961
10962         * modules/socklen (Include): Need sys/socket.h.
10963
10964 2006-01-17  Bruno Haible  <bruno@clisp.org>
10965
10966         * modules/ssize_t (Include): Add <sys/types.h>.
10967
10968 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
10969
10970         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
10971         it's not portable and it doesn't work with cross-compiles.
10972         Problem reported by Bruno Haible.  Fix missing-$ typo in
10973         'test "gl_cv_ignore_unused_libraries" ...' that prevented
10974         -zignore from being used with Sun's C compiler.
10975
10976 2006-01-12  Simon Josefsson  <jas@extundo.com>
10977
10978         * lib/base64.c: Fix warning, reported by Bruno Haible
10979         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
10980
10981 2006-01-12  Bruno Haible  <bruno@clisp.org>
10982
10983         * modules/ldd: New file.
10984         * build-aux/ldd.sh.in: New file.
10985         * MODULES.html.sh (Support for building libraries and executables): Add
10986         ldd.
10987
10988 2006-01-12  Bruno Haible  <bruno@clisp.org>
10989
10990         * m4/ldd.m4: New file.
10991
10992 2006-01-12  Bruno Haible  <bruno@clisp.org>
10993
10994         * gnulib-tool (func_import, func_create_testdir): Don't go into an
10995         endless loop while replacing $auxdir with build-aux.
10996
10997 2006-01-11  Simon Josefsson  <jas@extundo.com>
10998
10999         * lib/stdint_.h (SIZE_MAX): Add missing (.
11000
11001 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
11002
11003         Sync from coreutils.
11004         * lib/md5.c: Fix commentary typos.
11005         (alignof, UNALIGNED_P): No need for a GCC-specific version.
11006         * lib/md5.h (__attribute__): Remove; unused.
11007         * lib/sha1.c: Fix commentary to match md5 better.
11008         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
11009         so that we don't need to worry about alignment.  All uses changed.
11010         This merges the 2005-10-28 md5 change into sha1.
11011
11012 2006-01-11  Jim Meyering  <jim@meyering.net>
11013
11014         Sync from coreutils.
11015         * lib/md5.c (OP): Fix spacing.
11016
11017 2006-01-11  Bruno Haible  <bruno@clisp.org>
11018
11019         Ensure automatic ordering between gl_LOCK and gl_ARGP.
11020         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
11021         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
11022
11023 2006-01-11  Bruno Haible  <bruno@clisp.org>
11024
11025         Ensure automatic ordering between gl_LOCK and gl_ARGP.
11026         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
11027         the "early" section as well.
11028
11029 2006-01-11  Bruno Haible  <bruno@clisp.org>
11030
11031         Avoid "ar: no archive members specified" error on MacOS X.
11032         * gnulib-tool (func_modules_add_dummy): New function.
11033         (func_import, func_create_testdir): Invoke it.
11034
11035 2006-01-11  Bruno Haible  <bruno@clisp.org>
11036
11037         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
11038         with $auxdir in AC_CONFIG_FILES statements.
11039
11040 2006-01-11  Bruno Haible  <bruno@clisp.org>
11041
11042         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
11043         Initialize also noinst_HEADERS to empty.
11044
11045 2006-01-11  Bruno Haible  <bruno@clisp.org>
11046
11047         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
11048         variables.
11049         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
11050         autoreconf.
11051
11052 2006-01-11  Bruno Haible  <bruno@clisp.org>
11053
11054         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
11055         overridable by the user.
11056         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11057
11058 2006-01-10  Simon Josefsson  <jas@extundo.com>
11059
11060         * modules/sys_socket: New file.
11061
11062 2006-01-10  Simon Josefsson  <jas@extundo.com>
11063
11064         * m4/sys_socket_h.m4: New file.
11065
11066 2006-01-10  Simon Josefsson  <jas@extundo.com>
11067
11068         * lib/socket_.h: New file.
11069
11070 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
11071
11072         * modules/readutmp (Maintainer): Add myself.
11073
11074 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
11075
11076         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
11077         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
11078         People who are still concerned with buggy memcmp implementations
11079         can invoke gl_FUNC_MEMCMP themselves.
11080
11081 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
11082
11083         * lib/regex_internal.h (BITSET_WORD_BITS):
11084         Work around a bug in 64-bit PGC (before version 6.1-2), where the
11085         preprocessor mishandles large unsigned values as if they were signed.
11086         Problem reported by Claudio Fontana in
11087         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
11088
11089 2006-01-10  Jim Meyering  <jim@meyering.net>
11090
11091         Avoid the double-free (first in fts_read, second in fts_close) that
11092         would occur when an `active' directory is made inaccessible (e.g.,
11093         via chmod a-x) during a traversal.
11094         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
11095         before returning.  Reproduce this failure by
11096         mkdir -p a/b; cd a; chmod a-x . b
11097         Reported by Stavros Passas.
11098
11099         Sync from coreutils.
11100         * lib/sha1.c: Tweak grammar in a comment.
11101
11102 2006-01-10  Jim Meyering  <jim@meyering.net>
11103
11104         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
11105         Patch by Joerg Sonnenberger.
11106
11107 2006-01-10  Bruno Haible  <bruno@clisp.org>
11108
11109         * modules/readutmp: Depend on module free.
11110         * modules/strtok_r: Depend on module restrict.
11111
11112 2006-01-10  Bruno Haible  <bruno@clisp.org>
11113
11114         * modules/gettext (configure.ac): Add an invocation of
11115         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
11116
11117 2006-01-10  Bruno Haible  <bruno@clisp.org>
11118
11119         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
11120         Reported by Werner Lemberg <wl@gnu.org>.
11121
11122 2006-01-10  Bruno Haible  <bruno@clisp.org>
11123
11124         * lib/localcharset.c: Update from GNU gettext.
11125
11126 2006-01-10  Bruno Haible  <bruno@clisp.org>
11127
11128         * lib/argp.h (__const): Remove macro. Use const instead.
11129         * lib/argp-fmtstream.h (__const): Likewise.
11130         * lib/glob_.h (__const): Remove macro.
11131         * lib/glob-libc.h: Use const instead of __const.
11132
11133 2006-01-10  Bruno Haible  <bruno@clisp.org>
11134
11135         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
11136         variable.
11137         Needed to avoid an automake error regarding the 'gettext' module.
11138
11139 2006-01-09  Simon Josefsson  <jas@extundo.com>
11140
11141         * modules/inet_ntop (Depends-on): Add restrict.
11142
11143 2006-01-09  Simon Josefsson  <jas@extundo.com>
11144
11145         * modules/gc-rijndael-tests (License): Put under LGPL.
11146
11147         * modules/gc-des-tests (License): Likewise.
11148
11149         * modules/gc-arcfour-tests (License): Likewise.
11150
11151         * modules/gc-arctwo-tests (License): Likewise.
11152
11153         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
11154
11155         * modules/gc-hmac-sha1-tests (Files): Likewise.
11156
11157         * modules/gc-hmac-md5-tests (License): Likewise.
11158
11159         * modules/gc-sha1-tests (License): Likewise.
11160
11161         * modules/gc-md5-tests (License): Likewise.
11162
11163         * modules/gc-md4-tests (License): Likewise.
11164
11165         * modules/gc-md2-tests (License): Likewise.
11166
11167         * modules/gc-tests (License): Likewise.
11168
11169         * modules/des-tests (License): Likewise.
11170
11171         * modules/md4-tests (License): Likewise.
11172
11173         * modules/md2-tests (License): Likewise.
11174
11175 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11176
11177         Sync from coreutils:
11178
11179         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
11180         * modules/lib-ignore: New file.
11181         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
11182         chdir-safer.m4, lchmod.m4.
11183         * modules/openat: Add mkdirat.c, openat-priv.h.
11184
11185 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11186
11187         Sync from coreutils.
11188         * m4/lib-ignore.m4: New file.
11189         * m4/lchmod.m4: New file.
11190
11191 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11192
11193         Sync from coreutils.
11194         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
11195         for write access: POSIX says that must fail.
11196         * lib/fts.c (diropen): Likewise.
11197         * lib/save-cwd.c (save_cwd): Likewise.
11198         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
11199         well, for minor improvements on hosts that lack O_DIRECTORY.
11200         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
11201         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
11202         Fall back on chown if open failed with EACCES.
11203
11204         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
11205         Report an error at compile-time if only a 1-second nominal clock
11206         resolution is found.
11207
11208         * lib/lchmod.h: New file.
11209         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
11210         (make_dir_parents): Use lchown rather than chown, and
11211         lchmod rather than chmod.
11212
11213         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
11214         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
11215         "proc" reported by n0dalus.
11216
11217         * lib/mountlist.c: Include <limits.h>.
11218         (dev_from_mount_options)
11219         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
11220         New function.  It no longer assumes "dev=" has the System V meaning
11221         on Linux (since it doesn't).  It also parses "dev=" more carefully.
11222         (read_file_system_list)
11223         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
11224         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
11225         dev= in that case.
11226
11227         * lib/posixtm.h (PDS_PRE_2000): New macro.
11228         * lib/posixtm.c (year): Arg is now syntax_bits rather than
11229         allow_century.  All usages changed.  Reject dates outside the range
11230         1969-1999 if PDS_PRE_2000 is used.
11231
11232 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11233
11234         Sync from coreutils.
11235         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
11236         (Time of day items): Mention the possibility of leap seconds.
11237         Problem reported by Dr. David Alan Gilbert.
11238
11239 2006-01-09  Jim Meyering  <jim@meyering.net>
11240
11241         Sync from coreutils.
11242
11243         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
11244
11245         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
11246
11247         * lib/modechange.c (mode_compile): Reject an invalid mode string
11248         that starts with an octal digit.  From Andreas Gruenbacher.
11249
11250         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
11251         and dup to open_safer and dup_safer, respectively.
11252         (openat_permissive): Fix typo in comment.
11253
11254         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
11255         "gettext.h"; either no longer needed or are guaranteed by openat.h.
11256         (_): Remove; no longer needed.
11257         (openat): Renamed from rpl_openat; no need for rpl_openat
11258         since openat.h renames openat for us.
11259         Replace most of the body with a call to openat_permissive,
11260         to avoid duplicate code.
11261         Port to (probably hypothetical) environments were mode_t is
11262         wider than int.
11263         (openat_permissive): Require mode arg, so that we can check
11264         types better.  Put it just after flags.  Change cwd failure
11265         indicator from pointer-to-bool to pointer-to-errno-value.
11266         All callers changed.
11267         Invoke openat_save_fail and/or openat_restore_fail if
11268         cwd_errno is null, so that openat can call us.
11269         (openat_permissive, fdopendir, fstatat, unlinkat):
11270         Simplify errno handling to avoid some duplicate code,
11271         as it's OK to set errno on success.
11272         * lib/openat.h: Revamp code so that function macros depend on
11273         __OPENAT_PREFIX only, not also on AT_FDCWD.
11274         (openat_ro): Remove.  Caller changed to use openat_permissive.
11275         (openat_permissive): Now a macro, if not a function.
11276         (openat_restore_fail, openat_save_fail): Now always functions,
11277         since mkdirat needs them even if __OPENAT_PREFIX is defined.
11278
11279         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
11280         and openat.c.
11281         * lib/mkdirat.c: Include openat-priv.h.
11282         Remove definitions of macros defined therein.
11283         * lib/openat.c: Likewise.
11284
11285         * lib/mkdirat.c (mkdirat): New file and function.
11286         * lib/openat.h (mkdirat): Declare.
11287
11288         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
11289
11290         * lib/openat.h (openat_permissive): Declare.
11291         (openat_ro): Define.
11292
11293         * lib/openat.c (EXPECTED_ERRNO): New macro.
11294         (openat_permissive): New function -- used in remove.c rewrite.
11295         (all functions): Set errno just before returning, only if there
11296         was an actual failure.
11297         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
11298
11299         Emulate openat-family functions using Linux's procfs, if possible.
11300         Idea and some code based on Ulrich Drepper's glibc changes.
11301
11302         * lib/openat.c: (BUILD_PROC_NAME): New macro.
11303         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
11304         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
11305         before falling back on save_cwd and restore_cwd.
11306         (fdopendir, fstatat, unlinkat): Likewise.
11307
11308         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
11309         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
11310
11311         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
11312         as second argument to va_arg.  Otherwise, some versions of gcc
11313         warn that `if this code is reached, the program will abort'.
11314
11315 2006-01-09  Jim Meyering  <jim@meyering.net>
11316
11317         Sync from coreutils.
11318         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
11319         Require openat-priv.h.
11320
11321 2006-01-09  Bruno Haible  <bruno@clisp.org>
11322
11323         * modules/strnlen (Include): Use strnlen.h.
11324
11325 2006-01-09  Bruno Haible  <bruno@clisp.org>
11326
11327         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
11328
11329 2006-01-09  Bruno Haible  <bruno@clisp.org>
11330
11331         * lib/sysexit_.h (EX_OK): New macro.
11332         Suggested by Martin Lambers <marlam@marlam.de>.
11333
11334 2006-01-09  Bruno Haible  <bruno@clisp.org>
11335
11336         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
11337         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
11338
11339 2006-01-09  Bruno Haible  <bruno@clisp.org>
11340
11341         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
11342         numbers.
11343
11344 2006-01-09  Bruno Haible  <bruno@clisp.org>
11345
11346         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
11347         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
11348         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
11349         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
11350
11351 2006-01-09  Bruno Haible  <bruno@clisp.org>
11352
11353         * build-aux/javacomp.sh.in: New file, moved from lib/.
11354         * modules/javacomp-script (Files): Update.
11355         (configure.ac): Add AC_CONFIG_FILES invocation.
11356         (EXTRA_DIST): Remove variable.
11357
11358         * build-aux/javaexec.sh.in: New file, moved from lib/.
11359         * modules/javaexec (Files): Update.
11360         (configure.ac): Add AC_CONFIG_FILES invocation.
11361         (EXTRA_DIST): Remove javaexec.sh.in.
11362
11363         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
11364         * modules/csharpcomp-script (Files): Update.
11365         (configure.ac): Add AC_CONFIG_FILES invocation.
11366         (EXTRA_DIST): Remove variable.
11367
11368         * build-aux/csharpexec.sh.in: New file, moved from lib/.
11369         * modules/csharpexec (Files): Update.
11370         (configure.ac): Add AC_CONFIG_FILES invocation.
11371         (EXTRA_DIST): Remove csharpexec.sh.in.
11372
11373 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
11374
11375         Sync from coreutils.
11376
11377         Add POSIX ACL support
11378         * lib/acl.h (copy_acl, set_acl): Add declarations.
11379         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
11380         systems other than Linux.
11381         (chmod_or_fchmod): New function: use fchmod when possible,
11382         and chmod otherwise.
11383         (file_has_acl): Add a POSIX ACL implementation, with a
11384         Linux-specific subcase.
11385         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
11386         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
11387         acls are unsupported.
11388         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
11389         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
11390         are unsupported.
11391
11392 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
11393
11394         Sync from coreutils.
11395         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
11396
11397 2006-01-07  Bruno Haible  <bruno@clisp.org>
11398
11399         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
11400         gl_EARLY.
11401
11402 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11403
11404         * lib/strftime.c (tzname): Don't declare if it is already #defined.
11405         Problem reported for Mingw by Mark Junker.
11406
11407 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11408
11409         * README: Gnulib normally doesn't generate a tarball.
11410
11411 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
11412
11413         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
11414         long int, not int, for nanosecond counts, so that people who are
11415         used to POSIX struct timespec won't be surprised.  Reported by Jim
11416         Meyering.
11417
11418 2005-12-28  Bruno Haible  <bruno@clisp.org>
11419
11420         * build-aux/config.rpath: Update from GNU gettext.
11421
11422 2005-12-16  Jim Meyering  <jim@meyering.net>
11423
11424         * modules/fprintftime: New module.
11425         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
11426
11427 2005-12-16  Jim Meyering  <jim@meyering.net>
11428
11429         * m4/fprintftime.m4: New file.
11430
11431 2005-12-16  Jim Meyering  <jim@meyering.net>
11432
11433         * lib/fprintftime.c, lib/fprintftime.h: New files.
11434
11435 2005-12-15  Simon Josefsson  <jas@extundo.com>
11436
11437         * modules/socklen (configure.ac): Fix M4 macro name, to align with
11438         new m4/socklen.m4.
11439
11440 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11441
11442         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
11443         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
11444
11445 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11446
11447         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
11448         * lib/argp-help.c (fill_in_uparams): Check if the constructed
11449         struct uparams is valid. Fall back to the default values if it is
11450         not.
11451
11452 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11453
11454         * modules/argp (Files): Add argp-pin.c
11455         (Depends-on): dirname
11456         (lib_SOURCES): Add argp-pin.c
11457
11458 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11459
11460         * m4/argp.m4:  Check if program_invocation_name and
11461         program_invocation_short_name are declared and define appropriate
11462         macros if they are not.
11463
11464 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11465
11466         * lib/argp-help.c (__argp_base_name): New function
11467         (__argp_short_program_name): Rewrite using __argp_base_name
11468         * lib/argp-namefrob.h: Define program_invocation_name and
11469         program_invocation_short_name if requested
11470         (__argp_base_name): Add prototype
11471         * lib/argp-parse.c (argp_def): Use gettext wrappers
11472         (argp_default_parser): Use __argp_base_name
11473         * lib/argp-pin.c: New file. Defines program_invocation_name and
11474         program_invocation_short_name on systems that lack them.
11475
11476 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11477
11478         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
11479         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11480         porting problem reported by Georg Schwarz in
11481         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11482
11483 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11484
11485         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
11486         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11487         porting problem reported by Georg Schwarz in
11488         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11489
11490 2005-12-05  Bruno Haible  <bruno@clisp.org>
11491
11492         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
11493         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
11494         Reported by Mark Junker <mjscod@gmx.de>.
11495
11496 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
11497
11498         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
11499         Use implementation from Albert Chin, with some
11500         comments/corrections by Stepan Kasal and myself.
11501
11502 2005-12-02  Bruno Haible  <bruno@clisp.org>
11503
11504         * gnulib-tool (func_import): Accept GPLed build tool modules when
11505         --lgpl is given.
11506         * modules/csharpcomp-script: New file.
11507         * modules/csharpcomp: Depend on it.
11508         * modules/javacomp-script: New file.
11509         * modules/javacomp: Depend on it.
11510         Suggested by Simon Josefsson.
11511
11512 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
11513
11514         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
11515         statement, to work around an HP-UX 10.20 compiler bug reported by
11516         Peter O'Gorman.
11517
11518 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11519
11520         * modules/savedir (Depends-on): Add openat.
11521
11522 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11523
11524         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
11525         (uintmax_t) [defined uintmax_t]: Do not declare.
11526         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
11527         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
11528         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
11529         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
11530         sake of portability to weird hosts that C allows (though we don't
11531         know of any practical examples).
11532
11533         * lib/savedir.h (fdsavedir): New decl.
11534         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
11535         contains most of the former guts of savedir.
11536         (savedir): Use savedirstream.
11537         Include "openat.h".
11538
11539 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11540
11541         * modules/obstack (Files): Add m4/ulonglong.m4.
11542         Problem reported by Davide Angelocola.
11543
11544 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
11545
11546         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
11547         coreutils no longer futzes with rounding modes.
11548
11549 2005-11-14  Jim Meyering  <jim@meyering.net>
11550
11551         * lib/mkstemp-safer.c: Include <config.h>, required for possible
11552         replacement of mkstemp.
11553
11554 2005-11-10  Simon Josefsson  <jas@extundo.com>
11555
11556         * lib/readline.c: Remove EOL.
11557
11558 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11559
11560         * modules/gethrxtime (Depends-on): Add gettime.
11561
11562 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11563
11564         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
11565         or gettimeofday; no longer needed.
11566
11567 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11568
11569         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
11570         time business.
11571         (gethrxtime) [! (HAVE_NANOUPTIME
11572         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
11573         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
11574         our own approximation.
11575
11576 2005-11-08  Eric Blake  <ebb9@byu.net>
11577
11578         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11579
11580 2005-11-08  Eric Blake  <ebb9@byu.net>
11581
11582         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11583
11584 2005-11-04  Bruno Haible  <bruno@clisp.org>
11585
11586         * gnulib-tool: Implement --update mode.
11587
11588 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11589
11590         Fix porting problem reported by Theodoros V. Kalamatianos.
11591         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
11592         Don't assume that futimes failing means we must fail.
11593
11594 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11595
11596         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
11597         variables to suggest the intended function of the PATH_MAX check.
11598
11599 2005-10-30  Kean Johnston  <jkj@sco.com>
11600
11601         Trivial changes to support SCO systems.
11602         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
11603         as PATH_MAX.
11604         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
11605         where __ptr is null when no I/O is pending.
11606
11607 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11608
11609         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
11610         leave errno alone.  Problem reported by Dmitry V. Levin.
11611
11612 2005-10-28  Simon Josefsson  <jas@extundo.com>
11613
11614         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
11615         Test more.
11616
11617         * tests/test-gc-md2.c, tests/test-md2.c: New files.
11618
11619         * modules/md2, modules/md2-tests: New files.
11620
11621 2005-10-28  Simon Josefsson  <jas@extundo.com>
11622
11623         * m4/inet_ntop.m4: More tests.
11624
11625         * m4/gc-md2.m4, md2.m4: New file.
11626
11627 2005-10-28  Simon Josefsson  <jas@extundo.com>
11628
11629         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
11630         "restrict" keywords, as per POSIX.  Protect the function
11631         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
11632         Don't use K&R prototypes.  Check the sprintf return values.
11633         Re-define EAFNOSUPPORT if not present.  Indent.
11634
11635         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
11636         suggested by Bruno Haible <bruno@clisp.org>.
11637
11638         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
11639
11640         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
11641
11642         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
11643         libgcrypt).
11644
11645         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
11646
11647         * lib/md2.h, lib/md2.c: New files.
11648
11649 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
11650
11651         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
11652         errno alone.  Problem reported by Frederic Jolliton.
11653
11654 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11655
11656         * modules/verify (License): Change from GPL to LGPL.  This is a
11657         tiny module and there are apparently near-equivalents that are
11658         under the BSD license.
11659
11660 2005-10-24  Simon Josefsson  <jas@extundo.com>
11661
11662         * modules/sha1: Relicense to LGPL.
11663
11664 2005-10-24  Simon Josefsson  <jas@extundo.com>
11665
11666         * lib/md4.h: Shrink buffer size, now that we changed the type.
11667
11668 2005-10-23  Simon Josefsson  <jas@extundo.com>
11669
11670         * gnulib-tool (func_import): Fix --tests-base.
11671
11672 2005-10-22  Simon Josefsson  <jas@extundo.com>
11673
11674         * modules/arcfour (Depends-on): Need stdint.
11675
11676 2005-10-22  Simon Josefsson  <jas@extundo.com>
11677
11678         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
11679         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
11680
11681 2005-10-22  Simon Josefsson  <jas@extundo.com>
11682
11683         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
11684         suggested by Bruno Haible <bruno@clisp.org>.
11685
11686 2005-10-22  Simon Josefsson  <jas@extundo.com>
11687
11688         * lib/crc.h: Include stddef.h, for size_t.
11689
11690 2005-10-22  Simon Josefsson  <jas@extundo.com>
11691
11692         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
11693         arcfour_context struct (simplify test vector testing in GNU
11694         Shishi).
11695
11696 2005-10-21  Simon Josefsson  <jas@extundo.com>
11697
11698         * modules/des, modules/des-tests: New files.
11699
11700         * modules/gc-des, modules/gc-des-tests: New files.
11701
11702         * tests/test-des.c, tests/test-gc-des.c: New file.
11703
11704 2005-10-21  Simon Josefsson  <jas@extundo.com>
11705
11706         * modules/arctwo, modules/arctwo-tests: New files.
11707
11708         * tests/test-arctwo.c: New file.
11709
11710         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
11711
11712         * tests/test-gc-arctwo.c: New file.
11713
11714 2005-10-21  Simon Josefsson  <jas@extundo.com>
11715
11716         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
11717         Bruno Haible <bruno@clisp.org>.
11718
11719         * m4/gc-des.m4: New file.
11720
11721 2005-10-21  Simon Josefsson  <jas@extundo.com>
11722
11723         * m4/arctwo.m4: New file.
11724
11725         * m4/gc-arctwo.m4: New file.
11726
11727 2005-10-21  Simon Josefsson  <jas@extundo.com>
11728
11729         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
11730         block.
11731
11732 2005-10-21  Simon Josefsson  <jas@extundo.com>
11733
11734         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
11735         <bruno@clisp.org>.
11736
11737         * lib/hmac-sha1.c (hmac_sha1): Likewise.
11738
11739         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
11740         Bruno Haible <bruno@clisp.org>.
11741
11742         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
11743         <bruno@clisp.org>.
11744
11745 2005-10-21  Simon Josefsson  <jas@extundo.com>
11746
11747         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
11748
11749 2005-10-21  Simon Josefsson  <jas@extundo.com>
11750
11751         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
11752
11753 2005-10-21  Simon Josefsson  <jas@extundo.com>
11754
11755         * lib/des.h, lib/des.c: New files.
11756
11757         * lib/gc-gnulib.c: Support DES.c
11758
11759 2005-10-21  Simon Josefsson  <jas@extundo.com>
11760
11761         * lib/arctwo.h, lib/arctwo.c: New files.
11762
11763         * lib/gc-gnulib.c: Support ARCTWO.
11764
11765 2005-10-21  Simon Josefsson  <jas@extundo.com>
11766
11767         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
11768         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11769
11770 2005-10-21  Simon Josefsson  <jas@extundo.com>
11771
11772         * gnulib-tool (func_import, func_create_testdir): Define automake
11773         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
11774         Makefile.am snippet),
11775         suggested by Bruno Haible <bruno@clisp.org>.
11776
11777         * modules/gc (Makefile.am): Use it.
11778
11779 2005-10-21  Bruno Haible  <bruno@clisp.org>
11780
11781         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
11782         patch.
11783
11784 2005-10-19  Simon Josefsson  <jas@extundo.com>
11785
11786         * tests/test-gc-rijndael.c: New file.
11787
11788         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
11789
11790 2005-10-19  Simon Josefsson  <jas@extundo.com>
11791
11792         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
11793         interface too.
11794
11795 2005-10-19  Simon Josefsson  <jas@extundo.com>
11796
11797         * tests/test-gc-arcfour.c: New file.
11798
11799         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
11800
11801 2005-10-19  Simon Josefsson  <jas@extundo.com>
11802
11803         * modules/gc-md4, modules/gc-md4-tests: New file.
11804
11805         * tests/test-gc-md4.c: New file.
11806
11807 2005-10-19  Simon Josefsson  <jas@extundo.com>
11808
11809         * m4/gc-md4.m4: New file.
11810
11811 2005-10-19  Simon Josefsson  <jas@extundo.com>
11812
11813         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
11814         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
11815         <kasal@ucw.cz>.
11816
11817 2005-10-19  Simon Josefsson  <jas@extundo.com>
11818
11819         * m4/gc-arcfour.m4: New file.
11820
11821         * m4/gc-rijndael.m4: New file.
11822
11823 2005-10-19  Simon Josefsson  <jas@extundo.com>
11824
11825         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
11826
11827 2005-10-19  Simon Josefsson  <jas@extundo.com>
11828
11829         * lib/gc-gnulib.c: Support ARCFOUR.
11830
11831 2005-10-19  Simon Josefsson  <jas@extundo.com>
11832
11833         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
11834         support.
11835
11836         * lib/gc.h: Add ECB enum type.
11837
11838         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
11839
11840 2005-10-18  Simon Josefsson  <jas@extundo.com>
11841
11842         * tests/test-md5.c: New file.
11843
11844         * modules/md5-tests: New file.
11845
11846 2005-10-18  Simon Josefsson  <jas@extundo.com>
11847
11848         * tests/test-md4.c: New file.
11849
11850         * modules/md4, modules/md4-tests: New files.
11851
11852 2005-10-18  Simon Josefsson  <jas@extundo.com>
11853
11854         * m4/md4.m4: New file.
11855
11856 2005-10-18  Simon Josefsson  <jas@extundo.com>
11857
11858         * lib/md4.h, lib/md4.c: New files, based on md5.?.
11859
11860 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
11861
11862         * gnulib-tool (func_create_testdir): Omit the second check whether
11863         BUILT_SOURCES in nonempty.
11864
11865 2005-10-17  Simon Josefsson  <jas@extundo.com>
11866
11867         * tests/test-rijndael.c: New file.
11868
11869 2005-10-17  Simon Josefsson  <jas@extundo.com>
11870
11871         * modules/sha1: Depend on stdint instead of md5.
11872
11873         * modules/md5: Depend on stdint, remove uint32_t.
11874
11875 2005-10-17  Simon Josefsson  <jas@extundo.com>
11876
11877         * modules/gc-sha1-tests: New file.
11878
11879         * tests/test-gc-sha1.c: New file.
11880
11881 2005-10-17  Simon Josefsson  <jas@extundo.com>
11882
11883         * m4/md5.m4: Remove call to uint32_t.m4.
11884
11885 2005-10-17  Simon Josefsson  <jas@extundo.com>
11886
11887         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
11888
11889         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
11890         md5.h.
11891
11892         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
11893
11894         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
11895
11896 2005-10-17  Simon Josefsson  <jas@extundo.com>
11897
11898         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
11899
11900 2005-10-17  Simon Josefsson  <jas@extundo.com>
11901
11902         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
11903
11904 2005-10-17  Simon Josefsson  <jas@extundo.com>
11905
11906         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
11907
11908         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
11909
11910 2005-10-17  Bruno Haible  <bruno@clisp.org>
11911
11912         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
11913         that it can also be used in a test.
11914
11915 2005-10-16  Bruno Haible  <bruno@clisp.org>
11916
11917         * gnulib-tool (func_emit_tests_Makefile_am): Also define
11918         TESTS_ENVIRONMENT, so that individual tests can augment it.
11919
11920         * gnulib-tool (func_create_testdir): Use an intermediate target for
11921         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
11922         macros, like $(ALLOCA_H), which cannot be passed through the command
11923         line.
11924
11925 2005-10-15  Simon Josefsson  <jas@extundo.com>
11926
11927         * modules/rijndael-tests: New file.
11928
11929         * modules/rijndael: New file.
11930
11931 2005-10-15  Simon Josefsson  <jas@extundo.com>
11932
11933         * m4/rijndael.m4: New file.
11934
11935 2005-10-15  Simon Josefsson  <jas@extundo.com>
11936
11937         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
11938
11939         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
11940
11941 2005-10-14  Simon Josefsson  <jas@extundo.com>
11942
11943         * tests/test-arcfour.c: New file.
11944
11945         * modules/arcfour, modules/arcfour-tests: New files.
11946
11947 2005-10-14  Simon Josefsson  <jas@extundo.com>
11948
11949         * m4/arcfour.m4: New file.
11950
11951 2005-10-14  Simon Josefsson  <jas@extundo.com>
11952
11953         * lib/arcfour.h, lib/arcfour.c: New files.
11954
11955 2005-10-14  Roland McGrath  <roland@redhat.com>
11956
11957         Import from libc.  [BZ #1331]
11958         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
11959         macro argument.
11960         Reported by Matej Vela <vela@debian.org>.
11961
11962 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11963
11964         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
11965         include <wchar.h>; no longer needed.
11966
11967 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11968
11969         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
11970
11971 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
11972         and  Ulrich Drepper  <drepper@redhat.com>
11973
11974         Import from libc.
11975         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
11976         instead of inline stream orientation test and two separate
11977         function calls.  Pay no attention to USE_IN_LIBIO.
11978
11979 2005-10-13  Simon Josefsson  <jas@extundo.com>
11980
11981         * modules/gc-hmac-md5-tests: New file.
11982
11983         * tests/test-gc-hmac-sha1.c: New file.
11984
11985         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
11986
11987         * modules/gc-hmac-md5-tests: New file.
11988
11989         * tests/test-gc-md5.c: New file.
11990
11991         * modules/gc-md5-tests: New file.
11992
11993 2005-10-13  Simon Josefsson  <jas@extundo.com>
11994
11995         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
11996         Move memory allocation outside of loop.
11997
11998 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11999
12000         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
12001         intermediate directory is in a read-only file system.  Problem
12002         reported by Eric Blake.
12003
12004 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
12005
12006         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
12007
12008 2005-10-12  Simon Josefsson  <jas@extundo.com>
12009
12010         * tests/test-hmac-sha1.c: New file.
12011
12012         * modules/hmac-sha1-tests: New file.
12013
12014         * modules/hmac-sha1: New file.
12015
12016 2005-10-12  Simon Josefsson  <jas@extundo.com>
12017
12018         * modules/gc-sha1: New file.
12019
12020 2005-10-12  Simon Josefsson  <jas@extundo.com>
12021
12022         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
12023
12024         * tests/test-gc-pbkdf2-sha1.c: New file.
12025
12026 2005-10-12  Simon Josefsson  <jas@extundo.com>
12027
12028         * modules/gc-md5, modules/gc-hmac-md5: New files.
12029
12030         * modules/gc (Files): Remove md5, memxor and hmac files.
12031
12032 2005-10-12  Simon Josefsson  <jas@extundo.com>
12033
12034         * m4/gc-pbkdf2-sha1.m4: New file.
12035
12036         * m4/gc-hmac-sha1.m4: New file.
12037
12038         * m4/gc-sha1: New file.
12039
12040         * m4/hmac-sha1.m4: New file.
12041
12042 2005-10-12  Simon Josefsson  <jas@extundo.com>
12043
12044         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
12045
12046         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
12047
12048 2005-10-12  Simon Josefsson  <jas@extundo.com>
12049
12050         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
12051         suggested by Bruno Haible <bruno@clisp.org>.
12052
12053 2005-10-12  Simon Josefsson  <jas@extundo.com>
12054
12055         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
12056
12057 2005-10-12  Simon Josefsson  <jas@extundo.com>
12058
12059         * lib/gc-pbkdf2-sha1.c: New file.
12060
12061         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
12062
12063 2005-10-12  Simon Josefsson  <jas@extundo.com>
12064
12065         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
12066
12067         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
12068
12069 2005-10-12  Simon Josefsson  <jas@extundo.com>
12070
12071         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
12072         GC_USE_HMAC_MD5, respectively.
12073
12074         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
12075         (gc_md5): Fix typo.
12076
12077         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
12078
12079         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
12080
12081         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
12082
12083 2005-10-12  Bruno Haible  <bruno@clisp.org>
12084
12085         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
12086         Reported by Stepan Kasal <kasal@ucw.cz>.
12087
12088 2005-10-11  Simon Josefsson  <jas@extundo.com>
12089
12090         * tests/test-crc.c: New file.
12091
12092         * modules/crc, modules/crc-tests: New files.
12093
12094 2005-10-11  Simon Josefsson  <jas@extundo.com>
12095
12096         * m4/crc.m4: New file.
12097
12098 2005-10-11  Simon Josefsson  <jas@extundo.com>
12099
12100         * lib/gc.h: Add gc_hash and gc_hash_buffer.
12101
12102         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
12103
12104         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
12105
12106 2005-10-11  Simon Josefsson  <jas@extundo.com>
12107
12108         * lib/crc.h, lib/crc.c: New files.
12109
12110         * lib/gc.h (gc_hash_buffer): Add doc.
12111
12112 2005-10-11  Bruno Haible  <bruno@clisp.org>
12113
12114         * modules/c-strcasestr: New file.
12115         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
12116
12117 2005-10-11  Bruno Haible  <bruno@clisp.org>
12118
12119         * modules/c-strcase: New file.
12120         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
12121
12122 2005-10-11  Bruno Haible  <bruno@clisp.org>
12123
12124         * lib/strcasecmp.c: Include limits.h.
12125         (strcasecmp): Avoid integer overflow on exotic platforms.
12126         * lib/strncasecmp.c: Include limits.h.
12127         (strncasecmp): Avoid integer overflow on exotic platforms.
12128         Reported by Paul Eggert.
12129
12130 2005-10-11  Bruno Haible  <bruno@clisp.org>
12131
12132         * lib/c-strcasestr.h: New file, from GNU gettext.
12133         * lib/c-strcasestr.c: New file, from GNU gettext.
12134
12135 2005-10-11  Bruno Haible  <bruno@clisp.org>
12136
12137         * lib/c-strcase.h: New file, from GNU gettext.
12138         * lib/c-strcasecmp.c: New file, from GNU gettext.
12139         * lib/c-strncasecmp.c: New file, from GNU gettext.
12140
12141 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12142
12143         * modules/mempcpy (License): GPL -> LGPL.
12144         * modules/strchrnul (License): Likewise.
12145         * modules/sysexits (License): Likewise.
12146
12147 2005-10-08  Simon Josefsson  <jas@extundo.com>
12148
12149         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
12150
12151 2005-10-07  Simon Josefsson  <jas@extundo.com>
12152
12153         * m4/memxor.m4: Remove gl_C_RESTRICT call.
12154
12155 2005-10-06  Simon Josefsson  <jas@extundo.com>
12156
12157         * tests/test-hmac-md5.c: New file.
12158
12159         * modules/hmac-md5-tests: New file.
12160
12161         * modules/hmac-md5: New file.
12162
12163 2005-10-06  Simon Josefsson  <jas@extundo.com>
12164
12165         * m4/hmac-md5.m4: New file.
12166
12167         * m4/memxor.m4: Require gl_C_RESTRICT.
12168
12169 2005-10-06  Simon Josefsson  <jas@extundo.com>
12170
12171         * lib/memxor.c (memxor): Avoid casts and warnings.
12172
12173 2005-10-06  Simon Josefsson  <jas@extundo.com>
12174
12175         * lib/hmac-md5.c: New file.
12176
12177         * lib/hmac.h: New file.
12178
12179 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12180
12181         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
12182         promotes to int, not unsigned int, to catch the AIX 5.3
12183         compiler bug.
12184
12185 2005-10-05  Simon Josefsson  <jas@extundo.com>
12186
12187         * modules/memxor: New file.
12188
12189         * modules/iconv (Files): Move config.rpath to havelib, it is used
12190         there.
12191
12192         * modules/havelib (Files): Add config.rpath.
12193
12194 2005-10-05  Simon Josefsson  <jas@extundo.com>
12195
12196         * m4/memxor.m4: New file.
12197
12198 2005-10-05  Simon Josefsson  <jas@extundo.com>
12199
12200         * lib/memxor.c (memxor): Fix compiler error.
12201
12202         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
12203         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
12204
12205         * lib/memxor.h, lib/memxor.c: New files.
12206
12207         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
12208         we assume all systems have it, suggested by Jim Meyering
12209         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
12210         any systems lack sys/socket.h; mingw32 is known to lack it, but we
12211         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
12212         same reasons.
12213
12214 2005-10-05  Simon Josefsson  <jas@extundo.com>
12215
12216         * config/srclist.txt: Add glibc bug 1423 for md5.h.
12217
12218 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12219
12220         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
12221         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
12222         needed, since the source code now assumes these .h files.
12223
12224 2005-10-05  Derek Price  <derek@ximbiot.com>
12225
12226         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
12227
12228 2005-10-05  Bruno Haible  <bruno@clisp.org>
12229
12230         * modules/stdint (License): Change to LGPL.
12231
12232 2005-10-04  Simon Josefsson  <jas@extundo.com>
12233
12234         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
12235         D. Baushke" <mdb@gnu.org>.
12236
12237 2005-10-04  Bruno Haible  <bruno@clisp.org>
12238
12239         * lib/verify.h (verify_true): Provide alternative definition for C++.
12240
12241 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
12242
12243         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
12244         (SSIZE_MAX): New macro, if not already defined.
12245         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
12246         than 2 GiB.
12247
12248 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12249
12250         Sync from coreutils.
12251         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
12252         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
12253         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
12254         ULLONG_MAX doesn't work with 2.7.2.1.
12255
12256 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12257
12258         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
12259         From Ben Pfaff.
12260
12261         * modules/exclude (Depends-on): Depend on verify.
12262         * modules/strtoimax (Depends-on): Likewise.
12263         * modules/utimecmp (Depends-on): Likewise.
12264
12265 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12266
12267         * lib/exclude.c: Include verify.h.
12268         (verify): Remove.  All callers changed to use verify.h's version.
12269         * lib/strtoimax.c: Likewise.
12270         * lib/utimecmp.c: Likewis.e
12271
12272         Sync from coreutils.
12273         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
12274         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
12275         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
12276         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
12277         bother returning ENOSYS if settimeofday or stime fails; just let
12278         them return whatever errno they want to return.
12279         * lib/utimens.c: Include unistd.h, for dup2.
12280         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
12281         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
12282
12283 2005-10-02  Jim Meyering  <jim@meyering.net>
12284
12285         Sync from coreutils.
12286         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
12287         from glibc-2.2.5 that fails for read-only files.
12288
12289 2005-10-02  Jim Meyering  <jim@meyering.net>
12290
12291         Sync from coreutils.
12292         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
12293         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
12294         `#if HAVE_CONFIG_H'.
12295         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
12296         Remove AT_FDCWD test.
12297         Do not consume the fd unless successful.
12298         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
12299         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
12300         block, so that we don't even try to compile it if settimeofday is
12301         available.  This works around a compilation failure on OSF1 V5.1,
12302         due to stime requiring a `long int*' while tv_sec is `int'.
12303
12304 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
12305
12306         Sync from coreutils.
12307         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
12308         against `yes', rather than just testing for nonempty.
12309
12310 2005-10-01  Simon Josefsson  <jas@extundo.com>
12311
12312         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
12313         and Darwin.
12314
12315         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
12316         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
12317         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
12318         freeaddrinfo and gai_strerror are declared by the POSIX headers.
12319         Check if struct addrinfo is declared.
12320
12321 2005-10-01  Simon Josefsson  <jas@extundo.com>
12322
12323         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
12324         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
12325         AI_* and EAI_* definitions.  Protect function declarations.
12326
12327 2005-10-01  Jim Meyering  <jim@meyering.net>
12328
12329         Sync from coreutils.
12330
12331         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
12332         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
12333         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
12334         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
12335         in the inet and nsl libraries.  Required on Solaris 5.7.
12336
12337 2005-10-01  Jim Meyering  <jim@meyering.net>
12338
12339         Sync from coreutils.
12340         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
12341         in the inet and nsl libraries.  Required on Solaris 5.7.
12342
12343 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
12344
12345         * lib/getdelim.c (getdelim): Remove unused variables.
12346
12347 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
12348
12349         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
12350         so that the code works even with ancient cpp.  Portability problem
12351         with GCC 2.7.2.1 reported by Thomas M.Ott.
12352
12353 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
12354
12355         * modules/regex (Depends-on): Add strcase.
12356
12357         * modules/gethostname (Licence): Change from GPL to LGPL, since
12358         gethostname.c is a trivial implementation of a standard library
12359         function.
12360         * modules/poll (License): Change from GPL to LGPL, since it's
12361         derived from LGPL code.
12362
12363 2005-09-27  Jim Meyering  <jim@meyering.net>
12364
12365         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
12366         HAVE_CONFIG_H.
12367
12368         * lib/intprops.h (signed_type_or_expr__): Define.
12369         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
12370         for unsigned types.
12371
12372 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12373
12374         * lib/verify.h (verify_expr): Remove, replacing with:
12375         (verify_true): New macro that returns true instead of void.
12376         (verify_type__): Remove.
12377         (verify): Use verify_true rather than verify_type__.
12378
12379 2005-09-26  Bruno Haible  <bruno@clisp.org>
12380
12381         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
12382         is necessary.
12383         (lib_SOURCES): Remove mbchar.c.
12384         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
12385         (Files): Add m4/mbrtowc.m4.
12386         * modules/mbiter: Likewise.
12387         * modules/mbuiter: Likewise.
12388
12389 2005-09-26  Bruno Haible  <bruno@clisp.org>
12390
12391         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
12392         compile mbchar.c if they are not both present.
12393         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
12394         * m4/mbiter.m4 (gl_MBITER): Likewise.
12395         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
12396         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
12397         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
12398
12399 2005-09-25  Jim Meyering  <jim@meyering.net>
12400
12401         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
12402         also uses socklen_t.
12403
12404 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12405
12406         * lib/utimens.c (ENOSYS): Define if not already defined.
12407         (futimens): Support having a null PATH if the file descriptor
12408         is nonnegative.
12409
12410         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
12411         Remove.
12412         (__attribute): Define to empty unless GCC 3.1 or later.
12413         This works around a core dump on OpenBSD 3.4, which has GCC
12414         2.95.3, which dumps core when given __attribute__(()).  It also
12415         simplifies other tests, since we really don't want to bother with
12416         worrying about which ancient version of GCC supported what.
12417         Original problem reported by Yoann Vandoorselaere, with part of
12418         the fix suggested by Derek Price.
12419
12420 2005-09-24  Jim Meyering  <jim@meyering.net>
12421
12422         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
12423         so we can once again use a positive bitfield width of 1 -- now we
12424         don't have to explain why we were using a bitfield width of 2.
12425
12426 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12427
12428         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
12429         and similarly for the other external symbols.  Problem reported
12430         by James Gallager.
12431
12432         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
12433         bug reported by Jim Meyering.
12434
12435         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
12436         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
12437         not needed, since socklen is a prerequisite module.
12438
12439 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12440
12441         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
12442         Problem reported by Eric Blake.
12443         (getaddrinfo): Initialize se so that it's not garbage.
12444         Redo internal storage allocation so that it doesn't make unportable
12445         assumptions about alignment.
12446         Fix a memory leak.
12447
12448         * lib/utimens.c (futimens): Use futimesat if available.
12449         Prefer it to futimes since it doesn't have the futimes bug.
12450
12451         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
12452         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
12453         Instead, declare a function that returns a pointer to an array,
12454         and use verify_type__ to declare the size of the array.
12455         Problem and germ of a solution reported by Bruno Haible.
12456         (verify_type__): Use 2, not 1, for bitfield size, to avoid
12457         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
12458
12459 2005-09-23  Jim Meyering  <jim@meyering.net>
12460
12461         Sync from coreutils.
12462         Correct build failure (socklen_t not defined) on at least
12463         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
12464         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
12465
12466 2005-09-23  Jim Meyering  <jim@meyering.net>
12467
12468         * modules/getaddrinfo (Depends-on): Add socklen.
12469
12470 2005-09-23  Bruno Haible  <bruno@clisp.org>
12471
12472         * tests/test-verify.c: New file.
12473
12474 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12475
12476         Sync from coreutils.
12477
12478         * modules/argmatch (Depends-on): Add verify.
12479         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
12480         unistd-safer.
12481         * modules/save-cwd (Depends-on): Likewise.
12482
12483         * modules/openat (Files): Add lib/openat-die.c.
12484         (Depends-on): Remove error, exitfail.
12485         Add dirname.
12486
12487         * modules/verify: New file.
12488         * MODULES.html.sh (Diagnostics <assert.h>): New section,
12489         with "verify" module.
12490
12491 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12492
12493         Sync from coreutils.
12494
12495         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
12496         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
12497         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
12498         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
12499         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
12500         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
12501         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
12502         Don't bother checking for string.h, stdlib.h, unistd.h.
12503         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
12504         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
12505         module's job.
12506         * m4/jm-macros.m4 (gl_MACROS): Likewise.
12507         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
12508
12509         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
12510         (gl_GETDATE): Use it.
12511
12512         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
12513
12514 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12515
12516         Sync from coreutils.
12517
12518         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
12519         stat-time.h.
12520         * lib/argmatch.h: Include verify.h
12521         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
12522         (ARGMATCH_ASSERT): Remove; unused.
12523         * lib/canonicalize.c: Assume STDC_HEADERS.
12524         * lib/exclude.c: Include "strcase.h".
12525         * lib/regex_internal.h [!defined _LIBC]: Likewise.
12526         * lib/getusershell.c: Include stdio--.h rather than stdio.h
12527         and stdio-safer.h.
12528         (getusershell): Call fopen, not fopen_safer.
12529         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
12530         Do not include unistd-safer.h.
12531         (save_cwd): Don't call fd_safer; no longer needed
12532         now that we include fcntl--.h.
12533
12534         * lib/getdate.y (relative_time): New type.
12535         (RELATIVE_TIME_0): New constant.
12536         (parser_control): Use relative_time instead of doing it ourselves.
12537         (%union): Add new relative_time rel member.
12538         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
12539         Now typeless.
12540         (relunit, relunit_snumber): Now of type rel.
12541         (zone, rel, relunit, get_date): Adjust to above changes.
12542
12543         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
12544         Do not include unistd-safer.h.
12545         (getloadavg): Don't call fd_safer; no longer needed
12546         now that we include fcntl--.h.
12547
12548         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
12549         (make_dir_parents): Treat ENOSYS like EEXIST.
12550
12551         Improve quality of diagnostics on restore_cwd failure.
12552         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
12553         (make_dir_parents): Last arg is now int * (for errno), not bool *.
12554         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
12555         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
12556         each time through the loop.  Do not diagnose restore_cwd failure;
12557         that is the caller's job (and perhaps the caller does not care).
12558
12559         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
12560         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
12561         If the file already exists but is not a directory, don't bother
12562         to try to make its parents.
12563         Close potential file descriptor leak if we can't chdir("/") (!).
12564         Don't always return true if chdir($PWD) fails; return true only
12565         if the requested action was done successfully (except for the
12566         chdir($PWD)).
12567         Don't log final directory unless we actually made it.
12568         Refactor to avoid duplicate code to fix up permissions.
12569         Don't attempt to fix up parent permissions if chdir($PWD) fails.
12570
12571         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
12572         to make it a bit faster and (I hope) clearer.
12573         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
12574         Fix bug in formats like %2N.
12575
12576         * lib/verify.h: New file.
12577
12578 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12579
12580         Sync from coreutils.
12581         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
12582
12583 2005-09-22  Jim Meyering  <jim@meyering.net>
12584
12585         Sync from coreutils.
12586
12587         * m4/lstat.m4 (gl_FUNC_LSTAT):
12588         Use AC_LIBSOURCES to require lstat.c and lstat.h.
12589         Remove obsolete comment.
12590         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
12591         * m4/xstrtod.m4: Likewise.
12592
12593         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
12594
12595 2005-09-22  Jim Meyering  <jim@meyering.net>
12596
12597         Sync from coreutils.
12598
12599         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
12600
12601         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
12602         the .tm_year member, since otherwise gcc-4.0 would now warn about
12603         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
12604
12605         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
12606         order to avoid an unsuppressible warning from gcc on 64-bit systems.
12607
12608         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
12609         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
12610         when run in a time zone for which daylight savings time is in effect
12611         for the starting date.
12612
12613         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
12614         stop us from restricting permissions of just-created absolute-named
12615         directories.
12616         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
12617         to restore initial working directory.
12618         * lib/mkdir-p.c (make_dir_parents): New parameter:
12619         different_working_dir, to tell caller if/when we change the working
12620         directory and are unable to return to the initial one.
12621         * lib/mkdir-p.h (make_dir_parents): Update prototype.
12622         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
12623         `return false'.  This fixes a bug introduced on 2004-07-30.
12624
12625         * lib/openat.c (fdopendir): Be sure to close the supplied
12626         file descriptor before returning.  This makes our replacement
12627         implementation a little closer to Solaris's, where fdopendir
12628         ties the file descriptor to the returned DIR* pointer.
12629         * lib/openat.c (unlinkat): New function.
12630         * lib/openat.h (unlinkat): Add prototype.
12631         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
12632         (openat_restore_fail): Rename from openat_restore_die.
12633         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
12634
12635         Provide an alternative to exiting immediately upon save_cwd or
12636         restore_cwd failure.  Now, an application can arrange e.g.,
12637         to perform a longjump in that case.
12638         * lib/openat.c: Include dirname.h.
12639         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
12640         (rpl_openat, fdopendir, fstatat): Call openat_save_die
12641         and openat_restore_die rather than calling error directly.
12642         Don't include "error.h" or "exitfail.h"; they're no longer needed.
12643
12644         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
12645         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
12646         define.
12647
12648         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
12649         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
12650                             int utc, int nanoseconds);
12651         Background:
12652         date should not have to allocate a megabyte of virtual memory to
12653         handle a format argument like +%1048575T.  When implemented with
12654         strftime, it must allocate such a buffer, use strftime to fill it
12655         in, print it, then free it.
12656         With fprintftime, it simply prints everything and exits.
12657         With no need for memory allocation, that's one fewer way to fail.
12658         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
12659         optional field width, not before, so we accept %9:z, not %:9z.
12660         (my_strftime): Be sure to use L_('x') for literals.
12661
12662         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
12663         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
12664         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
12665         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
12666         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
12667         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
12668         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
12669         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
12670         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
12671         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
12672         * lib/xgethostname.c, lib/xreadlink.c:
12673         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
12674
12675         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
12676         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
12677         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
12678         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
12679         and don't include <sys/file.h>).
12680
12681 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
12682
12683         Sync from coreutils.
12684
12685         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
12686         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
12687         [!LDAV_DONE]: Avoid unused variable warning.
12688
12689 2005-09-21  Bruno Haible  <bruno@clisp.org>
12690
12691         * lib/unicodeio.h (unicode_to_mb): New declaration.
12692
12693 2005-09-20  Derek Price  <derek@ximbiot.com>
12694
12695         * lib/getaddrinfo.c: Don't include <netdb.h> included from
12696         getaddrinfo.h.
12697
12698 2005-09-20  Bruno Haible  <bruno@clisp.org>
12699
12700         * gnulib-tool: Remove trailing slashes from the values specified for
12701         --source-base, --m4-base, --tests-base, --aux-dir.
12702         Suggested by Simon Josefsson <jas@extundo.com>.
12703
12704 2005-09-20  Bruno Haible  <bruno@clisp.org>
12705
12706         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
12707         func_modules_to_filelist, func_import, func_create_testdir): Make all
12708         sorting results locale-independent, so that gnulib-cache.m4 doesn't
12709         change when gnulib-tool is invoked in a different locale.
12710
12711 2005-09-19  Simon Josefsson  <jas@extundo.com>
12712
12713         * m4/socklen.m4: Fix typo.
12714
12715 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12716
12717         Use a consistent style for including <config.h>.
12718         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
12719         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
12720         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
12721         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
12722         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
12723         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
12724         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
12725         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
12726         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
12727         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
12728         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
12729         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
12730         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
12731         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
12732         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
12733         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
12734         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
12735         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
12736         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
12737         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
12738         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
12739         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
12740         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
12741         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
12742         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
12743         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
12744         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
12745         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
12746         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
12747         lib/xstrtoumax.c, lib/yesno.c:
12748         Standardize inclusion of config.h.
12749         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
12750         lib/inttostr.h:  Removed inclusion of config.h from header files.
12751         * lib/inttostr.c:  Adjusted in-tree users.
12752         * lib/timespec.h: Remove superfluous warning to include config.h.
12753         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
12754         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
12755         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
12756         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
12757         config.h with HAVE_CONFIG_H.
12758
12759 2005-09-19  Jim Meyering  <jim@meyering.net>
12760
12761         * modules/pathmax (License): Change to LGPL.
12762
12763 2005-09-19  Derek Price  <derek@ximbiot.com>
12764
12765         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
12766
12767 2005-09-19  Bruno Haible  <bruno@clisp.org>
12768
12769         * gnulib-tool (import): Provide default for --tests-base.
12770
12771 2005-09-19  Bruno Haible  <bruno@clisp.org>
12772
12773         * doc/quote.texi: New file, extracted from gnulib.texi.
12774         * doc/ctime.texi: New file, extracted from gnulib.texi.
12775         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
12776         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
12777         * doc/gnulib.texi: Include them.
12778
12779 2005-09-18  Bruno Haible  <bruno@clisp.org>
12780
12781         Portability fix.
12782         * gnulib-tool (func_readlink): New function.
12783         (func_ln_if_changed): Use it.
12784
12785 2005-09-18  Bruno Haible  <bruno@clisp.org>
12786
12787         * gnulib-tool: Support --with-tests also with --import.
12788         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
12789         (func_import): Use variables $testsbase and $inctests. Emit a
12790         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
12791         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
12792         SUBDIRS += $testsdir.
12793         (func_create_testdir): Update.
12794
12795 2005-09-18  Bruno Haible  <bruno@clisp.org>
12796
12797         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
12798         instead of $dry_run.
12799         (func_cp_if_changed, func_mv_if_changed): Remove functions.
12800         (func_ln_if_changed): Don't handle dry-run here.
12801         (func_import): In dry-run mode, detect more precisely which actions
12802         would be performed, and don't use "...ing" verbs.
12803
12804 2005-09-18  Bruno Haible  <bruno@clisp.org>
12805
12806         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
12807         (func_import): Use join on two temporary files instead of three nested
12808         loops, in order to determine which files are new or old.
12809
12810 2005-09-18  Bruno Haible  <bruno@clisp.org>
12811
12812         * gnulib-tool (func_import): Comment out code that spits out the
12813         new files with --dry-run.
12814
12815 2005-09-18  Bruno Haible  <bruno@clisp.org>
12816
12817         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
12818
12819 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12820
12821         * lib/stat-time.h: New file.
12822         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
12823         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
12824         in a different way.
12825         (timespec_cmp): New function.
12826         * lib/utimecmp.c: Include stat-time.h.
12827         (SYSCALL_RESOLUTION): Depend on whether various struct stat
12828         members exist, not on the obsolescent ST_MTIM_NSEC.
12829         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
12830
12831 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12832
12833         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
12834
12835 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12836
12837         * MODULES.html.sh (File system functions): Add stat-time.
12838         * modules/stat-time: New file.
12839         * modules/timespec (Files): Remove m4/st_mtim.m4; this
12840         is now done in a different way, by the stat-time module.
12841         * modules/utimecmp (Depends-on): Add stat-time.
12842
12843 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12844
12845         * m4/st_mtim.m4: Remove.  Superseded by...
12846         * m4/stat-time.m4: New file.
12847         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
12848         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
12849
12850 2005-09-15  Derek Price  <derek@ximbiot.com>
12851
12852         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
12853
12854 2005-09-15  Derek Price  <derek@ximbiot.com>
12855
12856         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
12857         * lib/regex_internal.c: Ditto, using this...
12858         (__GNUC_PREREQ): ...new macro.
12859         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
12860         using...
12861         (__GNUC_PREREQ): ...this new macro.
12862
12863         * lib/strstr.h: Include string.h. Define strstr as a macro here.
12864
12865 2005-09-15  Derek Price  <derek@ximbiot.com>
12866             Paul Eggert  <eggert@cs.ucla.edu>
12867
12868         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
12869         changes, consolidating in...
12870         * lib/regex_internal.h: ...this file.
12871
12872 2005-09-13  Jim Meyering  <jim@meyering.net>
12873
12874         * lib/canon-host.c: Filter through gnu indent and reword comments
12875         slightly.
12876         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
12877
12878 2005-09-13  Derek Price  <derek@ximbiot.com>
12879
12880         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
12881         failure.
12882         Reported by Jim Meyering  <jim@meyering.net>.
12883
12884 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12885
12886         * lib/base64.c: Typo.
12887         (base64_encode): Put b64str in initialized data section.
12888
12889 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
12890
12891         Merge glibc and coreutils changes into gnulib, plus a few
12892         extra fixes.
12893         * lib/md5.c: Use #error rather than a string.
12894         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
12895         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
12896         (__attribute__): Define to empty for non recent-GCC.
12897         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
12898         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
12899         Renamed from their non-__ counterparts, with new macros replacing
12900         them if not _LIBC.  Add __THROW attribute.
12901         (rol): Remove.
12902         (struct md5_ctx): Align buffer if using GCC.
12903         * lib/sha1.h (struct sha1_ctx): Likewise.
12904         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
12905         The old name was backwards.
12906         (NOTSWAP): Remove; not used.
12907         (rol): New macro, moved here from md5.h.
12908         (sha1_process_block): Remove a FIXME that doesn't make sense.
12909
12910 2005-09-12  Derek Price  <derek@ximbiot.com>
12911
12912         Return usable errors from canon-host.
12913         * lib/canon-host.h: New file.
12914         * lib/canon-host.c (canon_host): Wrap...
12915         (canon_host_r): ...this new function, which now relies exclusively on
12916         getaddrinfo.
12917         (ch_strerror): New function.
12918         (last_cherror): New global.
12919         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
12920         interface.
12921         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
12922         void *.
12923         (freeaddrinfo): Free ai->ai_canonname when set.
12924
12925 2005-09-12  Derek Price  <derek@ximbiot.com>
12926
12927         Make canon-host require getaddrinfo.
12928         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
12929         AC_LIBSOURCE canon-host.h.  Call...
12930         (gl_PREREQ_CANON_HOST): ...this new function, which requires
12931         gl_GETADDRINFO.
12932         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
12933
12934 2005-09-12  Derek Price  <derek@ximbiot.com>
12935
12936         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
12937         LGPL.
12938         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
12939
12940 2005-09-12  Derek Price  <derek@ximbiot.com>
12941
12942         * lib/gai_strerror.c: Include config.h when available.  Include
12943         getaddrinfo.h before other headers to test interface.
12944         Reported by Larry Jones <lawrence.jones@ugs.com>.
12945
12946 2005-09-12  Derek Price  <derek@ximbiot.com>
12947             Paul Eggert  <eggert@cs.ucla.edu>
12948
12949         * modules/glob (Files): Add glob-libc.h.
12950
12951 2005-09-12  Derek Price  <derek@ximbiot.com>
12952             Paul Eggert  <eggert@cs.ucla.edu>
12953
12954         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
12955         glob_.h, glob-libc.h.
12956         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
12957
12958 2005-09-12  Derek Price  <derek@ximbiot.com>
12959             Paul Eggert  <eggert@cs.ucla.edu>
12960
12961         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
12962         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
12963         protecting things that should be done only in gnulib contexts.
12964         * lib/glob_.h: New file, containing only the glob things needed for
12965         gnulib.
12966         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
12967         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
12968         (glob, globfree, glob_pattern_p): Now defined simply in terms of
12969         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
12970         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
12971         and to respect the namespace rules better.
12972
12973 2005-09-08  Simon Josefsson  <jas@extundo.com>
12974
12975         * modules/socklen: New file.
12976
12977 2005-09-08  Simon Josefsson  <jas@extundo.com>
12978
12979         * m4/socklen.m4: New file.
12980
12981 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12982
12983         * modules/utimens (Files): Add m4/utimbuf.m4, since
12984         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
12985         Reported by Sergey Poznyakoff.
12986
12987 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12988
12989         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
12990         definitions, since that's the preferred style in glibc.
12991         Fix a minor spacing issue, and update copyright notice to match
12992         glibc's.
12993
12994 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12995
12996         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
12997
12998 2005-09-06  Simon Josefsson  <jas@extundo.com>
12999
13000         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
13001         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
13002
13003 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
13004
13005         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
13006         warning.
13007
13008 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
13009
13010         * config/srclist.txt: Add glibc bug 1302.
13011
13012 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13013
13014         Change bitset word type from unsigned int to unsigned long int,
13015         as this has better performance on typical 64-bit hosts.
13016         Port bitset code to hosts with unusual word sizes.
13017         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
13018         (build_collating_symbol):
13019         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
13020         argument is a bitset.  This is merely a style issue, but it makes
13021         it clearer that an entire array is expected.
13022         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
13023         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
13024         Port to the case where bitset_word is not the same as unsigned int.
13025         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
13026         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
13027         Likewise.
13028         * lib/regexec.c (check_dst_limits_calc_pos_1,
13029         check_subexp_matching_top):
13030         (build_trtable, group_nodes_into_DFAstates):
13031         Likewise.
13032         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
13033         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
13034         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
13035         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
13036         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
13037         * lib/regcomp.c (optimize_subexps, lower_subexp):
13038         Work even if bitset_word has holes in its bitwise representation.
13039         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
13040         * lib/regexec.c (check_dst_limits_calc_pos_1,
13041         check_subexp_matching_top):
13042         Likewise.
13043         * lib/regex_internal.c (re_string_reconstruct):
13044         Don't assume UCHAR_MAX == 255.
13045         * lib/regex_internal.h (bitset_set_all): Likewise.
13046         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
13047         All uses changed.
13048         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
13049         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
13050         All uses changed.
13051         (BITSET_WORD_MAX): New macro.
13052         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
13053         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
13054         (bitset_empty, bitset_copy):
13055         Prefer sizeof (bitset) to multiplying it out ourselves.
13056         (bitset_not_merge): Remove; unused.
13057         (bitset_contain): Return bool, not unsigned int with one bit on.
13058         All callers changed.
13059         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
13060         alignment than re_node_set; do this by defining a new internal
13061         type struct dests_alloc and using it to allocate memory.
13062
13063 2005-09-05  Bruno Haible  <bruno@clisp.org>
13064
13065         * gnulib-tool (func_import): Fix comparison in handling of symbolic
13066         links.
13067
13068 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
13069
13070         * modules/size_max (Makefile.am): Add size_max.h
13071
13072 2005-09-04  Derek Price  <derek@ximbiot.com>
13073
13074         * gnulib-tool (func_import): Fix reversed $symbolic logic.
13075
13076 2005-09-03  Simon Josefsson  <jas@extundo.com>
13077
13078         * gnulib-tool: Fix typo.
13079
13080 2005-09-03  Simon Josefsson  <jas@extundo.com>
13081
13082         * config/srclist.txt: Add glibc bug 1293.
13083
13084 2005-09-03  Derek Price  <derek@ximbiot.com>
13085
13086         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
13087         From Larry Jones <lawrence.jones@ugs.com>.
13088
13089 2005-09-02  Simon Josefsson  <jas@extundo.com>
13090
13091         * modules/socklen: New file.
13092
13093 2005-09-02  Simon Josefsson  <jas@extundo.com>
13094
13095         * modules/havelib: New module.
13096
13097         * modules/gettext, modules/iconv, modules/lock, modules/readline:
13098         Use havelib.
13099
13100 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13101
13102         Check for arithmetic overflow when calculating sizes, to prevent
13103         some buffer-overflow issues.  These patches are conservative, in the
13104         sense that when I couldn't determine whether an overflow was possible,
13105         I inserted a run-time check.
13106         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
13107         macros.
13108         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
13109         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
13110         (re_xnrealloc, re_x2nrealloc): New inline functions.
13111         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
13112         parse_bracket_exp):
13113         (build_equiv_class, build_charclass): Check for arithmetic overflow
13114         in size expression calculations.
13115         * lib/regex_internal.c (re_string_realloc_buffers):
13116         (build_wcs_upper_buffer, re_node_set_add_intersect):
13117         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
13118         (re_dfa_add_node, register_state): Likewise.
13119         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
13120         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
13121         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
13122         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
13123
13124 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13125
13126         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
13127         m4/ulonglong.m4.  Problem reported by Martin Lambers.
13128
13129 2005-09-02  Bruno Haible  <bruno@clisp.org>
13130
13131         Support for lib vs. lib64 distinction on biarch platforms.
13132         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
13133         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
13134         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
13135
13136 2005-09-02  Bruno Haible  <bruno@clisp.org>
13137
13138         * gnulib-tool (import): In the other first-use case, provide defaults
13139         as well.
13140
13141 2005-09-02  Bruno Haible  <bruno@clisp.org>
13142
13143         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
13144         patches not yet found in the latest gettext release.
13145
13146 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13147
13148         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
13149         to avoid a collision with bits/local_lim.h in glibc.
13150         All uses changed.  Problem reported by Dmitry V. Levin in
13151         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
13152
13153         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
13154         bugs in int versus size_t comparisons.
13155         (re_string_context_at): Fix bug where the code assumed that
13156         Idx is signed.
13157
13158         Use bool where appropriate.
13159         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
13160         All callers changed.
13161         (calc_eclosure_iter): Likewise, for ROOT arg.
13162         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
13163         (build_charclass_op): Likewise, for NON_MATCH arg.
13164         * lib/regex_internal.c (re_string_allocate, re_string_construct):
13165         (re_string_construct_common): Likewise, for ICASE arg.
13166         * lib/regexec.c (re_search_2_stub, re_search_stub):
13167         Likewise, for RET_LEN arg.
13168         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
13169         (set_regs): Likewise, for FL_BACKTRACK arg.
13170         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
13171         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
13172         (calc_eclosure_iter, parse_bracket_exp):
13173         Use bool for internal variables that are booleans.
13174         * lib/regexec.c (re_search_internal, check_matching,
13175         proceed_next_node):
13176         (set_regs, build_sifted_states, sift_states_bkref):
13177         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
13178         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
13179         (find_collation_sequence_value):
13180         Likewise.
13181         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
13182         (re_node_set_compare):
13183         Return bool, not int. All callers changed.
13184         * lib/regexec.c (check_halt_node_context, check_dst_limits):
13185         (build_trtable, check_node_accept): Likewise.
13186         * lib/regex_internal.h: Include stdbool.h.
13187
13188         Fix bugs uncovered when converting to bool.
13189         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
13190         failure instead of charging ahead blindly.
13191         * lib/regex_internal.c (register_state): Likewise.
13192         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
13193         for freeing internal storage.
13194         (group_nodes_into_DFA_states): Use unsigned int, not int, for
13195         bitset pieces used as boolean, to avoid undefined behavior
13196         on hosts that do int overflow checking.
13197
13198 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13199
13200         * config/srclist.txt: Add glibc bugs 1285-1287.
13201
13202 2005-09-01  Jim Meyering  <jim@meyering.net>
13203
13204         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
13205         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
13206         Require gl_STAT_MACROS, too.
13207
13208 2005-09-01  Bruno Haible  <bruno@clisp.org>
13209
13210         * gnulib-tool (import): In the first-use case, provide defaults.
13211
13212 2005-09-01  Bruno Haible  <bruno@clisp.org>
13213
13214         * gnulib-tool (func_import): Remove the .tmp files.
13215
13216 2005-09-01  Bruno Haible  <bruno@clisp.org>
13217
13218         * gnulib-tool (func_import): Fix handling of symbolic links.
13219
13220 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13221
13222         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
13223         old glibc regex code mishandles strings longer than 2**31 bytes.
13224         This patch fixes this when the regex code is used in gnulib
13225         (i.e., outside glibc).
13226
13227         This patch should not affect the use of the regex code inside
13228         glibc.  No doubt this problem also needs to be handled for glibc
13229         as well, but the result will be an incompatible change to the
13230         glibc ABI, and the old ABI will have to be supported too.  That
13231         can be the the subject for another patch.
13232
13233         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
13234         governing whether the rest of this patch is active.  By default,
13235         the macro is disabled and the patch has no effect.
13236         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
13237         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
13238         (struct re_pattern_buffer, re_search, re_search_2, re_match):
13239         (re_match_2, re_set_registers): Use the new types.
13240         * lib/regex_internal.h (Idx, re_hashval_t): New types.
13241         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
13242         New macros.
13243         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
13244         (re_string_context_at, bin_tree_t, re_dfastate_t):
13245         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
13246         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
13247         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
13248         (re_string_char_size_at, re_string_wchar_at):
13249         (re_string_elem_size_at):
13250         Use the new types and macros to port to 64-bit hosts.
13251         Use unsigned types for internal values, so that the code
13252         mostly works even for arrays larger than SSIZE_MAX.
13253         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
13254         (search_duplicated_node, calc_eclosure_iter, fetch_number):
13255         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
13256         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
13257         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
13258         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
13259         (calc_inveclosure, parse_dup_op, build_range_exp):
13260         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
13261         (fetch_number, create_token_tree, mark_opt_subexp):
13262         Likewise.
13263         * lib/regex_internal.c (re_string_construct_common,
13264         create_ci_newstate):
13265         (create_cd_newstate, re_string_allocate, re_string_construct):
13266         (re_string_realloc_buffers, build_wcs_upper_buffer):
13267         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
13268         (re_string_reconstruct, re_string_peek_byte_case):
13269         (re_string_fetch_byte_case, re_string_context_at):
13270         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
13271         (re_node_set_init_copy, re_node_set_add_intersect):
13272         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13273         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13274         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
13275         (re_acquire_state, re_acquire_state_context, register_state):
13276         Likewise.
13277         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
13278         search_cur_bkref_entry):
13279         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
13280         (re_search_internal, re_search_2_stub, re_search_stub)
13281         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
13282         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
13283         (update_cur_sifted_state, check_dst_limits):
13284         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
13285         (check_subexp_limits, sift_states_bkref, merge_state_array):
13286         (check_subexp_matching_top, get_subexp, get_subexp_sub):
13287         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
13288         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
13289         (expand_bkref_cache, check_node_accept_bytes):
13290         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
13291         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
13292         (acquire_init_state_context, check_halt_node_context):
13293         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
13294         (sift_states_backward, clean_state_log_if_needed):
13295         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
13296         (find_recover_state, transit_state_sb, transit_state_mb):
13297         (transit_state_bkref, build_trtable, match_ctx_clean):
13298         Likewise.
13299         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
13300         to work around an assumption that REG_MISSING is negative.
13301
13302         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
13303         (seek_collating_symbol_entry) [defined _LIBC]:
13304         (lookup_collation_sequence_value) [defined _LIBC]:
13305         (build_range_exp, build_collating_symbol) [defined _LIBC]:
13306         Use prototypes rather than old-style function definitions.
13307         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
13308         (transit_state_sb) [0]:
13309         (find_collation_sequence_value) [defined _LIBC]: Likewise.
13310
13311         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
13312         rm_eo.
13313
13314         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
13315         (optimize_subexps, lower_subexp):
13316         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
13317         since the signed shift might overflow.  Use 1u<<31 instead.
13318         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
13319         Likewise.
13320         * lib/regexec.c (check_dst_limits_calc_pos_1,
13321         check_subexp_matching_top): Likewise.
13322
13323         * lib/regcomp.c (optimize_subexps, lower_subexp):
13324         Use CHAR_BIT rather than 8, for clarity.
13325         * lib/regexec.c (check_dst_limits_calc_pos_1):
13326         (check_subexp_matching_top): Likewise.
13327         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
13328         have to worry about portability issues when shifting it left.
13329         Remove no-longer-needed test for table_size > 0.
13330         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
13331         in a word, as the resulting behavior is undefined.
13332         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
13333         in one case, a <= should have been an <, and in another case the
13334         whole test was missing.
13335         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
13336         the standard name CHAR_BIT.
13337         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
13338         this is not true on one's complement and signed-magnitude hosts.
13339
13340         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
13341         next_last_offset.
13342         (struct re_dfa_t): Remove unused member states_alloc.
13343         * lib/regcomp.c (init_dfa): Don't initialize unused members.
13344
13345 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13346
13347         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
13348         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
13349         and large-file glibc and in 32-bit large-file Solaris.
13350
13351 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13352
13353         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
13354         lengths fit in regoff_t; this isn't true if regoff_t is the same
13355         width as size_t.
13356         * lib/regex.c (re_search_internal): 5th arg is LAST_START
13357         (= START + RANGE) instead of RANGE.  This avoids overflow
13358         problems when regoff_t is the same width as size_t.
13359         All callers changed.
13360         (re_search_2_stub): Check for overflow when adding the
13361         sizes of the two strings.
13362         (re_search_stub): Check for overflow when adding START
13363         to RANGE; if it occurs, substitute the extreme value.
13364
13365 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13366
13367         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
13368
13369 2005-08-31  Jim Meyering  <jim@meyering.net>
13370
13371         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
13372         a pointer-to-const.
13373         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
13374         (register_state): Likewise.
13375         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
13376         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
13377         (group_nodes_into_DFAstates): Likewise.
13378
13379 2005-08-31  Jim Meyering  <jim@meyering.net>
13380
13381         * check-module: Add a FIXME comment.
13382
13383 2005-08-31  Eric Blake  <ebb9@byu.net>
13384
13385         * modules/unistd-safer (Files): Add unistd--.h.
13386         * modules/stdio-safer (Files): Add stdio--.h.
13387
13388 2005-08-31  Derek Price  <derek@ximbiot.com>
13389
13390         * lib/getdelim.c (getdelim): Return EOF on EOF.
13391         Reported by Larry Jones <lawrence.jones@ugs.com>.
13392
13393 2005-08-31  Bruno Haible  <bruno@clisp.org>
13394
13395         Avoid unnecessary diffs in the generated lib/Makefile.am.
13396         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
13397         the generated files.
13398         (func_import): Don't set cmd.
13399
13400 2005-08-31  Bruno Haible  <bruno@clisp.org>
13401
13402         * lib/strstr.c: Include <stddef.h>, for NULL.
13403         * lib/strcasestr.c: Likewise.
13404         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13405
13406 2005-08-31  Bruno Haible  <bruno@clisp.org>
13407
13408         * gnulib-tool: New option --macro-prefix.
13409         (func_import): Use macro_prefix.
13410         (import): Handle option --macro-prefix.
13411
13412 2005-08-31  Bruno Haible  <bruno@clisp.org>
13413
13414         * gnulib-tool (import): Rename most ac_* variables to cached_*.
13415         Also use new variables cached_lgpl, cached_libtool.
13416
13417 2005-08-31  Bruno Haible  <bruno@clisp.org>
13418
13419         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
13420         always instantiating them.
13421
13422 2005-08-31  Bruno Haible  <bruno@clisp.org>
13423
13424         * gnulib-tool (func_import): Read the previous cached settings
13425         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
13426         earlier added by gnulib but are now dropped. Warn when a gnulib file
13427         overwrites a non-gnulib file.
13428
13429 2005-08-31  Bruno Haible  <bruno@clisp.org>
13430
13431         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
13432         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
13433         projects that don't keep autogenerated files in CVS. Put into
13434         actioncmd only the specified modules, not the transitive closure.
13435
13436 2005-08-31  Bruno Haible  <bruno@clisp.org>
13437
13438         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
13439         Create directories that shall be filled.
13440         (import): Don't look for gl_* macros in configure.ac. Recurse across
13441         all directories containing a gnulib-cache.m4 files, if meaningful.
13442
13443 2005-08-31  Bruno Haible  <bruno@clisp.org>
13444
13445         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
13446         (import): Set seen_libtool when we see gl_LIBTOOL.
13447
13448 2005-08-31  Bruno Haible  <bruno@clisp.org>
13449
13450         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
13451         declaration macro definitions from generated gnulib.m4.
13452
13453 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
13454
13455         * lib/iconvme.h: Add prototype for iconv_alloc.
13456
13457 2005-08-29  Simon Josefsson  <jas@extundo.com>
13458
13459         * lib/iconvme.c: Fix errno.
13460
13461 2005-08-29  Bruno Haible  <bruno@clisp.org>
13462
13463         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
13464         that it works when the directory contains spaces.
13465
13466 2005-08-29  Bruno Haible  <bruno@clisp.org>
13467
13468         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
13469
13470 2005-08-29  Bruno Haible  <bruno@clisp.org>
13471
13472         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
13473         Emit more advice.
13474
13475 2005-08-29  Bruno Haible  <bruno@clisp.org>
13476         and Stepan Kasal  <kasal@ucw.cz>
13477
13478         * check-module: If more parameters are given, check each of them
13479         separately; add more exceptions, as noted by Jim Meyering.
13480         (check_module): New procedure.
13481         (%exempt_header): Now contains all exceptions.
13482
13483 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
13484
13485         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
13486
13487 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
13488
13489         * lib/iconvme.c: Split iconv_string into iconv_alloc.
13490
13491 2005-08-28  Bruno Haible  <bruno@clisp.org>
13492
13493         * m4/gnulib-tool.m4: New file.
13494
13495 2005-08-27  Jim Meyering  <jim@meyering.net>
13496
13497         * modules/unistd-safer (Files): Add pipe-safer.c.
13498         * modules/fcntl-safer (Files): Add creat-safer.c.
13499
13500 2005-08-27  Jim Meyering  <jim@meyering.net>
13501
13502         * m4/stdlib-safer.m4: New file.  From coreutils.
13503         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
13504         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
13505         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
13506         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
13507         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
13508
13509 2005-08-27  Jim Meyering  <jim@meyering.net>
13510
13511         * lib/fopen-safer.c: Merge minor changes from coreutils.
13512         * lib/dup-safer.c: Likewise.
13513         * lib/fd-safer.c: Likewise.
13514
13515         Merge from coreutils.
13516         * lib/stdio--.h: New file.
13517         * lib/stdlib--.h: New file.
13518         * lib/mkstemp-safer.c: New file.
13519
13520         GNU tar needs these.
13521         * lib/pipe-safer.c: New file.
13522         * lib/creat-safer.c: New file.
13523         * lib/fcntl--.h (creat): Define to creat_safer.
13524         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
13525         * lib/unistd--.h (pipe): Define to pipe_safer.
13526         * lib/unistd-safer.h: Declare pipe_safer.
13527
13528 2005-08-26  Simon Josefsson  <jas@extundo.com>
13529
13530         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
13531         Haible <bruno@clisp.org>.
13532
13533 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13534
13535         * lib/regex_internal.h: Remove all references to
13536         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
13537         or better.
13538         (bitset_not, bitset_merge, bitset_not_merge):
13539         (bitset_mask, re_string_allocate, re_string_construct):
13540         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
13541         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
13542         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
13543         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
13544         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13545         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13546         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
13547         (re_acquire_state_context):
13548         Remove unnecessary forward decls.
13549         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
13550         Put __attribute at function definition,
13551         now that the function decl has been removed.
13552         * lib/regex_internal.c (re_string_peek_byte_case):
13553         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
13554         Likewise.
13555
13556 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
13557
13558         * m4/regex.m4: Add AC_PREREQ(2.50).
13559         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
13560
13561 2005-08-25  Simon Josefsson  <jas@extundo.com>
13562
13563         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
13564         __fsetlocking.
13565
13566 2005-08-25  Simon Josefsson  <jas@extundo.com>
13567
13568         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
13569         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
13570         GLIBC specific code.
13571
13572 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13573
13574         Make regex safe for g++.  This fixes one real bug (an "err"
13575         that should have been "*err").  g++ problem reported by
13576         Sam Steingold.
13577         * lib/regex_internal.h (re_calloc): New macro, consistent with
13578         re_malloc etc.  All callers of calloc changed to use re_calloc.
13579         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
13580         not int.  All callers changed.
13581         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
13582         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
13583         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
13584         (find_recover_state): Change "err" to "*err"; this fixes what
13585         appears to be a real bug.
13586         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
13587         versus int.
13588
13589 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13590
13591         * modules/regex (Depends-on): Add malloc, since the code
13592         assumes that !malloc(0) means failure.
13593
13594 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13595
13596         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
13597
13598         alloca modernization/simplification for regex.
13599         * lib/regex.c: Remove portability cruft for alloca.  This no longer
13600         needs to be at the start of the file, and can be moved into
13601         regex_internal.h and simplified.
13602         * lib/regex_internal.h: Include <alloca.h>.
13603         (__libc_use_alloca) [!defined _LIBC]: New macro.
13604         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
13605         now works outside glibc.
13606
13607 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13608
13609         * config/srclist.txt: Add glibc bugs 1241, 1245.
13610
13611 2005-08-25  Jim Meyering  <jim@meyering.net>
13612
13613         * lib/open-safer.c: Include <config.h>.
13614         Otherwise, we'd lose LARGEFILE support in any file using
13615         e.g. "fcntl--.h"
13616
13617 2005-08-25  Bruno Haible  <bruno@clisp.org>
13618
13619         * m4/minmax.m4: Require autoconf 2.52.
13620         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
13621         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
13622         alternatives of translit over the alphabet.
13623         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
13624
13625 2005-08-24  Simon Josefsson  <jas@extundo.com>
13626
13627         * tests/test-getpass.c: New file.
13628
13629 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13630
13631         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
13632         for GNU regex features.
13633
13634 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13635
13636         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
13637         * lib/regex.h (regerror): Likewise.
13638
13639         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
13640         requires this.  (The code never needed it.)
13641
13642         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
13643         All uses of recently-renamed identifiers changed to use the new,
13644         POSIX-compliant names.  The code will build and run just fine
13645         without these changes, but it's better to eat our own dog food
13646         and use the standard-conforming names.
13647
13648         * lib/regex.h: Fix a multitude of POSIX name space violations.
13649         These changes have an effect only for programs that define
13650         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
13651         do not change anything for programs compiled in the normal way.
13652         Also, there is no effect on the ABI.
13653
13654         (_REGEX_SOURCE): New macro.
13655         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
13656         defined and _GNU_SOURCE is not; this fixes a name space violation.
13657
13658         Rename the following macros to obey POSIX requirements.
13659         The old names are still visible as macros if _REGEX_SOURCE is defined.
13660         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
13661         RE_BACKSLASH_ESCAPE_IN_LISTS.
13662         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
13663         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
13664         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
13665         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
13666         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
13667         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
13668         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
13669         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
13670         (REG_INTERVALS): renamed from RE_INTERVALS.
13671         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
13672         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
13673         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
13674         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
13675         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
13676         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
13677         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
13678         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
13679         RE_UNMATCHED_RIGHT_PAREN_ORD.
13680         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
13681         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
13682         (REG_DEBUG): renamed from RE_DEBUG.
13683         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
13684         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
13685         unusual, since we can't clash with the POSIX REG_ICASE.
13686         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
13687         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
13688         (REG_NO_SUB): renamed from RE_NO_SUB.
13689         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
13690         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
13691         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
13692         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
13693         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
13694         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
13695         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
13696         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
13697         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
13698         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
13699         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
13700         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
13701         RE_SYNTAX_POSIX_MINIMAL_BASIC.
13702         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
13703         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
13704         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
13705         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
13706         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
13707         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
13708         (REG_FIXED): Renamed from REGS_FIXED.
13709         (REG_NREGS): Renamed from RE_NREGS.
13710
13711         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
13712         of other REG_* macros, since POSIX says the user is allowed to
13713         #undef these macros selectively.
13714
13715         (reg_errcode_t): Update comment stating what other tables need
13716         to be consistent.
13717
13718         Rename the following enum values to obey POSIX requirements.
13719         The old names are still visible as macros.
13720         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
13721         is not defined, since GNU is supposed to be a superset of POSIX as
13722         much as possible, and since we want reg_errcode_t to be a signed
13723         type for implementation consistency.
13724         (_REG_NOERROR): Renamed from REG_NOERROR.
13725         (_REG_NOMATCH): Renamed from REG_NOMATCH.
13726         (_REG_BADPAT): Renamed from REG_BADPAT.
13727         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
13728         (_REG_ECTYPE): Renamed from REG_ECTYPE.
13729         (_REG_EESCAPE): Renamed from REG_EESCAPE.
13730         (_REG_ESUBREG): Renamed from REG_ESUBREG.
13731         (_REG_EBRACK): Renamed from REG_EBRACK.
13732         (_REG_EPAREN): Renamed from REG_EPAREN.
13733         (_REG_EBRACE): Renamed from REG_EBRACE.
13734         (_REG_BADBR): Renamed from REG_BADBR.
13735         (_REG_ERANGE): Renamed from REG_ERANGE.
13736         (_REG_ESPACE): Renamed from REG_ESPACE.
13737         (_REG_BADRPT): Renamed from REG_BADRPT.
13738         (_REG_EEND): Renamed from REG_EEND.
13739         (_REG_ESIZE): Renamed from REG_ESIZE.
13740         (_REG_ERPAREN): Renamed from REG_ERPAREN.
13741         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
13742         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
13743         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
13744         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
13745
13746         (_REG_RE_NAME, _REG_RM_NAME): New macros.
13747         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
13748         changed.  But support the old name if the new one is not defined
13749         and if _REGEX_SOURCE.
13750
13751         Change the following member names in struct re_pattern_buffer.
13752         The old names are still supported if !_REGEX_SOURCE.
13753         The new names are always supported, regardless of _REGEX_SOURCE.
13754         (re_buffer): Renamed from buffer.
13755         (re_allocated): Renamed from allocated.
13756         (re_used): Renamed from used.
13757         (re_syntax): Renamed from syntax.
13758         (re_fastmap): Renamed from fastmap.
13759         (re_translate): Renamed from translate.
13760         (re_can_be_null): Renamed from can_be_null.
13761         (re_regs_allocated): Renamed from regs_allocated.
13762         (re_fastmap_accurate): Renamed from fastmap_accurate.
13763         (re_no_sub): Renamed from no_sub.
13764         (re_not_bol): Renamed from not_bol.
13765         (re_not_eol): Renamed from not_eol.
13766         (re_newline_anchor): Renamed from newline_anchor.
13767
13768         Change the following member names in struct re_registers.
13769         The old names are still supported if !_REGEX_SOURCE.
13770         The new names are always supported, regardless of _REGEX_SOURCE.
13771         (rm_num_regs): Renamed from num_regs.
13772         (rm_start): Renamed from start.
13773         (rm_end): Renamed from end.
13774
13775         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
13776         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
13777         Prepend __ to parameter names.
13778
13779         Undo yesterday's changes.
13780
13781 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13782
13783         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
13784         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
13785         lib/regex.c.
13786
13787 2005-08-24  Jim Meyering  <jim@meyering.net>
13788
13789         Sync from coreutils.
13790         * m4/fcntl-safer.m4: New file.
13791
13792         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
13793         and object files for this module.
13794
13795 2005-08-24  Jim Meyering  <jim@meyering.net>
13796
13797         Sync from coreutils.
13798         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
13799
13800 2005-08-24  Jim Meyering  <jim@meyering.net>
13801
13802         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
13803         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
13804
13805 2005-08-24  Jim Meyering  <jim@meyering.net>
13806
13807         * modules/fcntl-safer: New module.
13808         * modules/fts (Depends-on): Add fcntl-safer.
13809         * MODULES.html.sh (File descriptor based Input/Output):
13810         Add fcntl-safer.
13811
13812 2005-08-24  Bruno Haible  <bruno@clisp.org>
13813
13814         Support for unit test modules.
13815         * modules/README: Mention tests modules.
13816         * modules/TEMPLATE-TESTS: New file.
13817         * gnulib-tool: New options --extract-tests-module, --with-tests and
13818         --tests-base (unused for the moment).
13819         (testsbase, inctests): New variables.
13820         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
13821         (func_verify_module): Exclude TEMPLATE-TESTS.
13822         (func_verify_nontests_module, func_verify_tests_module): New functions.
13823         (func_get_dependencies): Add implicit dependency for tests modules.
13824         (func_get_tests_module): New function.
13825         (func_modules_transitive_closure): When --with-tests was specified,
13826         include the unit tests as well, unless explicitly avoided.
13827         (func_emit_lib_Makefile_am): Ignore the tests modules here.
13828         (func_emit_tests_Makefile_am): New function.
13829         (func_create_testdir): When --with-tests was specified, emit a
13830         tests/ directory.
13831         * MODULES.html.sh (Future developments): Update.
13832
13833 2005-08-24  Bruno Haible  <bruno@clisp.org>
13834
13835         * modules/tls-tests: New file.
13836         * tests/test-tls.c: New file, from GNU gettext.
13837
13838 2005-08-24  Bruno Haible  <bruno@clisp.org>
13839
13840         * modules/lock-tests: New file.
13841         * tests/test-lock.c: New file, from GNU gettext.
13842
13843 2005-08-24  Bruno Haible  <bruno@clisp.org>
13844
13845         * lib/lock.h: Add multiple inclusion guard.
13846         * lib/tls.h: Add multiple inclusion guard.
13847
13848 2005-08-24  Bruno Haible  <bruno@clisp.org>
13849
13850         * gnulib-tool: Add support for the --aux-dir option to
13851         --create-testdir, --create-megatestdir, --test, --megatest.
13852         (func_create_testdir, func_create_megatestdir): Optionally emit a
13853         AC_CONFIG_AUX_DIR directive.
13854         (create-testdir, create-megatestdir, test, megatest): Provide a
13855         default value for $auxdir.
13856
13857 2005-08-24  Bruno Haible  <bruno@clisp.org>
13858
13859         * gnulib-tool (import): Use compound statement instead of subshell
13860         where possible.
13861
13862 2005-08-24  Bruno Haible  <bruno@clisp.org>
13863
13864         * gnulib-tool (import): Change --aux-dir default to "build-aux".
13865
13866 2005-08-24  Bruno Haible  <bruno@clisp.org>
13867
13868         * gnulib-tool (func_version): Update.
13869
13870 2005-08-24  Bruno Haible  <bruno@clisp.org>
13871
13872         * gnulib-tool (func_import, func_create_testdir,
13873         func_create_megatestdir): Quote all autoconf macro arguments.
13874
13875 2005-08-24  Bruno Haible  <bruno@clisp.org>
13876
13877         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
13878         option --force, because --force causes the aclocal.m4 of each
13879         subdirectory to be newer than the corresponding config.h.in.
13880
13881 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13882
13883         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
13884         All contents moved to gl_REGEX.
13885         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
13886         assume that it does.
13887
13888 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13889
13890         * lib/regex.h (REG_NOSYS)
13891         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
13892         Define, since POSIX requires it as of 2001.
13893         (_REG_ENOSYS)
13894         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
13895         New private symbol, used to keep the enum signed in all cases.
13896         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
13897         Youngman in
13898         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
13899
13900         * lib/regex_internal.c (re_string_skip_chars, register_state):
13901         (calc_state_hash):
13902         Remove forward decls; no longer needed now that we use prototypes.
13903         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
13904         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
13905         (clean_state_log_if_needed): Likewise.
13906
13907 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13908
13909         * config/srclist.txt: Add glibc bugs 1231-1233.
13910
13911 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13912
13913         Fix problems reported by Sam Steingold in
13914         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
13915         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
13916         assumed that reg_errcode_t is a signed type, which is not
13917         necessarily true if _XOPEN_SOURCE is not defined.
13918         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
13919         since some compilers warn about it otherwise.
13920
13921 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13922
13923         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
13924         (init_word_char, create_initial_state, duplicate_node_closure):
13925         (fetch_token, peek_token_bracket, build_range_exp):
13926         (build_collating_symbol): Remove forward decls; no longer needed
13927         now that we use prototypes.
13928
13929         * lib/regcomp.c:
13930         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
13931         (re_compile_fastmap_iter, regcomp, regerror, regfree):
13932         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
13933         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
13934         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
13935         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
13936         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
13937         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
13938         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
13939         (build_range_exp, build_collating_symbol, parse_bracket_exp):
13940         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
13941         (build_charclass, build_charclass_op, fetch_number, create_tree):
13942         (create_token_tree, mark_opt_subexp, duplicate_tree):
13943         Use prototypes rather than old-style definitions.
13944
13945         * lib/regex_internal.c:
13946         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
13947         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
13948         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
13949         (re_string_reconstruct, re_string_peek_byte_case):
13950         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
13951         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
13952         (re_node_set_init_copy, re_node_set_add_intersect):
13953         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13954         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13955         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
13956         (re_acquire_state, re_acquire_state_context, register_state):
13957         (create_ci_newstate, create_cd_newstate, free_state):
13958         Likewise.
13959         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
13960         re_search_2):
13961         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
13962         (re_search_internal, prune_impossible_nodes):
13963         (acquire_init_state_context, check_matching, static):
13964         (check_halt_node_context, check_halt_state_context, proceed_next_node):
13965         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
13966         (update_regs, sift_states_backward, build_sifted_states):
13967         (clean_state_log_if_needed, merge_state_array):
13968         (update_cur_sifted_state, add_epsilon_src_nodes):
13969         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
13970         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
13971         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
13972         (find_recover_state, check_subexp_matching_top, transit_state_mb):
13973         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
13974         (check_arrival, check_arrival_add_next_nodes):
13975         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
13976         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
13977         (check_node_accept_bytes, check_node_accept, extend_buffers):
13978         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
13979         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
13980         (sift_ctx_init):
13981         Likewise.
13982
13983         * lib/regex_internal.h:
13984         (re_string_allocate, re_string_construct, re_string_reconstruct):
13985         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
13986         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
13987         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
13988         (re_string_context_at, re_string_peek_byte_case):
13989         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
13990         is defined, since we now use prototypes always.
13991
13992         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
13993         C89 or better.  All uses removed.
13994
13995 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13996
13997         * config/srclist.txt: Add glibc bugs 1220-1227.
13998
13999 2005-08-20  Jim Meyering  <jim@meyering.net>
14000
14001         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
14002         of unused local, dfa.
14003
14004 2005-08-20  Bruno Haible  <bruno@clisp.org>
14005
14006         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
14007
14008 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14009
14010         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
14011         (re_node_set_insert_last, re_dfa_add_node):
14012         Rename local variables to avoid GCC shadowing warnings.
14013
14014 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14015
14016         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
14017         [defined lint]: Suppress bogus uninitialized-variable warnings.
14018
14019         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
14020         and let the caller return REG_ESPACE if out of space.  This
14021         removes an uninitialied-variable warning with GCC 4.0.1, and also
14022         avoids taking the address of a local variable.  All callers
14023         changed.
14024
14025 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14026
14027         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
14028         $LIBCSRC/posix/regexec.c.
14029         Add glibc bug 1217 for regcomp.c.
14030
14031 2005-08-19  Jim Meyering  <jim@meyering.net>
14032
14033         * lib/regexec.c (proceed_next_node): Redo local variables to
14034         avoid GCC shadowing warnings.
14035
14036 2005-08-18  Bruno Haible  <bruno@clisp.org>
14037
14038         * lib/strstr.c (strstr): Fix return value in multibyte case.
14039         * lib/strcasestr.c (strcasestr): Likewise.
14040
14041 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
14042
14043         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
14044
14045 2005-08-17  Jim Meyering  <jim@meyering.net>
14046
14047         Make the %s format (seconds since the epoch) work for a negative
14048         number and when used with a zero-padded field width, e.g. %015s.
14049
14050         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
14051         label so that it precedes the code to set `digits'.  Otherwise,
14052         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
14053         print `00-22'.  Now, it prints `-0022', as it should.
14054
14055 2005-08-17  Bruno Haible  <bruno@clisp.org>
14056
14057         * modules/strstr (Files): Add m4/mbrtowc.m4.
14058         (Depends-on): Add mbuiter.
14059
14060 2005-08-17  Bruno Haible  <bruno@clisp.org>
14061
14062         * modules/strcasestr: New file.
14063         * MODULES.html.sh (String handling, based on ANSI C 89): Add
14064         strcasestr.
14065
14066 2005-08-17  Bruno Haible  <bruno@clisp.org>
14067
14068         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
14069
14070 2005-08-17  Bruno Haible  <bruno@clisp.org>
14071
14072         * modules/mbuiter: New file.
14073         * MODULES.html.sh (Extended multibyte and wide character utilities):
14074         Add mbuiter.
14075
14076 2005-08-17  Bruno Haible  <bruno@clisp.org>
14077
14078         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
14079         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
14080
14081 2005-08-17  Bruno Haible  <bruno@clisp.org>
14082
14083         * m4/strcasestr.m4: New file.
14084
14085 2005-08-17  Bruno Haible  <bruno@clisp.org>
14086
14087         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
14088         * lib/strstr.c: Completely rewritten, with multibyte locale support.
14089
14090 2005-08-17  Bruno Haible  <bruno@clisp.org>
14091
14092         * lib/strcasestr.h: New file.
14093         * lib/strcasestr.c: New file.
14094
14095 2005-08-17  Bruno Haible  <bruno@clisp.org>
14096
14097         * lib/strcasecmp.c: Use mbuiter.h.
14098
14099 2005-08-17  Bruno Haible  <bruno@clisp.org>
14100
14101         * lib/mbuiter.h: New file.
14102
14103 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
14104
14105         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
14106         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
14107         and gl_GETOPT are both invoked via different paths (as happens
14108         with GNU tar CVS because it uses both argp and getopt), the former
14109         wins.
14110
14111 2005-08-16  Bruno Haible  <bruno@clisp.org>
14112
14113         * modules/tls: New file.
14114         * MODULES.html.sh (Multithreading): Add tls.
14115
14116 2005-08-16  Bruno Haible  <bruno@clisp.org>
14117
14118         * modules/strnlen1: New file.
14119         * MODULES.html.sh (String handling): Add strnlen1.
14120
14121 2005-08-16  Bruno Haible  <bruno@clisp.org>
14122
14123         * modules/strcase (Files): Add m4/mbrtowc.m4.
14124         (Depends-on): Add strnlen1, mbchar.
14125
14126 2005-08-16  Bruno Haible  <bruno@clisp.org>
14127
14128         * modules/mbiter: New file.
14129         * MODULES.html.sh (Extended multibyte and wide character utilities):
14130         Add mbiter.
14131
14132 2005-08-16  Bruno Haible  <bruno@clisp.org>
14133
14134         * modules/mbfile: New file.
14135         * MODULES.html.sh (Extended multibyte and wide character utilities):
14136         Add mbfile.
14137
14138 2005-08-16  Bruno Haible  <bruno@clisp.org>
14139
14140         * modules/mbchar: New file.
14141         * MODULES.html.sh (Extended multibyte and wide character utilities):
14142         New section.
14143
14144 2005-08-16  Bruno Haible  <bruno@clisp.org>
14145
14146         * m4/tls.m4: New file, from GNU gettext.
14147
14148 2005-08-16  Bruno Haible  <bruno@clisp.org>
14149
14150         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
14151         always.
14152         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
14153
14154 2005-08-16  Bruno Haible  <bruno@clisp.org>
14155
14156         * m4/mbiter.m4: New file.
14157
14158 2005-08-16  Bruno Haible  <bruno@clisp.org>
14159
14160         * m4/mbfile.m4: New file.
14161
14162 2005-08-16  Bruno Haible  <bruno@clisp.org>
14163
14164         * m4/mbchar.m4: New file.
14165
14166 2005-08-16  Bruno Haible  <bruno@clisp.org>
14167
14168         * lib/tls.h: New file, from GNU gettext.
14169         * lib/tls.c: New file, from GNU gettext.
14170
14171 2005-08-16  Bruno Haible  <bruno@clisp.org>
14172
14173         * lib/strnlen1.h: New file.
14174         * lib/strnlen1.c: New file.
14175
14176 2005-08-16  Bruno Haible  <bruno@clisp.org>
14177
14178         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
14179         (mbi_init): Update.
14180         (mbi_avail, mbi_advance): Let the iteration end before the terminating
14181         NUL byte, not after it.
14182
14183 2005-08-16  Bruno Haible  <bruno@clisp.org>
14184
14185         * lib/strcase.h (strcasecmp): Add note in comments.
14186         * lib/strncasecmp.c: Use code from strcasecmp.c.
14187         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
14188         (strcasecmp): Work correctly in multibyte locales.
14189
14190 2005-08-16  Bruno Haible  <bruno@clisp.org>
14191
14192         * lib/mbiter.h: New file.
14193
14194 2005-08-16  Bruno Haible  <bruno@clisp.org>
14195
14196         * lib/mbfile.h: New file.
14197
14198 2005-08-16  Bruno Haible  <bruno@clisp.org>
14199
14200         * lib/mbchar.h: New file.
14201         * lib/mbchar.c: New file.
14202
14203 2005-08-16  Bruno Haible  <bruno@clisp.org>
14204
14205         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
14206         the valid ones. Makes the comparison operations transitive:
14207         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
14208         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
14209
14210 2005-08-15  Simon Josefsson  <jas@extundo.com>
14211
14212         * modules/ssize_t (License): Change to 'unlimited'.
14213
14214         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
14215
14216 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14217
14218         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
14219         Add comments for each pending glibc patch.
14220
14221 2005-08-15  Bruno Haible  <bruno@clisp.org>
14222
14223         * lib/regex.h (__restrict_arr): Don't define to __restrict if
14224         __cplusplus is defined.
14225
14226 2005-08-14  Jim Meyering  <jim@meyering.net>
14227
14228         Sync from coreutils.
14229
14230         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
14231         Use the hash-table-based cycle-detection code not just when
14232         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
14233         Reported by James Youngman in
14234         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
14235         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
14236         FTS_TIGHT_CYCLE_CHECK.
14237         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
14238         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
14239         once again.
14240         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
14241         * lib/fts.c (fd_safer): Remove decl.
14242         Include fcntl--.h rather than unistd-safer.h
14243         (fts_safe_changedir): Don't call fd_safer; no longer needed
14244         now that we include fcntl--.h.
14245
14246 2005-08-12  Simon Josefsson  <jas@extundo.com>
14247
14248         * modules/getndelim2: Use ssize_t module.
14249         * modules/getnline: Likewise.
14250         * modules/safe-read: Likewise.
14251         * modules/xreadlink: Likewise.
14252
14253         * modules/ssize_t: New file.
14254
14255 2005-08-12  Simon Josefsson  <jas@extundo.com>
14256
14257         * m4/readline.m4: Look for termcap, curses or ncurses if required.
14258
14259 2005-08-12  Simon Josefsson  <jas@extundo.com>
14260
14261         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14262         ssize_t.
14263
14264 2005-08-12  Simon Josefsson  <jas@extundo.com>
14265
14266         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
14267         readline, getdelim and check_version.
14268         (Support for systems lacking ISO C 99: Sizes of integer types):
14269         Add size_max.
14270
14271 2005-08-12  Bruno Haible  <bruno@clisp.org>
14272
14273         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
14274
14275 2005-08-11  Simon Josefsson  <jas@extundo.com>
14276
14277         * modules/readline: New file.
14278
14279         * modules/strnlen (Files): Add strnlen.h.
14280
14281 2005-08-11  Simon Josefsson  <jas@extundo.com>
14282
14283         * m4/readline.m4: New file.
14284
14285 2005-08-11  Simon Josefsson  <jas@extundo.com>
14286
14287         * lib/readline.h, readline.c: New file.
14288
14289 2005-08-11  Simon Josefsson  <jas@extundo.com>
14290
14291         * doc/gnulib.texi (Initial import, Finishing touches): Mention
14292         gl_AVOID.
14293
14294 2005-08-11  Bruno Haible  <bruno@clisp.org>
14295
14296         * lib/strnlen.h (strnlen): Change parameter name to match comment.
14297
14298 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
14299
14300         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
14301
14302 2005-08-10  Simon Josefsson  <jas@extundo.com>
14303
14304         * tests/test-iconvme.c: New file.
14305
14306 2005-08-10  Simon Josefsson  <jas@extundo.com>
14307
14308         * m4/strnlen.m4: New file.
14309
14310         * m4/strndup.m4: Don't check for strnlen declaration, done in
14311         strnlen.m4.
14312
14313 2005-08-10  Simon Josefsson  <jas@extundo.com>
14314
14315         * lib/strndup.c: Use strnlen.h.
14316
14317         * lib/strnlen.h: New file.
14318
14319 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
14320
14321         * README: Typos.
14322
14323 2005-08-02  Simon Josefsson  <jas@extundo.com>
14324
14325         * modules/readline: New file.
14326
14327 2005-08-02  Simon Josefsson  <jas@extundo.com>
14328
14329         * modules/getdelim: New file.
14330
14331         * modules/getline: Rewrite, don't use getndelim2.
14332
14333 2005-08-02  Simon Josefsson  <jas@extundo.com>
14334
14335         * m4/getline.m4: Separate out getdelim stuff into separate module.
14336
14337         * m4/getdelim.m4: New file.
14338
14339 2005-08-02  Simon Josefsson  <jas@extundo.com>
14340
14341         * lib/getline.h, getline.c: Rewrite.
14342
14343         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
14344
14345 2005-07-31  Bruno Haible  <bruno@clisp.org>
14346
14347         * lib/lock.h (gl_lock_initializer): New macro.
14348         (gl_lock_define_initialized): Use it.
14349         (gl_rwlock_initializer): New macro.
14350         (gl_rwlock_define_initialized): Use it.
14351         (gl_recursive_lock_initializer): New macro.
14352         (gl_recursive_lock_define_initialized): Use it.
14353
14354 2005-07-30  Karl Berry  <karl@gnu.org>
14355
14356         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
14357         Report from Ben Pfaff, regarding getopt.
14358
14359 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
14360
14361         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
14362         normal way.
14363         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
14364         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
14365         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
14366         (gl_GETOPT): Use the new macros.  Most of the implementation
14367         is moved to the new macros.  This is for programs like Emacs
14368         that don't want all the functionality of gl_GETOPT.
14369
14370 2005-07-26  Bruno Haible  <bruno@clisp.org>
14371
14372         * m4/lock.m4: Update from GNU gettext.
14373
14374 2005-07-26  Bruno Haible  <bruno@clisp.org>
14375
14376         * lib/lock.h: Update from GNU gettext.
14377         * lib/lock.c: Update from GNU gettext.
14378
14379 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14380
14381         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
14382         obsolescent AC_TRY_RUN.  Include the default includes files, for
14383         'exit'.
14384
14385 2005-07-24  Bruno Haible  <bruno@clisp.org>
14386
14387         * modules/visibility: New file.
14388         * MODULES.html.sh (Misc): Add visibility.
14389
14390 2005-07-24  Bruno Haible  <bruno@clisp.org>
14391
14392         * m4/visibility.m4: New file.
14393
14394 2005-07-24  Bruno Haible  <bruno@clisp.org>
14395
14396         * doc/visibility.texi: New file.
14397
14398 2005-07-22  Bruno Haible  <bruno@clisp.org>
14399
14400         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
14401         $(ALLOCA_H), redundant through BUILT_SOURCES.
14402         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
14403         redundant through BUILT_SOURCES.
14404         * modules/byteswap (Makefile.am): Remove explicit dependency on
14405         $(BYTESWAP_H), redundant through BUILT_SOURCES.
14406         * modules/fnmatch (Makefile.am): Remove explicit dependency on
14407         $(FNMATCH_H), redundant through BUILT_SOURCES.
14408         * modules/getopt (Makefile.am): Remove explicit dependency on
14409         $(GETOPT_H), redundant through BUILT_SOURCES.
14410         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
14411         redundant through BUILT_SOURCES.
14412         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
14413         redundant through BUILT_SOURCES.
14414         * modules/stdbool (Makefile.am): Remove explicit dependency on
14415         $(STDBOOL_H), redundant through BUILT_SOURCES.
14416         * modules/stdint (Makefile.am): Remove explicit dependency on
14417         $(STDINT_H), redundant through BUILT_SOURCES.
14418         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
14419         Remove explicit dependency on $(SYSEXITS_H).
14420         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
14421
14422 2005-07-18  Simon Josefsson  <jas@extundo.com>
14423
14424         * lib/check-version.c (check_version): Accept identical versions too.
14425
14426 2005-07-18  Bruno Haible  <bruno@clisp.org>
14427
14428         * modules/lock: New file.
14429         * MODULES.html.sh (Multithreading): New section.
14430
14431 2005-07-18  Bruno Haible  <bruno@clisp.org>
14432
14433         * m4/lock.m4: New file, from GNU gettext.
14434
14435 2005-07-18  Bruno Haible  <bruno@clisp.org>
14436
14437         * lib/lock.h: New file, from GNU gettext.
14438         * lib/lock.c: New file, from GNU gettext.
14439
14440 2005-07-18  Bruno Haible  <bruno@clisp.org>
14441
14442         * lib/lock.h (gl_once_t): New type.
14443         (gl_once_define, gl_once): New macros.
14444         * lib/lock.c (fresh_once): New variable.
14445         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
14446         functions.
14447
14448 2005-07-16  Simon Josefsson  <jas@extundo.com>
14449
14450         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
14451         workaround, suggested by Bruno.
14452
14453 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14454
14455         * modules/xalloc (Depends-on): Add xalloc-die.
14456         * modules/xvasprintf (Depends-on): Add xalloc-die.
14457
14458 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14459
14460         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
14461         with a minor change.
14462
14463 2005-07-15  Bruno Haible  <bruno@clisp.org>
14464
14465         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
14466         When using lib/poll.c, define poll as rpl_poll.
14467
14468 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
14469
14470         * modules/argp (Depends-on): Remove unlocked-io.
14471
14472 2005-07-14  Derek Price  <derek@ximbiot.com>
14473
14474         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
14475         for glob symlink bug.
14476
14477 2005-07-14  Bruno Haible  <bruno@clisp.org>
14478
14479         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
14480         Instead, test for *_unlocked function declarations directly.
14481
14482 2005-07-11  Simon Josefsson  <jas@extundo.com>
14483
14484         * modules/size_max: New file.
14485
14486         * modules/xsize: Depend on size_max module for size_max.m4.
14487
14488 2005-07-11  Simon Josefsson  <jas@extundo.com>
14489
14490         * lib/size_max.h: New file.
14491
14492 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
14493
14494         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
14495         copyright symbol and the year.
14496         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
14497         (version_etc_va): Use parameterized copyright notice.
14498         Reword to conform to the current GNU coding standards.
14499
14500 2005-07-11  Karl Berry  <karl@gnu.org>
14501
14502         * doc/gnulib.texi (Quoting): new node.
14503         (Initial import): more info, from Patrice.
14504
14505 2005-07-11  Bruno Haible  <bruno@clisp.org>
14506
14507         * gnulib-tool (func_usage): Document option --avoid.
14508         (Command line options): Handle --avoid.
14509         (func_acceptable): New function.
14510         (func_modules_transitive_closure): Use it.
14511
14512 2005-07-11  Bruno Haible  <bruno@clisp.org>
14513
14514         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
14515         Reported by Jim Meyering.
14516
14517 2005-07-10  Bruno Haible  <bruno@clisp.org>
14518
14519         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
14520         Needed when size_t is smaller than 'unsigned int'.
14521         Reported by Paul Eggert.
14522
14523 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14524
14525         * modules/argp (Depends-on): Add unlocked-io
14526
14527 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14528
14529         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
14530         block of defines.
14531
14532 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14533
14534         * config/srclist.txt: Comment out regcomp.c, since we have a porting
14535         fix now.
14536
14537 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
14538         and Paul Eggert  <eggert@cs.ucla.edu>
14539
14540         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
14541         in wint_t, not wchar_t.  Remove now-unnecessary cast.
14542
14543 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14544
14545         * modules/regex (Files): Add lib/regex_internal.c,
14546         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
14547         (Depends-on): Add extensions.
14548         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
14549
14550 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14551
14552         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
14553         pathconf.
14554         * m4/same.m4 (gl_SAME): Likewise.
14555         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
14556
14557         * m4/regex.m4: Adjust to new libc regex implementation.
14558         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
14559         all the .c and .h parts of (the new) regex.
14560         Quote the m4 stuff better.
14561         Check for RE_ICASE bug of old gnulib.
14562         Check for REG_STARTEND of recent libc.
14563         Rename local variables from jm_* to gl_*.
14564         Quote operand of "test -f".
14565         Say "recent enough" version of libc, not "version 2".
14566         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
14567         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
14568         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
14569         Remove check for btowc, isascii.
14570         Require AM_LANGINFO_CODESET.
14571
14572 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14573
14574         * lib/regex.c, regex.h: Sync from libc.
14575         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
14576         * lib/regexec.c:
14577         New files, synced from libc, except that regex_internal.h
14578         currently has a small porting fix.
14579
14580 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14581
14582         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
14583         regex_internal.c, regexec.c.
14584         Add regex_internal.h too, but as a comment, since the libc version
14585         is currently broken in gnulib mode.
14586
14587 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14588
14589         Support programs like Emacs that use gnulib but not gettext.
14590         * MODULES.html.sh (Internationalization functions): Add gettext-h.
14591         * modules/gettext-h: New file.
14592         * modules/gettext (Files): Remove lib/gettext.h.
14593         (Depends-on): Add gettext-h.
14594         (Makefile.am): Remove lib_SOURCES.
14595         * modules/argmatch, modules/c-stack, modules/closeout:
14596         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
14597         * modules/execute, modules/file-type, modules/getaddrinfo:
14598         * modules/getopt, modules/human, modules/javacomp:
14599         * modules/javaexec, modules/mkdir-p, modules/obstack:
14600         * modules/openat, modules/pagealign_alloc, modules/pipe:
14601         * modules/quotearg, modules/regex, modules/rpmatch:
14602         * modules/unicodeio, modules/userspec, modules/version-etc:
14603         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
14604         * modules/xsetenv:
14605         Depend on gettext-h, not gettext.
14606
14607 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14608
14609         * gnulib-tool (func_import): Add support for 'public domain' license.
14610         * modules/alloca, modules/atexit, modules/memmove:
14611         Now public domain, not GPL.
14612         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
14613         * modules/realloc, modules/strerror, modules/strtod:
14614         Now LGPL, not GPL.
14615
14616 2005-07-05  Bruno Haible  <bruno@clisp.org>
14617
14618         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
14619         autoconf CVS. Needed for mingw.
14620
14621 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14622
14623         Remove the dependency of the strftime module on the tzset module.
14624         * modules/strftime (Depends-on): Remove dependency on tzset.
14625
14626 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14627
14628         Remove the dependency of the strftime module on the tzset module.
14629         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
14630         gl_FUNC_TZSET_CLOBBER.
14631
14632 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14633
14634         Remove the dependency of the strftime module on the tzset module.
14635         * lib/strftime.c (my_strftime)
14636         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
14637         Copy the input structure, to work around some of the bug with
14638         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
14639         Solaris releases, you should also use the tzset module, but we won't
14640         require it as a dependency any more since we don't want LGPLed code
14641         to depend on GPLed code.
14642
14643 2005-07-02  Jim Meyering  <jim@meyering.net>
14644
14645         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
14646         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
14647         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
14648         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
14649
14650 2005-07-02  Jim Meyering  <jim@meyering.net>
14651
14652         * lib/backupfile.c (backup_args): Change a `0' to NULL.
14653
14654 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
14655
14656         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
14657         declares only 'struct timespec;' (!).
14658
14659 2005-07-01  Jim Meyering  <jim@meyering.net>
14660
14661         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
14662         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
14663         * lib/save-cwd.c, tempname.c:
14664         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
14665         and don't include <sys/file.h>).
14666
14667 2005-06-29  Jim Meyering  <jim@meyering.net>
14668
14669         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
14670         type name.  Use the variable name instead.
14671         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
14672         Likewise.
14673
14674 2005-06-28  Simon Josefsson  <jas@extundo.com>
14675
14676         * modules/check-version (Files): Add check-version.m4.
14677
14678 2005-06-28  Simon Josefsson  <jas@extundo.com>
14679
14680         * m4/check-version.m4: New file, suggested by Jim Meyering
14681         <jim@meyering.net>.
14682
14683 2005-06-28  Simon Josefsson  <jas@extundo.com>
14684
14685         * lib/check-version.h, lib/check-version.c: New files.
14686
14687 2005-06-28  Simon Josefsson  <jas@extundo.com>
14688
14689         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
14690         collision with global variable.  Better indentation.  Don't
14691         increment buffer pointer beyond buffer end.  Based on comments
14692         from Paul Eggert <eggert@cs.ucla.edu>.
14693
14694         * lib/base64.h: Indent.
14695
14696 2005-06-28  Simon Josefsson  <jas@extundo.com>
14697
14698         * doc/gnulib.texi (Library version handling): New section.
14699
14700 2005-06-28  Jim Meyering  <jim@meyering.net>
14701
14702         * check-module (find_included_lib_files): Hard-code another
14703         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
14704         but modules/fts-lgpl (correctly) does not list those files.
14705
14706         * modules/canonicalize (Files): Add lib/pathmax.h.
14707
14708 2005-06-25  Simon Josefsson  <jas@extundo.com>
14709
14710         * modules/check-version: New file.
14711
14712 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14713
14714         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
14715         initializer of struct addrinfo, as an indication that we don't
14716         care how many members the structure has.
14717
14718 2005-06-24  Derek Price  <derek@ximbiot.com>
14719         and Bruno Haible  <bruno@clisp.org>
14720
14721         Remove stat module & update lstat.
14722         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
14723         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14724         * m4/stat.m4: Remove this file.
14725
14726 2005-06-24  Derek Price  <derek@ximbiot.com>
14727         and Bruno Haible  <bruno@clisp.org>
14728
14729         Remove stat module & update lstat.
14730         * lib/stat.c: Remove this file...
14731         (slash_aware_lstat): ...moving this content and its support...
14732         * lib/lstat.c (rpl_lstat): ...into here.
14733         * lib/lstat.h: New file.
14734
14735 2005-06-24  Derek Price  <derek@ximbiot.com>
14736         and Bruno Haible  <bruno@clisp.org>
14737
14738         Remove stat module & update lstat.
14739         * config/srclist.txt (libc sources): Remove stat.
14740
14741 2005-06-24  Derek Price  <derek@ximbiot.com>
14742         and Bruno Haible  <bruno@clisp.org>
14743
14744         Remove stat module & update lstat.
14745         * MODULES.html.sh (stat): Remove.
14746         * MODULES.html: Regenerated.
14747         * modules/lstat (Description): Correct function name.
14748         (Files): Add "lstat.h".
14749         (Depends-on): Remove stat, add xalloc, stat-macros.
14750         * modules/stat: Remove this file.
14751         (Include): Add "lstat.h", remove <sys/stat.h>.
14752
14753 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14754
14755         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
14756         (ranged_convert): Don't save conversion in a temporary struct.
14757         This causes a warning with GCC 4.0.0, and anyway in the typical
14758         case it's not worth the extra 100 bytes or so of code.
14759         (ranged_convert, __mktime_internal): When calling a function via a
14760         pointer P, use P () rather than (*P) (), as we now assume C89 or
14761         better.
14762
14763 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14764
14765         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
14766         "who -r" failed to give output.  Problem reported by Tim Waugh.
14767
14768         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
14769         (xcalloc): Use it to avoid needless tests.
14770         Problem reported by Jim Meyering.
14771
14772 2005-06-20  Derek Price  <derek@ximbiot.com>
14773
14774         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
14775         unnecessary for Autoconfs > 2.59c.
14776
14777 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14778
14779         * lib/argp.h (__option_is_short): Check upper limit of
14780         __key. Isprint() requires its argument to have the value
14781         of an unsigned char or EOF.
14782
14783 2005-06-16  Jim Meyering  <jim@meyering.net>
14784
14785         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
14786         when either N or S is zero.
14787
14788 2005-06-16  Derek Price  <derek@ximbiot.com>
14789
14790         * m4/bison.m4: Declare YACC & YFLAGS precious.
14791
14792 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
14793
14794         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
14795         multibyte string or pattern, fall back on unibyte matching.
14796         Problem reported by James Youngman.
14797
14798 2005-06-08  Bruno Haible  <bruno@clisp.org>
14799
14800         * modules/csharpcomp: New file.
14801         * MODULES.html.sh (C#): Add csharpcomp.
14802
14803 2005-06-08  Bruno Haible  <bruno@clisp.org>
14804
14805         * m4/csharpcomp.m4: New file, from GNU gettext.
14806
14807 2005-06-08  Bruno Haible  <bruno@clisp.org>
14808
14809         * lib/csharpcomp.h: New file, from GNU gettext.
14810         * lib/csharpcomp.c: New file, from GNU gettext.
14811         * lib/csharpcomp.sh.in: New file, from GNU gettext.
14812
14813 2005-06-08  Bruno Haible  <bruno@clisp.org>
14814
14815         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
14816         warning on mingw.
14817
14818 2005-06-07  Derek Price  <derek@ximbiot.com>
14819
14820         Sync from CVS.
14821         * lib/glob_.h: Indent nested #ifdef.
14822
14823 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14824
14825         Sync from coreutils.
14826         Use "file name" when talking about file names, instead of "filename"
14827         or "path", as per the GNU coding standards.
14828         * lib/mkdir-p.c: Renamed from makepath.c.
14829         (make_dir_parents): Renamed from make_path.  All callers changed.
14830         * lib/mkdir-p.h: Likewise.  All includers changed.
14831         * lib/filenamecat.c: Renamed from path-concat.c.
14832         (file_name_concat): Renamed from path_concat.  All callers changed.
14833         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
14834         * lib/filenamecat.h: Likewise.  All includers changed.
14835         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
14836         in comments or local variable names.
14837         * lib/basename.c: Likewise.
14838         * lib/canonicalize.c, canonicalize.h: Likewise.
14839         * lib/dirname.c, dirname.h: Likewise.
14840         * lib/euidaccess.c: Likewise.
14841         * lib/exclude.c: Likewise
14842         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
14843         * lib/fsusage.c, fsuage.h: Likewise.
14844         * lib/fts.c, fts_.h: Likewise.
14845         * lib/getcwd.c: Likewise.
14846         * lib/getloadavg.c: Likewise.
14847         * lib/mkstemp.c: Likewise.
14848         * lib/mountlist.c, mountlist.h: Likewise.
14849         * lib/openat.c, openat.h: Likewise.
14850         * lib/readlink-stub.c: Likewise.
14851         * lib/readutmp.c, readutmp.h: Likewise.
14852         * lib/rename.c: Likewise.
14853         * lib/rmdir.c: Likewise.
14854         * lib/same.c: Likewise.
14855         * lib/savedir.c: Likewise.
14856         * lib/stripslash.c: Likewise.
14857         * lib/tempname.c: Likewise.
14858         * lib/xreadlink.c: Likewise.
14859         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
14860         All uses changed.
14861         * lib/exclude.h: Likewise.
14862
14863         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
14864         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14865         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
14866         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14867         * lib/pathmax.h: Include <limits.h> unconditionally, since other
14868         files have been getting away with it for years (MORE/BSD 4.3
14869         is extinct now).
14870         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
14871         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14872
14873         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
14874         Define to 256, not 255, as per modern POSIX.
14875
14876 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14877
14878         Sync from coreutils.
14879         Use "file name" when talking about file names, instead of "filename"
14880         or "path", as per the GNU coding standards.
14881         * MODULES.html.sh: mkdir-p renamed from makepath.
14882         filenamecat renamed from path-concat.
14883         * modules/filenamecat: Renamed from modules/path-concat.
14884         (Files): filenamecat.h and filenamecat.c renamed from
14885         path-concat.h and path-concat.c.
14886         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
14887         (Include): filenamecat.h, not path-concat.h.
14888         * modules/mkdir-p: Renamed from modules/makepath.
14889         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
14890         makepath.c.
14891         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
14892         (Include): mkdir-p.h, not makepath.h.
14893
14894 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14895
14896         Sync from coreutils.
14897         * m4/mkdir-p.m4: Renamed from makepath.m4.
14898         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
14899         Rename files from makepath.c to mkdir-p.c, and from
14900         makepath.h to mkdir-p.h.
14901         * m4/filenamecat.m4: Renamed from path-concat.m4.
14902         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
14903         Rename files from path-concat.c to filenamecat.c,
14904         and from path-concat.h to filenamecat.h.
14905         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
14906         "file name" in local variables or comments.
14907         * m4/rename.m4: Likewise.
14908
14909 2005-06-01  Bruno Haible  <bruno@clisp.org>
14910
14911         * modules/csharpexec: New file.
14912         * MODULES.html.sh (C#): New section.
14913
14914 2005-06-01  Bruno Haible  <bruno@clisp.org>
14915
14916         * m4/csharp.m4: New file, from GNU gettext.
14917         * m4/csharpexec.m4: New file, from GNU gettext.
14918
14919 2005-06-01  Bruno Haible  <bruno@clisp.org>
14920
14921         * lib/csharpexec.h: New file, from GNU gettext.
14922         * lib/csharpexec.c: New file, from GNU gettext.
14923         * lib/csharpexec.sh.in: New file, from GNU gettext.
14924
14925 2005-05-31  Derek Price  <derek@ximbiot.com>
14926             Paul Eggert  <eggert@cs.ucla.edu>
14927
14928         Sync from cvs.
14929         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14930
14931 2005-05-31  Derek Price  <derek@ximbiot.com>
14932             Paul Eggert  <eggert@cs.ucla.edu>
14933
14934         Sync from cvs.
14935         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14936
14937 2005-05-29  Derek Price  <derek@ximbiot.com>
14938
14939         * config/srclist.txt (glob_.h, glob.c): Add these files.
14940
14941 2005-05-29  Derek Price  <derek@ximbiot.com>
14942
14943         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
14944         * modules/glob: New file.
14945         * modules/getlogin_r: Add link to POSIX spec in description.
14946
14947 2005-05-29  Derek Price  <derek@ximbiot.com>
14948             Paul Eggert  <eggert@cs.ucla.edu>
14949
14950         * m4/glob.m4: New file.
14951
14952 2005-05-29  Derek Price  <derek@ximbiot.com>
14953             Paul Eggert  <eggert@cs.ucla.edu>
14954
14955         * lib/glob_.h, lib/glob.c: New files.
14956
14957 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14958
14959         * modules/fts (Files): Remove m4/inttypes-pri.m4.
14960         * modules/fts-lgpl (Depends-on): Remove gettext.
14961
14962 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14963
14964         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
14965         and don't require gt_INTTYPES_PRI.
14966
14967 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14968
14969         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
14970
14971         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
14972         the configuration hassle isn't worth it.
14973         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
14974         (LONGEST_MODIFIER, PRIuMAX): Remove.
14975
14976 2005-05-27  Bruno Haible  <bruno@clisp.org>
14977
14978         * lib/getlogin_r.h: Remove second include of <stddef.h>.
14979
14980 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
14981
14982         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
14983         _POSIX_PTHREAD_SEMANTICS for Solaris.
14984
14985 2005-05-25  Derek Price  <derek@ximbiot.com>
14986
14987         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
14988
14989 2005-05-25  Derek Price  <derek@ximbiot.com>
14990             Paul Eggert  <eggert@cs.ucla.edu>
14991
14992         * modules/getlogin_r, m4/getlogin_r.m4: New files.
14993         * lib/getlogin_r.c, getlogin_r.h: New files.
14994
14995 2005-05-25  Bruno Haible  <bruno@clisp.org>
14996             Derek Price  <derek@ximbiot.com>
14997
14998         * lib/getlogin_r.h: Simplify API documentation.
14999
15000 2005-05-23  Derek Price  <derek@ximbiot.com>
15001
15002         * modules/minmax (Files): Add m4/minmax.m4.
15003         (configure.ac): Add gl_MINMAX.
15004
15005 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
15006
15007         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
15008         so that unistd-safer.h (GPL'ed code) need not be included.
15009
15010 2005-05-22  Bruno Haible  <bruno@clisp.org>
15011
15012         * m4/minmax.m4: New file.
15013         Based on a patch by Derek Price <derek@ximbiot.com>.
15014
15015 2005-05-22  Bruno Haible  <bruno@clisp.org>
15016
15017         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
15018         (INT64_MIN): Fix definition.
15019         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
15020
15021         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
15022         NEED_SIGNED_INT_TYPES.
15023
15024         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
15025         HAVE_SYSTEM_INTTYPES.
15026
15027 2005-05-22  Bruno Haible  <bruno@clisp.org>
15028
15029         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
15030         Also include <sys/param.h> if it defines MIN, MAX.
15031         Based on a patch by Derek Price <derek@ximbiot.com>.
15032
15033 2005-05-21  Jim Meyering  <jim@meyering.net>
15034
15035         * modules/fts (Files): Add m4/inttypes-pri.m4.
15036         (Depends-on): Add lstat and remove gettext.  Alphabetize.
15037
15038 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15039
15040         New fts module.
15041         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
15042         (setup_dir, free_dir): New functions.
15043         (enter_dir, leave_dir): Define trivial
15044         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
15045         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
15046         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
15047         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
15048         Move to fts-cycle.c.
15049         (fts_open): Use setup_dir.
15050         (fts_close): Use free_dir.
15051         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
15052         This adds a label and some gotos, but the alternatives were messier.
15053         Check for memory allocation failure when entering a dir.
15054         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
15055         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
15056         (FTS): New member fts_cycle, that is a union that contains the
15057         old active_dir_ht and cycle_state.  All uses changed to mention
15058         fts_cycle.ht and fts_cycle.state.
15059         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
15060         fts.c, with the following changes:
15061         (setup_dir, free_dir): New functions.
15062         (enter_dir): Now returns bool.  Return true if successful, false
15063         if memory exhausted.  All callers changed.
15064         Do not bother partly cleaning up on
15065         memory allocation failure; that is free_dir's job.
15066         However, free ad if hash_insert fails, to avoid memory leak.
15067         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
15068         fts->fts_options to see which union member to use.
15069
15070 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15071
15072         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
15073         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
15074
15075 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15076
15077         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
15078
15079 2005-05-20  Jim Meyering  <jim@meyering.net>
15080
15081         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
15082         Now a macro, to pacify GCC.
15083
15084 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
15085
15086         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
15087         of -1.
15088
15089 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
15090
15091         * lib/chown.c (rpl_chown): Return -1 on failure.
15092
15093 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
15094
15095         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
15096         Don't check for stddef.h.
15097         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
15098         don't use its results.
15099         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
15100         since we include them unconditionally.  Don't require
15101         AM_STDBOOL_H, since stdbool is a prerequisite.
15102         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
15103         since we assume C89 or better.
15104         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
15105         as we don't use their results.
15106         Don't check for fchdir, memmove, memset, strrchr, as we use
15107         them unconditionally.
15108         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
15109         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
15110
15111 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
15112
15113         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
15114         Include <stddef.h> unconditionally, since we assume C89 now.
15115         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
15116         * lib/fts.c: Include fts_.h first, to check interface.
15117         Do not include intprops.h; no longer needed.
15118         Include cycle-check.h and hash.h, since fts_.h no longer does.
15119         Remove unnecessary casts of closedir to void.
15120         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
15121         decide whether to decrement nlinks.
15122         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
15123         (FTS): Use struct hash_table * instead of Hash_table, so that
15124         we no longer need to include hash.h here.
15125
15126 2005-05-18  Jim Meyering  <jim@meyering.net>
15127
15128         * modules/dirfd (License): Change to LGPL.  Most of the code
15129         is already in the public domain.
15130
15131 2005-05-18  Jim Meyering  <jim@meyering.net>
15132
15133         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
15134         Reported by Yoann Vandoorselaere.
15135
15136 2005-05-17  Jim Meyering  <jim@meyering.net>
15137
15138         * m4/fts.m4: New file, from coreutils.
15139
15140 2005-05-17  Jim Meyering  <jim@meyering.net>
15141
15142         * lib/fts.c, lib/fts_.h: New files, from coreutils.
15143
15144 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15145
15146         Sync from coreutils.
15147         * m4/unlinkdir.m4: New file.
15148
15149 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15150
15151         Sync from coreutils.
15152         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
15153         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
15154         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
15155         White space changes only.
15156         * lib/makepath.c (make_path): Port to hosts where leading "//" is
15157         special.
15158         * lib/yesno.c: Include getline.h, not ctype.h.
15159         (yesno): Don't remove leading white space; POSIX doesn't allow it.
15160         Use getline to remove arbitrary restriction on response length.
15161
15162 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15163
15164         * config/srclist-update: Spell out "Street" in FSF postal
15165         mail address; this is the style the FSF seems to prefer.
15166
15167         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
15168         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
15169         this updates FSF postal mail address.
15170
15171         Sync from coreutils.
15172         * modules/unlinkdir: New file.
15173         * modules/yesno (Depends-on): Add getline.
15174         * MODULES.html.sh (File system functions): Add unlinkdir.
15175
15176 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15177
15178         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
15179         lib/strsep.h:
15180         Change the initial comment to refer to GPL, not LGPL.
15181         gnulib-tool will change it to LGPL as needed.
15182
15183         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
15184         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
15185         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
15186         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
15187         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
15188         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
15189         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
15190         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
15191         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
15192         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
15193         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
15194         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
15195         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
15196         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
15197         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
15198         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
15199         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
15200         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
15201         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
15202         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
15203         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
15204         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
15205         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
15206         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
15207         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
15208         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
15209         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
15210         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
15211         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
15212         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
15213         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
15214         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
15215         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
15216         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
15217         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
15218         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
15219         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
15220         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
15221         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
15222         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
15223         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
15224         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
15225         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
15226         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
15227         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
15228         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
15229         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
15230         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
15231         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
15232         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
15233         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
15234         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
15235         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
15236         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
15237         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
15238         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
15239         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
15240         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
15241         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
15242         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
15243         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
15244         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
15245         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
15246         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
15247         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
15248         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
15249         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
15250         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
15251         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
15252         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
15253         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
15254         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
15255         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
15256         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
15257         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
15258         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
15259         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
15260         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
15261         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
15262         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
15263         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
15264         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
15265         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
15266         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
15267         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
15268         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
15269         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
15270         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
15271         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
15272         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
15273         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
15274         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
15275         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
15276         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
15277         lib/yesno.c, lib/yesno.h:
15278         Update FSF postal mail address.
15279
15280 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15281
15282         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
15283         tests/test-memmem.c, tests/test-stpncpy.c:
15284         Update FSF postal mail address.
15285
15286 2005-05-13  Bruno Haible  <bruno@clisp.org>
15287
15288         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
15289         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
15290         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
15291         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
15292         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
15293         Add support for 64-bit integers in the MSVC compiler.
15294
15295 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15296
15297         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
15298
15299 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
15300
15301         * gnulib-tool (func_import): Sort and uniquify recommended includes.
15302
15303 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
15304
15305         * doc/getdate.texi (General date syntax): Don't say that date
15306         date --iso-8601=ns generates acceptable dates; it doesn't yet.
15307         Problem reported by Nic Ferrier.
15308
15309 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15310
15311         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
15312         specified in ai_socktype. Fix invalid ai_protocol
15313         check. ai_protocol is usually set to 0 or depending on
15314         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
15315         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
15316         ai_socktype / ai_protocol in the returned addrinfo structure.
15317
15318 2005-05-10  Simon Josefsson  <jas@extundo.com>
15319
15320         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
15321         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
15322
15323 2005-05-10  Karl Berry  <karl@gnu.org>
15324
15325         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
15326         (from http://www.gnu.org/licenses).
15327         * doc/COPYING.LIB: also rename to COPYING.LESSER.
15328         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
15329         fdl.texi suffices.
15330
15331 2005-05-10  Karl Berry  <karl@gnu.org>
15332
15333         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
15334         (COPYING.DOC): remove.
15335
15336         * config/srclist-update: new FSF address.
15337
15338 2005-05-10  Derek Price  <derek@ximbiot.com>
15339
15340         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
15341         possible.
15342
15343 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15344             Bruno Haible  <bruno@clisp.org>
15345
15346         * modules/inet_ntop: New file.
15347         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15348         inet_ntop.
15349
15350 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15351             Bruno Haible  <bruno@clisp.org>
15352
15353         * m4/inet_ntop.m4: New file.
15354
15355 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15356             Bruno Haible  <bruno@clisp.org>
15357
15358         * lib/inet_ntop.h: New file.
15359         * lib/inet_ntop.c: New file, from glibc with modifications.
15360
15361 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
15362
15363         * modules/time_r (License): Change to LGPL.
15364         * modules/extensions (License): Change to LGPL.  Actually,
15365         the license is more permissive than that, but currently gnulib-tool
15366         doesn't know how to handle more-permissive licenses.
15367
15368         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
15369         Problem reported by Dave Love.
15370
15371 2005-05-08  Jim Meyering  <jim@meyering.net>
15372
15373         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
15374         blank.
15375
15376 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15377
15378         * modules/argmatch (Depends-on): Add stdbool.
15379         * modules/backupfile (Depends-on): Likewise.
15380         * modules/chdir-long (Depends-on): Likewise.
15381         * modules/closeout (Depends-on): Likewise.
15382         * modules/cycle-check (Depends-on): Likewise.
15383         * modules/dirname (Depends-on): Likewise.
15384         * modules/fnmatch (Depends-on): Likewise.
15385         * modules/fsusage (Depends-on): Likewise.
15386         * modules/fwriteerror (Depends-on): Likewise.
15387         * modules/getcwd (Depends-on): Likewise.
15388         * modules/getloadavg (Depends-on): Likewise.
15389         * modules/hard-locale (Depends-on): Likewise.
15390         * modules/makepath (Depends-on): Likewise.
15391         * modules/mountlist (Depends-on): Likewise.
15392         * modules/nanosleep (Depends-on): Likewise.
15393         * modules/posixtm (Depends-on): Likewise.
15394         * modules/quotearg (Depends-on): Likewise.
15395         * modules/readtokens (Depends-on): Likewise.
15396         * modules/readtokens0 (Depends-on): Likewise.
15397         * modules/readutmp (Depends-on): Likewise.
15398         * modules/save-cwd (Depends-on): Likewise.
15399         * modules/strftime (Depends-on): Likewise.
15400         * modules/userspec (Depends-on): Likewise.
15401         * modules/utimecmp (Depends-on): Likewise.
15402         * modules/xgetcwd (Depends-on): Likewise.
15403         * modules/xnanosleep (Depends-on): Likewise.
15404         * modules/xstrtod (Depends-on): Likewise.
15405         * modules/yesno (Depends-on): Likewise.
15406
15407 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15408
15409         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
15410         needless checks.
15411
15412 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15413
15414         Merge from coreutils.  Among other things,
15415         add bulletproofing for cases where stdin, stdout, or stderr are closed.
15416         * lib/fd-safer.c: New file.
15417         * lib/fcntl-safer.h, open-safer.c: Remove.
15418         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
15419         * lib/dup-safer.c: Include unistd-safer.h first.
15420         Don't include errno.h.
15421         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
15422         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
15423         * lib/file-type.c: Rely on file-type.h change.
15424         * lib/getloadavg.c: Include unistd-safer.h.
15425         (getloadavg): Use safer open.
15426         * lib/getusershell.c: Include "stdio-safer.h".
15427         (getusershell): Use safer fopen.
15428         * lib/long-options.c (long_options): Use NULL rather than 0.
15429         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
15430         'free'.
15431         * lib/modechange.c: Likewise.
15432         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
15433         (MODE_DONE): New constant.
15434         (struct mode_change): Remove 'next' member.
15435         (make_node_op_equals): New function; like the old one of the
15436         same name, except it allocates an array.
15437         (mode_compile, mode_create_from_ref): Use it.
15438         (mode_compile): Allocate result as an array, not a linked list.
15439         Parse octal string ourself, so that we catch mistakes like "+0".
15440         (mode_adjust): Arg is an array, not a linked list.
15441         * lib/modechange.c: Include stat-macros.h, xalloc.h.
15442         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
15443         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
15444         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
15445         Remove.  This is now stat-macros.h's job.
15446         (talloc): Remove.  All callers replaced by xalloc, so that
15447         our invokers don't have to worry about reporting memory failures.
15448         (make_node_op_equals): Remove.
15449         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15450         New constants.
15451         (struct mode_change): Moved here from modechange.h.
15452         (mode_append_entry): Remove.
15453         (mode_compile): Remove MASKED_OPS arg, since it encouraged
15454         apps to have incorrect behavior.  Use simpler algorithm for head
15455         and tail.  Don't futz with umask; that's now the job of mode_adjust.
15456         Detect more invalid usages rather than having somewhat-random behavior.
15457         Don't insert an "a=" action, as that leads to incorrect behavior.
15458         (mode_compile, mode_create_from_ref): Return NULL on error instead
15459         of an enum, since now there's only one way to have an error.  All
15460         callers changed.
15461         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
15462         at the correct time.  Simplify calculation of "+u" and its ilk.
15463         Don't mishandle "+X".
15464         (mode_free): Remove "register" and localize decls.
15465         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15466         (struct mode_change): Move to modechange.c; callers don't
15467         need to see this stuff.
15468         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
15469         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
15470         (mode_change, mode_adjust): Reflect the new signatures noted above.
15471         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
15472         that might redefine system include files.
15473         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
15474         (my_usleep): Use NULL rather than (void *) 0.
15475         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
15476         Use siginterrupt to specify that system calls should be interrupted.
15477         (rpl_nanosleep): Move initialization of suspended closer to call of
15478         my_usleep.
15479         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
15480         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
15481         (desirable_utmp_entry): New function.
15482         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
15483         using x2nrealloc, to simplify logic.
15484         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
15485         size calculation.  Do not assume utmp file is a regular file.
15486         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
15487         (READ_UTMP_CHECK_PIDS): New constant.
15488         * lib/save-cwd.c: Include unistd-safer.h.
15489         (save_cwd): Use fd_safer.
15490         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
15491         [!_LIBC] Include "stat-macros.h" instead.
15492         * lib/unistd-safer.h (fd_safer): New decl.
15493
15494 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15495
15496         * modules/getloadavg (Depends-on): Add unistd-safer.
15497         * modules/getusershell (Depends-on): Add stdio-safer.
15498         * modules/lstat (Depends-on): Remove xalloc.
15499         * modules/mkstemp (Depends-on): Add stat-macros.
15500         * modules/modechange (Depends-on): Remove xstrtol.
15501         Add stat-macros, xalloc.
15502         * modules/save-cwd (Depends-on): Add unistd-safer.
15503         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
15504         * modules/unistd-safer (Files): Add lib/fd-safer.c
15505         (Makefile.am): Remove lib_SOURCES.
15506
15507         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
15508         Remove fcntl-safer; unistd-safer supersedes it.
15509
15510 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15511
15512         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
15513         AC_HEADER_STAT.
15514         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
15515         (gl_PREREQ_CHOWN): Remove.
15516         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
15517         it.  Don't require AC_HEADER_STAT.
15518         (gl_PREREQ_LSTAT): Remove.
15519         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
15520         Don't require AC_HEADER_STAT.
15521         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
15522         (gl_PREREQ_RMDIR): Remove.
15523         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
15524         mention stat-macros.h or AC_HEADER_STAT, since we'll make
15525         the stat-macros module a prerequisite.
15526         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
15527         * m4/filemode.m4 (gl_FILEMODE): Likewise.
15528         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
15529         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
15530         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
15531         variable names.
15532         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
15533         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
15534         variable prefixes.
15535         * m4/fcntl-safer.m4: Remove.
15536         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
15537         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
15538         Invoke gl_PREREQ_FD_SAFER.
15539         (gl_PREREQ_FD_SAFER): New macro.
15540         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
15541         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
15542         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
15543         Remove duplicate call to AC_LIBOBJ(readutmp).
15544         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
15545
15546         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
15547         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
15548
15549 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15550
15551         * MODULES.html.sh (Misc): Add byteswap.
15552
15553 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15554
15555         * modules/getcwd (Depends-on): Add extensions.
15556         * modules/openat (Depends-on): Likewise.
15557
15558 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15559
15560         * modules/byteswap: New file.
15561
15562 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15563
15564         * m4/byteswap.m4: New file.
15565
15566 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15567
15568         * lib/byteswap_.h: New file.
15569
15570 2005-04-25  Karl Berry  <karl@gnu.org>
15571
15572         * m4/gettext.m4: Update from GNU gettext 0.14.4.
15573
15574 2005-04-25  Albert Chin  <china@thewrittenword.com>
15575
15576         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
15577         Toolkit C bug.
15578
15579 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
15580
15581         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
15582         (func_ln_if_changed) Remove forcibly for no error message
15583         in case file does not exist.
15584
15585 2005-04-19  Simon Josefsson  <jas@extundo.com>
15586
15587         * gnulib-tool (Options): Make --symlink mean --symbolic.
15588
15589 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
15590
15591         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
15592
15593 2005-04-16  Simon Josefsson  <jas@extundo.com>
15594
15595         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
15596
15597 2005-04-15  Simon Josefsson  <jas@extundo.com>
15598
15599         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
15600
15601 2005-04-15  Simon Josefsson  <jas@extundo.com>
15602
15603         * gnulib-tool: Rename --symlink to --symbolic.
15604
15605 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
15606
15607         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
15608         symbolic links to files instead of copying/moving.  Add --aux-dir,
15609         specifying directory relative --dir where auxiliary build tools
15610         are placed.
15611
15612 2005-04-14  Bruno Haible  <bruno@clisp.org>
15613
15614         * modules/allocsa (License): Change to LGPL.
15615         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15616
15617 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
15618
15619         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
15620         that "UTC +1 second" continues to work.  Problem reported
15621         by Dmitry V. Levin.
15622         (relunit_snumber): New rule.
15623         (relunit): Use it.
15624
15625 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
15626
15627         * lib/getdate.y (universal_time_zone_table): New constant.
15628         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
15629         universal_time_zone_table.
15630         (lookup_zone): Prefer universal_time_zone_table to
15631         local_time_zone_table, so that "GMT" time stamps are allowed in
15632         London during the summer.  Problem reported by Ian Abbott.
15633
15634 2005-04-12  Jim Meyering  <jim@meyering.net>
15635
15636         * lib/human.c (humblock): Set *options even when returning due to
15637         xstrtoumax conversion failure.  Thanks to a used-uninitialized
15638         warning from gcc-4.
15639
15640 2005-04-09  Jim Meyering  <jim@meyering.net>
15641
15642         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
15643         -Wuninitialized: initialize tm0.tm_year.
15644
15645 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
15646
15647         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
15648         count, since there's no maximum.  All uses changed.
15649         Add member dsts_seen.
15650         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
15651         not being INT_MAX.
15652         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
15653         Use pc_rels_seen to decide whther a date is absolute.
15654
15655         * lib/getdate.y (number): Don't overwrite year.
15656         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
15657         check.
15658
15659 2005-04-02  Simon Josefsson  <jas@extundo.com>
15660
15661         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
15662         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
15663
15664 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
15665
15666         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
15667         where no absolute path name can be longer than PATH_MAX.
15668
15669 2005-03-27  Jim Meyering  <jim@meyering.net>
15670
15671         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
15672
15673 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
15674
15675         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
15676         "one's complement" -> "ones' complement" in comment, as per Knuth.
15677         "value of type" -> "type or expression" in comment.
15678         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
15679
15680 2005-03-26  Jim Meyering  <jim@meyering.net>
15681
15682         Comment nits.
15683         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
15684         Correct typos: s/or/of/.
15685
15686 2005-03-26  Jim Meyering  <jim@meyering.net>
15687
15688         * modules/check-include-files: Move to ../ and rename to...
15689         * check-module: ...this.
15690
15691 2005-03-25  Jim Meyering  <jim@meyering.net>
15692
15693         * modules/xvasprintf (Files): Add xalloc.h.
15694
15695 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
15696
15697         * modules/gettext (Files): config/config.rpath ->
15698         build-aux/config.rpath
15699         * modules/iconv (Files): Likewise.
15700         Problem reported by Oskar Liljeblad.
15701
15702 2005-03-23  Jim Meyering  <jim@meyering.net>
15703
15704         * modules/check-include-files: New script to check for
15705         missing dependencies, multiple includes, etc.
15706
15707         * modules/c-strtold (Depends-on): Add xalloc.
15708         * modules/c-strtod (Depends-on): Add xalloc.
15709         * modules/hash (Depends-on): Add xalloc.
15710         (Files): Remove lib/xalloc.h.
15711
15712         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
15713         * modules/userspec (Files): Add lib/inttostr.h.
15714
15715 2005-03-23  Jim Meyering  <jim@meyering.net>
15716
15717         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
15718
15719 2005-03-22  Jim Meyering  <jim@meyering.net>
15720
15721         * modules/stat-macros: New module.
15722         * modules/canonicalize, modules/euidaccess, modules/file-type,
15723         * modules/filemode, modules/lchown, modules/makepath,
15724         * modules/rmdir, modules/stat: Depend on new stat-macros module
15725         rather than listing lib/stat-macros.h manually.
15726         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
15727
15728 2005-03-22  Jim Meyering  <jim@meyering.net>
15729
15730         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
15731
15732 2005-03-22  Bruno Haible  <bruno@clisp.org>
15733
15734         * config/srclist.txt: Replace target directory 'config' with
15735         'build-aux'.
15736         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
15737         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
15738         ../build-aux/.
15739
15740 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
15741
15742         * modules/chdir-long (Depends-on): Add mempcpy.
15743
15744         * modules/acl, modules/backupfile, modules/c-strtod,
15745         modules/c-strtold, modules/canon-host, modules/canonicalize,
15746         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
15747         modules/exclude, modules/exitfail, modules/file-type,
15748         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
15749         modules/getdate, modules/getline, modules/getpagesize,
15750         modules/getpass, modules/getugroups, modules/group-member,
15751         modules/hard-locale, modules/hash, modules/human, modules/idcache,
15752         modules/inttostr, modules/long-options, modules/makepath,
15753         modules/md5, modules/memcasecmp, modules/memcoll,
15754         modules/modechange, modules/mountlist, modules/path-concat,
15755         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
15756         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
15757         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
15758         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
15759         modules/strftime, modules/strndup, modules/strverscmp,
15760         modules/timespec, modules/unlocked-io, modules/userspec,
15761         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
15762         modules/yesno:
15763         Remove lib_SOURCES line from Makefile.am section, as this is now
15764         done automatically by the corresponding Autoconf macro.
15765
15766 2005-03-21  Jim Meyering  <jim@meyering.net>
15767
15768         Changes imported from coreutils.
15769
15770         * lib/cycle-check.c: Don't include xalloc.h.
15771
15772         * lib/path-concat.c: Don't include assert.h.
15773         (path_concat): Remove assertion that would have triggered
15774         for ABASE starting with more than one slash.
15775         Reported by Andreas Schwab.
15776
15777         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
15778         properly when ABASE is an absolute file name.
15779         Correct the description of this function.
15780         Include <assert.h>.
15781         Add an assertion and a test driver.
15782         This fixes a bug introduced on 2004-07-02.
15783         Andreas Schwab reported the resulting failure of cp --parents:
15784         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
15785
15786 2005-03-21  Jim Meyering  <jim@meyering.net>
15787
15788         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
15789         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
15790
15791 2005-03-21  Jim Meyering  <jim@meyering.net>
15792         and  Paul Eggert  <eggert@cs.ucla.edu>
15793
15794         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
15795         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
15796         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
15797         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
15798         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
15799         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
15800         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
15801         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
15802         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
15803         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
15804         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
15805         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
15806         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
15807         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
15808         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
15809         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
15810         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
15811         for these modules.
15812
15813 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
15814
15815         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
15816         (which shouldn't happen), generate nothing instead of returning 0
15817         immediately, so that nstrftime (NULL, ...) doesn't return 0.
15818
15819 2005-03-16  Bruno Haible  <bruno@clisp.org>
15820
15821         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
15822         HAVE_LONGLONG_64BIT.
15823
15824 2005-03-16  Bruno Haible  <bruno@clisp.org>
15825
15826         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
15827         HAVE_LONGLONG_64BIT.
15828
15829 2005-03-16  Bruno Haible  <bruno@clisp.org>
15830
15831         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
15832         HAVE_LONGLONG_64BIT.
15833
15834 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15835
15836         * lib/strftime.c (my_strftime): Prepend space to format so that we can
15837         reliably distinguish strftime failure from empty output on POSIX
15838         hosts.
15839
15840 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15841
15842         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
15843         (iconv_string): Don't guess a size-zero buffer, as that might cause
15844         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
15845         result would be 'too large', where 'too large' is (heuristically)
15846         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
15847         overflow concerns.  This will prevent some unwanted malloc failures
15848         when the inputs are very large.
15849
15850 2005-03-15  Karl Berry  <karl@gnu.org>
15851
15852         * config/srclist.txt (config.rpath): from gettext.
15853         * config/config.rpath: update.
15854
15855 2005-03-15  Bruno Haible  <bruno@clisp.org>
15856
15857         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
15858         to 'negate'.
15859
15860         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
15861         variable.
15862
15863         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
15864         results.
15865
15866 2005-03-14  Simon Josefsson  <jas@extundo.com>
15867
15868         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
15869         <fx@gnu.org>.
15870
15871 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
15872
15873         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
15874         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
15875         intprops.h.
15876         * lib/strtol.c: Likewise.
15877
15878 2005-03-14  Jim Meyering  <jim@meyering.net>
15879
15880         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
15881         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
15882         to be nonzero so that we (and caller) can detect the difference
15883         between a valid zero-length expansion and an error return, even
15884         when the underlying strftime fails before writing anything into
15885         that location.
15886
15887 2005-03-14  Bruno Haible  <bruno@clisp.org>
15888
15889         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
15890         Update from GNU gettext 0.14.3.
15891
15892 2005-03-10  Jim Meyering  <jim@meyering.net>
15893
15894         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
15895
15896 2005-03-10  Jim Meyering  <jim@meyering.net>
15897
15898         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
15899         so that this module works on systems without fchdir.
15900
15901 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
15902
15903         Factor int-properties macros into a single file, except for
15904         glibc-related files.
15905         * lib/intprops.h: New file.
15906         * lib/getloadavg.c: Include it instead of limits.h.
15907         (INT_STRLEN_BOUND): Remove.
15908         * lib/human.c: Include intprops.h.
15909         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
15910         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
15911         302/1000.
15912         * lib/inttostr.h: Include intprops.h instead of limits.h.
15913         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
15914         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
15915         for consistency with intprops.h.
15916         (time_t_is_integer, twos_complement_arithmetic): Use them.
15917         * lib/sig2str.h: Include <signal.h>, intprops.h.
15918         (INT_STRLEN_BOUND): Remove.
15919         * lib/strftime.c (TYPE_SIGNED): Remove.
15920         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
15921         * lib/strtol.c: Adjust comments to match intprops.h.
15922         * lib/userspec.c: Include intprops.h.
15923         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
15924         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
15925         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
15926         instead of rolling our own expressions.
15927         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
15928
15929         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
15930         instead of int.
15931         (my_strftime): Do not mishandle years close to INT_MAX, by doing
15932         the right thing even if adding 1900 would overflow.  Similarly
15933         for tm_mon + 1 and tm_yday + 1.
15934         Make %Y always equivalent to %C%y, and similarly for %G and %g.
15935         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
15936         (DO_SIGNED_NUMBER): New macro.
15937         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
15938
15939 2005-03-07  Bruno Haible  <bruno@clisp.org>
15940
15941         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
15942
15943 2005-03-07  Bruno Haible  <bruno@clisp.org>
15944
15945         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
15946
15947 2005-03-04  Derek R. Price  <derek@ximbiot.com>
15948
15949         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
15950         (func_import): Only replace files via --import when they have actually
15951         changed.
15952
15953 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15954
15955         * m4/mmap-anon.m4: New file.
15956         * m4/pagealign_alloc.m4: New file.
15957
15958 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15959             Bruno Haible  <bruno@clisp.org>
15960
15961         * modules/pagealign_alloc: New file.
15962         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
15963
15964 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15965             Bruno Haible  <bruno@clisp.org>
15966
15967         * lib/pagealign_alloc.h: New file.
15968         * lib/pagealign_alloc.c: New file.
15969
15970 2005-03-03  Bruno Haible  <bruno@clisp.org>
15971
15972         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
15973         Use an all-permissive copyright notice, recommended by RMS.
15974
15975 2005-03-02  Bruno Haible  <bruno@clisp.org>
15976
15977         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
15978         of AIX, the replacement has to be done only after <string.h> is
15979         included, therefore not in config.h. stpncpy.h does the replacement,
15980         and stpncpy.c uses it.
15981
15982 2005-03-02  Bruno Haible  <bruno@clisp.org>
15983
15984         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
15985         stpncpy.c uses it.
15986
15987 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15988
15989         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
15990         The workaround isn't strictly needed for POSIX conformance, and
15991         it's too much of a pain to configure and maintain.  We'll ask
15992         people to fix their kernels instead.
15993         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
15994         (NANOSLEEP_BUG_WORKAROUND): Remove.
15995         (xnanosleep): Remove the workaround.
15996
15997 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15998
15999         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
16000         Reported by Derek Price.
16001         (Include): Add "timespec.h".
16002
16003         * modules/xnanosleep (Depends-on): Remove gethrxtime.
16004
16005 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
16006
16007         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
16008         to detect nanosleep bug.
16009
16010 2005-03-01  Bruno Haible  <bruno@clisp.org>
16011
16012         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
16013
16014 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
16015
16016         * modules/gethrxtime: New file.
16017         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
16018         (Depends-on): Add gethrxtime.
16019         (configure.ac): Add gl_XNANOSLEEP.
16020         (Makefile.am): Remove lib_SOURCES line.
16021
16022 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
16023
16024         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
16025         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
16026
16027 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
16028
16029         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
16030         * lib/timespec.h (gettime): Return void, since it always
16031         succeeds now.  All uses changed.
16032         * lib/gettime.c (gettime) Likewise.
16033         [HAVE_NANOTIME]: Prefer nanotime.
16034         Assume gettimeofday succeeds, as POSIX requires.
16035         Assime time () succeeds, since other code already does.
16036         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
16037         (timespec_subtract): Remove.
16038         (NANOSLEEP_BUG_WORKAROUND): New constant.
16039         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
16040         things considerably.  Use it only on GNU/Linux hosts, since the
16041         workaround shouldn't be needed elsewhere.
16042
16043 2005-02-24  Bruno Haible  <bruno@clisp.org>
16044
16045         * modules/gettext (Files): Add m4/glibc2.m4.
16046
16047 2005-02-24  Bruno Haible  <bruno@clisp.org>
16048
16049         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
16050         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
16051         * m4/progtest.m4:
16052         Update from GNU gettext 0.14.2.
16053         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
16054
16055 2005-02-24  Bruno Haible  <bruno@clisp.org>
16056
16057         * lib/localcharset.c: Update from GNU gettext 0.14.2.
16058         * lib/config.charset: Update from GNU gettext 0.14.2.
16059
16060 2005-02-24  Bruno Haible  <bruno@clisp.org>
16061
16062         * lib/gettext.h: Update from GNU gettext 0.14.2.
16063
16064 2005-02-23  Simon Josefsson  <jas@extundo.com>
16065
16066         * m4/iconvme.m4: New file.
16067
16068 2005-02-23  Jim Meyering  <jim@meyering.net>
16069
16070         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
16071         change.
16072         Thanks to Bruno Haible for catching it.
16073
16074 2005-02-22  Simon Josefsson  <jas@extundo.com>
16075
16076         * modules/iconvme: New file.
16077
16078         * MODULES.html.sh: Add iconvme.
16079
16080 2005-02-22  Simon Josefsson  <jas@extundo.com>
16081
16082         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
16083
16084 2005-02-22  Simon Josefsson  <jas@extundo.com>
16085
16086         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
16087
16088 2005-02-22  Jim Meyering  <jim@meyering.net>
16089
16090         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
16091         s/ifndef/ifdef/.
16092
16093 2005-02-20  Neil Conway  <neilc@samurai.com>
16094
16095         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
16096         returned by OSX/Darwin if the specified buffer is not large
16097         enough for the hostname.
16098
16099 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16100
16101         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
16102         pass it to _help, otherwise the latter coredumps trying to
16103         dereference state.root_argp.
16104
16105 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
16106
16107         * modules/chdir-long (Depends-on): Add memrchr.
16108         * modules/memrchr (Files): Add lib/memrchr.h.
16109         (Include): "memrchr.h".
16110
16111 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
16112
16113         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
16114
16115 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
16116
16117         * lib/memrchr.h: New file.
16118         * lib/chdir-long.c: Include it.
16119         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
16120         Don't bother including stddef.h.
16121
16122 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
16123
16124         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
16125         inclusion.
16126         Include <sys/types.h>, for dev_t.
16127         (ME_DUMMY, ME_REMOTE): Move from here....
16128         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
16129         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
16130         Dmitry V. Levin.
16131         Include mountlist.h first, to test the interface.
16132
16133 2005-01-29  Bruno Haible  <bruno@clisp.org>
16134
16135         * lib/progname.c (program_name): Initialize.
16136         Needed when linking statically on MacOS X.
16137
16138 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
16139
16140         Sync from coreutils.
16141         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
16142         (Depends-on): Add c-strtod.
16143         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
16144
16145 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
16146
16147         Sync from coreutils.
16148         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
16149
16150         Remove files that are specific to coreutils.
16151         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
16152
16153 2005-01-28  Bruno Haible  <bruno@clisp.org>
16154
16155         * modules/javacomp: New file.
16156         * MODULES.html.sh (Java): Add javacomp.
16157
16158 2005-01-28  Bruno Haible  <bruno@clisp.org>
16159
16160         * m4/javacomp.m4: New file, from GNU gettext.
16161
16162 2005-01-28  Bruno Haible  <bruno@clisp.org>
16163
16164         * lib/javacomp.sh.in: New file, from GNU gettext.
16165         * lib/javacomp.h: New file, from GNU gettext.
16166         * lib/javacomp.c: New file, from GNU gettext.
16167
16168 2005-01-26  Simon Josefsson  <jas@extundo.com>
16169
16170         * lib/gai_strerror.c: Use GPL in header.
16171
16172 2005-01-26  Bruno Haible  <bruno@clisp.org>
16173
16174         * modules/javaexec: New file.
16175         * MODULES.html.sh (Java): Add javaexec.
16176
16177 2005-01-26  Bruno Haible  <bruno@clisp.org>
16178
16179         * m4/javaexec.m4: New file, from GNU gettext.
16180
16181 2005-01-26  Bruno Haible  <bruno@clisp.org>
16182
16183         * lib/javaexec.sh.in: New file, from GNU gettext.
16184         * lib/javaexec.h: New file, from GNU gettext.
16185         * lib/javaexec.c: New file, from GNU gettext.
16186
16187 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16188
16189         * modules/lchown (Depends-on): Remove lchown.h
16190
16191 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16192
16193         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
16194         must be defined if the header file was not found, in order
16195         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
16196
16197 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16198
16199         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
16200         initializers for struct pentry_state.
16201         (__argp_error): Check return value of __asprintf
16202         (__argp_failure): Translate error message
16203
16204         * lib/argp-parse.c: Removed braces around the expansion of N_()
16205
16206 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
16207
16208         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
16209         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
16210         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
16211         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
16212         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
16213         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
16214         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
16215         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
16216         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
16217         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
16218         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
16219         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
16220         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
16221         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
16222         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
16223         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
16224         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
16225         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
16226         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
16227         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
16228         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
16229         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
16230         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
16231         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
16232         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
16233         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
16234         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
16235         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
16236         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
16237         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
16238         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
16239         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
16240         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
16241         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
16242         xstrtol.m4, xstrtoumax.m4, yesno.m4:
16243         Use an all-permissive copyright notice, recommended by RMS.
16244
16245 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
16246
16247         * modules/chdir-long (Depends-on): Remove mempcpy.
16248
16249 2005-01-21  Jim Meyering  <jim@meyering.net>
16250
16251         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
16252         same value as for Solaris 9.
16253
16254         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
16255         component length.  This included changing the parameter to be
16256         of type `char *' rather than `char const *'.
16257         * lib/chdir-long.h (chdir_long): Update prototype.
16258
16259         * lib/openat.c (fdopendir, fstatat): New functions.
16260         * lib/openat.h: Include headers required for use of DIR and struct
16261         stat.
16262         [AT_SYMLINK_NOFOLLOW]: Define.
16263         (fdopendir, fstatat): Add prototypes.
16264
16265 2005-01-21  Bruno Haible  <bruno@clisp.org>
16266
16267         * modules/classpath: New file.
16268         * MODULES.html.sh (Java): Add classpath.
16269
16270 2005-01-21  Bruno Haible  <bruno@clisp.org>
16271
16272         * lib/classpath.h: New file, from GNU gettext.
16273         * lib/classpath.c: New file, from GNU gettext.
16274
16275 2005-01-20  Simon Josefsson  <jas@extundo.com>
16276
16277         * modules/version-etc-fsf: New file.
16278
16279 2005-01-20  Simon Josefsson  <jas@extundo.com>
16280
16281         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
16282         * lib/version-etc.c: Remove version_etc_copyright.
16283         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
16284         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
16285
16286 2005-01-20  Simon Josefsson  <jas@extundo.com>
16287
16288         * lib/base64.h (isbase64): Add.
16289
16290         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
16291         using a unsigned prototype, don't inline.
16292         (base64_decode): Use it.
16293
16294 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16295
16296         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
16297         it.
16298
16299 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16300
16301         * lib/save-cwd.c (save_cwd): Remove code to support the case
16302         where fchdir is missing or flaky.
16303
16304 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16305
16306         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
16307
16308 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
16309
16310         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
16311         AC_LIBSOURCES now does this.
16312         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
16313         with new ullong_max module.
16314
16315 2005-01-19  Bruno Haible  <bruno@clisp.org>
16316
16317         * modules/sh-quote: New file.
16318         * MODULES.html.sh (Executing programs): Add sh-quote.
16319
16320 2005-01-19  Bruno Haible  <bruno@clisp.org>
16321
16322         * lib/sh-quote.h: New file, from GNU gettext.
16323         * lib/sh-quote.c: New file, from GNU gettext.
16324
16325 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16326
16327         Merge from coreutils.
16328         * m4/ullong_max.m4: New file.
16329         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
16330         (gl_MACROS): Assume localeconv exists.
16331
16332 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16333
16334         Merge changes from coreutils, as described below in several
16335         changelogs dated today.
16336
16337         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
16338         (O_DIRECTORY): Remove; not needed here, since "." must be
16339         a directory.  All uses removed.
16340         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
16341         universal on Suns, and we also need to test for IRIX.
16342         Revamp code to use 'if' rather than '#if'.
16343         Avoid unnecessary comparison of cwd->desc to 0.
16344
16345         * lib/utimens.c (futimens): Robustify the previous patch, by checking
16346         for known valid error numbers rather than observed invalid ones.
16347
16348 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16349
16350         * modules/ullong_max: New file.
16351
16352         * modules/chdir-long, modules/openat: New files.
16353         * modules/save-cwd (Depends-on): Depend on chdir-long.
16354         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
16355
16356 2005-01-18  Jim Meyering  <jim@meyering.net>
16357
16358         Merge from coreutils.
16359         * m4/chdir-long.m4, m4/openat.m4: New files.
16360         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
16361         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
16362         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
16363         is sane and DOES follow symlinks.  Besides, testing 20 different
16364         systems found no broken chown implementations.
16365         Prompted by a change in rsync's copy of this macro.
16366         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
16367
16368         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
16369
16370         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
16371         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
16372         NULL-means-set-to-current-time semantics.
16373         Remove temporary file immediately, rather than waiting
16374         for configure's at-exit trap code to do it.
16375
16376 2005-01-18  Jim Meyering  <jim@meyering.net>
16377
16378         * lib/version-etc.c (version_etc_copyright): Update copyright date.
16379
16380         * lib/utimens.c (futimens): Account for the fact that futimes
16381         can also fail with errno == ENOSYS or errno == ENOENT.
16382         Patch from Dmitry V. Levin.
16383
16384         Change the name of the robust chdir function from chdir to chdir_long.
16385         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
16386         (restore_cwd): Use chdir_long, not chdir.
16387         * lib/chdir-long.c: Renamed from chdir.c.
16388         * lib/chdir-long.h: Renamed from chdir.h.
16389         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
16390         Hurd.
16391
16392 2005-01-18  Bruno Haible  <bruno@clisp.org>
16393
16394         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
16395         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
16396         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
16397         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
16398         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
16399         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
16400         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
16401         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
16402         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
16403         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
16404         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
16405         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
16406         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
16407         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
16408         Use an all-permissive copyright notice, recommended by RMS.
16409
16410 2005-01-18  Bob Proulx  <bob@proulx.com>
16411
16412         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
16413         simplify offsetof() macro construct to avoid compile failure with
16414         native HP-UX 11.0 ANSI C compiler.
16415
16416 2005-01-17  Bruno Haible  <bruno@clisp.org>
16417
16418         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
16419         redundant because stpncpy.m4 takes care of it.
16420
16421 2005-01-17  Bruno Haible  <bruno@clisp.org>
16422
16423         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
16424
16425 2005-01-17  Bruno Haible  <bruno@clisp.org>
16426
16427         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
16428         used.
16429
16430 2005-01-17  Bruno Haible  <bruno@clisp.org>
16431
16432         * lib/fwriteerror.h (fwriteerror): Change specification to include
16433         fclose.
16434         * lib/fwriteerror.c: Include <stdbool.h>.
16435         (fwriteerror): At the end, close the file stream. Record whether
16436         stdout was already closed.
16437
16438 2005-01-17  Bruno Haible  <bruno@clisp.org>
16439
16440         * lib/execute.c (environ): Declare if needed.
16441         * lib/pipe.c (environ): Likewise.
16442         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
16443
16444 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16445
16446         * modules/argp: Depend on vsnprintf
16447
16448 2005-01-10  Jim Meyering  <jim@meyering.net>
16449
16450         * modules/closeout (Depends-on): Add atexit.
16451
16452 2005-01-06  Bruno Haible  <bruno@clisp.org>
16453
16454         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
16455
16456 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
16457
16458         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
16459         definitions to be after all include files, to avoid collisions.
16460         Problem reported by Bob Proulx.
16461
16462 2005-01-04  Jim Meyering  <jim@meyering.net>
16463
16464         Changes imported from coreutils.
16465         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
16466         as the mkstemp template, use a temporary directory and an
16467         8.3-friendly template to avoid trouble on systems like DJGPP.
16468         Reported by Juan M. Guerrero via Stepan Kasal.
16469         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
16470         close. Remove the temporary directory right away, rather than waiting
16471         for configure's at-exit trap code to do it.
16472         Suggestion from Stepan Kasal.
16473
16474 2005-01-01  Simon Josefsson  <jas@extundo.com>
16475
16476         * gnulib-tool: Print #include directives when --import'ing.
16477
16478 2004-12-28  Simon Josefsson  <jas@extundo.com>
16479
16480         * tests/test-base64.c: Include required header files.  Remove
16481         unused variables.
16482
16483 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16484
16485         * modules/error (Depends-on): Remove gettext.
16486
16487 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16488
16489         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
16490         not needed.  This removes a dependency on the gettext module.
16491         [defined _LIBC]: Do not include <libintl.h>; not needed.
16492
16493 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16494
16495         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
16496         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
16497
16498 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16499
16500         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
16501         HAVE_DECL_STRTOLD.
16502
16503 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16504
16505         * modules/getdate (Depends-on): Remove alloca-opt.
16506
16507 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16508
16509         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
16510
16511 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16512
16513         * lib/argp-parse.c: Include <stddef.h>.
16514         (alignof, alignto): New macros.
16515         (parser_init): Don't assume that void * is aligned sufficiently
16516         for struct option.
16517
16518         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
16519         need to extend the stack.
16520         (YYINITDEPTH): New macro, so that the initial stack isn't overly
16521         large.
16522
16523 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16524
16525         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
16526
16527 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16528
16529         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
16530         (2004-10-24) change.  Apparently this was a false alarm.
16531
16532         * modules/getdate: Depend on alloca-opt, not alloca.
16533
16534 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16535
16536         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
16537         Remove now-obsolete comment about AIX.
16538         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
16539         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
16540         (YYMAXDEPTH): New macro.
16541
16542 2004-12-18  Simon Josefsson  <jas@extundo.com>
16543
16544         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
16545
16546 2004-12-18  Bruno Haible  <bruno@clisp.org>
16547
16548         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
16549
16550 2004-12-18  Bruno Haible  <bruno@clisp.org>
16551
16552         * lib/fatal-signal.c (fatal_signals): Make non-const.
16553         (init_fatal_signals): New function.
16554         (uninstall_handlers, install_handlers): Ignore signals that were set to
16555         SIG_IGN.
16556         (at_fatal_signal): Call init_fatal_signals.
16557         (init_fatal_signal_set): Likewise. Ignore signals that were set to
16558         SIG_IGN.
16559         Reported by Paul Eggert.
16560
16561 2004-12-18  Bruno Haible  <bruno@clisp.org>
16562
16563         * doc/alloca.texi: New file.
16564         * doc/alloca-opt.texi: New file.
16565
16566 2004-12-17  Jim Meyering  <jim@meyering.net>
16567
16568         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
16569         Otherwise, install-sh could exit with improper exit status when
16570         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
16571
16572 2004-12-16  Simon Josefsson  <jas@extundo.com>
16573
16574         * tests/test-base64.c: Add license.
16575
16576 2004-12-15  Stepan Kasal  <address@hidden>
16577
16578         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
16579
16580 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
16581
16582         * modules/getcwd (Files): Add m4/d-ino.m4.
16583         Suggested by Mark D. Baushke.
16584
16585 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16586
16587         * lib/getdate.y (textint): New member "negative".
16588         (time_zone_hhmm): New function.
16589         Expect 14 shift-reduce conflicts, not 13.
16590         (o_colon_minutes): New rule.
16591         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
16592         (yylex): Set the "negative" member of signed numbers.
16593
16594 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16595
16596         * doc/getdate.texi (Time of day items, Time zone items):
16597         Describe new formats +00:00, UTC+00:00.
16598
16599 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16600
16601         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
16602         spurious "-l"s.  Problem reported by Stepan Kasal.
16603
16604 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
16605
16606         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
16607         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
16608
16609 2004-12-04  Simon Josefsson  <jas@extundo.com>
16610
16611         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
16612         Vandoorselaere <yoann@prelude-ids.org>.
16613
16614 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16615
16616         Changes imported from coreutils.
16617         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
16618         exist.
16619         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
16620
16621 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16622
16623         Changes imported from coreutils.
16624         * lib/hard-locale.c: Assume <locale.h> exists.
16625         Include "strdup.h".
16626         (GLIBC_VERSION): New macro.
16627         (hard_locale): Assume setlocale exists.
16628         Rewrite to avoid #ifdef.
16629         Use strdup rather than malloc + strcpy.
16630         * lib/human.c: Assume <locale.h> exists.
16631         (human_readable): Assume localeconv exists.
16632
16633 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16634
16635         * modules/hard-locale (Depends-on): Add strdup.
16636
16637 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
16638
16639         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
16640         convert T2, not T.  (Imported from libc.)
16641
16642 2004-11-30  Simon Josefsson  <jas@extundo.com>
16643
16644         * modules/restrict (License): Change to LGPL.
16645
16646 2004-11-30  Simon Josefsson  <jas@extundo.com>
16647
16648         * m4/restrict.m4: Add copyright and copying conditions.
16649
16650 2004-11-30  Simon Josefsson  <jas@extundo.com>
16651
16652         * m4/base64.m4: New file.
16653
16654 2004-11-30  Simon Josefsson  <jas@extundo.com>
16655
16656         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
16657         base64.
16658
16659         * tests/test-base64.c: New file.
16660
16661         * modules/base64: New file.
16662
16663 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16664
16665         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
16666         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
16667
16668         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
16669
16670 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16671
16672         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
16673         (__getcwd.c): Don't restore errno; glibc doesn't.
16674         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
16675         first, falling back to our code only if its results look suspicious.
16676         Ensure that the resulting buffer is only as large as necessary.
16677
16678         * lib/readutmp.c: Include readutmp.h first.
16679         Include <errno.h>, since readutmp.h no longer does that.
16680         * lib/readutmp.h: Don't include <errno.h>,
16681         <sys/param.h>, <time.h>; not needed to establish interface.
16682         (errno): Remove decl.
16683         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
16684         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
16685         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
16686
16687 2004-11-28  Simon Josefsson  <jas@extundo.com>
16688
16689         * lib/base64.h, base64.c: New file.
16690
16691 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
16692
16693         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
16694
16695 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
16696
16697         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
16698         (Depends-on): Remove pathmax, same.  Add mempcpy.
16699         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
16700         (Makefile.am): Append getcwd.h to lib_SOURCES.
16701         (Include): Add getcwd.h.
16702         (Maintainer): Change from Jim Meyering to "all, glibc",
16703         since getdate now uses intended-for-glibc code.
16704         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
16705         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
16706
16707 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16708
16709         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
16710         HP's ANSI C compiler.
16711         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
16712         Declaring int functions causes warnings on some modern systems and
16713         shouldn't be needed to compile on ancient ones.
16714         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
16715         defined.
16716
16717         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
16718         with the following changes.
16719         (__set_errno): Parenthesize properly.
16720         Include <stdbool.h>.
16721         (MIN, MAX, MATCHING_INO): New macros.
16722         (__getcwd): Define with prototype, not K&R form.
16723         Use heuristics to allocate default buffer on stack if possible.
16724         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
16725         behavior, and to avoid the PATH_MAX limit when computing
16726         ../../../../...
16727         Use MATCHING_INO to compare inode number to file.
16728         Check for arithmetic overflow in size calculations.
16729         Fix bug in reallocation of dot array that caused getcwd to fail
16730         on directories nested deeper than 75.
16731         Be more careful about saving errno on error.
16732         Do not use realloc; use only free+malloc, as this is a bit
16733         more flexible and avoids a needless copy operation.
16734         Do not inspect st_dev and st_ino for symbolic links; POSIX
16735         doesn't specify the latter.
16736         Check for closedir errors.
16737         Avoid needless casts.
16738         Use "#ifdef weak_alias" around weak_alias, to be like other
16739         glibc code.
16740         The following changes to getcwd.c have effect only when used in
16741         gnulib; they have no effect inside glibc proper.
16742         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
16743         as alloca isn't used.
16744         (alloca, __alloca): Likewise.
16745         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
16746         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16747         unconditionally, as gnulib assumes C89 or better.
16748         Do not include <sys/param.h>.
16749         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
16750         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
16751         better.
16752         (NULL) [!defined NULL]: Remove; we assume C89 or better.
16753         Include <dirent.h> in a way that is compatible with modern Autoconf.
16754         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
16755         New macros, if not already defined.
16756         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
16757         Use "_LIBC", not "defined _LIBC", for consistency.
16758         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
16759         a mempcpy module.
16760         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
16761         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
16762         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
16763         credit only to Jim Meyering and adjust the copyright dates.
16764         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
16765         <stdlib.h>, <unistd.h>, "pathmax.h".
16766         Instead, include "xgetcwd.h" (first) and "getcwd.h".
16767         (INITIAL_BUFFER_SIZE): Remove.
16768         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
16769
16770 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16771
16772         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
16773         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
16774         Use the _ONCE methods, for efficiency.
16775         Check for fcntl.h.  In test program, include <errno.h>
16776         and <fcntl.h> if available.  Remove old K&R cruft from
16777         test program.  Check for common errors in GNU/Linux,
16778         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
16779         don't do AC_LIBOBJ, as that's getcwd.m4's job.
16780         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
16781         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
16782         name accordingly.
16783         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
16784         accommodate new getcwd.c.
16785         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
16786         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
16787         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
16788         that's all we need now.
16789
16790 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16791
16792         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
16793         argp-parse.c depends on getopt internals, that means we should
16794         always use our getopt, to be on the safe side.
16795         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
16796         order not to spoil the result of an eventual previous invocation
16797         of gl_GETOPT_SUBSTITUTE.
16798
16799 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16800
16801         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
16802         redefinition warnings. To avoid them, include the defines
16803         in `#if !defined __need_getopt ... #endif'. The only place
16804         where __getopt_argv_const is used is in definitions
16805         of getopt_long and getopt_long_only below, which are as well
16806         protected by `#ifndef __need_getopt'.
16807         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
16808         __need_getopt after including <stdio.h> and <unistd.h> These
16809         headers might have defined it.
16810
16811 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16812
16813         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
16814
16815 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16816
16817         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
16818         (futimens): New function, which uses futimes if available.
16819         (futimens, utimens): Support timespec==NULL, with same semantics
16820         as utime and utimens.
16821         * lib/utimens.h (futimens): New decl.
16822
16823 2004-11-23  Jim Meyering  <jim@meyering.net>
16824
16825         * lib/getopt_.h: Remove trailing blanks.
16826
16827 2004-11-23  Jim Meyering  <jim@meyering.net>
16828
16829         * lib/__fpending.c: Add comment.
16830
16831 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
16832
16833         * modules/canonicalize (Depends-on): Add xreadlink.
16834         Problem reported by James Youngman.
16835
16836 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
16837
16838         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
16839         New macros.
16840         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
16841         optopt): Use them instead of invoking ## directly; otherwise, the
16842         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
16843
16844 2004-11-19  Bruno Haible  <bruno@clisp.org>
16845
16846         * lib/strtok_r.c: Move comments from here...
16847         * lib/strtok_r.h: ... to here.
16848
16849 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16850
16851         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
16852         implementations that mishandle size_t overflow.
16853
16854 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16855
16856         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
16857         might fail.  Problem reported by Yoann Vandoorselaere.
16858         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
16859         implementations that mishandle size_t overflow.
16860
16861 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16862
16863         * modules/canon-host (Depends-on): Add strdup.
16864
16865 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16866
16867         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
16868
16869 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16870
16871         * lib/canon-host.c: Include "strdup.h".
16872         (canon_host): Use getaddrinfo if available, so that IPv6 works.
16873         Use strdup instead of malloc/strcpy to duplicate strings.
16874
16875         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
16876         (human_space_before_unit): New constant.
16877         * lib/human.c (human_readable): Support it.
16878
16879         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
16880         (xgetcwd): Set errno correctly when failing.
16881         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
16882         the failure is actually due to a PATH_MAX problem.
16883
16884         Further getopt changes to make it more likely that glibc will
16885         buy the changes back.
16886         * lib/getopt.c (POSIXLY_CORRECT): New constant.
16887         (getopt): Use it, so to preserve glibc semantic
16888         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
16889         when compiling for libc.
16890         * lib/getopt_.h (__getopt_argv_const): Bring it back.
16891         (getopt_long, getopt_long_only): Use it.
16892
16893         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16894         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
16895         (getopt): Argv is now char * const *, as per standard.
16896         (_getopt_internal_r, _getopt_internal): Argv is now char **,
16897         not char *__getopt_argv_const *.
16898         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16899         _getopt_long_only_r): Likewise.
16900         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
16901         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16902         _getopt_long_r, _getopt_long_only_r): Likewise.
16903         * lib/getopt_.h (__getopt_argv_const): Remove.
16904         (getopt): Argv is now char * const *, as per standard.
16905
16906         * lib/getdate.y (tORDINAL): New token.
16907         (day, relunit): Allow it for relative times.
16908         (relative_time_table): Use tORDINAL for ordinals.
16909
16910 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16911
16912         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
16913         Document that "second" isn't allowed as an ordinal number.
16914
16915 2004-11-16  Jim Meyering  <jim@meyering.net>
16916
16917         * modules/closeout (Depends-on): Add fpending.
16918
16919 2004-11-15  Jim Meyering  <jim@meyering.net>
16920
16921         * lib/closeout.c: Include "__fpending.h" once again.
16922         Include <stdbool.h>.
16923         (close_stdout): Don't fail just because stdout was closed initially,
16924         since some programs don't write to stdout in the normal course of
16925         operation (other than --version and --help), and we don't want this
16926         function to make e.g. `touch file >&-' fail.
16927         But do fail if it was closed and someone has tried to write to it.
16928         E.g., `printf foo >&-' must fail.
16929
16930 2004-11-13  Jim Meyering  <jim@meyering.net>
16931
16932         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
16933
16934 2004-11-12  Simon Josefsson  <jas@extundo.com>
16935
16936         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
16937         small doc fix is still pending.
16938
16939 2004-11-11  Simon Josefsson  <jas@extundo.com>
16940
16941         * modules/strtok_r: New file.
16942
16943         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16944         strtok_r.
16945
16946 2004-11-11  Simon Josefsson  <jas@extundo.com>
16947
16948         * m4/strtok_r.m4: New file.
16949
16950         * m4/getopt.m4: Replace opterr.
16951
16952 2004-11-11  Simon Josefsson  <jas@extundo.com>
16953
16954         * lib/strtok_r.h, strtok_r.c: New file.
16955
16956 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16957
16958         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
16959         of replacing opterr, getopt, etc.  This should handle the
16960         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
16961
16962 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16963
16964         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
16965         we can stop lying to compilers about the constness of argv when we
16966         are compiled outside glibc.
16967         (getopt, getopt_long, getopt_long_only): Use it.
16968         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16969         _getopt_internal, getopt): Likewise.
16970         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16971         _getopt_long_only_r): Likewise.
16972         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16973         _getopt_long_r, _getopt_long_only_r): Likewise.
16974
16975         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
16976         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
16977         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
16978         the other external symbols.
16979         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
16980         declaration, since the above renaming now works around collisions.
16981
16982 2004-11-11  Jim Meyering  <jim@meyering.net>
16983
16984         * lib/linebreak.c: Remove trailing blanks.
16985         * lib/alloca_.h: Likewise.
16986         * lib/acosl.c: Likewise.
16987         * lib/euidaccess.c: Likewise.
16988         * lib/allocsa.h: Likewise.
16989
16990 2004-11-10  Simon Josefsson  <jas@extundo.com>
16991
16992         * m4/getaddrinfo.m4: New file.
16993
16994 2004-11-10  Simon Josefsson  <jas@extundo.com>
16995
16996         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
16997
16998 2004-11-10  Simon Josefsson  <jas@extundo.com>
16999
17000         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17001         getaddrinfo.
17002
17003         * modules/getaddrinfo: New file.
17004
17005 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
17006
17007         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
17008
17009 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
17010
17011         * lib/mktime.c (SHR): New macro, which is a portable
17012         substitute for >> that should work even on Crays.
17013         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
17014         Problem reported by Mark D. Baushke in
17015         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
17016         * lib/getdate.y (SHR): Likewise.
17017         (tm_diff): Use it.
17018         * lib/strftime.c (SHR): Likewise.
17019         (tm_diff): Use it.
17020         * lib/quotearg.c (struct quoting_options): Use unsigned int for
17021         quote_these_too, so that right shifts are well defined.  All uses
17022         changed.
17023
17024 2004-11-10  Jim Meyering  <jim@meyering.net>
17025
17026         Ensure that no close failure goes unreported.
17027         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
17028         return early when it seems there's nothing to flush.
17029         Don't include __fpending.h.
17030
17031 2004-11-10  Jim Meyering  <jim@meyering.net>
17032
17033         * modules/closeout (Depends-on): Remove fpending.
17034
17035 2004-11-10  Jim Meyering  <jim@meyering.net>
17036
17037         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
17038
17039 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
17040
17041         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
17042         gl_FUNC_STRFTIME.
17043         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
17044         and AC_REQUIRE when possible, to avoid duplicate checks.
17045         Check for <wchar.h>.
17046
17047 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
17048
17049         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
17050
17051 2004-11-09  Bruno Haible  <bruno@clisp.org>
17052
17053         * m4/sockpfaf.m4: New file.
17054
17055 2004-11-05  Bruno Haible  <bruno@clisp.org>
17056
17057         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
17058         Reported by Mark D. Baushke <mdb@cvshome.org>.
17059
17060 2004-11-04  Bruno Haible  <bruno@clisp.org>
17061
17062         2004-09-11  Bruno Haible  <bruno@clisp.org>
17063                 * allocsa.valgrind: New file.
17064         2004-02-06  Bruno Haible  <bruno@clisp.org>
17065                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
17066                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
17067                 Reported by Christopher Seip <chris.seip@hp.com>.
17068
17069 2004-11-04  Bruno Haible  <bruno@clisp.org>
17070
17071         * modules/allocsa (Files): Add lib/allocsa.valgrind.
17072         (Makefile.am): Distribute it.
17073
17074 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17075
17076         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
17077         with errno == ERANGE if the buffer is too small.
17078         Problem reported by Mark D. Baushke.
17079
17080 2004-11-03  Albert Chin  <china@thewrittenword.com>
17081             Paul Eggert  <eggert@cs.ucla.edu>
17082
17083         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
17084         equivalent, substitute $ac_type for equivalent type rather than
17085         blindly using uint32_t *always* which won't work if uint32_t is not
17086         available.  Define _UINT32_T to work around typedef of uint32_t if
17087         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
17088         2.5.1.
17089
17090 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17091
17092         * m4/jm-macros.m4: Sync from coreutils.
17093         (gl_MACROS): Check for mbrlen, for pathchk.
17094         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
17095
17096 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17097
17098         * lib/xreadlink.c (MAXSIZE): New macro.
17099         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
17100         size does not exceed MAXSIZE.  Avoid cast.
17101         As suggested by Mark D. Baushke in
17102         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
17103         if readlink fails with buffer size just under MAXSIZE, try again
17104         with MAXSIZE.
17105
17106 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17107
17108         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
17109
17110 2004-11-02  Derek R. Price  <derek@ximbiot.com>
17111         and  Paul Eggert  <eggert@cs.ucla.edu>
17112
17113         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
17114         (get_date): Overparenthesize to avoid GCC warning.
17115
17116 2004-11-02  Bruno Haible  <bruno@clisp.org>
17117
17118         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
17119         returns void.
17120
17121 2004-11-02  Bruno Haible  <bruno@clisp.org>
17122
17123         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
17124         function returns void.
17125
17126 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
17127
17128         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
17129         fflush_unlocked, flockfile, funlockfile, funlockfile,
17130         fputs_unlocked, putc_unlocked.
17131
17132 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
17133
17134         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
17135         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
17136         already declared.
17137
17138 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
17139
17140         * modules/getdate (Files): Add doc/getdate.texi.
17141         (Depends-on): Add setenv, xalloc.
17142
17143 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
17144
17145         * lib/getdate.y: Add support for TZ="foo" within a date string.
17146         Fix some bugs near time_t boundaries.  Reject dates with
17147         out-of-range components, e.g., "Sept 31".
17148         Include <stdlib.h>, "setenv.h", "xalloc.h".
17149         (ISDIGIT_LOCALE): Remove; unused.
17150         Note that the TZ and time functions used here are not reentrant.
17151         (mktime_ok, get_tz): New functions.
17152         (TZBUFSIZE): New constant.
17153         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
17154         This requires that we sometimes generate our own TZ="XXX..." setting.
17155
17156 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
17157
17158         * doc/getdate.texi: New file, from coreutils with modifications for
17159         the new TZ parsing.
17160
17161 2004-10-27  Derek R. Price  <derek@ximbiot.com>
17162
17163         * lib/mktime.c (not_equal_tm): Remove redundant check.
17164
17165 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
17166
17167         * modules/regex (lib_SOURCES): Add regex.c.
17168         Reported by James Youngman in
17169         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
17170
17171 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
17172
17173         * lib/getdate.y: Use Bison 1.875 features, and some minor
17174         code cleanups.  This change does not affect semantics.
17175         Don't include <stdlib.h>; no longer needed.
17176         Don't include unlocked-io.h; only the "#if TEST" code uses
17177         stdio, and performance isn't crucial there.
17178         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
17179         Bison 1.875 features as described below.
17180         All uses of "PC." replaced by "pc->".
17181         (YYSTYPE): Add a forward declaration.
17182         (yylex, yyerror): Use full prototypes in forward decls.
17183         Use "%pure-parser" rather than obsolescent "%pure_parser".
17184         Use %parse-param and %lex-param instead of obsolescent
17185         YYPARSE_PARAM and YYLEX_PARAM.
17186         (meridian_table, month_and_day_table, time_units_table,
17187         relative_time_table, time_zone_table, military_table,
17188         lookup_zone, lookup_word, get_date):
17189         Use NULL instead of 0 where appropriate.
17190         (to_hour): Avoid abort (), to avoid a dependency on
17191         stdlib.h.
17192         (yyerror, yylex): Now accepts parser_control * arg.
17193         (main) [TEST]: Use '\0' rather than 0 for char.
17194
17195 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
17196
17197         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
17198
17199 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
17200
17201         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
17202         It's now the caller's responsibility to handle the case where
17203         !HAVE_GETPAGESIZE && !defined getpagesize.
17204
17205         * lib/mktime.c (leapyear): Arg is long int, not int.
17206
17207 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
17208
17209         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
17210
17211 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
17212
17213         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
17214         missing.  Problem reported by James Youngman.
17215
17216 2004-10-16  Simon Josefsson  <jas@extundo.com>
17217
17218         * gnulib-tool: Fix comments.  Fix parse problem.
17219         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
17220
17221 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
17222
17223         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
17224         implementation of getopt_long.  Problem reported by Alexander Taler in:
17225         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
17226
17227 2004-10-15  Bruno Haible  <bruno@clisp.org>
17228
17229         * gnulib-tool: Untabify. Initialize supplied_libname.
17230         (func_usage): More homogenous output.
17231         (func_modules_transitive_closure, func_modules_to_filelist,
17232         func_emit_lib_Makefile_am): New functions.
17233         (func_import): New function, extracted from big case statement. Use
17234         func_get_license, func_modules_transitive_closure,
17235         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
17236         opt_lgpl. Don't use test -a, as it's not portable.
17237         (func_create_testdir): Use func_modules_transitive_closure,
17238         func_modules_to_filelist, func_emit_lib_Makefile_am.
17239
17240 2004-10-15  Bruno Haible  <bruno@clisp.org>
17241
17242         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
17243
17244 2004-10-15  Bruno Haible  <bruno@clisp.org>
17245
17246         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
17247         the portions belonging to each module.
17248         Suggested by Derek Robert Price <derek@ximbiot.com>.
17249
17250 2004-10-12  Simon Josefsson  <jas@extundo.com>
17251
17252         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
17253         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
17254         to real functions.
17255
17256 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17257
17258         * modules/vsnprintf: New file.
17259
17260 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17261
17262         * m4/vsnprintf.m4: New file.
17263
17264 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17265
17266         * lib/vsnprintf.h: New file.
17267         * lib/vsnprintf.c: New file.
17268
17269 2004-10-11  Bruno Haible  <bruno@clisp.org>
17270
17271         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
17272         vsnprintf.
17273
17274 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17275
17276         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
17277
17278 2004-10-07  Bruno Haible  <bruno@clisp.org>
17279
17280         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
17281         fits into the provided buffer.
17282
17283 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17284
17285         * lib/diacrit.c, diacrit.h: Add GPL notice.
17286
17287         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
17288         notice.
17289         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
17290         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
17291         This avoids a potential constant-folding bug.
17292
17293 2004-10-05  Bruno Haible  <bruno@clisp.org>
17294
17295         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
17296         for the declaration of strsep.
17297
17298 2004-10-05  Bruno Haible  <bruno@clisp.org>
17299
17300         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
17301
17302 2004-10-04  Simon Josefsson  <jas@extundo.com>
17303
17304         * modules/memmem: New file.
17305         * tests/test-memmem.c: New file.
17306         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
17307
17308 2004-10-04  Simon Josefsson  <jas@extundo.com>
17309
17310         * m4/memmem.m4: New file.
17311
17312 2004-10-04  Simon Josefsson  <jas@extundo.com>
17313
17314         * lib/memmem.h: New file.
17315         * lib/memmem.c: New file, taken from glibc.
17316
17317 2004-10-04  Simon Josefsson  <jas@extundo.com>
17318
17319         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
17320         '#ifdef USE_UNLOCKED_IO'.
17321
17322 2004-10-04  Simon Josefsson  <jas@extundo.com>
17323
17324         * config/srclist.txt: Add memmem from glibc.
17325
17326 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17327
17328         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
17329
17330         * modules/argmatch, modules/argp, modules/closeout, modules/error,
17331         modules/exclude, modules/getdate, modules/getline,
17332         modules/getndelim2, modules/getpass, modules/getpass-gnu,
17333         modules/getusershell, modules/linebuffer, modules/md5,
17334         modules/mountlist, modules/posixtm, modules/readtokens,
17335         modules/readutmp, modules/regex, modules/sha1,
17336         modules/version-etc, modules/yesno:
17337         Remove dependency on unlocked-io.
17338
17339 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17340
17341         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
17342
17343         * m4/unlocked-io.m4: Add copyright notice.
17344         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
17345
17346 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17347
17348         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
17349         * lib/xmalloc.c (xmemdup): Likewise.
17350         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
17351         XFREE): Remove these long-obsolescent macros.
17352         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
17353         * lib/xstrdup.c: Remove.
17354
17355         * lib/regex.c (re_comp): Cast gettext return value to char *,
17356         Problem reported by Martin Neitzel via Mark D. Baushke.
17357
17358 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17359
17360         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
17361         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
17362         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
17363         regex.c, sha1.c, version-etc.c, yesno.c:
17364         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
17365         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
17366         the includer's responsibility.
17367
17368         Sync from coreutils.
17369
17370         * lib/modechange.c (mode_compile): Don't decrement a pointer that
17371         points to the start of a string, as the C Standard says the
17372         resulting behavior is undefined.
17373
17374         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
17375         simple -> simple_backups, numbered_existing ->
17376         numbered_existing_backups, numbered -> numbered_backups
17377         to avoid shadowing problems.  All uses changed.
17378         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
17379         * lib/backupfile.c (check_extension, numbered_backup):
17380         Rename locals to avoid shadowing 'basename'.
17381         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
17382         once.
17383
17384         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
17385         * lib/.cvsignore: Add getopt.h.
17386
17387 2004-10-04  Bruno Haible  <bruno@clisp.org>
17388
17389         * modules/README: New file.
17390         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
17391         not a module.
17392
17393 2004-10-02  Jim Meyering  <jim@meyering.net>
17394
17395         * lib/dirfd.h, getpagesize.h: Add copyright notice.
17396
17397 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17398
17399         * modules/strsep: New file.
17400
17401 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17402
17403         * m4/strsep.m4: New file.
17404
17405 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17406
17407         * lib/strsep.h: New file.
17408         * lib/strsep.c: New file.
17409
17410 2004-10-01  Simon Josefsson  <jas@extundo.com>
17411
17412         * lib/snprintf.c (snprintf): Handle size==0.
17413
17414 2004-10-01  Simon Josefsson  <jas@extundo.com>
17415             Bruno Haible  <bruno@clisp.org>
17416
17417         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
17418         (snprintf): Declare 'args'.
17419
17420 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
17421
17422         * lib/snprintf.c: Remove comments as to why each header is needed.
17423
17424 2004-10-01  Bruno Haible  <bruno@clisp.org>
17425
17426         * MODULES.html.sh: Add strsep.
17427
17428 2004-09-30  Simon Josefsson  <jas@extundo.com>
17429
17430         * modules/snprintf: New file.
17431
17432 2004-09-30  Simon Josefsson  <jas@extundo.com>
17433
17434         * m4/snprintf.m4: New file.
17435
17436 2004-09-30  Simon Josefsson  <jas@extundo.com>
17437
17438         * lib/snprintf.h, lib/snprintf.c: New files.
17439
17440 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17441
17442         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
17443         (hol_entry_help): Never translate an empty string.
17444         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
17445         * lib/argp.h (OPTION_NO_TRANS): New option.
17446
17447 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17448
17449         * modules/argp (Maintainer): Replace Simon Josefsson
17450         by Sergey Poznyakoff.
17451
17452 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17453
17454         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
17455         changes merged back into glibc.
17456
17457 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17458
17459         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
17460
17461 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
17462
17463         * lib/xvasprintf.c: Include xalloc.h.
17464         (xvasprintf): Use xalloc_die, not xmalloc_die.
17465
17466 2004-09-29  Bruno Haible  <bruno@clisp.org>
17467
17468         * modules/alloca-opt: New file, derived from modules/alloca.
17469         * modules/allocsa: Depend on alloca-opt instead of alloca.
17470         * modules/setenv: Likewise.
17471         * modules/vasnprintf: Likewise.
17472         * MODULES.html.sh: Add alloca-opt.
17473
17474 2004-09-28  Simon Josefsson  <jas@extundo.com>
17475
17476         * gnulib-tool: New parameter --lgpl, to asseert that modules are
17477         LGPL, and to replace license template from GPL to LGPL.
17478
17479 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17480
17481         * modules/dummy: Change license to LGPL.
17482
17483 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17484
17485         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
17486
17487 2004-09-24  Simon Josefsson  <jas@extundo.com>
17488
17489         * modules/minmax (License): Change from GPL to LGPL.
17490
17491 2004-09-23  Simon Josefsson  <jas@extundo.com>
17492
17493         * gnulib-tool (--import): Typo.
17494
17495 2004-09-23  Simon Josefsson  <jas@extundo.com>
17496
17497         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
17498
17499 2004-09-22  Bruno Haible  <bruno@clisp.org>
17500
17501         * modules/*: Add 'License' field.
17502         * gnulib-tool: Accept --extract-license option.
17503         (func_get_license): New function.
17504
17505 2004-09-21  Bruno Haible  <bruno@clisp.org>
17506
17507         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
17508         Reported by Simon Josefsson.
17509
17510 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17511
17512         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
17513         gl_AC_TYPE_LONG_LONG.
17514
17515 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17516
17517         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
17518
17519 2004-09-18  Simon Josefsson  <jas@extundo.com>
17520         and  Paul Eggert  <eggert@cs.ucla.edu>
17521
17522         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
17523         calls with autoreconf.  Define GL_LIB.
17524
17525 2004-09-14  Karl Berry  <karl@gnu.org>
17526
17527         * config/srclist.txt: unsync setenv.c, sigh.
17528
17529 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17530
17531         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
17532         Problem reported by Bruno Haible in:
17533         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
17534
17535 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17536
17537         * config/srclist.txt: Comment out argp-pvh.c.
17538
17539 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17540
17541         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
17542         in case some system header has #define'd it.  Problem reported by
17543         Soeren D. Schulze in
17544         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
17545
17546 2004-09-09  Karl Berry  <karl@gnu.org>
17547
17548         * regex.[ch]: delete from the root.  These were supposed to be
17549                 synced with emacs cvs, but this has not happened for about
17550                 a year, and anyway nothing else uses emacs regex.[ch].
17551                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
17552                 lib/regex[.ch] is untouched.
17553
17554 2004-09-09  Bruno Haible  <bruno@clisp.org>
17555
17556         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
17557
17558 2004-09-09  Bruno Haible  <bruno@clisp.org>
17559
17560         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
17561         modifications.
17562         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
17563
17564 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17565
17566         * modules/xvasprintf: New file.
17567         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
17568
17569 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17570
17571         * lib/xvasprintf.h: New file.
17572         * lib/xvasprintf.c: New file.
17573         * lib/xasprintf.c: New file.
17574
17575 2004-09-08  Bruno Haible  <bruno@clisp.org>
17576
17577         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
17578
17579 2004-09-08  Bruno Haible  <bruno@clisp.org>
17580
17581         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
17582         length is > INT_MAX.
17583         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
17584         more.
17585
17586 2004-09-08  Bruno Haible  <bruno@clisp.org>
17587
17588         * lib/stdint_.h: New file, taken from GNU clisp.
17589
17590 2004-09-08  Bruno Haible  <bruno@clisp.org>
17591             Oskar Liljeblad  <oskar@osk.mine.nu>
17592
17593         * modules/stdint: New file.
17594         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
17595
17596 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17597
17598         Import from coreutils.
17599         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
17600         strings on unbounded length.  alloca's performance benefits aren't
17601         that important here.
17602         (V_STRDUP): Remove.
17603         (parse_with_separator): New function, with most of the internals
17604         of the old parse_user_spec.  Allow user to omit both user and group,
17605         for compatibility with FreeBSD.
17606         Clone only the user name, not the entire spec.
17607         Do not set *uid, *gid unless entirely successful.
17608         Avoid memory leak in some failing cases.
17609         Fix regression for USER.GROUP reported by Dmitry V. Levin in
17610         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
17611         (parse_user_spec): Rewrite to use parse_with_separator.
17612
17613 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17614
17615         * modules/userspec: Don't depend on alloca.
17616
17617 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17618
17619         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
17620
17621 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
17622
17623         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
17624         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
17625         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
17626
17627 2004-08-16  Simon Josefsson  <jas@extundo.com>
17628
17629         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
17630         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
17631         Add --dry-run for --import.
17632         Let user provided command line parameters override configure.ac
17633         settings.
17634
17635 2004-08-12  Simon Josefsson  <jas@extundo.com>
17636
17637         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
17638         as discussed with Paul Eggert in threads rooted at
17639         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
17640         and
17641         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
17642         Before, the test was empty, and relied on ELIDE_CODE in source
17643         code.)
17644         (gl_PREREQ_GETOPT): New macro.
17645         (gl_GETOPT): Use them.
17646
17647 2004-08-12  Simon Josefsson  <jas@extundo.com>
17648
17649         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
17650         * lib/getopt_.h: Renamed from getopt.h.
17651
17652 2004-08-12  Simon Josefsson  <jas@extundo.com>
17653
17654         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
17655         Change default library name from libfoo to libgnu.
17656         Now, if you have a configure.ac that says:
17657                 gl_SOURCE_BASE(gl)
17658                 gl_M4_BASE(gl/m4)
17659                 gl_MODULES(error getopt etcetera)
17660                 gl_INIT
17661         you can import all you need by running:
17662                 ../gnulib/gnulib-tool --import
17663
17664         * modules/getopt (Files): Rename getopt.h to getopt_.h.
17665         (Makefile.am): Rewrite, use logic from argz.
17666         (Include): Use <getopt.h> instead of "getopt.h".
17667
17668 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17669
17670         * modules/argp (Files): Add m4/unlocked-io.m4.
17671         (Depends-on): Add extensions.
17672
17673 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17674
17675         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
17676         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
17677         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
17678         Check for program_invocation_name, program_invocation_short_name,
17679         flockfile, funlockfile, features.h, _getopt_long_only_r.
17680
17681 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17682
17683         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
17684         its complicated substitute.
17685         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
17686         and program_invocation_name.
17687         (__argp_basename) [!_LIBC]: Remove; the only use was
17688         replaced by its body.
17689         (__argp_short_program_name): Change condition from
17690         !defined __argp_short_program_name to
17691         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
17692         to match argp-namefrob.h.
17693         (__argp_failure): Don't assume strerror_r returns char *.
17694         * lib/argp-parse.c (N_): Define unconditionally.
17695         (argp_default_options): Fill out initializers with 0 to avoid
17696         gcc warnings.
17697
17698 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17699
17700         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
17701         getopt1.c.
17702
17703 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17704
17705         Merge from coreutils.
17706
17707         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
17708
17709         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
17710         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
17711
17712 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17713
17714         Merge from coreutils.
17715
17716         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
17717         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
17718         for Reliant Unix 5.43.
17719
17720         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
17721         (union fooround): Use uintmax_t, not long int.
17722         The rest is a merge from libc:
17723         [defined _LIBC]: Include <shlib-compat.h>.
17724         (_obstack) [defined _LIBC]: Remove after 2.3.4.
17725
17726         * lib/settime.c (settime): Recode to avoid warning with
17727         Sun Forte C 6U2.
17728
17729         * lib/strverscmp.c: Convert to UTF-8.
17730
17731 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17732
17733         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
17734         m4/uintmax_t.m4.
17735
17736 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17737
17738         * modules/xalloc-die: New file.
17739         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
17740
17741         * modules/md5 (Files): Add m4/uint32_t.m4.
17742         * modules/sha1: Renamed from modules/sha.
17743         (Files):
17744         Rename lib/sha.h to lib/sha1.h.
17745         Rename lib/sha.c to lib/sha1.c.
17746         Rename m4/sha.m4 to m4/sha1.m4.
17747         (lib_SOURCES): Likewise.
17748         (configure.ac): Rename gl_SHA to gl_SHA1.
17749         (Include): sha.h -> sha1.h.
17750
17751 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17752
17753         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
17754         * m4/sha1.m4: Renamed from sha.m4.
17755         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
17756
17757 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17758
17759         * lib/obstack.h (obstack_empty_p):
17760         Don't assume that chunk->contents is suitably aligned.
17761         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
17762         Likewise. Problem reported by Benno in
17763         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
17764
17765         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
17766         readable.  This could be improved further but it'd take some work.
17767
17768 2004-08-08  Simon Josefsson  <jas@extundo.com>
17769
17770         * modules/xgethostname (Depends-on): Remove exit and error (not
17771         used).
17772
17773         * modules/getpass-gnu: Add getpass.h.
17774         (Depends-on): Add stdbool.
17775         * modules/getpass: Add getpass.h.
17776
17777 2004-08-08  Simon Josefsson  <jas@extundo.com>
17778
17779         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
17780         Check getpass declaration.
17781
17782 2004-08-08  Simon Josefsson  <jas@extundo.com>
17783
17784         * lib/xgethostname.c: Don't include error.h (not used).
17785
17786         * lib/getpass.h: Add.
17787         * lib/getpass.c: Include getpass.h first.
17788
17789 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
17790
17791         * lib/xalloc-die.c: New file.
17792         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
17793         All uses removed.
17794         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
17795         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
17796         xalloc-die.c.
17797         (_, N_, xalloc_die): Move to xalloc-die.c.
17798         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
17799         so that we needn't mess with xalloc_msg_memory_exhausted.
17800
17801         * lib/sha1.h: Renamed from sha.h.
17802         (SHA1_H): Renamed from _SHA_H.
17803         (sha1_ctx): Renamed from sha_ctx.
17804         (sha1_init_ctx): Renamed from sha_init_ctx.
17805         (sha1_process_block): Renamed from sha_process_block.
17806         (sha1_process_bytes): Renamed from sha_process_bytes.
17807         (sha1_finish_ctx): Renamed from sha_finish_ctx.
17808         (sha1_read_ctx): Renamed from sha_read_ctx.
17809         (sha1_stream): Renamed from sha_stream.
17810         (sha1_buffer): Renamed from sha_buffer.
17811         * lib/sha1.c: Likewise; renamed from sha.c.
17812         Do not include <sys/types.h>.
17813         Include <stddef.h> rather than <stdlib.h>.
17814
17815 2004-08-08  Bruno Haible  <bruno@clisp.org>
17816
17817         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
17818         FILESYSTEM_PREFIX_LEN.
17819         * lib/progreloc.c: Likewise.
17820         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
17821
17822 2004-08-06  Simon Josefsson  <jas@extundo.com>
17823
17824         * modules/progname (Depends-on): Don't depend on stdbool.
17825
17826 2004-08-06  Simon Josefsson  <jas@extundo.com>
17827
17828         * modules/getsubopt: New file.
17829         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17830         getsubopt.
17831
17832 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17833
17834         More merge from coreutils.
17835
17836         * m4/utimens.m4, m4/utimecmp.m4: New files.
17837         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
17838         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
17839         prereq.m4, sha.m4: Import changes from coreutils.
17840
17841 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17842
17843         More merge from coreutils.
17844         * modules/raise, modules/readtokens0, modules/utimens:
17845         * modules/utimecmp, module/xnanosleep: New files.
17846         * modules/strftime: Add lib/strftime.h.
17847         Change include from <time.h> to "strftime.h".
17848         * modules/yesno: Add lib/yesno.h.
17849         * modules/backupfile: Remove lib/addext.c.
17850         * modules/euidaccess: Add stat-macros.h.
17851         * modules/canonicalize, modules/euidaccess,
17852         modules/filemode, modules/lchown, modules/makepath,
17853         modules/rmdir, modules/stat: Likewise.
17854
17855 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17856
17857         Merge from tar.
17858         * lib/argp-help.c (make_hol, hol_append): Don't assume that
17859         SIZE_MAX is a valid preprocessor constant.
17860         (__argp_basename): Change from "#ifndef _LIBC"
17861         to "#ifndef __argp_short_program_name", so that
17862         we don't compile these functions for tar.
17863
17864         More merges from coreutils.
17865         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
17866         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
17867         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
17868         * lib/addext.c: Remove; no longer needed.
17869         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
17870         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
17871         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
17872         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
17873         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
17874         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
17875         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
17876         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
17877         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
17878         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
17879         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
17880         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
17881         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
17882         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
17883         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
17884         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
17885         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
17886         Import changes from coreutils.
17887
17888 2004-08-05  Simon Josefsson  <jas@extundo.com>
17889
17890         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
17891
17892 2004-08-05  Simon Josefsson  <jas@extundo.com>
17893
17894         * m4/getsubopt.m4: New file.
17895
17896 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17897
17898         Merge from coreutils.
17899
17900         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
17901         * m4/getcwd-path-max.m4: New files.
17902
17903         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
17904         FILESYSTEM_PREFIX_LEN ->
17905         FILE_SYSTEM_PREFIX_LEN.
17906         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
17907         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
17908         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
17909         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
17910
17911         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
17912         prerequisite modules now handle the DOS stuff.
17913         Don't check for unistd.h.
17914
17915 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17916
17917         Merge from coreutils.
17918
17919         * lib/.gdb-history: Remove; this doesn't belong here.
17920
17921         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
17922         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
17923         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
17924         * lib/getcwd.c: New files.
17925
17926         * lib/dirname.h: Include <stdbool.h>.
17927         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
17928         for consistency with POSIX terminology.  All uses changed.
17929         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
17930         (strip_trailing_slashes): Use bool for booleans.
17931         * lib/stripslash.c (strip_trailing_slashes): Likewise.
17932
17933         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
17934         sometimes returns a positive errno value even when it succeeds.
17935         (print_errno_message) [!LIBC]: Fall back on strerror if
17936         __strerror_r fails.
17937
17938         * lib/path-concat.c (mempcpy): Don't define if a system header defines
17939         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
17940         (longest_relative_suffix): New function.
17941         (path_concat): Use it.  Assume first argument is not NULL.
17942         Port to DOS.  Omit redundant separators.
17943         Report an error instead of returning NULL.
17944         Use mempcpy instead of memcpy.
17945         (xpath_concat): Remove: not declared or used.
17946
17947         * lib/same.h: Include <stdbool.h>
17948         (same_name): Return bool, not int.
17949         * lib/same.c (same_name): Likewise.
17950         (errno): Don't declare; we assume C89 or better now.
17951
17952         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
17953         if not already defined.
17954
17955         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
17956         * lib/dup-safer.c (errno): Likewise.
17957
17958 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17959
17960         Merge from coreutils.
17961         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
17962         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
17963         * modules/path-concat: Don't depend on strdup.
17964
17965 2004-08-03  Simon Josefsson  <jas@extundo.com>
17966
17967         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
17968         * lib/progname.h: Don't include stdbool.h.
17969
17970 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17971
17972         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
17973         * MODULES.html.sh (func_all_modules): Remove fatal.
17974
17975 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17976
17977         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
17978
17979 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17980
17981         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
17982         working.
17983
17984 2004-08-02  Simon Josefsson  <jas@extundo.com>
17985
17986         * lib/getsubopt.h: New file, with comments from Bruno Haible.
17987         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
17988         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
17989
17990 2004-08-01  Simon Josefsson  <jas@extundo.com>
17991
17992         * lib/xgetdomainname.c: Include stdlib.h, for free().
17993
17994 2004-07-19  Bruno Haible  <bruno@clisp.org>
17995
17996         * MODULES.html.sh (func_all_modules): Add dummy.
17997
17998 2004-07-16  Simon Josefsson  <jas@extundo.com>
17999
18000         * modules/dummy: New file.
18001
18002 2004-07-16  Simon Josefsson  <jas@extundo.com>
18003
18004         * lib/dummy.c: New file.
18005
18006 2004-07-16  Bruno Haible  <bruno@clisp.org>
18007
18008         * lib/backupfile.h: Add extern "C" for C++.
18009         * lib/closeout.h: Likewise.
18010         * lib/copy-file.h: Likewise.
18011         * lib/findprog.h: Likewise.
18012         * lib/full-write.h: Likewise.
18013         * lib/pathname.h: Likewise.
18014         * lib/progname.h: Likewise.
18015         * lib/stpcpy.h: Likewise.
18016         * lib/stpncpy.h: Likewise.
18017         * lib/strcase.h: Likewise.
18018         * lib/strstr.h: Likewise.
18019         * lib/xalloc.h: Likewise.
18020
18021         * lib/mbswidth.h: Add extern "C" for C++.
18022         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
18023
18024 2004-07-13  Robert Millan  <robertmh@gnu.org>
18025
18026         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
18027
18028 2004-07-09  Simon Josefsson  <jas@extundo.com>
18029
18030         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
18031         failed without this.)
18032
18033 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18034
18035         * modules/chown (Files): Add lib/fchown-stub.c, since
18036         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
18037
18038 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18039
18040         * lib/fchown-stub.c: New file.
18041
18042 2004-06-24  Jim Meyering  <jim@meyering.net>
18043
18044         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
18045
18046 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18047
18048         * modules/argz: Omit "#include".
18049
18050         * MODULES.html.sh (func_all_modules): Add calloc, to match
18051         2004-06-01 addition of calloc module.
18052
18053 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18054
18055         * m4/argz.m4: New file, which is autoupdated from libtool.
18056
18057 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18058
18059         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
18060         libtool.
18061
18062 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18063
18064         * config/srclist-update: Don't insist on "USA." before the
18065         close-comment, as libtool omits the period and puts the */ on a
18066         separate line.
18067         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
18068         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
18069
18070 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
18071
18072         * modules/argz: New file.
18073         * MODULES.html.sh (func_all_modules): Add argz.
18074
18075 2004-06-12  Jim Meyering  <jim@meyering.net>
18076         and  Paul Eggert  <eggert@cs.ucla.edu>
18077
18078         * modules/hash (Files): Add lib/xalloc.h.
18079         * modules/pipe (Depends-on): Add wait-process.
18080         * modules/stat (Depends-on): Add xalloc.
18081         * modules/userspec (Files): Add lib/userspec.h.
18082         * modules/xstrto
18083
18084         Upgrade from gettext-0.13.
18085         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
18086         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
18087         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
18088
18089 2004-06-10  Jim Meyering  <jim@meyering.net>
18090
18091         * lib/calloc.c: New file.
18092
18093 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
18094
18095         * lib/getdate.y (yylex): Allow space between sign and number.
18096         Problem reported by Dan Jacobson.
18097
18098 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
18099
18100         Merge from coreutils CVS.
18101
18102         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
18103         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
18104         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
18105         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
18106         xstrtol.m4: Fix copyright date and/or serial number.
18107
18108         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
18109         See if we need an fchown replacement.
18110         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
18111         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
18112         and use the replacement function if we detect either defect.
18113
18114         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
18115         gl_UTIMECMP.
18116
18117 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
18118         and  Jim Meyering  <jim@meyering.net>
18119
18120         Merge from coreutils CVS.
18121
18122         * lib/stat-macros.h: New file, with contents from file-type.h
18123         and coreutils' system.h.
18124         * lib/file-type.c: Include "stat-macros.h".
18125         * lib/file-type.h (file_type): Move all macro definitions to new file,
18126         stat-macros.h.
18127
18128         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
18129         Wrap old code with this conditional.
18130         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
18131         function that does not dereference symlinks.
18132         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
18133
18134         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
18135         dependency problems.
18136         (xreadlink): Accept new arg SIZE, for efficiency.
18137         All decls and uses changed.
18138         * lib/xreadlink.h: Include <stddef.h>, for size_t.
18139
18140         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
18141         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
18142
18143         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
18144         sysexits.h.
18145
18146 2004-06-01  Jim Meyering  <jim@meyering.net>
18147
18148         * m4/calloc.m4: New file.
18149
18150 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
18151
18152         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
18153         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
18154         Also, fix a typo in a diagnostic.
18155
18156 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
18157
18158         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
18159         or AC_FUNC_REALLOC.
18160
18161 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
18162
18163         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
18164         macros to be defined.
18165         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
18166         the allocator returns NULL because the requested size is zero.
18167
18168 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
18169
18170         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
18171         var.  Add comment explaining why libc still defines it.  This
18172         merges the following patch from glibc:
18173         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
18174
18175 2004-05-20  Andreas Schwab  <schwab@suse.de>
18176
18177         * m4/free.m4: Replace free if it not known to work, not the other
18178         way round.
18179
18180 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18181
18182         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
18183         present in glibc since revision 1.1 of this file.
18184         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
18185         obstack_alignment_mask, obstack_alloc, obstack_base,
18186         obstack_blank, obstack_blank_fast, obstack_chunk_size,
18187         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
18188         obstack_grow0, obstack_init, obstack_int_grow,
18189         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
18190         obstack_next_free, obstack_object_size, obstack_ptr_grow,
18191         obstack_ptr_grow_fast, obstack_room): Remove declarations of
18192         nonexistent functions.
18193
18194 2004-05-18  Karl Berry  <karl@gnu.org>
18195
18196         * config/srclist.txt: break link for vasnprintf.c.
18197
18198 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
18199
18200         Port obstack to the AS/400, where pointers are 16 bytes wide and
18201         you cannot cast an integer to a valid pointer.  This patch is
18202         currently waiting to be integrated into glibc; see
18203         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
18204
18205         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
18206         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
18207         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
18208         (struct obstack): temp member is now a union of a pointer and
18209         an integer, instead of an integer.  All integer uses changed.
18210         This does not affect the physical layout of struct obstack,
18211         except on hosts (like the AS/400) where the size or alignment of
18212         void * is greater than that of ptrdiff_t.
18213         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
18214         __STDC__)]: Store temporary in pointer member of union, not
18215         integer member.
18216         * lib/obstack.c: Include <stddef.h>, for offsetof.
18217         (struct fooalign): Remove; it doesn't need a name.
18218         (union fooround): Change double to long double, and add void *.
18219         (DEFAULT_ALIGNMENT): Use offsetof to compute.
18220         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
18221         not a macro.  Hence the values are always int; so remove all
18222         casts-to-int in uses.
18223
18224 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
18225
18226         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
18227         we can get this patch merged into glibc.
18228
18229 2004-05-17  Derek R. Price  <derek@ximbiot.com>
18230             Paul Eggert  <eggert@cs.ucla.edu>
18231
18232         * m4/argp: Depend on alloca.
18233
18234 2004-05-17  Derek R. Price  <derek@ximbiot.com>
18235             Paul Eggert  <eggert@cs.ucla.edu>
18236
18237         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
18238         freecoding.
18239
18240 2004-05-17  Bruno Haible  <bruno@clisp.org>
18241
18242         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
18243         precision that consists of a '.' followed by an empty digit string.
18244         Patch by Tor Lillqvist <tml@iki.fi>.
18245
18246 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18247
18248         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
18249         for backward compatibility with older code.  We need our own
18250         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
18251         it under some other name, and our alloca.h will define it.
18252
18253 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18254             Derek Price  <derek@ximbiot.com>
18255
18256         * lib/alloca.c: Include <alloca.h>, to get our interface.
18257         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
18258         include <alloca.h> first.  Use C89 prototype for alloca; this
18259         requires including <stddef.h> for size_t.  Use extern "C" if C++.
18260         Use #elif for simplicity, since we can assume C89 now.
18261         Don't try to source the system alloca.h since it will not be found
18262         and to prevent recursively including its replacement.
18263         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
18264         * lib/regex.c: Likewise.
18265
18266 2004-05-16  Derek Price  <derek@ximbiot.com>
18267             Paul Eggert  <eggert@cs.ucla.edu>
18268
18269         getline cleanup.  This changes the getndelim2 API: both order of
18270         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
18271         no delimiter).
18272
18273         * lib/getline.c: Don't include stddef.h or stdio.h, since our
18274         interface does that.
18275         (getline): Always use getdelim, so that we don't have two
18276         copies of this code.
18277         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
18278         if available.
18279         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
18280         (GETNDELIM2_MAXIMUM): New macro.
18281         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
18282         instead of the old practice of delim2==0.  All callers changed.
18283         Return -1 on overflow, instead of returning junk.
18284         Do not set *linesize unless allocation succeeds.
18285         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
18286         that we include sys/types.h.
18287         * lib/getnline.h: Likewise.
18288         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
18289         (getndelim2): Reorder arguments.
18290         * lib/getnline.c (getnline, getndelim):
18291         Don't discard the NMAX argument.
18292         (getnline): Invoke getndelim, to avoid code duplication.
18293         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
18294         of (size_t) -1 by callers of the getnline family.
18295
18296 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18297
18298         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
18299         Check for gettimeofday.
18300         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
18301         Check for settimeofday, stime.
18302
18303 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18304
18305         * lib/nanosleep.c (suspended): Change its type from int to
18306         sig_atomic_t volatile.
18307         (first_call): Make it private to rpl_nanosleep, and have it
18308         be zero initially as that's a bit faster.
18309         (my_usleep): Round up fractional times instead of truncating them,
18310         as this is the usual meaning for 'sleep'.
18311
18312         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
18313         doesn't work.
18314         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
18315         (ENOSYS): Define if not defined.
18316         (settime): Fall back on stime if it exists and settimeofday fails.
18317         But don't bother with fallbacks if a method fails with errno == EPERM.
18318
18319 2004-05-11  Jim Meyering  <jim@meyering.net>
18320
18321         Prior to this change, the save_cwd caller required read access to the
18322         current directory on most systems (ones with the fchdir function).
18323
18324         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
18325         fails, try write-only, and finally, resort to using xgetcwd.
18326
18327 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
18328
18329         * lib/obstack.c, obstack.h: Import changes from libc.
18330
18331 2004-04-28  Bruno Haible  <bruno@clisp.org>
18332
18333         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
18334         also implicitly appends .exe to executables.
18335         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
18336         accepts Windows pathnames.
18337         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
18338         Treat Cygwin like Windows, since it now accepts Windows pathnames.
18339         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
18340         Treat Cygwin like Windows, since it now accepts Windows pathnames.
18341         Reported by Derek Robert Price <derek@ximbiot.com>.
18342
18343 2004-04-21  Karl Berry  <karl@gnu.org>
18344
18345         * config/srclist.txt (localcharset.c): break sync.
18346
18347 2004-04-20  Paul Eggert  <eggert@twinsun.com>
18348
18349         * m4/host-os.m4: Add a copyright notice.
18350
18351 2004-04-20  Jim Meyering  <jim@meyering.net>
18352
18353         Change UTILS_ to gl_ in AC_DEFINE'd names.
18354         Change utils_- and jm_-prefixed variables, too.
18355         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
18356         UTILS_FUNC_MKDIR_TRAILING_SLASH.
18357         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
18358
18359         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
18360         Don't emit trailing blanks.
18361         Also rename jm_-prefixed variables to have gl_ prefix.
18362
18363         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
18364         Also rename jm_-prefixed variables to have gl_ prefix.
18365
18366         * m4/jm-macros.m4: Reflect the renamings.
18367         * m4/prereq.m4: Likewise.
18368
18369 2004-04-20  Jim Meyering  <jim@meyering.net>
18370
18371         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
18372         memory.
18373
18374 2004-04-20  Jim Meyering  <jim@meyering.net>
18375             Bruno Haible  <bruno@clisp.org>
18376
18377         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
18378         memory when realloc fails.
18379
18380 2004-04-19  Jim Meyering  <jim@meyering.net>
18381
18382         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
18383         now that readutmp.c may call `free (0)'.
18384
18385 2004-04-19  Bruno Haible  <bruno@clisp.org>
18386
18387         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
18388         * m4/inttypes_h.m4: Likewise.
18389         * m4/stdint_h.m4: Likewise.
18390         * m4/intmax_t.m4: Likewise.
18391         * m4/uintmax_t.m4: Likewise.
18392
18393 2004-04-18  Jim Meyering  <jim@meyering.net>
18394
18395         * m4/prereq.m4: Don't forbid jm_ prefix.
18396
18397         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
18398         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
18399         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
18400         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
18401         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
18402         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
18403         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
18404         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
18405         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
18406         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
18407         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
18408         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
18409         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
18410         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
18411         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
18412         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
18413         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
18414         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
18415         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
18416
18417 2004-04-18  Jim Meyering  <jim@meyering.net>
18418
18419         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
18420         failure, don't leak memory and do call END_UTMP_ENT.
18421
18422 2004-04-16  Jim Meyering  <jim@meyering.net>
18423
18424         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
18425         coreutils' stat program.
18426         (gl_PREREQ): Don't require jm_PREREQ_STAT.
18427
18428 2004-04-11  Paul Eggert  <eggert@twinsun.com>
18429
18430         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
18431         C89.
18432         (CHAR_BIT): Remove, since we assume C89.
18433         Include <stdint.h> if available, as per current Autoconf CVS advice.
18434
18435 2004-03-31  Jim Meyering  <jim@meyering.net>
18436
18437         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
18438         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
18439         * m4/xalloc.m4: Likewise.
18440
18441 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18442
18443         Merge from coreutils.
18444
18445         * m4/inttostr.m4: New file.
18446         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
18447         Require AM_STDBOOL_H and gl_TIMESPEC instead.
18448         Require gl_CLOCK_TIME.
18449         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
18450
18451 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18452
18453         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
18454         not bool, to be more consistent with Unix conventions.
18455         Suggested by Bruno Haible.
18456
18457         Merge from coreutils.
18458
18459         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
18460         * lib/umaxtostr.c: New files.
18461
18462         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
18463         the usual <time.h> dance.
18464         (get_date): Change signature to support fractional time stamps.
18465         All callers changed.
18466         * lib/getdate.y: Include "getdate.h" first, as we can now
18467         assume C89 and don't need to worry about 'const'.
18468         Similarly, include "unlocked-io.h" near start, not in middle.
18469         Include <limits.h>.
18470         (textint.value): Use long int rather than int.
18471         (textint.digits): Use size_t rather than int.
18472         (BILLION, LOG10_BILLION): New constants.
18473         (parser_control): New member rel_ns.  Members day_ordinal,
18474         time_zone, month, day, hour, minutes, rel_year, rel_month,
18475         rel_day, rel_hour, rel_minutes, rel_seconds
18476         are now long int, not int.  Member seconds is now struct timespec,
18477         not int.  New member timespec_seen.  Members dates_seen, days_seen,
18478         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
18479         not int.
18480         (%union.intval): Now long int, not int.
18481         New member timespec.
18482         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
18483         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
18484         (spec): Now is a timespec or an item list.
18485         (timespec, items): New nonterminals.
18486         (time, rel, relunit, number, get_date):
18487         Add support for fractional seconds.
18488         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
18489         (gmtime, localtime, mktime): Remove decls; not needed with C89.
18490         (to_hour): First arg is now long int, not int.
18491         (to_year): Returns long int, not int.
18492         Don't treat year -70 like 70.
18493         (tm_diff): Returns long int, not int.
18494         (lookup_word): Use bool instead of int when appropriate.
18495         (yylex): Use size_t for count, not int.
18496         Detect overflow when parsing large integer constants.
18497         Add support for fractions.
18498         (get_date): Make pointers 'const' if possible.
18499         Use more-portable code to detect integer overflow.
18500         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
18501         Don't use ctime; it's not reliable if the year has >4 digits.
18502
18503         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
18504         This is for compatibility with BSD.
18505
18506         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
18507         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
18508         From coreutils' system.h.
18509
18510         * lib/userspec.c: Don't include "posixver.h".
18511         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
18512         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
18513         compatible extension.  Simplify code by removing a boolean int
18514         that was always nonzero if a string was nonnull.
18515
18516 2004-03-30  Jim Meyering  <jim@meyering.net>
18517
18518         Merge from coreutils.
18519
18520         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
18521         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
18522         on some systems one must include <grp.h> before it.
18523         Reported by Christian Krackowizer.
18524
18525 2004-03-30  Jim Meyering  <jim@meyering.net>
18526
18527         Merge from coreutils.
18528
18529         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
18530
18531         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
18532         an empty input stream.
18533
18534         * lib/readtokens.c: Include <stdbool.h>.
18535         (readtoken): Use `size_t' rather than int/long.
18536         All callers adjusted.
18537         Use `bool' rather than `int' where appropriate.
18538         Use memset rather than an explicit loop.
18539         Use x2nrealloc rather than xrealloc.
18540         Allow the use of `\0' as a delimiter.
18541         (readtokens): Likewise.
18542         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
18543
18544 2004-03-30  Jim Meyering  <jim@meyering.net>
18545
18546         * m4/realloc.m4: Remove file, since now it does no more than
18547         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
18548         the `configure.ac' section of module/realloc.
18549         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
18550
18551 2004-03-30  Bruno Haible  <bruno@clisp.org>
18552
18553         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
18554         nonnull.
18555
18556 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18557
18558         Merge changes to getloadavg.c from coreutils and Emacs.
18559
18560         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
18561         Define to an expression, not to the empty string.
18562         Include cloexec.h and xalloc.h.
18563         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
18564         Use set_cloexec_flag rather than rolling our own.
18565         * lib/cloexec.c, lib/cloexec.h: New files.
18566
18567 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18568
18569         * m4/cloexec.m4: New file.
18570
18571 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18572
18573         * lib/getopt.h: Sync with libc CVS.
18574
18575 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18576             Bruno Haible  <bruno@clisp.org>
18577
18578         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
18579         mbswidth.
18580
18581 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18582             Bruno Haible  <bruno@clisp.org>
18583
18584         * lib/mbswidth.h: Include <wchar.h> only if
18585         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
18586         <wchar.h>.
18587         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
18588
18589 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18590
18591         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
18592         Sync with libc CVS.
18593         * lib/getopt_int.h: New file, also synced from libc.
18594
18595 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18596
18597         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
18598         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
18599         Bring back getopt.c, getopt.h, getopt1.c.
18600
18601 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18602
18603         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
18604         All uses changed.  Check for sa_sigaction member; this fixes
18605         a bug first reported by Jason Andrade in
18606         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18607
18608 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18609
18610         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
18611         '#if' expressions.  Unlike the code it replaces, it does not
18612         depend on (defined _SC_PAGESIZE).  However, it does depend on
18613         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
18614         first reported by Jason Andrade in
18615         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18616
18617 2004-02-25  Simon Josefsson  <jas@extundo.com>
18618
18619         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
18620
18621 2004-02-25  Simon Josefsson  <jas@extundo.com>
18622
18623         * lib/strdup.h: New file.
18624         * lib/strdup.c: Include it.
18625         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
18626         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
18627
18628 2004-02-23  Karl Berry  <karl@gnu.org>
18629
18630         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
18631         (from fencepost.gnu.org:/gd/gnuorg).
18632
18633 2004-02-23  Karl Berry  <karl@gnu.org>
18634
18635         * config/srclistvars.sh (GNUORG) [karl]: redefine.
18636         * config/srclist.txt: add maintain/standards documents.
18637
18638 2004-02-18  Bruno Haible  <bruno@clisp.org>
18639
18640         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
18641         Reported by Derek Robert Price <derek@ximbiot.com>.
18642
18643 2004-02-16  Karl Berry  <karl@gnu.org>
18644
18645         * config/mkinstalldirs, install-sh: update from automake.
18646
18647 2004-02-06  Karl Berry  <karl@gnu.org>
18648
18649         * m4/po.m4: update from gettext 0.14.1.
18650
18651 2004-02-06  Karl Berry  <karl@gnu.org>
18652
18653         * lib/config.charset: update from gettext 0.14.1.
18654
18655 2004-02-05  Paul Eggert  <eggert@twinsun.com>
18656
18657         Add comments and code, prompted by suggestions from Bruno Haible
18658         for sh-quote.
18659         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
18660         describing the enum quoting_style values.
18661         * lib/quotearg.c (quotearg_alloc): New function.
18662         (quotearg_buffer_restyled): Treat lone { and } as special.
18663         Treat = as special.  Work around bug with older shells
18664         that "see" a '\' that is really the 2nd byte of a multibyte char.
18665         Quote empty string with shell_quoting_style.
18666
18667 2004-02-03  Bruno Haible  <bruno@clisp.org>
18668
18669         * m4/pipe.m4: New file, from GNU gettext.
18670
18671 2004-02-03  Bruno Haible  <bruno@clisp.org>
18672
18673         * lib/pipe.h: New file, from GNU gettext.
18674         * lib/pipe.c: New file, from GNU gettext.
18675
18676 2004-01-27  Bruno Haible  <bruno@clisp.org>
18677
18678         * m4/execute.m4: New file, from GNU gettext.
18679
18680 2004-01-27  Bruno Haible  <bruno@clisp.org>
18681
18682         * lib/execute.h: New file, from GNU gettext.
18683         * lib/execute.c: New file, from GNU gettext.
18684         * lib/w32spawn.h: New file, from GNU gettext.
18685
18686 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18687
18688         Merge from diffutils.
18689
18690         * lib/file-type.c (file_type): Add typed memory objects.
18691         * lib/file-type.h (S_TYPEISTMO): New macro.
18692
18693         * lib/c-stack.h (c_stack_action): Remove argv argument.
18694         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
18695         (die): Don't calculate message unless segv_action returns.
18696         (get_stack_location, min_address_from_argv, max_address_from_argv,
18697         volatile stack_base, volatile_stack_size): Remove.
18698         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
18699         that every segmentation violation is a stack overflow.  (Ouch!)
18700         See Debian bug 136249 (still outstanding) for more info about why
18701         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
18702
18703 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18704
18705         Exit-status fix from coreutils.
18706
18707         Use exit_failure consistently in place of EXIT_FAILURE,
18708         so that program exit statuses are consistent on failure.
18709
18710         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
18711         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
18712         * lib/argmatch.h: Comment fix to match the above.
18713         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
18714         Now a macro referring to exit_failure, instead of a separate
18715         variable.  Include "exitfail.h" to get it.
18716         * lib/xstrtol.h: Include "exitfail.h".
18717         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
18718
18719         * lib/long-options.c (parse_long_options): Use prototype
18720         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
18721         for clarity.
18722
18723 2004-01-21  Jim Meyering  <jim@meyering.net>
18724
18725         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
18726         so as not to conflict with a different-sized __mktime_internal
18727         function in GNU libc.
18728         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
18729         Problem building statically-linked `ls' reported by Michael Brunnbauer.
18730
18731 2004-01-20  Karl Berry  <karl@gnu.org>
18732
18733         * config/config.guess: update from config.
18734
18735         * config/srclistvars.sh: GNUWWWLICENSES for karl.
18736
18737 2004-01-20  Bruno Haible  <bruno@clisp.org>
18738
18739         Safer stack allocation.
18740         * lib/setenv.c: Include allocsa.h.
18741         (alloca): Remove fallback definition.
18742         (freea): Remove macro.
18743         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
18744         instead of freea.
18745
18746 2004-01-20  Bruno Haible  <bruno@clisp.org>
18747
18748         * m4/eealloc.m4: New file, from GNU gettext.
18749
18750 2004-01-20  Bruno Haible  <bruno@clisp.org>
18751
18752         * m4/allocsa.m4: New file, from GNU gettext.
18753
18754 2004-01-20  Bruno Haible  <bruno@clisp.org>
18755
18756         * lib/xallocsa.h: New file, from GNU gettext.
18757         * lib/xallocsa.c: New file, from GNU gettext.
18758
18759 2004-01-20  Bruno Haible  <bruno@clisp.org>
18760
18761         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
18762
18763 2004-01-20  Bruno Haible  <bruno@clisp.org>
18764
18765         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
18766         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
18767         specially.
18768
18769 2004-01-20  Bruno Haible  <bruno@clisp.org>
18770
18771         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
18772         patch.
18773
18774 2004-01-20  Bruno Haible  <bruno@clisp.org>
18775
18776         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
18777
18778 2004-01-20  Bruno Haible  <bruno@clisp.org>
18779
18780         * lib/eealloc.h: New file.
18781
18782 2004-01-20  Bruno Haible  <bruno@clisp.org>
18783
18784         * lib/binary-io.h: Avoid warnings on Cygwin.
18785
18786 2004-01-20  Bruno Haible  <bruno@clisp.org>
18787
18788         * lib/allocsa.h: New file, from GNU gettext.
18789         * lib/allocsa.c: New file, from GNU gettext.
18790
18791 2004-01-18  Karl Berry  <karl@gnu.org>
18792
18793         * doc/gpl.texi, doc/lgpl.texi: new files.
18794
18795 2004-01-18  Karl Berry  <karl@gnu.org>
18796
18797         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
18798         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
18799
18800 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18801
18802         Merge from coreutils.
18803
18804         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
18805         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
18806         (gl_DEFAULT_POSIX2_VERSION): Move
18807         the documentation from 'configure' into 'config.hin',
18808         so that 'configure --help' isn't burdened by it and
18809         we don't have to worry about its formatting there.
18810         Reword the documentation so that it's more succinct
18811         and can be run together into a single paragraph.
18812         * m4/same.m4 (gl_SAME): Check for pathconf.
18813
18814 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18815
18816         Merge from coreutils.
18817
18818         * lib/posixver.c: Include posixver.h.
18819
18820         * lib/same.c: Include <stdbool.h>, <limits.h>.
18821         (_POSIX_NAME_MAX): Define if not defined.
18822         (MIN): New macro.
18823         (same_name): If file names are silently truncated, report
18824         that the file names are the same if they are the same after
18825         the silent truncation.
18826
18827         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
18828         conversion function.
18829         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
18830         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
18831         longer needed.
18832
18833 2004-01-15  Jim Meyering  <jim@meyering.net>
18834
18835         Merge from coreutils.
18836
18837         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
18838         if no library is required.
18839         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
18840         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
18841         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
18842         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
18843         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
18844         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
18845         value, $ac_cv_search_crypt, if it's "none required".
18846         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
18847         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
18848         not gl_FUNC_GETLOADAVG.
18849         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
18850         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
18851
18852 2004-01-15  Jim Meyering  <jim@meyering.net>
18853
18854         Merge from coreutils.
18855
18856         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
18857         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
18858         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
18859
18860         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
18861         optional configure-time default.
18862
18863         * lib/version-etc.c (version_etc_copyright): Update copyright date.
18864
18865         * lib/xreadlink.c (xreadlink): Correct outdated comment.
18866
18867 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
18868
18869         Merge from coreutils.
18870
18871         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
18872         value, $ac_cv_search_nanosleep, if it's "none required".
18873
18874 2004-01-14  Paul Eggert  <eggert@twinsun.com>
18875
18876         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
18877         with like-named macro in fnmatch.c.
18878         (EXT): Use an internal constant instead.
18879
18880         Merge fnmatch patches from glibc.
18881         * lib/fnmatch.c (mbsinit): Remove define.
18882         Add libc_hidden_ver (__fnmatch, fnmatch).
18883         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
18884         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
18885
18886 2004-01-14  Karl Berry  <karl@gnu.org>
18887
18888         * config/install-sh: update from automake.
18889
18890 2004-01-13  Karl Berry  <karl@gnu.org>
18891
18892         * config/install-sh: update from automake.
18893
18894 2004-01-09  Karl Berry  <karl@gnu.org>
18895
18896         * config/install-sh: update from automake.
18897
18898 2004-01-05  Karl Berry  <karl@gnu.org>
18899
18900         * config/config.{sub,guess}: update from config.
18901
18902 2003-12-31  Karl Berry  <karl@gnu.org>
18903
18904         * config/depcomp: update from automake.
18905
18906 2003-12-14  Karl Berry  <karl@gnu.org>
18907
18908         * lib/config.charset: update from gettext-runtime.
18909
18910 2003-12-03  Paul Eggert  <eggert@twinsun.com>
18911
18912         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
18913         Bug reported by Alfred M. Szmidt.
18914
18915 2003-12-03  Bruno Haible  <bruno@clisp.org>
18916
18917         * m4/gettext.m4: Upgrade from gettext-0.13.
18918         * m4/po.m4: Upgrade from gettext-0.13.
18919         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
18920         * m4/intmax.m4: New file, from gettext-0.13.
18921         * m4/printf-posix.m4: New file, from gettext-0.13.
18922
18923 2003-11-29  Karl Berry  <karl@gnu.org>
18924
18925         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
18926
18927 2003-11-25  Paul Eggert  <eggert@twinsun.com>
18928             Bruno Haible  <bruno@clisp.org>
18929
18930         * lib/printf-parse.h: Don't include sys/types.h.
18931         (ARG_NONE): New macro.
18932         (char_directive): Change type of *arg_index fields to size_t.
18933         * lib/printf-parse.c: Don't include sys/types.h.
18934         (SSIZE_MAX): Remove macro.
18935         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
18936         Remove unnecessary overflow check.
18937         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
18938         fields.
18939
18940 2003-11-25  Bruno Haible  <bruno@clisp.org>
18941
18942         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
18943
18944 2003-11-25  Bruno Haible  <bruno@clisp.org>
18945
18946         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
18947         gt_TYPE_SSIZE_T.
18948
18949 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18950
18951         * modules/alloca: Remove dependency on xalloc.
18952
18953 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18954
18955         * lib/alloca.c: Remove dependency on xalloc module.
18956         (xalloc_die): Remove.
18957         (memory_full) [!defined emacs]: New macro.
18958         [!defined emacs]: Don't include xalloc.h.
18959         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
18960         address arithmetic overflows.  Change datatypes a bit to avoid
18961         unnecessary casts.
18962
18963 2003-11-22  Jim Meyering  <jim@meyering.net>
18964
18965         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
18966         s/size/size_t/.
18967
18968 2003-11-21  Karl Berry  <karl@gnu.org>
18969
18970         * config/config.{sub,guess}: update from config.
18971
18972 2003-11-18  Karl Berry  <karl@gnu.org>
18973
18974         * config/config.{sub,guess}: update from config.
18975
18976         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
18977
18978 2003-11-17  Paul Eggert  <eggert@twinsun.com>
18979
18980         * README: Mention that S+T cannot overflow if S is the size of
18981         an existing object and T is sufficiently small.
18982
18983 2003-11-17  Jim Meyering  <jim@meyering.net>
18984
18985         On systems without utime and without a utimes function capable of
18986         dealing with a NULL struct utimbuf* argument, this utime replacement
18987         could -- in unusual circumstances -- leak a file descriptor.
18988         * lib/utime.c: Include <unistd.h> and <errno.h>.
18989         (utime_null): Be sure to close `fd' and to preserve errno.
18990         Reported by Geoff Collyer via Arnold Robbins.
18991
18992 2003-11-17  Bruno Haible  <bruno@clisp.org>
18993
18994         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
18995         (Depends-on): Add xsize.
18996
18997 2003-11-17  Bruno Haible  <bruno@clisp.org>
18998
18999         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
19000
19001 2003-11-17  Bruno Haible  <bruno@clisp.org>
19002
19003         * lib/vasnprintf.c (alloca): Remove fallback definition.
19004         (freea): Remove definition.
19005         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
19006         Reported by Paul Eggert.
19007
19008 2003-11-16  Paul Eggert  <eggert@twinsun.com>
19009             Bruno Haible  <bruno@clisp.org>
19010
19011         Protect against address arithmetic overflow.
19012         * lib/printf-args.h: Include stddef.h.
19013         (arguments): Change type of field 'count' to size_t.
19014         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
19015         'unsigned int' where appropriate.
19016         * lib/printf-parse.h: Include sys/types.h.
19017         (char_directive): Change type of *arg_index fields to ssize_t.
19018         (char_directives): Change type of fields 'count', max_*_length to
19019         size_t.
19020         * lib/printf-parse.c: Include sys/types.h and xsize.h.
19021         (SSIZE_MAX): Define fallback value.
19022         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
19023         instead of 'int' where appropriate. Check a_allocated, d_allocated
19024         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
19025         * lib/vasnprintf.c: Include xsize.h.
19026         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
19027         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
19028         overflow. Avoid wraparound when converting a width or precision from
19029         decimal to binary.
19030
19031 2003-11-16  Bruno Haible  <bruno@clisp.org>
19032
19033         Update from GNU gettext.
19034         * lib/printf-parse.c: Generalize to it can be compiled for wide
19035         strings.
19036         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
19037         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
19038         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
19039         SNPRINTF): New macros.
19040         Don't include <alloca.h> if the file is used inside libintl.
19041         (local_wcslen): New function, for Solaris 2.5.1.
19042         (VASNPRINTF): Use it instead of wcslen.
19043
19044 2003-11-16  Bruno Haible  <bruno@clisp.org>
19045
19046         * lib/xsize.h (xmax): New function.
19047         (xsum, xsum3, xsum4): Declare as "pure" functions.
19048
19049 2003-11-12  Paul Eggert  <eggert@twinsun.com>
19050
19051         * modules/xalloc (Files): Undo latest change, since xalloc.h
19052         no longer needs SIZE_MAX or PTRDIFF_MAX.
19053
19054 2003-11-12  Paul Eggert  <eggert@twinsun.com>
19055
19056         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
19057         gl_PTRDIFF_MAX.
19058
19059 2003-11-12  Paul Eggert  <eggert@twinsun.com>
19060
19061         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
19062         "return", to pacify some unknown compiler.  Problem reported
19063         by Joerg Schilling.
19064
19065 2003-11-12  Paul Eggert  <eggert@twinsun.com>
19066
19067         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
19068         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
19069         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
19070         heuristic is just as accurate as far as we know, and it removes a
19071         dependency on size_max.m4 and ptrdiff_max.m4.
19072
19073 2003-11-11  Bruno Haible  <bruno@clisp.org>
19074
19075         * modules/xsize (Files): Add m4/size_max.m4.
19076         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
19077
19078 2003-11-11  Bruno Haible  <bruno@clisp.org>
19079
19080         * m4/size_max.m4: New file.
19081         * m4/ptrdiff_max.m4: New file.
19082         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
19083         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
19084         (gl_XALLOC): Invoke it.
19085
19086 2003-11-11  Bruno Haible  <bruno@clisp.org>
19087
19088         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
19089         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
19090         defined.
19091
19092 2003-11-10  Paul Eggert  <eggert@twinsun.com>
19093
19094         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
19095         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
19096         rejected some allocations of exactly SIZE_MAX - 2 bytes.
19097         From Bruno Haible.
19098         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
19099         not (size_t) -1, since it's defined here.
19100
19101 2003-11-09  Karl Berry  <karl@gnu.org>
19102
19103         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
19104
19105 2003-11-06  Paul Eggert  <eggert@twinsun.com>
19106
19107         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
19108         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
19109         Reject sizes of exactly SIZE_MAX bytes.
19110         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
19111         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
19112
19113 2003-11-05  Bruno Haible  <bruno@clisp.org>
19114
19115         * lib/xsize.h: Include limits.h, to avoid a possible collision with
19116         SIZE_MAX defined in <limits.h> on Solaris.
19117
19118 2003-11-04  Jim Meyering  <jim@meyering.net>
19119
19120         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
19121         variable names, rather than @VAR@.
19122         * modules/poll: Likewise.
19123
19124 2003-11-04  Bruno Haible  <bruno@clisp.org>
19125
19126         * modules/xsize: New file.
19127         * modules/linebreak: Depend on xsize.
19128         * MODULES.html.sh (func_all_modules): Add xsize.
19129
19130 2003-11-04  Bruno Haible  <bruno@clisp.org>
19131
19132         * m4/xsize.m4: New file.
19133
19134 2003-11-04  Bruno Haible  <bruno@clisp.org>
19135
19136         * lib/xsize.h: New file.
19137         * lib/linebreak.c: Include xsize.h.
19138         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
19139         argument for overflow.
19140         Suggested by Paul Eggert.
19141
19142 2003-11-03  Karl Berry  <karl@gnu.org>
19143
19144         * config/config.{guess,sub}: update from config.
19145
19146 2003-11-03  Jim Meyering  <jim@meyering.net>
19147
19148         * modules/userspec (lib_SOURCES): Add userspec.h.
19149         (Include): Add "userspec.h".
19150         Improve description.
19151
19152 2003-11-03  Jim Meyering  <jim@meyering.net>
19153
19154         * lib/userspec.c: Include "userspec.h".
19155         * lib/userspec.h: New file.
19156
19157 2003-11-03  Bruno Haible  <bruno@clisp.org>
19158
19159         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
19160
19161 2003-11-03  Bruno Haible  <bruno@clisp.org>
19162
19163         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
19164         available, to avoid (extremely rare) race condition.
19165         Suggested by Paul Eggert.
19166
19167 2003-11-02  Karl Berry  <karl@gnu.org>
19168
19169         * config/srclist.txt (vasprintf.c): sync broken, sigh.
19170
19171 2003-10-31  Paul Eggert  <eggert@twinsun.com>
19172
19173         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
19174         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
19175         (read_filesystem_list): Set and use me_type_malloced.
19176         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
19177         whatever the type happens to be), for brevity and consistency.
19178         Check for size calculation overflow on Alphas running OSF/1.
19179
19180 2003-10-31  Jim Meyering  <jim@meyering.net>
19181
19182         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
19183
19184         * lib/linebuffer.c: Include <string.h> for declaration of memset.
19185
19186 2003-10-30  Paul Eggert  <eggert@twinsun.com>
19187             Bruno Haible  <bruno@clisp.org>
19188
19189         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
19190         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
19191
19192 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
19193
19194         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
19195         netbsd*-gnu*.  Suggested by Robert Millan.
19196
19197 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19198
19199         * modules/group-member: Depend on stdbool.
19200
19201 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19202
19203         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
19204
19205 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19206
19207         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
19208         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
19209         after the 'gnu' in these cases.  This fixes some bugs in the
19210         previous change, and is based on suggestions by Robert Millan.
19211
19212 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19213
19214         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
19215         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
19216         no longer needed.
19217         * lib/quotearg.c (quotearg_n_options): Use it.
19218         * lib/group-member.c: Include <stdbool.h>.
19219         (free_group_info): Arg is now const *; don't free arg.
19220         (get_group_info): Now returns bool and accepts struct group_info *,
19221         rather than returning a malloc'ed struct group_info *.
19222         All uses changed.  Check for overflow in internal size calculation.
19223
19224         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
19225         rather than xmalloc/xrealloc.
19226         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
19227         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
19228         conformance bug: the old code used a pointer after freeing the
19229         storage that it addressed.
19230         * lib/hash.c (hash_initialize): Simplify the code by using
19231         xalloc_oversized rather than doing it by hand.
19232         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
19233         the buffer preserved.  Use free and xmalloc instead.
19234         * lib/quotearg.c (quotearg_n_options): Likewise.
19235         Use a simpler test for size overflow.  Don't use xalloc_oversized
19236         because unsigned int might be wider than size_t (!); this suggests
19237         that we should switch from unsigned int to size_t for slot numbers.
19238
19239 2003-10-28  Paul Eggert  <eggert@twinsun.com>
19240
19241         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
19242         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
19243         NetBSD kernels.  Requested by Richard Stallman.
19244
19245 2003-10-27  Paul Eggert  <eggert@twinsun.com>
19246
19247         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
19248         to allocate the returned structure.  Do not allocate a subarray,
19249         as x2nrealloc will do that.
19250         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
19251         instead of xnrealloc.
19252         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
19253
19254 2003-10-27  Bruno Haible  <bruno@clisp.org>
19255
19256         * lib/stdbool_.h: Better support for BeOS.
19257
19258 2003-10-26  Paul Eggert  <eggert@twinsun.com>
19259
19260         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
19261         now uses inline.
19262
19263 2003-10-26  Paul Eggert  <eggert@twinsun.com>
19264
19265         * lib/xalloc.h (xalloc_oversized): New static inline function, for
19266         callers that want to do their own size-overflow checking.  Include
19267         <stdbool.h>, since xalloc_oversized returns bool.
19268         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
19269         to use xalloc_oversized.
19270
19271         Add two functions x2realloc, x2nrealloc, for programs that grow
19272         arrays dynamically by doubling their sizes.
19273         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
19274         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
19275         New functions.
19276
19277         Port to C99 semantics for 'inline' of external functions.
19278         Bug reported by Bruno Haible.
19279         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
19280         with the old contents of xnmalloc.
19281         (xnmalloc, xmalloc): Use it.
19282         (xnrealloc_inline): New static inline function,
19283         with the old contents of xnrealloc.
19284         (xnrealloc, xrealloc): Use it.
19285
19286         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
19287         that.
19288
19289 2003-10-26  Karl Berry  <karl@gnu.org>
19290
19291         * config/srclist.txt (COPYING.DOC): no longer available from
19292         /gd/gnuorg; don't know where the ultimate source is.
19293
19294 2003-10-25  Paul Eggert  <eggert@twinsun.com>
19295
19296         Fix several address-calculation bugs in the hash modules,
19297         plus some minor code cleanup.
19298
19299         * lib/hash.h: Include <stdbool.h>, for bool.
19300         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
19301         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
19302         hash_get_n_entries, hash_get_max_bucket_length,
19303         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
19304         hash_rehash): Use size_t rather than unsigned.
19305         * lib/hash.c (struct hash_table, hash_get_n_buckets,
19306         hash_get_n_buckets_used, hash_get_n_entries,
19307         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
19308         hash_get_entries, hash_do_for_each, hash_string, is_prime,
19309         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
19310         Likewise.
19311         (SIZE_MAX): Define if not defined.
19312         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
19313         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
19314         hash_print):
19315         Use const * when possible.
19316         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
19317         (check_tuning): Fix bug: if tuning parameters were very close to
19318         0 or 1, rounding errors could have caused subscript violations.
19319         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
19320         (hash_initialize): Add 'fail:' label
19321         to free table and return NULL, and use it to simplify code.
19322         Use calloc rather than clearing the storage ourself.
19323         (hash_initialize, hash_rehash): Check for arithmetic overflow in
19324         buffer size calculations.
19325         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
19326         Include <stddef.h>, for size_t.
19327         * lib/hash-pjw.c (hash_pjw): Likewise.
19328         Switch to method described by Bruno Haible.
19329         Include <limits.h>, for CHAR_BIT.
19330         (SIZE_BITS): New macro.
19331
19332 2003-10-23  Paul Eggert  <eggert@twinsun.com>
19333
19334         * m4/getline.m4 (AM_FUNC_GETLINE):
19335         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
19336         hosts.  Problem reported by Derek Robert Price in
19337         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
19338         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
19339         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
19340
19341 2003-10-21  Paul Eggert  <eggert@twinsun.com>
19342
19343         * lib/getndelim2.c (getndelim2): When size calculation overflows,
19344         ceiling the allocation at NMAX bytes rather than silently
19345         discarding input bytes before NMAX is reached.  This makes
19346         a difference only if NMAX exceeds SIZE_MAX / 2.
19347
19348         * lib/obstack.c: Merge from glibc.
19349         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
19350         Add libc_hidden_def (_obstack_newchunk).
19351         (_obstack_free) [! defined _LIBC]: Remove.
19352         [defined _LIBC]: Make a strong alias from obstack_free, rather than
19353         a clone of the function body.
19354         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
19355         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
19356
19357         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
19358         glibc.
19359         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
19360         arg to memcpy.
19361
19362         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
19363         (obstack_ptr_grow_fast, obstack_int_grow_fast):
19364         Don't use lvalue casts, as GCC plans to remove support for them
19365         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
19366         was also present in the non-GCC version, indicating that this
19367         code had always been buggy and had never been widely used.
19368         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
19369         Use the fast variant of each macro, rather than copying the
19370         definiens of the fast variant; that way, we'll be more likely to
19371         catch future bugs in the fast variants.
19372
19373 2003-10-20  Bruno Haible  <bruno@clisp.org>
19374
19375         * modules/wait-process: New file.
19376         * MODULES.html.sh (func_all_modules): Add wait-process.
19377
19378 2003-10-20  Bruno Haible  <bruno@clisp.org>
19379
19380         * m4/wait-process.m4: New file.
19381
19382 2003-10-20  Bruno Haible  <bruno@clisp.org>
19383
19384         * lib/wait-process.h: New file, from GNU gettext.
19385         * lib/wait-process.c: New file, from GNU gettext.
19386
19387 2003-10-19  Jim Meyering  <jim@meyering.net>
19388
19389         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
19390         HPUX 10.20.
19391
19392 2003-10-18  Karl Berry  <karl@gnu.org>
19393
19394         * config/config.guess: update from config.
19395
19396 2003-10-16  Paul Eggert  <eggert@twinsun.com>
19397
19398         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
19399         (getgroups): First arg is int, not size_t.
19400         Don't let 'free' mangle errno.
19401
19402 2003-10-16  Paul Eggert  <eggert@twinsun.com>
19403
19404         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
19405
19406 2003-10-16  Karl Berry  <karl@gnu.org>
19407
19408         * config/config.{guess,sub}: update from config.
19409
19410 2003-10-16  Jim Meyering  <jim@meyering.net>
19411
19412         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
19413         memcpy.
19414
19415 2003-10-15  Paul Eggert  <eggert@twinsun.com>
19416
19417         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
19418         (SIZE_MAX): Remove.
19419         (new_exclude, add_exclude_file): Initial size no longer needs to
19420         be a power of 2.
19421         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
19422         our own address arithmetic overflow checking.
19423
19424         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
19425         (fnmatch): Do not alloca more than 2000 wide characters;
19426         instead, use malloc for large buffers.
19427         Check for address arithmetic overflow, and return -1
19428         with errno set to ENOMEM in that case.
19429         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
19430         (NEW_PATTERN): Do not alloca more than 8000 bytes;
19431         instead, return -1.  Check for address arithmetic overflow.
19432
19433 2003-10-14  Paul Eggert  <eggert@twinsun.com>
19434
19435         Handle invalid suffixes and overflow independently, so that
19436         callers can treat them independently as needed.  Fix some bugs in
19437         suffix handling, e.g., "100k@" was not diagnosed as an invalid
19438         suffix for a human-readable blocksize.  The major caller-visible
19439         change is the addition of a new
19440         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
19441         that both overflow and suffix chars were found.
19442
19443         * lib/human.c (humblock): Don't check separately for invalid suffix
19444         char; that is xstrtoumax's job (now that its bug is fixed).
19445         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
19446         INTMAX_MAX]: New macros.
19447         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
19448         TYPE_MAXIMUM): New macros.
19449         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
19450         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
19451         if overflow occurs, as it's what __strtol does and it's more useful
19452         in practice.
19453         (__xstrtol): If __strtol reports some error other than ERANGE,
19454         reflect it to the caller as LONGINT_INVALID.  If it reports
19455         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
19456         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
19457         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
19458         value.
19459         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
19460         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
19461         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
19462         [defined UINTMAX_MAX]: New macros.
19463
19464 2003-10-14  Bruno Haible  <bruno@clisp.org>
19465
19466         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
19467
19468 2003-10-14  Bruno Haible  <bruno@clisp.org>
19469
19470         * m4/sig_atomic_t: New file, from GNU gettext.
19471         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
19472
19473 2003-10-14  Bruno Haible  <bruno@clisp.org>
19474
19475         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
19476         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
19477         Also use volatile where needed.
19478
19479 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19480
19481         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
19482         Change maintainer from Bruno Haible to 'all'.
19483
19484 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19485
19486         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
19487
19488 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19489
19490         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
19491         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
19492         and define in terms of the other primitives.
19493         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
19494         (SIZE_MAX): Define if not already defined.
19495         (array_size_overflow): New function.
19496         (xalloc_die): Abort instead of exiting if 'error' returns.
19497         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
19498         (xmalloc, xrealloc): Use them.
19499         (xcalloc): Check for address arithmetic overflow.
19500         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
19501         a bit faster than strcpy.
19502
19503 2003-10-10  Simon Josefsson  <jas@extundo.com>
19504
19505         * modules/argp (Depends-on): Add restrict and strcase.
19506
19507 2003-10-10  Simon Josefsson  <jas@extundo.com>
19508
19509         * m4/argp.m4: Add AC_C_INLINE.
19510
19511 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19512
19513         Merge getpass from libc, plus a few fixes.
19514
19515         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
19516         Include <stdbool.h>.
19517         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
19518         __fsetlocking to empty.
19519         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
19520         do include <bits/libc-lock.h>.
19521         Do not include <fcntl.h>; not needed.
19522         [_LIBC]: Include <wchar.h>.
19523         (NOTCANCEL_MODE): New macro.
19524         (flockfile, funlockfile) [_LIBC]: New macros.
19525         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
19526         [!_LIBC]: New macros.
19527         (call_fclose): New function.
19528         (getpass): Use it.  Save tty stream separately; this simplifies the
19529         code and makes it more reliable if stdin happens to equal stdout.
19530         Invoke __fsetlocking on tty.
19531         Handle thread cancellation if needed.
19532         Namespace cleanup (use __tcgetattr, __getline).
19533         Use bool for Booleans.
19534         [USE_IN_LIBIO]: Handle wide streams.
19535         [!_LIBC]: Unconditionally do the fseek, since we don't know what
19536         stream might go where.
19537
19538         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
19539         doesn't have to include <stdio.h> before us.
19540         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
19541         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
19542         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
19543         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
19544         if not declared, so that we can use getpass.c code from libc without
19545         rewriting it.
19546         (flockfile, ftrylockfile, funlockfile): New macros.
19547
19548 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19549
19550         * modules/getpass: Depend on stdbool.
19551
19552 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19553
19554         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
19555
19556 2003-10-07  Karl Berry  <karl@gnu.org>
19557
19558         * config/config.{guess,sub}: update from config.
19559
19560 2003-10-06  Jim Meyering  <jim@meyering.net>
19561             Bruno Haible  <bruno@clisp.org>
19562
19563         This lets translators provide better translations for the
19564         "Written by ..." part of --version output.
19565         * lib/version-etc.h: Include stdarg.h.
19566         (version_etc_copyright): Declare as readonly.
19567         (version_etc): Make this function variadic with a NULL-terminated list
19568         of author name strings.
19569         (version_etc_va): New declaration.
19570         * lib/version-etc.c: Include stdarg.h, stdlib.h.
19571         (version_etc_copyright): Declare as readonly.
19572         (version_etc_va): New function. Provide a different translatable string
19573         for each possible number of authors < 10. Abbreviate when there are 10
19574         authors or more.
19575         (version_etc): Make this function variadic. Call version_etc_va.
19576         Suggestion from Gary V. Vaughan.
19577
19578         * lib/long-options.h (parse_long_options): Change prototype: the
19579         authors string is moved to the end and becomes variadic.
19580         * lib/long-options.c: Include stdarg.h.
19581         (parse_long_options): Make this function variadic, too.
19582         Call version_etc_va, not version_etc.
19583
19584 2003-10-06  Bruno Haible  <bruno@clisp.org>
19585
19586         * modules/version-etc-2: Remove file.
19587         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
19588
19589 2003-10-06  Bruno Haible  <bruno@clisp.org>
19590
19591         * modules/fatal-signal: New file.
19592         * MODULES.html.sh (func_all_modules): Add fatal-signal.
19593
19594 2003-10-06  Bruno Haible  <bruno@clisp.org>
19595
19596         * m4/fatal-signal.m4: New file.
19597         * m4/signalblocking.m4: New file, from GNU gettext.
19598
19599 2003-10-06  Bruno Haible  <bruno@clisp.org>
19600
19601         * lib/version-etc-2.h: Remove file.
19602         * lib/version-etc-2.c: Remove file.
19603
19604 2003-10-06  Bruno Haible  <bruno@clisp.org>
19605
19606         * lib/fatal-signal.h: New file, from GNU gettext.
19607         * lib/fatal-signal.c: New file, from GNU gettext.
19608
19609 2003-10-05  Paul Eggert  <eggert@twinsun.com>
19610
19611         * README: Rework advice for preventing empty .o files.
19612         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
19613         not <sys/types.h>.
19614
19615 2003-10-04  Karl Berry  <karl@gnu.org>
19616
19617         * lib/argp*: update from libc.
19618
19619 2003-10-04  Karl Berry  <karl@gnu.org>
19620
19621         * config/config.{guess,sub}: update from config.
19622
19623 2003-10-02  Bruno Haible  <bruno@clisp.org>
19624
19625         * modules/lchown (Include): Add lchown.h.
19626         * modules/time_r (Include): Use "..." syntax.
19627         * modules/xgetdomainname (Include): Add xgetdomainname.h.
19628
19629 2003-10-01  Simon Josefsson  <jas@extundo.com>
19630
19631         * MODULES.html.sh (func_all_modules): Move gethostname from section
19632         'based on' to section 'lacking' POSIX:2001.
19633
19634 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
19635
19636         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
19637         to output mode on the same stream.
19638
19639 2003-09-29  Paul Eggert  <eggert@twinsun.com>
19640
19641         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
19642         Fix arg typo in previous patch.
19643
19644 2003-09-28  Jim Meyering  <jim@meyering.net>
19645
19646         * lib/error.c: Correct cpp indentation.
19647
19648 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19649
19650         * modules/free: New file.
19651
19652 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19653
19654         * m4/free.m4: New file.
19655
19656 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19657
19658         * lib/minmax.h (MIN, MAX)
19659         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
19660         Omit the special code that used __typeof__, since we worry that
19661         it could be more trouble than it's worth.  See:
19662         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
19663         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
19664
19665         * lib/free.c: New file.
19666
19667 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
19668
19669         Trivial fixes to Makefile.am parts of module listings.
19670         * modules/strstr: Append strstr.h to lib_SOURCES.
19671         * modules/strcase: Likewise, for strcase.h.
19672
19673 2003-09-27  Karl Berry  <karl@gnu.org>
19674
19675         * config/mkinstalldirs: update from automake.
19676
19677 2003-09-26  Paul Eggert  <eggert@twinsun.com>
19678
19679         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
19680         (error_tail): Do not loop, reallocating temporary buffer, since
19681         the output cannot contain more wide characters than the input
19682         contains bytes, the size must be big enough already.  This avoids
19683         one potential size overflow calculation.  Check for size overflow
19684         when calculating temporary buffer size.  Free temporary buffer
19685         when done, if it was allocated with malloc; this plugs a memory
19686         leak.  Remove casts from void * to pointers, that are no longer
19687         needed now that we're assuming C89 or better.
19688
19689         Merge error changes from glibc.
19690
19691         * lib/error.c, error.h: Update copyright notice header to match glibc.
19692         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
19693         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
19694         Disable cancellation while printing error.
19695         * lib/error.h: Prepend __ to parameter names.
19696
19697 2003-09-26  Jim Meyering  <jim@meyering.net>
19698
19699         * lib/error.c (error_tail): Move some declarations
19700         into inner scope where the local variables are used.
19701
19702 2003-09-26  Bruno Haible  <bruno@clisp.org>
19703
19704         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
19705         stpncpy().
19706         Don't define stpncpy through config.h; it's now done through stpncpy.h.
19707
19708 2003-09-26  Bruno Haible  <bruno@clisp.org>
19709
19710         * lib/stpncpy.h (gnu_stpncpy): New declaration.
19711         (stpncpy): Define as alias for gnu_stpncpy.
19712         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
19713
19714 2003-09-25  Simon Josefsson  <jas@extundo.com>
19715
19716         * lib/xgetdomainname.h: New file.
19717         * lib/xgetdomainname.c: New file.
19718
19719 2003-09-25  Simon Josefsson  <jas@extundo.com>
19720             Bruno Haible  <bruno@clisp.org>
19721
19722         * modules/getdomainname: New file.
19723         * modules/xgetdomainname: New file.
19724         * MODULES.html.sh (func_all_modules): Add getdomainname,
19725         xgetdomainname.
19726
19727 2003-09-25  Simon Josefsson  <jas@extundo.com>
19728             Bruno Haible  <bruno@clisp.org>
19729
19730         * m4/getdomainname.m4: New file.
19731
19732 2003-09-25  Simon Josefsson  <jas@extundo.com>
19733             Bruno Haible  <bruno@clisp.org>
19734
19735         * lib/getdomainname.h: New file.
19736         * lib/getdomainname.c: New file.
19737
19738 2003-09-25  Karl Berry  <karl@gnu.org>
19739
19740         * lib/argp-fmtstream.c, argp-help.c: update from libc.
19741
19742 2003-09-25  Karl Berry  <karl@gnu.org>
19743
19744         * config/install-sh: update from automake.
19745
19746 2003-09-25  Bruno Haible  <bruno@clisp.org>
19747
19748         * modules/version-etc-2: New file, from modules/version-etc with
19749         modifications.
19750         * MODULES.html.sh (func_all_modules): Add version-etc-2.
19751
19752 2003-09-25  Bruno Haible  <bruno@clisp.org>
19753
19754         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
19755         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
19756
19757 2003-09-24  Simon Josefsson  <jas@extundo.com>
19758
19759         * modules/xgethostname: Add xgethostname.h.
19760
19761 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19762
19763         * lib/linebuffer.c (freebuffer): Don't free the argument, just
19764         the buffer associated with the argument.  Bug reported by
19765         Simon Josefsson.
19766
19767 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19768
19769         * README: Document assumptions that 'int' is at least 32 bits
19770         wide, that integer arithmetic is 2's complement without overflow,
19771         that there are no holes in integer values, that adding sizes of
19772         two nonoverlapping objects can't overflow, and that all-bits-zero
19773         yields scalar zero.  Fix spelling and capitalization typos.
19774
19775 2003-09-19  Karl Berry  <karl@gnu.org>
19776
19777         * lib/argp.h: update from libc.
19778
19779 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19780
19781         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
19782         to avoid spurious warnings like "AC_RUN_IFELSE was called before
19783         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
19784
19785 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19786
19787         * gnulib-tool: Use "test -h", not "test -L", for portability
19788         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
19789         (tags_regexp): Remove, since \| doesn't conform to POSIX.
19790         (sed_extract_prog): Issue s commands one-by-one, rather than
19791         using \| in one s command.
19792
19793 2003-09-16  Paul Eggert  <eggert@twinsun.com>
19794
19795         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
19796         input error, instead of returning NULL the next time we are called
19797         (and therefore losing track of errno).
19798
19799 2003-09-16  Bruno Haible  <bruno@clisp.org>
19800
19801         * gnulib-tool (func_create_testdir): Warn about duplicated
19802         dependencies.
19803
19804 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19805
19806         * modules/argmatch, modules/fatal, modules/obstack,
19807         modules/xalloc, modules/xgethostname: Sort dependencies by
19808         importance, not alphabetically.
19809
19810 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19811
19812         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
19813         fails, so that the caller gets the proper errno.
19814
19815         * lib/readutmp.c (read_utmp): Likewise.
19816         Check for fstat error.  Close stream and free storage
19817         when failing.
19818
19819 2003-09-14  Karl Berry  <karl@gnu.org>
19820
19821         * config/srclist.txt (strdup.c): disable for c89 changes.
19822
19823 2003-09-14  Jim Meyering  <jim@meyering.net>
19824
19825         * lib/getloadavg.c: Correct cpp indentation.
19826         * lib/strdup.c: Likewise.
19827         * lib/vasnprintf.c: Likewise.
19828
19829 2003-09-14  Bruno Haible  <bruno@clisp.org>
19830
19831         * modules/fwriteerror: New file.
19832         * MODULES.html.sh (func_all_modules): Add fwriteerror.
19833
19834 2003-09-14  Bruno Haible  <bruno@clisp.org>
19835
19836         * lib/fwriteerror.h: New file.
19837         * lib/fwriteerror.c: New file.
19838
19839 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19840
19841         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
19842         modules/xgethostname, modules/xalloc: Depend on exit.
19843
19844 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19845
19846         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
19847
19848         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
19849         and AC_MINIX, too, so that their extensions are available.
19850
19851         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
19852         This macro has been superseded by gl_BACKUPFILE.
19853
19854         More patches to assume C89 or better.
19855
19856         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
19857
19858         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
19859         unconditionally.
19860         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
19861         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
19862         Include <string.h>, <stdlib.h> unconditionally.
19863         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
19864         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
19865         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
19866         headers or for string.h.
19867         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
19868         or strtoul.
19869
19870         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
19871         headers.
19872         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
19873         * m4/userspec.m4 (gl_USERSPEC): Likewise.
19874         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
19875         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
19876         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
19877         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
19878         memcpy, memset.
19879         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
19880         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
19881         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
19882         strtol.
19883         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
19884         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
19885         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
19886         strtoul.
19887
19888 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19889
19890         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
19891         * lib/obstack.c [!defined _LIBC]: Likewise.
19892         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
19893         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
19894         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
19895
19896         More changes to assume C89 or better.
19897
19898         * lib/error.c (error_tail): Assume vprintf.
19899
19900         * lib/argmatch.c (getenv): Remove decl.
19901         * lib/progreloc.c (get_full_program_name): Define via prototype.
19902         * lib/setenv.c (clearenv): Likewise.
19903         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
19904         needed.
19905         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
19906         (malloc, memcpy): Remove decls.
19907         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
19908         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
19909         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19910         (memcpy): Remove macro.
19911         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
19912         (__P): Remove.  All uses removed.
19913         (PTR): Remove.  All uses changed to void *.
19914         (CHAR_BIT, NULL): Remove.
19915         (spaces, zeros, memset_space, memset_zero)
19916         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
19917         Remove.
19918         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
19919         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
19920         Define with prototype.
19921         Remove now-unnecessary prototype decl.
19922         (extra_args_spec): Assume ANSI C.  All uses changed.
19923         (extra_args_spec_iso): Remove.
19924         (my_strftime, emacs_strftimeu): Define via prototype.
19925         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
19926         unconditionally.
19927         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
19928         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
19929         (strtoul, strtol): Remove decls.
19930         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
19931         LONG_MAX): Remove.
19932         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19933         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
19934         (LOCALE_PARAM_PROTO): New macro.
19935         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
19936         (INTERNAL (strtol), strtol): Define with a prototype.
19937         (PARAMS): Remove.  All uses removed.
19938         * lib/tempname.c: Include <string.h> unconditionally.
19939         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
19940         * lib/xgethostname.c (main): Define with a prototype.
19941         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
19942         Include <stdlib.h> unconditionally.
19943         (calloc, malloc, realloc, free): Remove decls.
19944         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
19945         Include <stdlib.h> unconditionally.  Sort include file names.
19946         (strtod): Remove.
19947         (xstrtod): Define with a prototype.
19948         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
19949         (strtol, strtoul): Remove decls.
19950
19951 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19952
19953         More patches to assume C89 or better.
19954         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
19955         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
19956         string.h, memchr, STDC_HEADERS.
19957
19958 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19959
19960         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
19961         Include <stdlib.h>, <string.h> unconditionally.
19962         Remove now-unnecessary cast to char *.
19963         * lib/strnlen.c: Include <string.h> unconditionally.
19964         * lib/yesno.c (yesno): Define with a prototype.
19965
19966 2003-09-11  Bruno Haible  <bruno@clisp.org>
19967
19968         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
19969
19970 2003-09-10  Jim Meyering  <jim@meyering.net>
19971
19972         * lib/error.c: Correct indentation of cpp directives.
19973
19974 2003-09-10  Bruno Haible  <bruno@clisp.org>
19975
19976         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
19977         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
19978         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
19979         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
19980         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
19981         <stdlib.h> and <string.h> checks.
19982         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
19983         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
19984
19985 2003-09-10  Bruno Haible  <bruno@clisp.org>
19986
19987         * lib/strcspn.c: Include <string.h> unconditionally.
19988         * lib/strpbrk.c: Include <string.h> unconditionally.
19989         * lib/strstr.c: Include <string.h> unconditionally.
19990         * lib/unicodeio.c: Include <string.h> unconditionally.
19991         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
19992         * lib/unsetenv.c: Likewise.
19993         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
19994         * lib/yesno.c: Include <stdlib.h> unconditionally.
19995         (rpmatch): Add prototype.
19996
19997 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19998
19999         More patches to assume C89 or better.
20000         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
20001         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
20002         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
20003         or for string.h.
20004         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
20005         stdlib.h.
20006         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
20007         C headers.
20008         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
20009         string.h.
20010         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
20011         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
20012         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
20013         or for string.h.
20014         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
20015         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
20016         C headers.
20017         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
20018         memcpy.
20019         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
20020         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
20021         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
20022         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
20023         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
20024         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
20025         string.h, free.
20026         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
20027         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
20028         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
20029         C headers, or for string.h.
20030         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
20031         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
20032         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
20033         headers, memory.h, stdlib.h, string.h, strings.h.
20034         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
20035         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
20036         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
20037         strchr.
20038         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
20039         headers, memory.h, string.h.
20040         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
20041         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
20042         free.
20043         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
20044         headers.
20045         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
20046         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
20047         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
20048         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
20049         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
20050
20051 2003-09-09  Paul Eggert  <eggert@twinsun.com>
20052
20053         More K&R removal.
20054
20055         * lib/acosl.c (main): Use a prototype.
20056         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
20057         tanl.c: Likewise.
20058
20059         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
20060
20061         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
20062         (getopt, etopt_long, getopt_long_only, _getopt_internal)
20063         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
20064         with a prototype.
20065         * lib/getopt.c (const): Remove macro.
20066         Include <string.h> unconditionally.
20067         (my_index): Remove; all uses changed to strchr.
20068         (strlen): Remove decl.
20069         (exchange): Remove forward decl; no longer needed.
20070         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
20071         Define with prototype.
20072         * lib/getopt1.c (const): Remove macro.
20073         (getopt_long, getopt_long_only, main): Define with prototype.
20074
20075         * lib/getugroups.c: Include <string.h> unconditionally.
20076
20077         * lib/getusershell.c: Include <stdlib.h> unconditionally.
20078         (getusershell, setusershell, endusershell, readname, main):
20079         Define with prototypes.
20080
20081         * lib/group-member.c: Include group-member.h first.
20082         Include <stdlib.h> unconditionally.
20083
20084         * lib/hard-locale.c: Include hard-locale.h first.
20085         Include <stdlib.h>, <string.h> unconditionally.
20086
20087         * lib/hash.c (free, malloc): Remove decls.
20088         Include <stdlib.h> unconditionally.
20089
20090         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
20091         (getenv): Do not declare.
20092
20093         * lib/idcache.c: Include <string.h> unconditionally.
20094
20095         * lib/long-options.c: Include long-options.h first, to test interface.
20096         Include <stdlib.h> unconditionally.
20097
20098         * lib/makepath.c: Include makepath.h first, to test interface.
20099         Include <stdlib.h> and <string.h> unconditionally.
20100
20101         * lib/linebuffer.c: Include <stdlib.h>.
20102         (free): Remove decl.
20103
20104         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
20105         stddef.h. rpl_malloc returns void *, not char *.
20106         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
20107         prototype.
20108
20109         * lib/md5.h: Include <limits.h> unconditionally.
20110         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
20111         (__P): Remove; all uses removed.
20112         * lib/md5.c: Include "md5.h" first.
20113         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
20114         md5_buffer, md5_process_bytes, md5_process_block):
20115         Define with prototypes.
20116         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
20117         * lib/sha.c: Include "sha.h" first.
20118         Include <stdlib.h>, <string.h> unconditionally.
20119
20120         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
20121         * lib/memcmp.c (__ptr_t): Likewise.
20122         * lib/memrchr.c (__ptr_t): Likewise.
20123         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
20124         Include <string.h> unconditionally.
20125         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
20126         * lib/memchr.c: Include <stdlib.h> unconditionally.
20127         * lib/memchr.c (LONG_MAX): Remove.
20128         * lib/memrchr.c (LONG_MAX): Likewise.
20129         * lib/memchr.c (__memchr): Define via a prototype.
20130         * lib/memrchr.c (__memrchr): Likewise.
20131         * lib/memcmp.c (__P): Remove, and remove all uses.
20132         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
20133         Remove forward decls; no longer needed.
20134         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
20135         Use types required by C89 in prototype.
20136
20137         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
20138         * lib/savedir.c: Likewise.
20139         * lib/mkdir.c (free): Remove decl.
20140         * lib/rmdir.c (rmdir): Define with a prototype.
20141         * lib/savedir.c: Include savedir.h first, to test interface.
20142
20143         * lib/mktime.c (STDC_HEADERS): Remove.
20144         Include <stdlib.h>, <string.h> unconditionally.
20145
20146         * lib/modechange.c: Include <stdlib.h> unconditionally.
20147         (malloc): Remove decl.
20148
20149         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
20150         (free): Remove decl.
20151
20152         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
20153         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
20154         (This type really should be intptr_t, but that's a C99ism.)
20155         (_obstack_memcpy): Remove: all uses changed to memcpy.
20156         Include <string.h> unconditionally.
20157         (struct obstack): Assume __STDC__ for types of members
20158         chunkfun, freefun, extra_arg.
20159         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
20160         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
20161         obstack_begin, obstack_specify_allocation,
20162         obstack_specify_allocation_with_arg, obstack_chunkfun,
20163         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
20164         Remove unprototyped decls and the macros that use them.
20165         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
20166         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
20167         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
20168         (defined __STDC__ && __STDC__)]:
20169         Remove nonprototyped code.
20170         Include <stdlib.h> unconditionally.
20171         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
20172         _obstack_allocated_p, _obstack_free, obstack_free,
20173         _obstack_memory_used, print_and_abort):
20174         Define using prototypes.
20175         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
20176         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
20177         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
20178         obstack_next_free, obstack_object_size, obstack_room) [0]:
20179         Remove unused, unprototyped code.
20180
20181         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
20182
20183         * lib/physmem.c (physmem_total, physmem_available, main): Define
20184         with prototypes.
20185
20186         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
20187         (main): Define with a prototype.
20188
20189         * lib/posixver.c (getenv): Remove decl.
20190
20191         * lib/putenv.c (malloc): Returns void *, not char *.
20192         Include <string.h> unconditionally.
20193         (strchr, memcpy, NULL): Do not define.
20194
20195         * lib/readtokens.c: Include readtokens.h first, to test interface.
20196         Include <stdlib.h>, <string.h> unconditionally.
20197         (init_tokenbuffer): Define with a prototype.
20198
20199         * lib/regex.c (PARAMS): Remove.  All uses removed.
20200         All uses of _RE_ARGS removed, too.
20201         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
20202         unconditionally.
20203         (bzero): Assume memset exists.
20204         (memcmp, memcpy, NULL): Remove.
20205         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
20206         char, or assignments to local vars of type signed char.
20207         (init_syntax_once, PREFIX(extract_number_and_incr),
20208         PREFIX(print_partial_compiled_pattern),
20209         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
20210         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
20211         PREFIX(regex_grow_registers), PREFIX(regex_compile),
20212         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
20213         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
20214         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
20215         wcs_compile_range, byte_compile_range, truncate_wchar,
20216         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
20217         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
20218         count_mbs_length, wcs_re_match_2_internal,
20219         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
20220         PREFIX(alt_match_null_string_p),
20221         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
20222         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
20223         regfree, PREFIX(extract_number)): Define with prototype.  Remove
20224         now-unnecessary declaration, if any.
20225         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
20226         regcomp, regexec):
20227         Remove now-unnecessary casts among pointer types.
20228         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
20229
20230         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
20231         (free): Remove decl.
20232
20233         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
20234
20235         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
20236         (free): Remove decl.
20237
20238         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
20239         * lib/xgetcwd.c: Likewise.
20240
20241         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
20242         (free): Remove decl.
20243
20244         * lib/strchrnul.c (strchrnul): Define with a prototype.
20245         Fix bug: c_in was not converted to char before searching.
20246
20247         The following changes are not K&R related:
20248
20249         * lib/group-member.h: Include <sys/types.h>, so that this file is
20250         self-contained.
20251         * lib/makepath.h: Likewise.
20252
20253         * lib/getusershell.c (readname, default_index, line_size, readname):
20254         Use size_t, not int, for sizes.
20255         (readname): If the size overflows, report an error instead of
20256         looping forever.
20257
20258 2003-09-09  Paul Eggert  <eggert@twinsun.com>
20259
20260         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
20261         libc.
20262
20263 2003-09-09  Paul Eggert  <eggert@twinsun.com>
20264
20265         * README: New section: portability guidelines.
20266
20267 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
20268
20269         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
20270         C89 spec.
20271
20272 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
20273
20274         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
20275
20276 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20277
20278         Assume C89 or better; remove K&R cruft.
20279         A few of these changes were first proposed by Derek Robert Price
20280         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
20281
20282         * lib/addext.c: Include <string.h> unconditionally.
20283         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
20284         Don't declare getenv or malloc.
20285
20286         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
20287         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
20288         (NULL): Remove.
20289         (find_stack_direction, alloca): Use prototypes.
20290
20291         * lib/atexit.c (atexit): Define using a prototype.
20292
20293         * lib/basename.c, dirname.c, stripslash.c:
20294         Include <string.h> unconditionally.
20295
20296         * lib/bcopy.c: Include <stddef.h>.
20297         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
20298
20299         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
20300
20301         * lib/error.h (error, error_at_line, error_print_progname)
20302         [! (defined (__STDC__) && __STDC__)]: Remove decls.
20303         * lib/error.c: Include error.h first, to check interface.
20304         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
20305         (VA_START): Remove; all uses changeed to va_start.
20306         (exit, strerror): Remove decls.
20307         (error_print_progname): Prototype uncondionally.
20308         Don't include <errno.h>; no longer needed.
20309         (private_strerror): Remove.
20310         (error_tail): Always define.
20311         (error, error_at_line): Assume C89 or better; always use prototypes.
20312         * lib/fatal.c: Include "fatal.h" first, to test interface.
20313         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
20314         (VA_START): Remove; all uses changed to va_start.
20315         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
20316         this case.
20317         (exit): Remove decl.
20318         (fatal): Prototype unconditionally.  Assume va_start works.
20319         Abort at end, to pacify gcc.
20320
20321         * lib/euidaccess.c (main): Define with a prototype.
20322
20323         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
20324
20325         * lib/exitfail.c: Include <stdlib.h> unconditionally.
20326
20327         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
20328         prototypes.
20329         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
20330         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
20331         (getenv): Remove decl.
20332         (fnmatch): Define using a prototype.
20333         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
20334         (FCT): Define using a prototype.
20335
20336         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
20337
20338         * lib/gethostname.c: Include <stddef.h>.
20339         (gethostname): Define with prototype.  Length is size_t, not int.
20340
20341 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20342
20343         Assume C89 or better; remove K&R cruft.
20344         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
20345         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
20346         string.h, getenv, malloc.
20347         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
20348         headers.
20349         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
20350         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
20351         do not check for strerror.
20352         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
20353         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
20354         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
20355         do not check for doprnt or vprintf.
20356         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
20357         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
20358
20359 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20360
20361         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
20362         getversion.c should have been removed then, but was accidentally
20363         preserved.
20364
20365         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
20366         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
20367
20368 2003-09-08  Karl Berry  <karl@gnu.org>
20369
20370         * config/config.sub, config.guess, srclistvars.sh: update from savannah
20371                 config, forget about prep.
20372
20373         * config/depcomp, missing: update from automake.
20374
20375 2003-09-07  Paul Eggert  <eggert@twinsun.com>
20376
20377         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
20378         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
20379
20380 2003-09-07  Paul Eggert  <eggert@twinsun.com>
20381
20382         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
20383         copy_tm_result.  Bug reported by Simon Josefsson in
20384         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
20385
20386 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20387
20388         * m4/time_r.m4: New file.
20389         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
20390         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
20391         is. Check for timegm declaration.
20392         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
20393         Do not check for gmtime_r.
20394         Replace mktime if __mktime_internal does not exist and if mktime
20395         hasn't been replaced already.
20396
20397 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20398
20399         * lib/time_r.c, lib/time_r.h: New files.
20400
20401         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
20402         __localtime_r.
20403         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
20404         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
20405
20406         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
20407         __gmtime_r.
20408         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
20409         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
20410         Include <time_r.h>.
20411
20412         * lib/timegm.c: Switch to glibc implementation, with the following
20413         changes:
20414         [defined HAVE_CONFIG_H]: Include <config.h>.
20415         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
20416         (__mktime_internal) [!defined _LIBC]: New decl.
20417         (__gmtime_r) [!defined _LIBC]: New macro and function.
20418         (timegm): Use a prototype, since gnulib assumes C89.
20419         Do not bother declaring tmp to be const, as it's not really usefu.
20420         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
20421         (timegm): Declare only if HAVE_DECL_TIMEGM.
20422
20423 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20424
20425         * MODULES.html.sh (func_all_modules): Add time_r.
20426         * modules/time_r: New file.
20427         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
20428         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
20429
20430 2003-09-03  Paul Eggert  <eggert@twinsun.com>
20431
20432         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
20433         Bug reported by Lute Kamstra in
20434         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
20435
20436         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
20437         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
20438         course with correspondingly smaller numbers for tomorrow and
20439         yesterday.  From Tadayoshi Funaba.  Originally installed into
20440         sh-utils on 1999-08-07, but the patch got lost (I guess during the
20441         coreutils merge?).
20442
20443 2003-08-31  Simon Josefsson  <jas@extundo.com>
20444
20445         * modules/timegm: New file.
20446         * MODULES.html.sh (func_all_modules): Add timegm.
20447
20448 2003-08-31  Simon Josefsson  <jas@extundo.com>
20449
20450         * m4/timegm.m4: New file.
20451
20452 2003-08-31  Simon Josefsson  <jas@extundo.com>
20453
20454         * lib/timegm.h: New file.
20455         * lib/timegm.c: New file.  Based on
20456         wget-1.8.2/src/http.c:mktime_from_utc.
20457
20458 2003-08-31  Karl Berry  <karl@gnu.org>
20459
20460         * lib/argp.h: update from libc.
20461
20462 2003-08-28  Bruno Haible  <bruno@clisp.org>
20463
20464         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
20465         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
20466         followed by '#define fnmatch fnmatch_posix' gives an error.
20467
20468 2003-08-28  Bruno Haible  <bruno@clisp.org>
20469
20470         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
20471         warning on QNX, which defines O_BINARY to 000000.
20472
20473 2003-08-27  Jim Meyering  <jim@meyering.net>
20474
20475         * m4/mkstemp.m4: Require that the system mkstemp be able to create
20476         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
20477         would fail after 32.  Reported by Danny Levinson.  Details here:
20478         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
20479
20480 2003-08-24  Bruno Haible  <bruno@clisp.org>
20481
20482         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
20483         MSVC7 <stdio.h> is included later.
20484
20485 2003-08-22  Simon Josefsson  <jas@extundo.com>
20486
20487         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
20488
20489 2003-08-20  Karl Berry  <karl@gnu.org>
20490
20491         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
20492
20493 2003-08-20  Bruno Haible  <bruno@clisp.org>
20494
20495         * modules/progname: New file.
20496         * MODULES.html.sh (func_all_modules): Add progname.
20497
20498 2003-08-20  Bruno Haible  <bruno@clisp.org>
20499
20500         * lib/progname.h: New file, from GNU gettext.
20501         * lib/progname.c: New file, from GNU gettext.
20502         * lib/progreloc.c: New file, from GNU gettext.
20503
20504 2003-08-19  Jim Meyering  <jim@meyering.net>
20505
20506         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
20507         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
20508
20509 2003-08-19  Bruno Haible  <bruno@clisp.org>
20510
20511         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
20512         more.
20513
20514 2003-08-19  Bruno Haible  <bruno@clisp.org>
20515
20516         * lib/xstrdup.c: Assume <string.h> exists.
20517
20518 2003-08-18  Paul Eggert  <eggert@twinsun.com>
20519
20520         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
20521         in makefile rules.
20522
20523 2003-08-18  Jim Meyering  <jim@meyering.net>
20524
20525         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
20526         * m4/lib-ld.m4: Likewise.
20527
20528 2003-08-18  Jim Meyering  <jim@meyering.net>
20529
20530         * lib/setenv.h: Indent nested cpp directive.
20531         * lib/vasnprintf.c: Remove trailing blanks.
20532
20533 2003-08-17  Simon Josefsson  <jas@extundo.com>
20534
20535         * modules/xstrndup: New file.
20536         * MODULES.html.sh (func_all_modules): Add xstrndup.
20537
20538 2003-08-17  Simon Josefsson  <jas@extundo.com>
20539
20540         * modules/argp: Fix autoconf macro name. Add more dependencies.
20541
20542 2003-08-17  Simon Josefsson  <jas@extundo.com>
20543
20544         * m4/xstrndup.m4: New file.
20545
20546 2003-08-17  Simon Josefsson  <jas@extundo.com>
20547
20548         * m4/argp.m4: New file.
20549
20550 2003-08-17  Simon Josefsson  <jas@extundo.com>
20551             Bruno Haible  <bruno@clisp.org>
20552
20553         * lib/xstrndup.h: New file.
20554         * lib/xstrndup.c: New file.
20555
20556 2003-08-17  Bruno Haible  <bruno@clisp.org>
20557
20558         * modules/strndup (Files, Include): Add lib/strndup.h.
20559
20560 2003-08-17  Bruno Haible  <bruno@clisp.org>
20561
20562         * modules/euidaccess (Files): Add lib/euidaccess.h.
20563
20564 2003-08-17  Bruno Haible  <bruno@clisp.org>
20565
20566         * lib/strndup.h: New file.
20567
20568 2003-08-17  Bruno Haible  <bruno@clisp.org>
20569
20570         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
20571         like AC_GNU_SOURCE.
20572         * modules/extensions (configure.ac): Comment out the invocation of
20573         gl_USE_SYSTEM_EXTENSIONS.
20574
20575 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20576
20577         Merges from coreutils, etc.
20578         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
20579         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
20580         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
20581         fixing a typo.
20582         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
20583         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
20584
20585 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20586
20587         Document merge from coreutils.
20588         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
20589         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
20590         * modules/utime: Add m4/utimes-null.m4.
20591
20592 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20593
20594         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
20595         space, undoing this 2003-08-12 change:
20596         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20597
20598 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20599
20600         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
20601         strtoul.c from libc, undoing this 2003-08-12 change:
20602         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20603
20604 2003-08-16  Jim Meyering  <jim@meyering.net>
20605
20606         Merges from coreutils.
20607         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
20608         prefix.  Adjust cache variables similarly.  Create 500 rather than
20609         just 300 files, to exercise bug on Darwin6.5, too.
20610         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
20611         $missing_dir.
20612         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
20613         AM_SYS_POSIX_TERMIOS.
20614         Reported by mkc@mathdogs.com.
20615         Also change use of $am_cv_sys_posix_termios
20616         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
20617         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
20618         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
20619         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
20620         in /proc/mounts until it finds one with matching device number.  This
20621         is unnecessary when the FILE argument *is* a mount point.  No stat call
20622         is necessary in that case.  So, disable the statvfs-testing code on
20623         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
20624         as RedHat bug# 84846.
20625         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20626         to 1MB, so as not to render systems with no stack size limit (e.g.,
20627         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20628         Include <unistd.h>.  On some systems,
20629         it is required for the definition of _SC_PAGESIZE.
20630
20631 2003-08-16  Jim Meyering  <jim@meyering.net>
20632
20633         Merge from coreutils.
20634         * lib/xstrtoimax.c: #else #if -> #elif.
20635         * lib/xstrtoumax.c: Likewise.
20636
20637 2003-08-16  Jim Meyering  <jim@meyering.net>
20638
20639         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
20640         * m4/utimes.m4: Removed.
20641         * m4/utimes-null.m4: Renamed from utimes.m4.
20642
20643         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20644         to 1MB, so as not to render systems with no stack size limit (e.g.,
20645         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20646         Include <unistd.h>.  On some systems,
20647         it is required for the definition of _SC_PAGESIZE.
20648
20649 2003-08-16  Jim Meyering  <jim@meyering.net>
20650         and Paul Eggert  <eggert@cs.ucla.edu>
20651
20652         Merges from coreutils, etc.
20653
20654         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
20655         using the latest version from cvs.  This avoids problems with #line
20656         directives using a vendor (Sun) compiler.
20657         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
20658         Don't set GETGROUPS_LIB here; now it's
20659         done via getgroups.m4's wrapper function.
20660         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
20661         rather than just in sh-util/configure.in, so that the
20662         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
20663         same.
20664         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
20665         AC_FUNC_GETLOADAVG where to find getloadavg.c.
20666         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
20667         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
20668         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
20669         Remove code that is now done by the newly-required macros.
20670         Append $(EXEEXT) to DF_PROG.
20671         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
20672         Do not invoke or require the following here,
20673         since prereq.m4 or some gnulib .m4 now does this for us:
20674         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
20675         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
20676         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
20677         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
20678         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
20679         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
20680         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
20681         AC_FUNC_OBSTACK.
20682         Do not replace the following functions, as this is now the job
20683         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
20684         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
20685         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
20686         atexit getpass, strdup, getpagesize.
20687         Replace 'raise'.
20688         Do not check for the following functions, as this is now the job
20689         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
20690         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
20691         setregid.
20692         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
20693         Check for sys/sysctl.h.
20694         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
20695         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
20696         of checking for ssize_t ourselves.
20697
20698         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
20699         Require every macro that gnulib/modules/* suggests for us.
20700         (jm_PREREQ_ADDEXT): New macro.
20701         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
20702         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
20703
20704         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
20705         (gl_PHYSMEM): Use it.
20706         Also check for `table' function.
20707         Check for new headers and functions.
20708         Add check for sys/sysmp.h.
20709         With suggestions from Kaveh Ghazi.
20710         Ignore headers that are present but cannot be compiled.  This
20711         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
20712         C 5.4.
20713
20714 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20715
20716         Document merge from coreutils.
20717         * modules/userspec: Depend on posixver.
20718         * modules/strftime: Depend on tzset.
20719
20720 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20721
20722         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
20723         rather than tab, after '#' in shell-script copyright notices.
20724         Suggested by Bruno Haible.
20725
20726 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20727
20728         * config/srclist-update: Use three spaces, rather than tab, after '#'
20729         in shell-script copyright notices.  Suggested by Bruno Haible.
20730         Remove unnecessary parenthesization in regular expression.
20731
20732 2003-08-15  Jim Meyering  <jim@meyering.net>
20733
20734         Merge from coreutils.
20735         * lib/xgethostname.c: Include <stdlib.h>.
20736         (xghostname): Don't exit for anything other than memory-related
20737         failure; just return NULL.
20738         * lib/userspec.c: Include "posixver.h".
20739         (parse_user_spec): Accept `.' as a separator only
20740         in pre-POSIX-200112 mode.
20741         * lib/strtoimax.c: Use #elif rather than #else #if.
20742         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
20743         Remove function, now that we can rely on a working tzset function.
20744         [!_LIBC]: Ensure that the required autoconf test has been run.
20745         [!defined _NL_CURRENT && HAVE_STRFTIME]:
20746         Use underlying_strftime for %r.
20747         * lib/sha.c: Merge in some clean-up and optimization changes from
20748         glibc.
20749         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
20750         Ensure that it is a multiple of 64.
20751         Rearrange loop exit tests so as to avoid performing an
20752         additional fread after encountering an error or EOF.
20753         * lib/realloc.c: Update copyright date.
20754
20755 2003-08-15  Jim Meyering  <jim@meyering.net>
20756         and Paul Eggert  <eggert@twinsun.com>
20757
20758         Merge from coreutils.
20759         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
20760         member but strut utmpx does not.  Needed for AIX 4.3.3.
20761         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
20762
20763 2003-08-15  Jim Meyering  <jim@meyering.net>
20764         and Paul Eggert  <eggert@cs.ucla.edu>
20765
20766         Merges from coreutils, etc.
20767         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
20768         Require gl_FUNC_TZSET_CLOBBER.
20769         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
20770         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
20771         members.
20772
20773 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20774
20775         Help the merge from coreutils.
20776         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
20777         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
20778         * m4/tzset.m4: Use it too.
20779
20780 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20781
20782         * modules/tzset: New file.
20783
20784 2003-08-14  Jim Meyering  <jim@meyering.net>
20785
20786         Merges from coreutils.
20787         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
20788         variable names, rather than @FNMATCH_H@.
20789         * modules/alloca: Likewise for $(ALLOCA_H).
20790
20791         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
20792         the three copies of the literal target, `fnmatch.h'.
20793         * modules/alloca (alloca.h): Likewise.
20794
20795 2003-08-14  Jim Meyering  <jim@meyering.net>
20796
20797         Merge from coreutils.
20798         * m4/tzset.m4: New file.
20799         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
20800         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
20801         otherwise, AIX 5.1 systems would end up using the latter.
20802         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
20803         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
20804         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
20805         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
20806
20807 2003-08-14  Jim Meyering  <jim@meyering.net>
20808
20809         Merge from coreutils.
20810         * lib/obstack.h: Whitespace changes.
20811         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
20812         and xcalloc return values.
20813         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
20814         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
20815         hang on OSF/1 5.1 for DIR on both local and remote file systems.
20816         Reported by (and fix confirmed by) Nelson H. F. Beebe.
20817         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
20818         error from mntctl.
20819         Use mntctl's return value to drive the entry-processing loop, since
20820         we can't rely on the value of the vmt_length member in the last
20821         entry.  On some systems doing so could result in exhausting
20822         virtual memory.  Based in part on a patch from Mike Jetzer.
20823
20824 2003-08-14  Jim Meyering  <jim@meyering.net>
20825         and Paul Eggert  <eggert@twinsun.com>
20826
20827         Merges from coreutils, plus other fixes.
20828         * lib/physmem.c: Merge in portability changes from gcc/libiberty
20829         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
20830         for credits and details.  Thanks to Kaveh Ghazi for helping
20831         to keep these files in sync.
20832         (ARRAY_SIZE): Define it.
20833         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
20834         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
20835         (memcasecmp): Don't assume size_t fits in unsigned int.
20836         Remove casts and duplicate code.
20837         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
20838         (memcpy): Remove definition.
20839         Merge in some clean-up and optimization changes from glibc.
20840         [BLOCKSIZE]: Move definition to top of file.
20841         Ensure that it is a multiple of 64.
20842         Rearrange loop exit tests so as to avoid performing an
20843         additional fread after encountering an error or EOF.
20844         * lib/md5.h (md5_uintptr): Define.
20845         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
20846         return to the initial working directory.  Preserve errno
20847         for caller.
20848         * lib/idcache.c: Include "xalloc.h".
20849         (xmalloc, xrealloc): Remove decls.
20850         (getuser): Remove casts no longer required in C89.
20851         * lib/human.c: Include stdio.h, for sprintf.
20852         * lib/group-member.c: Include "xalloc.h".
20853         (xmalloc, xrealloc): Remove decls.
20854         (get_group_info): Remove casts no longer required in C89.
20855         * lib/getusershell.c (readname): Remove casts no longer required in
20856         C89.
20857         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
20858         * lib/getline.c: Whitespace fix, from coreutils.
20859
20860 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20861
20862         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
20863         Check for isascii.
20864
20865         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20866         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20867         Undo previous (whitespace-only) change.
20868
20869 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20870
20871         * lib/exclude.c: Include <ctype.h>
20872         (IN_CTYPE_DOMAIN): New macro.
20873         (is_space): New fn.
20874         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
20875         and empty lines.
20876
20877         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20878         Undo previous (whitespace-only) change.
20879
20880 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20881
20882         * config/srclist-update: Change update back to the old behavior,
20883         leaving whitespace alone.  Use one 'sed' command rather than a
20884         pipeline.
20885         (fixlicense): Now a variable, not a function.
20886         (remove_trailing_blanks): Remove.
20887         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
20888         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20889         Undo previous (whitespace-only) change.
20890
20891 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20892
20893         Merge from coreutils.
20894         * modules/euidaccess: Add lib_SOURCES, include for new
20895         file euidaccess.h
20896
20897 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20898
20899         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20900         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20901         Normalize leading white space and remove trailing white space.
20902
20903         Merge from coreutils
20904         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
20905
20906         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
20907         0.12.1.  These files are now being upgraded automatically by
20908         ../config/srclist-update.
20909
20910 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20911
20912         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20913         Normalize leading white space and remove trailing white space.
20914         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
20915         notice, as per ../config/srclist-update.
20916
20917         Merge from coreutils.
20918         * lib/euidaccess.h: New file.
20919         * lib/euidaccess.c: Include it.
20920         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
20921         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
20922         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
20923
20924 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20925
20926         * config/srclist-update: Add copyright notice.
20927         (remove_id_lines, remove_trailing_blanks): New constants.
20928         (fixfile): Use them to normalize spacing a bit in copied files.
20929         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20930         Normalize leading white space and remove trailing white space.
20931
20932         * config/texinfo.tex: Sync with texinfo.
20933
20934         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
20935         strtoul.c from libc, to merge coreutils whitespace changes.
20936
20937         * config/srclist.txt: Get the following m4 files from gettext:
20938         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
20939         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
20940         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
20941         wint_t.m4.
20942
20943 2003-08-12  Karl Berry  <karl@gnu.org>
20944
20945         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
20946         been made.
20947
20948 2003-08-11  Paul Eggert  <eggert@twinsun.com>
20949
20950         * modules/gnu-source, m4/gnu-source.m4:
20951         Remove; we're assuming Autoconf 2.54 or later now.
20952         Suggested by Bruno Haible.
20953         * MODULES.html.sh (func_all_modules): Remove gnu-source.
20954
20955 2003-08-11  Bruno Haible  <bruno@clisp.org>
20956
20957         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
20958
20959 2003-08-11  Bruno Haible  <bruno@clisp.org>
20960
20961         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
20962         (vasnprintf): Use it instead of wcslen.
20963
20964 2003-08-11  Bruno Haible  <bruno@clisp.org>
20965
20966         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
20967         value to ensure that _Bool promotes to int. Use #define for _Bool when
20968         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
20969
20970 2003-08-10  Karl Berry  <karl@gnu.org>
20971
20972         * lib/regex.h: update from libc (whitespace fix).
20973
20974 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20975
20976         Merge some files from coreutils.  These changes were
20977         originally made by Jim Meyering.
20978         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
20979         many older Unixes require this.
20980         * lib/alloca.c (alloca): Remove cast to argument of free;
20981         no longer needed in C89.
20982         * lib/alloca_.h, regex.h: Fix white space to match
20983         what GNU indent does.
20984
20985 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20986
20987         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
20988         apparently Emacs's Unicode mode got confused before my 2003-08-05
20989         checkin.
20990
20991 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20992
20993         * m4/extensions.m4: New file.
20994         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
20995         Require gl_USE_SYSTEM_EXTENSIONS.
20996         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
20997         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
20998
20999 2003-08-08  Paul Eggert  <eggert@twinsun.com>
21000
21001         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
21002         * modules/extensions, modules/gnu-source: New files.
21003         * modules/timespec, modules/unlocked-io: Depend on extensions.
21004
21005 2003-08-07  Paul Eggert  <eggert@twinsun.com>
21006
21007         * modules/restrict: New file.
21008         * MODULES.html.sh (func_all_modules): Add restrict.
21009         * modules/regex: Depend on restrict.
21010
21011 2003-08-07  Paul Eggert  <eggert@twinsun.com>
21012
21013         * m4/restrict.m4: New file.
21014         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
21015
21016 2003-08-07  Bruno Haible  <bruno@clisp.org>
21017
21018         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
21019         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
21020
21021 2003-08-07  Bruno Haible  <bruno@clisp.org>
21022
21023         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
21024         makes the module 'getndelim2' compatible with the module 'getline'.
21025
21026 2003-08-05  Paul Eggert  <eggert@twinsun.com>
21027
21028         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
21029         byte with "\201" to avoid glitches when editing that source file
21030         with multi-gnome-terminal.
21031
21032 2003-08-05  Paul Eggert  <eggert@twinsun.com>
21033
21034         * lib/bumpalloc.h: Remove.
21035
21036 2003-08-05  Paul Eggert  <eggert@twinsun.com>
21037
21038         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
21039         * modules/bumpalloc: Remove.
21040
21041 2003-08-04  Paul Eggert  <eggert@twinsun.com>
21042
21043         * lib/getloadavg.c: Change copyright notice and spacing to conform to
21044         GNU coding style.
21045
21046         Merge from coreutils.
21047         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
21048         1. From glibc.
21049         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
21050         from Karl Berry, implemented by Jim Meyering.
21051         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
21052         from Dmitry V. Levin.
21053         Remove anachronistic cast of xrealloc.
21054         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
21055         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
21056         type. Otherwise, it wouldn't compile with at least /bin/cc on
21057         ymp-cray-unicos9.0.2.X.
21058         Combine two mostly-identical uses of alloca into one.
21059         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
21060
21061 2003-08-04  Dave Love  <d.love@dl.ac.uk>
21062
21063         [From Emacs.]
21064
21065         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
21066         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
21067         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
21068         obsolete NLIST_NAME_UNION.
21069         [__GNU__]: Undef BSD and FSCALE.
21070         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
21071
21072 2003-08-03  Paul Eggert  <eggert@twinsun.com>
21073
21074         * lib/stdbool_.h (_Bool): Make it signed char, instead of
21075         an enum type, so that it's guaranteed to promote to int.  See:
21076         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
21077
21078 2003-08-03  Karl Berry  <karl@gnu.org>
21079
21080         * config/depcomp: update from automake.
21081
21082 2003-07-31  Paul Eggert  <eggert@twinsun.com>
21083
21084         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
21085         (strerror): Don't assume that a printable int fits in 14 bytes.
21086
21087 2003-07-31  Bruno Haible  <bruno@clisp.org>
21088
21089         * modules/getpass-gnu: New file.
21090         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
21091
21092 2003-07-31  Bruno Haible  <bruno@clisp.org>
21093
21094         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
21095
21096 2003-07-24  Karl Berry  <karl@gnu.org>
21097
21098         * config/missing: update from automake.
21099
21100 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
21101             Bruno Haible  <bruno@clisp.org>
21102
21103         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
21104         * lib/getline.c (getline, getdelim): Likewise.
21105         Remove _GNU_SOURCE define; now it's defined in config.h through
21106         m4/getline.m4.
21107
21108 2003-07-23  Karl Berry  <karl@gnu.org>
21109
21110         * config/config.sub: update from prep.
21111
21112 2003-07-22  Paul Eggert  <eggert@twinsun.com>
21113
21114         * modules/xalloc (Depends-on): Add exitfail.
21115         * modules/xmemcoll: Likewise.
21116
21117 2003-07-22  Paul Eggert  <eggert@twinsun.com>
21118
21119         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
21120         over-parenthesization in macros.
21121
21122         Sync with coreutils.
21123
21124         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
21125         required by C99.
21126
21127         Use `exit_failure' for xalloc and xmemcoll instead of their own
21128         private exit-failure variables.
21129         * lib/xalloc.h (xalloc_exit_failure): Remove.
21130         * lib/xmalloc.c: Likewise.  Include exitfail.h.
21131         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
21132         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
21133         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
21134         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
21135
21136 2003-07-20  Jim Meyering  <jim@meyering.net>
21137
21138         * modules/closeout (Depends-on): Add exitfail.
21139         Suggestion from Bruno Haible.
21140
21141 2003-07-19  Karl Berry  <karl@gnu.org>
21142
21143         * config/config.sub: update from prep.
21144
21145 2003-07-18  Paul Eggert  <eggert@twinsun.com>
21146
21147         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
21148         Remove.
21149         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
21150         to test that it can stand by itself.  Include "exitfail.h".
21151         Clients should set exit_failure instead.
21152         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
21153
21154 2003-07-18  Bruno Haible  <bruno@clisp.org>
21155
21156         * modules/getndelim2: New file.
21157         * modules/getline: Share files with module getndelim2.
21158         * modules/getnline: Depend on getndelim2 instead of sharing files with
21159         it. Add getnline.c to lib_SOURCES.
21160         * MODULES.html.sh (func_all_modules): Add getndelim2.
21161
21162 2003-07-18  Bruno Haible  <bruno@clisp.org>
21163
21164         * m4/getndelim2.m4: New file.
21165         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
21166         invoke gl_PREREQ_GETNDELIM2.
21167         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
21168         gl_PREREQ_GETNDELIM2.
21169         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
21170         gl_GETNDELIM2.
21171
21172 2003-07-18  Bruno Haible  <bruno@clisp.org>
21173
21174         * lib/getndelim2.h: New file.
21175         * lib/getndelim2.c: Make into a module of its own. Include config.h,
21176         getndelim2.h.
21177         (getndelim2): Make non-static. Change return type to ssize_t.
21178         * lib/getline.h: Change argument names.
21179         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
21180         * lib/getnline.c: Include getndelim2.h.
21181
21182 2003-07-18  Andreas Schwab  <schwab@suse.de>
21183
21184         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
21185
21186 2003-07-17  Karl Berry  <karl@gnu.org>
21187
21188         * config/config.sub: update from prep.
21189
21190 2003-07-17  Bruno Haible  <bruno@clisp.org>
21191
21192         * modules/getnline: New file.
21193         * modules/getline: Add lib/getndelim2.c to source file list.
21194         * MODULES.html.sh (func_all_modules): Add getnline.
21195
21196 2003-07-17  Bruno Haible  <bruno@clisp.org>
21197
21198         * m4/getnline.m4: New file.
21199
21200 2003-07-17  Bruno Haible  <bruno@clisp.org>
21201
21202         * m4/Makefile.am.in: Remove file.
21203         * m4/Makefile.am: Remove file.
21204         * m4/Makefile.in: Remove file.
21205
21206 2003-07-17  Bruno Haible  <bruno@clisp.org>
21207
21208         * lib/getnline.h: New file.
21209         * lib/getnline.c: New file.
21210         * lib/getndelim2.c: New file, extracted from getline.c.
21211         (getndelim2): Renamed from getdelim2, with added nmax argument.
21212         * lib/getline.c: Include getndelim2.c.
21213         (getdelim2): Moved out to getndelim2.c.
21214         (getline, getdelim): Update.
21215
21216 2003-07-17  Bruno Haible  <bruno@clisp.org>
21217
21218         * lib/Makefile.am: Remove file.
21219         * lib/Makefile.in: Remove file.
21220
21221 2003-07-17  Bruno Haible  <bruno@clisp.org>
21222
21223         * configure.in: Remove file.
21224         * Makefile.in: Remove file.
21225
21226 2003-07-17  Bruno Haible  <bruno@clisp.org>
21227
21228         * MODULES.html.sh: Put the </BODY> right before </HTML>.
21229
21230 2003-07-16  Karl Berry  <karl@gnu.org>
21231
21232         * config/srclist-update: was running fixlicense twice, which caused
21233                 texinfo.tex to be nullified for some reason.  Simplify,
21234                 $gplsrc is no longer needed as far as I can see?
21235
21236 2003-07-16  Jim Meyering  <jim@meyering.net>
21237
21238         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
21239
21240 2003-07-15  Paul Eggert  <eggert@twinsun.com>
21241
21242         * config/srclist.txt: Get the following files from gettext-runtime/intl
21243         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
21244         ref-del.sin.  From Bruno Haible.
21245         * config/srclist-update (fixfile): Change grep pattern again, since the
21246         previous fix didn't work (there was another trailing $).  Use
21247         '[$]' to escape the $s.
21248
21249 2003-07-15  Karl Berry  <karl@gnu.org>
21250
21251         * lib/vasnprintf.c: update from gettext.
21252
21253 2003-07-15  Karl Berry  <karl@gnu.org>
21254
21255         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
21256         gets expanded when surrounded by '$'.
21257
21258 2003-07-15  Jim Meyering  <jim@meyering.net>
21259
21260         * modules/save-cwd: Don't depend on error.  From Derek Price.
21261
21262 2003-07-15  Jim Meyering  <jim@meyering.net>
21263
21264         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
21265
21266 2003-07-14  Simon Josefsson  <jas@extundo.com>
21267
21268         * modules/mempcpy: New file.
21269         * MODULES.html.sh (func_all_modules): Add mempcpy.
21270
21271 2003-07-14  Simon Josefsson  <jas@extundo.com>
21272
21273         * m4/mempcpy.m4: New file.
21274
21275 2003-07-14  Simon Josefsson  <jas@extundo.com>
21276
21277         * lib/mempcpy.h: New file.
21278         * lib/mempcpy.c: New file.
21279
21280 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21281
21282         * modules/getdate, modules/posixtm: Depend on mktime.
21283
21284 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21285
21286         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
21287         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
21288         unicodeio.c, unicodeio.h, unlocked-io.h:
21289         Switch from LGPL to GPL.
21290
21291 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21292
21293         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
21294         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
21295         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
21296         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
21297         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
21298         updated automatically by ../config/srclist-update.  This changes
21299         their license from LPGL to GPL.
21300
21301 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21302
21303         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
21304         assumed to refer to the root of the most recent stable gettext version.
21305         * config/srclistvars.sh: Add defaults for eggert.
21306         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
21307         Match "This program" as well as "The program".  This is needed
21308         for gettext.
21309
21310 2003-07-14  Jim Meyering  <jim@meyering.net>
21311
21312         Don't emit diagnostics.  Let callers do that.
21313         * lib/save-cwd.c: Don't include "error.h".
21314         (save_cwd): Don't call error.  Ensure that errno is valid
21315         when returning nonzero.
21316
21317         * lib/save-cwd.h (restore_cwd): Update prototype.
21318         * lib/save-cwd.c (restore_cwd): Remove two parameters.
21319         Simplify.  Don't call error upon failure.  Let callers do that.
21320         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
21321         when auditing is enabled.  But don't bother updating the #if.
21322
21323 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
21324
21325         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
21326         it breaks C++ compilation.
21327         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
21328
21329 2003-07-10  Simon Josefsson  <jas@extundo.com>
21330
21331         * modules/strchrnul (Makefile.am): Add strchrnul.h.
21332
21333 2003-07-10  Jim Meyering  <jim@meyering.net>
21334
21335         * m4/clock_time.m4: Remove trailing blank.
21336         * m4/intmax_t.m4: Likewise.
21337
21338 2003-07-10  Jim Meyering  <jim@meyering.net>
21339
21340         * lib/vasnprintf.c: Remove trailing blanks.
21341         Make cpp indentation consistent.
21342
21343 2003-07-09  Paul Eggert  <eggert@twinsun.com>
21344
21345         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
21346         posixver.c, strftime.c, strnlen.c, strverscmp.c:
21347         Switch from LGPL to GPL.
21348
21349 2003-07-09  Paul Eggert  <eggert@twinsun.com>
21350
21351         * config/srclist.txt: Sort sublists.  Add
21352         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
21353         that differ from gnulib for one reason or another; we'd like this list
21354         to be smaller but for now let's document what we have.
21355
21356 2003-07-08  Paul Eggert  <eggert@twinsun.com>
21357
21358         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
21359         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
21360         and sweeter "eval x=$x".
21361         * config/srclist.txt: Get lib/argp* from glibc.
21362
21363 2003-07-07  Paul Eggert  <eggert@twinsun.com>
21364
21365         * lib/mktime.c: Fix some boundary cases and remove need for floating
21366         point.
21367
21368         Issue a compile-time diagnostic if time_t is floating point, or if
21369         two's complement arithmetic is not in effect, or if arithmetic
21370         right shift does not propagate the sign.  These assumptions were
21371         all in the original code but they weren't checked.
21372
21373         (TIME_T_MIDPOINT, verify): New macros.
21374         (__isleap): Remove; it has integer overflow problems.
21375         (leapyear): New function, without those problems.
21376         (ydhms_tm_diff): Remove; splitting into two parts.
21377         (ydhms_diff): New function, containing the arithmetic part of
21378         the old ydhms_tm_diff function.  Issue a compile-time
21379         diagnostic if we are not using C99 integer division.
21380         Avoid casts when possible.
21381         (guess_time_tm): New function, containing the checking part of
21382         the old ydhms_tm_diff function.  Return the new value, rather than
21383         the difference between it and the old.  Accept a new argument T
21384         so that *T specifies the old value.  Check for overflow in the result.
21385
21386         (__mktime_internal): Use a time_t offset, not a long int offset.
21387         This undoes the 2003-06-04 change, which is no longer needed now
21388         that we have better overflow checking.
21389         (localtime_offset): Likewise.
21390
21391         (__mktime_internal): Avoid harmful overflow on hosts where time_t
21392         and long are 64-bit but int is only 32-bit.
21393         (ydhms_diff): Use long int to store year1 and yday1.
21394         Issue a compile-time diagnostic if long int is not wide enough.
21395
21396         (__mktime_internal): Use long int to store adjusted year and yday.
21397         Use plain C rather than preprocessor commands, if that doesn't
21398         affect efficiency.
21399         Check for overflow (and try to repair) after each probe
21400         rather than checking only at the very end.  This avoids some bugs
21401         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
21402         does not equal GMT offset at maximum time).
21403         Use integer to check for overflow rather than floating point; this
21404         is more portable to non-IEEE hosts, and is a tad faster.
21405         When we detect that we are oscillating between two values,
21406         don't check whether tm_isdst has the requested value, since
21407         we already know the answer.  When tm_isdst has the wrong value,
21408         use a different heuristic to find the right one, based on the
21409         extreme values actually observed in practice in tz2003a,
21410         rather than the (overly optimistic) "previous 3 calendar quarters".
21411
21412         (not_equal_tm, print_tm, check_result): Use "const T" rather than
21413         "T const" to accommodate glibc style.
21414         (check_result): Use less-confusing report format.  "long" -> "long int.
21415         (main): Likewise.
21416         Don't loop if the iteration overflows time_t.
21417         Allow a negative step in the iteration.
21418
21419 2003-07-06  Karl Berry  <karl@gnu.org>
21420
21421         * config/depcomp: update from automake.
21422         * config/config.sub: update from prep.
21423
21424 2003-07-03  Karl Berry  <karl@gnu.org>
21425
21426         * config/config.guess: update from prep.
21427
21428 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21429
21430         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
21431         xreadlink.c now includes it unconditionally.
21432
21433 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21434
21435         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
21436         having it depend on HAVE_SYS_TYPES_H.
21437
21438 2003-07-01  Bruno Haible  <bruno@clisp.org>
21439
21440         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
21441         <sys/types.h> should be sufficient.
21442         Reported by Paul Eggert.
21443
21444 2003-06-26  Karl Berry  <karl@gnu.org>
21445
21446         * config/depcomp: update from automake.
21447
21448 2003-06-26  Bruno Haible  <bruno@clisp.org>
21449
21450         * modules/human: Depend on module stdbool.
21451
21452 2003-06-25  Bruno Haible  <bruno@clisp.org>
21453
21454         * modules/readlink: New file.
21455         * modules/xreadlink: Depend on it.
21456         * MODULES.html.sh (func_all_modules): Add readlink.
21457
21458 2003-06-25  Bruno Haible  <bruno@clisp.org>
21459
21460         * m4/readlink.m4: New file.
21461
21462 2003-06-25  Bruno Haible  <bruno@clisp.org>
21463
21464         * lib/readlink.c: New file.
21465
21466 2003-06-22  Karl Berry  <karl@gnu.org>
21467
21468         * config/srclist.txt: update mkinstalldirs from automake.
21469         * config/mkinstalldirs: update.
21470
21471 2003-06-22  Bruno Haible  <bruno@clisp.org>
21472
21473         Portability to mingw32.
21474         * m4/ssize_t.m4: New file, from GNU gettext.
21475         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
21476         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
21477
21478 2003-06-22  Bruno Haible  <bruno@clisp.org>
21479
21480         * modules/safe-read: Add m4/ssize_t.m4.
21481         * modules/xreadlink: Add m4/ssize_t.m4.
21482
21483 2003-06-20  Bruno Haible  <bruno@clisp.org>
21484
21485         Assume C89, so PARAMS isn't needed.
21486         * lib/unicodeio.h (PARAMS): Remove.
21487         * lib/unicodeio.c: Don't use PARAMS.
21488
21489 2003-06-18  Karl Berry  <karl@gnu.org>
21490
21491         * config/config.{guess,sub}: update from prep.
21492
21493 2003-06-18  Jim Meyering  <jim@meyering.net>
21494
21495         Merge changes from coreutils.
21496         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
21497         Remove explicit declarations of xmalloc and realloc.
21498         Include xalloc.h.
21499         (read_utmp): Remove anachronistic cast of xmalloc.
21500
21501 2003-06-17  Paul Eggert  <eggert@twinsun.com>
21502
21503         Assume C89, so PARAMS isn't needed.
21504         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
21505         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
21506         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
21507         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
21508         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
21509         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
21510         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
21511         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
21512         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
21513         lib/xstrtod.h, lib/xstrtol.h: Likewise.
21514         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
21515         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
21516         no longer needed. Anyway, config.h should always be included before any
21517         other file.
21518
21519 2003-06-11  Simon Josefsson  <jas@extundo.com>
21520
21521         * modules/sysexits: New file.
21522         * MODULES.html.sh (func_all_modules): Add sysexits.
21523
21524 2003-06-11  Simon Josefsson  <jas@extundo.com>
21525
21526         * lib/sysexit_.h: New file.
21527
21528 2003-06-11  Derek Price  <derek@ximbiot.com>
21529
21530         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
21531         necessary.
21532
21533 2003-06-11  Bruno Haible  <bruno@clisp.org>
21534
21535         * m4/sysexits.m4: New file.
21536
21537 2003-06-10  Simon Josefsson  <jas@extundo.com>
21538
21539         * lib/argp.h: New file, from glibc.
21540         * lib/argp-ba.c: New file, from glibc.
21541         * lib/argp-eexst.c: New file, from glibc.
21542         * lib/argp-fmtstream.c: New file, from glibc.
21543         * lib/argp-fmtstream.h: New file, from glibc.
21544         * lib/argp-fs-xinl.c: New file, from glibc.
21545         * lib/argp-help.c: New file, from glibc.
21546         * lib/argp-namefrob.h: New file, from glibc.
21547         * lib/argp-parse.c: New file, from glibc.
21548         * lib/argp-pv.c: New file, from glibc.
21549         * lib/argp-pvh.c: New file, from glibc.
21550         * lib/argp-xinl.c: New file, from glibc.
21551
21552 2003-06-10  Simon Josefsson  <jas@extundo.com>
21553
21554         * modules/strchrnul: New file.
21555
21556 2003-06-10  Simon Josefsson  <jas@extundo.com>
21557
21558         * modules/argp: New file.
21559
21560 2003-06-10  Simon Josefsson  <jas@extundo.com>
21561
21562         * m4/strchrnul.m4: New file.
21563
21564 2003-06-10  Simon Josefsson  <jas@extundo.com>
21565
21566         * lib/strchrnul.h: New file.
21567         * lib/strchrnul.c: New file.
21568
21569 2003-06-10  Bruno Haible  <bruno@clisp.org>
21570
21571         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
21572
21573 2003-06-07  Karl Berry  <karl@gnu.org>
21574
21575         * config/config.{guess,sub}: update from prep.
21576
21577 2003-06-07  Jim Meyering  <jim@meyering.net>
21578
21579         * modules/strtod: Use $(...) notation, not @...@ for
21580         AC_REPLACE'd variables.
21581         * modules/localcharset: Likewise.
21582
21583 2003-06-07  Jim Meyering  <jim@meyering.net>
21584
21585         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
21586         in place of my name in the copyright comment.
21587         Remove definition and uses of __P.
21588
21589         From coreutils.
21590         * lib/stat.c: Don't declare xmalloc explicitly.
21591         Instead, include "xalloc.h".
21592         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
21593         xrealloc, and xcalloc return values.
21594         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
21595         Improve comment.
21596         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
21597
21598 2003-06-07  Bruno Haible  <bruno@clisp.org>
21599
21600         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
21601         avoid AC_CONFIG_LINKS.
21602         * modules/fnmatch (Makefile.am): Use explicit creation rule for
21603         fnmatch.h, to avoid AC_CONFIG_LINKS.
21604         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
21605
21606 2003-06-07  Bruno Haible  <bruno@clisp.org>
21607
21608         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
21609         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
21610         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21611         directory.
21612         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
21613         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21614         directory.
21615
21616 2003-06-06  Jim Meyering  <jim@meyering.net>
21617
21618         Merge from coreutils.
21619         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
21620         Consolidate declarations and initializations of *_base* locals.
21621
21622         Merge from coreutils.
21623         This avoids a core dump on systems without GNU putenv,
21624         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
21625         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
21626         (unsetenv): New static function, from GNU libc.
21627         (rpl_putenv): Use it.
21628
21629         * lib/modechange.c: Remove trailing blanks.
21630
21631         Merge from coreutils.
21632         * lib/fsusage.c: Remove declaration of statfs.
21633         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
21634
21635         * lib/posixtm.c: Include <stdbool.h> unconditionally.
21636
21637 2003-06-06  Jim Meyering  <jim@meyering.net>
21638
21639         * lib/stdbool_.h: Renamed from stdbool.h.in.
21640
21641 2003-06-06  Jim Meyering  <jim@meyering.net>
21642             Bruno Haible  <bruno@clisp.org>
21643
21644         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
21645         Adjust Makefile.am snippet not to redirect directly to target.
21646         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
21647
21648 2003-06-05  Paul Eggert  <eggert@twinsun.com>
21649
21650         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
21651         mismatch, look in future quarters as well as past.  This fixes a
21652         bug when processing fall-backwards gaps immediately after a long
21653         period of daylight-saving time.
21654
21655         * lib/mktime.c: Assume freestanding C89 or better.
21656         (HAVE_LIMITS_H): Remove.  Assume it's 1.
21657         (__P): Remove; not used.
21658         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
21659         (mktime, not_equal_tm, print_tm, check_result,
21660         main): Use prototypes.  Use const * where appropriate.
21661         (main): Fix typo in testing code that uncovered by above changes.
21662         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
21663
21664 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21665
21666         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
21667         locale.h, localeconv.  This merges changes from coreutils.
21668
21669         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
21670         It can be removed after the next Autoconf is released.
21671         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
21672         needed.
21673
21674 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21675
21676         * lib/mktime.c: Fix Debian bug 177940
21677         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
21678         (localtime_offset): Now long int, not time_t, because we want it
21679         to be guaranteed to be signed.  All uses changed.
21680         (__mktime_internal): If overflow would occur when adding offset,
21681         don't add it.
21682
21683         Merge 'human' changes from coreutils.  Rewrite to support
21684         locale-specific notations like thousands separators.
21685         * lib/human.c: Simplify authorship notice.
21686         Include human.h immediately after config.h.
21687         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
21688         <limits.h>: Do not include, since human.h does.
21689         (SIZE_MAX, UINTMAX_MAX): New macros.
21690         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
21691         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
21692         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
21693         (power_letter): Renamed from suffixes.
21694         (generate_suffix_backwards): Remove.
21695         (adjust_value): Now takes int style (because of human.h changes)
21696         and long double value (for greater precision on some platforms).
21697         (group_number): New function.
21698         (human_readable): Use it.  Use integer options, not enum.
21699         Put the options before the sizes in the arg list.
21700         Support all the new options.
21701         The old human_readable function has been removed;
21702         use inttostr.h instead.
21703         (human_readable, default_block_size, humblock):
21704         Use uintmax_t, not int, for block sizes.
21705         (human_readable_inexact, block_size_types): Remove.
21706         (block_size_opts): New constant.
21707         (human_options): Renamed from human_block_size, with new signature
21708         that allows block sizes up to UINTMAX_MAX.  All callers changed.
21709         * lib/human.h: Add copyright and authorship notice.
21710         Include <limits.h> and <stdbool.h> unconditionally.
21711         (PARAMS): Remove.  All uses removed.
21712         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
21713         (enum human_inexact_style): Remove tag; now a nameless enum.
21714         (human_floor, human_ceiling, human_round_to_even): Now have
21715         values 2, 0, 1 rather than -1, 1, 0.
21716         (human_group_digits, human_suppress_point_zero, human_autoscale,
21717         human_base_1024, human_SI, human_B): New constants.
21718         (human_readable_inexact, human_block_size): Remove.
21719         (human_readable): Size args are now uintmax_t, not int.
21720         (human_options): New decl.
21721
21722         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
21723         unnecessary now that we assume C89 or better.  This change
21724         imported from coreutils.
21725
21726         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21727         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
21728         in the 2003-05-30 sync from glibc.
21729
21730         .h files should stand alone, but we shouldn't include <sys/types.h>
21731         if we can get away with just <stddef.h>.
21732
21733         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
21734         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
21735         rather than <sys/types.h>, as we merely need size_t.
21736         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
21737         to get size_t.
21738         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
21739         Include <stdio.h>, to get FILE.
21740         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
21741         memcasecmp.h has included <stddef.h> and all we need is size_t.
21742         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
21743         our interface, instead of including <sys/types.h>
21744
21745 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21746
21747         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
21748         now, as glibc mktime is buggy on non-glibc systems.
21749
21750 2003-06-03  Karl Berry  <karl@gnu.org>
21751
21752         * config/config.sub: update from prep.
21753
21754 2003-06-02  Paul Eggert  <eggert@twinsun.com>
21755
21756         [from coreutils]
21757         Fix some minor time-related bugs with POSIX time arguments.
21758         Some valid time stamps were being rejected (notably -1, and
21759         time stamps before 1900 on 64-bit hosts).  And some invalid
21760         time stamps were being accepted, e.g. September 31.
21761
21762         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
21763         that we can return (time_t) -1 successfully.
21764         * lib/posixtm.c: Likewise.
21765         [HAVE_STDBOOL_H]: Include <stdbool.h>.
21766         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
21767         (t): Remove static var.
21768         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
21769         of static var.  All uses changed.
21770         (year): Do not reject years before 1900; they can occur with
21771         64-bit time_t.
21772         (posix_time_parse): Do not check for out-of-range components;
21773         that is now the caller's responsibility, since our checks were
21774         only approximations.
21775         (posixtime): Use mktime to check for out-of-range components,
21776         since it knows them exactly.
21777         If mktime returns (time_t) -1, check whether an error actually occurred
21778         by invoking localtime on -1.
21779         (main) [TEST_POSIXTIME]: Check for input data errors, and report
21780         posixtime failures better.
21781         Improve the test data (in comments only).
21782
21783 2003-06-02  Karl Berry  <karl@gnu.org>
21784
21785         * config/mkinstalldirs (version): new variable.
21786         (--version): new option.
21787         (usage): improve message.
21788
21789 2003-05-30  Karl Berry  <karl@gnu.org>
21790
21791         * lib/mktime.c: update from libc.
21792
21793 2003-05-30  Bruno Haible  <bruno@clisp.org>
21794
21795         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
21796         * config/config.rpath: Upgrade to gettext-0.12.1.
21797
21798 2003-05-30  Bruno Haible  <bruno@clisp.org>
21799
21800         * m4/gettext.m4: Upgrade to gettext-0.12.1.
21801         * m4/nls.m4: New file, from gettext-0.12.1.
21802         * m4/po.m4: New file, from gettext-0.12.1.
21803         * m4/progtest.m4: Upgrade to gettext-0.12.1.
21804
21805 2003-05-30  Bruno Haible  <bruno@clisp.org>
21806
21807         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
21808         * lib/localcharset.h: Likewise.
21809         * lib/localcharset.c: Likewise.
21810
21811 2003-05-29  Karl Berry  <karl@gnu.org>
21812
21813         * config/config.rpath: update from gettext.
21814
21815 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21816
21817         Assume the headers required for C89 freestanding compilers.
21818         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
21819         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
21820         * m4/human.m4 (gl_HUMAN): Likewise.
21821         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
21822         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
21823         * m4/userspec.m4 (gl_USERSPEC): Likewise.
21824         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
21825         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
21826         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
21827
21828 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21829
21830         Assume the headers required for C89 freestanding compilers.
21831         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
21832         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
21833         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
21834         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
21835         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
21836         define, since <limits.h> is guaranteed to do that.
21837         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
21838         * lib/exclude.c: Include <stdbool.h> unconditionally.
21839         * lib/tempname.c: Include <stddef.h> unconditionally.
21840         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
21841         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
21842         <stddef.h> does that.
21843         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
21844         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
21845         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
21846         needed.
21847         * lib/xstrtol.c: Likewise.
21848         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
21849         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
21850
21851         * lib/addext.c (addext): Use assignment rather than cast, to avoid
21852         warnings on some platforms.
21853
21854         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21855         arbitrarily.
21856
21857 2003-05-26  Jim Meyering  <jim@meyering.net>
21858
21859         Merge in a change from coreutils:
21860         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
21861         that is guaranteed to be `no'.  Use `no_such_member' to indicate
21862         that condition, rather than `-1' which is slightly misleading.
21863         Change the name of the cache variable to have the gl_ prefix.
21864         Prompted by a patch from Richard Dawe for DJGPP.
21865
21866 2003-05-24  Karl Berry  <karl@gnu.org>
21867
21868         * config/config.guess: update from prep.
21869
21870 2003-05-22  Karl Berry  <karl@gnu.org>
21871
21872         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
21873
21874 2003-05-20  Karl Berry  <karl@gnu.org>
21875
21876         * config/config.guess: update from prep.
21877
21878 2003-05-18  Karl Berry  <karl@gnu.org>
21879
21880         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
21881         might actually be set by the user.
21882
21883         * config/depcomp, install-sh, mdate-sh: update from automake.
21884
21885 2003-05-17  Bruno Haible  <bruno@clisp.org>
21886
21887         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
21888         invalid expansion for AC_EGREP_CPP.
21889         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21890         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21891         Suggested by Akim Demaille <akim@epita.fr> in
21892         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
21893
21894 2003-05-12  Jim Meyering  <jim@meyering.net>
21895
21896         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
21897         the space-padded-by-default conversion specifiers, %e, %k, %l.
21898
21899 2003-05-12  Bruno Haible  <bruno@clisp.org>
21900
21901         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
21902         the string is longer than 4 KB.
21903
21904 2003-05-11  Karl Berry  <karl@gnu.org>
21905
21906         * config/config.{guess,sub}: update from prep.
21907
21908 2003-05-09  Bruno Haible  <bruno@clisp.org>
21909
21910         * modules/error: Add m4/strerror_r.m4 to file list.
21911
21912 2003-05-03  Bruno Haible  <bruno@clisp.org>
21913
21914         Upgrade to Unicode-4.0.
21915         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
21916         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
21917         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
21918         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
21919         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
21920         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
21921         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
21922         Change width of U+E0100..U+E01EF from 1 to 0.
21923
21924 2003-04-25  Jim Meyering  <jim@meyering.net>
21925
21926         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
21927         of type size_t, not int.
21928
21929 2003-04-25  Bruno Haible  <bruno@clisp.org>
21930
21931         * lib/copy-file.c: Include <stddef.h>, for size_t.
21932
21933 2003-04-21  Paul Eggert  <eggert@twinsun.com>
21934
21935         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
21936         code which expansion is under static control.  Patch imported from
21937         Akim Demaille's patch to Bison; see
21938         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
21939
21940 2003-04-14  Bruno Haible  <bruno@clisp.org>
21941
21942         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
21943
21944 2003-04-11  Jim Meyering  <jim@meyering.net>
21945
21946         Merge changes from Coreutils.
21947
21948         2003-03-22  Jim Meyering  <jim@meyering.net>
21949
21950         * lib/strftime.c (widen): Cast alloca return value to proper type.
21951
21952         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
21953
21954         From GNU libc.
21955         * lib/strftime.c (my_strftime): Handle very large width
21956         specifications for numeric values correctly.  Improve checks for
21957         overflow.
21958
21959         2003-01-19  Jim Meyering  <jim@meyering.net>
21960
21961         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
21962         definitions.
21963         (nl_get_alt_digit) [! defined my_strftime]: Define.
21964         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
21965         _nl_get_alt_digit and _nl_get_walt_digit.
21966
21967         * lib/strftime.c (my_strftime): Merge in locale-related changes from
21968         libc. These changes have no effect outside of _LIBC.
21969
21970 2003-04-10  Bruno Haible  <bruno@clisp.org>
21971
21972         * modules/findprog: New file.
21973         * MODULES.html.sh (func_all_modules): Add it.
21974
21975 2003-04-10  Bruno Haible  <bruno@clisp.org>
21976
21977         * m4/findprog.m4: New file.
21978         * m4/eaccess.m4: New file.
21979
21980 2003-04-10  Bruno Haible  <bruno@clisp.org>
21981
21982         * lib/findprog.h: New file, from GNU gettext.
21983         * lib/findprog.c: New file, from GNU gettext.
21984
21985 2003-04-05  Jim Meyering  <jim@meyering.net>
21986
21987         Merge changes from Coreutils.
21988
21989         * lib/exclude.h (PARAMS): Remove definition and uses.
21990         * lib/exclude.c: Remove uses of `PARAMS'.
21991
21992         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
21993         Add test-cases for DOS filenames. Declare program_name.
21994         (main): Set up program_name.  Patch by Rich Dawe.
21995
21996         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
21997         error from mntctl.
21998         Use mntctl's return value to drive the entry-processing loop, since
21999         we can't rely on the value of the vmt_length member in the last
22000         entry.  On some systems doing so could result in exhausting
22001         virtual memory.  Based in part on a patch from Mike Jetzer.
22002
22003 2003-04-04  Bruno Haible  <bruno@clisp.org>
22004
22005         * modules/linebreak: New file.
22006         * MODULES.html.sh (func_all_modules): Add it.
22007
22008 2003-04-04  Bruno Haible  <bruno@clisp.org>
22009
22010         * m4/linebreak.m4: New file.
22011
22012 2003-04-04  Bruno Haible  <bruno@clisp.org>
22013
22014         * lib/linebreak.h: New file, from GNU gettext.
22015         * lib/linebreak.c: New file, from GNU gettext with slight
22016         modifications.
22017         * lib/lbrkprop.h: New file, from GNU gettext.
22018
22019 2003-04-03  Bruno Haible  <bruno@clisp.org>
22020
22021         * modules/utf8-ucs4: New file.
22022         * modules/utf16-ucs4: New file.
22023         * modules/ucs4-utf8: New file.
22024         * modules/ucs4-utf16: New file.
22025         * MODULES.html.sh (func_all_modules): Add them.
22026
22027 2003-04-03  Bruno Haible  <bruno@clisp.org>
22028
22029         * m4/utf-ucs4.m4: New file.
22030         * m4/ucs4-utf.m4: New file.
22031
22032 2003-04-03  Bruno Haible  <bruno@clisp.org>
22033
22034         * lib/utf8-ucs4.h: New file, from GNU gettext.
22035         * lib/utf16-ucs4.h: New file, from GNU gettext.
22036         * lib/ucs4-utf8.h: New file, from GNU gettext.
22037         * lib/ucs4-utf16.h: New file, from GNU gettext.
22038
22039 2003-04-02  Bruno Haible  <bruno@clisp.org>
22040
22041         * modules/binary-io: New file.
22042         * MODULES.html.sh (func_all_modules): Add it.
22043
22044 2003-04-02  Bruno Haible  <bruno@clisp.org>
22045
22046         * lib/binary-io.h: New file, from GNU gettext.
22047
22048 2003-04-01  Bruno Haible  <bruno@clisp.org>
22049
22050         * modules/pathname: New file.
22051         * MODULES.html.sh (func_all_modules): Add it.
22052
22053 2003-04-01  Bruno Haible  <bruno@clisp.org>
22054
22055         * lib/pathname.h: New file, from GNU gettext.
22056         * lib/concatpath.c: New file, from GNU gettext.
22057
22058 2003-03-30  Bruno Haible  <bruno@clisp.org>
22059
22060         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
22061
22062 2003-03-30  Bruno Haible  <bruno@clisp.org>
22063
22064         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
22065         function chown() doesn't exist.
22066
22067 2003-03-28  Bruno Haible  <bruno@clisp.org>
22068
22069         * modules/copy-file: New file.
22070         * MODULES.html.sh (func_all_modules): Add it.
22071
22072 2003-03-28  Bruno Haible  <bruno@clisp.org>
22073
22074         * m4/copy-file.m4: New file.
22075
22076 2003-03-28  Bruno Haible  <bruno@clisp.org>
22077
22078         * lib/copy-file.h: New file, from GNU gettext.
22079         * lib/copy-file.c: New file, from GNU gettext.
22080
22081 2003-03-18  Jim Meyering  <jim@meyering.net>
22082
22083         * lib/quote.c (quote_n): Fix typo in comment.
22084
22085 2003-03-18  Bruno Haible  <bruno@clisp.org>
22086
22087         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
22088         checking.
22089         * m4/onceonly_2_57.m4: Likewise.
22090
22091 2003-03-17  Bruno Haible  <bruno@clisp.org>
22092
22093         * m4/onceonly.m4: Require autoconf 2.54 or newer.
22094         (m4_quote): Remove macro.
22095         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
22096
22097 2003-03-14  Jim Meyering  <jim@meyering.net>
22098
22099         Merge changes from Coreutils.
22100         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
22101         to be const, in order to avoid warnings.
22102         (obstack_room): Likewise.
22103         (obstack_empty_p): Likewise.
22104
22105 2003-03-14  Bruno Haible  <bruno@clisp.org>
22106
22107         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
22108         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
22109
22110 2003-03-13  Paul Eggert  <eggert@twinsun.com>
22111
22112         Merge changes from Bison.
22113         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
22114         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
22115         when compiling Bison 1.875's `bitset bset = obstack_alloc
22116         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
22117         * lib/hash.c: Include <stdbool.h> unconditionally.
22118
22119 2003-03-13  Paul Eggert  <eggert@twinsun.com>
22120
22121         * m4/onceonly.m4 (m4_quote): New macro.
22122         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
22123         Quote AC_FOREACH variable-expansions properly.
22124
22125 2003-03-13  Paul Eggert  <eggert@twinsun.com>
22126
22127         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
22128
22129 2003-03-09  Paul Eggert  <eggert@twinsun.com>
22130
22131         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
22132         Reported by Bruce Becker; see:
22133         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
22134
22135 2003-03-03  Paul Eggert  <eggert@twinsun.com>
22136             Bruno Haible  <bruno@clisp.org>
22137
22138         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
22139         Reported by John Hughes, see
22140         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
22141
22142 2003-02-20  Bruno Haible  <bruno@clisp.org>
22143
22144         * MODULES.html.sh (func_all_modules): Add poll.
22145
22146 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
22147
22148         * modules/poll: New file.
22149
22150 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
22151
22152         * lib/poll_.h: New file.
22153         * lib/poll.c: New file.
22154
22155 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
22156
22157         * m4/poll.m4: New file.
22158
22159 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
22160
22161         * modules/mathl: New file.
22162
22163 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
22164
22165         * lib/mathl.h: New file.
22166         * lib/acosl.c: New file.
22167         * lib/asinl.c: New file.
22168         * lib/atanl.c: New file.
22169         * lib/ceill.c: New file.
22170         * lib/cosl.c: New file.
22171         * lib/expl.c: New file.
22172         * lib/floorl.c: New file.
22173         * lib/frexpl.c: New file.
22174         * lib/ldexpl.c: New file.
22175         * lib/logl.c: New file.
22176         * lib/sincosl.c: New file.
22177         * lib/sinl.c: New file.
22178         * lib/sqrtl.c: New file.
22179         * lib/tanl.c: New file.
22180         * lib/trigl.c: New file.
22181         * lib/trigl.h: New file.
22182
22183 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
22184
22185         * m4/mathl.m4: New file.
22186
22187 2003-02-18  Bruno Haible  <bruno@clisp.org>
22188
22189         * MODULES.html.sh (func_all_modules): Add mathl.
22190
22191 2003-02-17  Bruno Haible  <bruno@clisp.org>
22192
22193         * modules/mkdtemp: New module.
22194         * MODULES.html.sh (func_all_modules): Add it.
22195
22196 2003-02-17  Bruno Haible  <bruno@clisp.org>
22197
22198         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
22199
22200 2003-02-17  Bruno Haible  <bruno@clisp.org>
22201
22202         * lib/mkdtemp.h: New file, from GNU gettext.
22203         * lib/mkdtemp.c: New file, from GNU gettext.
22204
22205 2003-02-02  Jim Meyering  <jim@meyering.net>
22206
22207         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
22208         e.g. glibc-2.2.93.
22209
22210 2003-01-31  Bruno Haible  <bruno@clisp.org>
22211
22212         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
22213         'rpl_rename'.
22214         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
22215         'rpl_strnlen'.
22216         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
22217         'rpl_strtod'.
22218         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
22219         'rpl_utime'.
22220
22221 2003-01-31  Bruno Haible  <bruno@clisp.org>
22222
22223         * lib/rename.c: #undef rename before defining rpl_rename.
22224         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
22225
22226 2003-01-30  Bruno Haible  <bruno@clisp.org>
22227
22228         * modules/vasnprintf, modules/vasprintf: New modules.
22229         * MODULES.html.sh (func_all_modules): Add them.
22230
22231 2003-01-30  Bruno Haible  <bruno@clisp.org>
22232
22233         * m4/signed.m4: New file, from GNU gettext.
22234         * m4/longdouble.m4: New file, from GNU gettext.
22235         * m4/wchar_t.m4: New file, from GNU gettext.
22236         * m4/wint_t.m4: New file, from GNU gettext.
22237         * m4/vasnprintf.m4: New file.
22238         * m4/vasprintf.m4: New file.
22239
22240 2003-01-30  Bruno Haible  <bruno@clisp.org>
22241
22242         * lib/printf-args.h: New file, from GNU gettext.
22243         * lib/printf-args.c: New file, from GNU gettext.
22244         * lib/printf-parse.h: New file, from GNU gettext.
22245         * lib/printf-parse.c: New file, from GNU gettext.
22246         * lib/vasnprintf.h: New file, from GNU gettext.
22247         * lib/vasnprintf.c: New file, from GNU gettext.
22248         * lib/asnprintf.c: New file, from GNU gettext.
22249         * lib/vasprintf.h: New file, from GNU gettext with modifications.
22250         * lib/vasprintf.c: New file, from GNU gettext.
22251         * lib/asprintf.c: New file, from GNU gettext.
22252
22253 2003-01-29  Bruno Haible  <bruno@clisp.org>
22254
22255         * modules/stpncpy: New module.
22256         * MODULES.html.sh (func_all_modules): Add it.
22257
22258 2003-01-29  Bruno Haible  <bruno@clisp.org>
22259
22260         * m4/stpncpy.m4: New file.
22261
22262 2003-01-29  Bruno Haible  <bruno@clisp.org>
22263
22264         * lib/stpncpy.h: New file, from GNU gettext with modifications.
22265         * lib/stpncpy.c: New file, from GNU gettext with modifications.
22266
22267 2003-01-28  Bruno Haible  <bruno@clisp.org>
22268
22269         * modules/c-ctype: New module.
22270         * MODULES.html.sh (func_all_modules): Add it.
22271
22272 2003-01-28  Bruno Haible  <bruno@clisp.org>
22273
22274         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
22275         Paul Eggert.
22276         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
22277         Paul Eggert.
22278
22279 2003-01-27  Bruno Haible  <bruno@clisp.org>
22280
22281         * modules/xsetenv: New module.
22282         * MODULES.html.sh (func_all_modules): Add it.
22283
22284 2003-01-27  Bruno Haible  <bruno@clisp.org>
22285
22286         * lib/xsetenv.h: New file, from GNU gettext.
22287         * lib/xsetenv.c: New file, from GNU gettext.
22288
22289 2003-01-23  Jim Meyering  <jim@meyering.net>
22290
22291         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
22292         from working on systems without dirfd (at least Irix and OSF1/Tru64).
22293
22294 2003-01-23  Bruno Haible  <bruno@clisp.org>
22295
22296         * modules/minmax: New module.
22297         * MODULES.html.sh (func_all_modules): Add it.
22298
22299 2003-01-23  Bruno Haible  <bruno@clisp.org>
22300
22301         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
22302         Eggert.
22303
22304 2003-01-22  Bruno Haible  <bruno@clisp.org>
22305
22306         * modules/exit: New module.
22307         * MODULES.html.sh (func_all_modules): Add it.
22308
22309 2003-01-22  Bruno Haible  <bruno@clisp.org>
22310
22311         * lib/exit.h: New file, from GNU gettext.
22312
22313 2003-01-19  Bruno Haible  <bruno@clisp.org>
22314
22315         * gnulib-tool: Recognize option --extract-maintainer.
22316         (func_get_maintainer): New function.
22317         * modules/*: Add Maintainer entry.
22318
22319 2003-01-16  Jim Meyering  <jim@meyering.net>
22320
22321         * m4/regex.m4: The `regex' struct is both input and output.
22322         Initialize it before each use.  Patch by Tim Waugh.
22323
22324 2003-01-16  Bruno Haible  <bruno@clisp.org>
22325
22326         * MODULES.html.sh: Add a table of contents. Add the module name as
22327         leftmost column. Add hyperlinks.
22328
22329 2003-01-15  Bruno Haible  <bruno@clisp.org>
22330
22331         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
22332
22333 2003-01-15  Bruno Haible  <bruno@clisp.org>
22334
22335         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
22336         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
22337         suffix.
22338
22339 2003-01-15  Bruno Haible  <bruno@clisp.org>
22340
22341         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
22342
22343 2003-01-15  Bruno Haible  <bruno@clisp.org>
22344
22345         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
22346         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
22347
22348 2003-01-14  Jim Meyering  <jim@meyering.net>
22349
22350         * lib/same.c (same_name): Tweak a comment.
22351
22352 2003-01-14  Bruno Haible  <bruno@clisp.org>
22353
22354         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
22355         when a string comparison is sufficient.
22356
22357 2003-01-14  Bruno Haible  <bruno@clisp.org>
22358
22359         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
22360         'unsigned int'.
22361
22362 2003-01-14  Bruno Haible  <bruno@clisp.org>
22363
22364         * lib/hash-pjw.c: Add comment about low quality of this function.
22365
22366 2003-01-13  Bruno Haible  <bruno@clisp.org>
22367
22368         * modules/stpcpy: Distribute lib/stpcpy.h.
22369         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
22370
22371 2003-01-13  Bruno Haible  <bruno@clisp.org>
22372
22373         * modules/*: Add a description.
22374         * modules/strpbrk: Fix Makefile.am snippet.
22375         * modules/strtoimax: Fix dependencies.
22376         * modules/strtoumax: Likewise.
22377
22378 2003-01-13  Bruno Haible  <bruno@clisp.org>
22379
22380         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
22381         * modules/alloca (Makefile.am): All object files depend on alloca.h.
22382         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
22383
22384 2003-01-13  Bruno Haible  <bruno@clisp.org>
22385
22386         * gnulib-tool (func_create_testdir): Store config/* files in the main
22387         directory.
22388         * config.rpath: Move to ...
22389         * config/config.rpath: ... here.
22390         * modules/gettext: Contains config/config.rpath, not config.rpath.
22391         * modules/iconv: Likewise.
22392
22393 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22394
22395         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22396         to avoid collisions with libcurses and libreadline.
22397
22398         * m4/getstr.m4: Remove.
22399         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
22400
22401 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22402
22403         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22404         to avoid collisions with libcurses and libreadline.
22405
22406         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
22407         * lib/getstr.h, getstr.c: Remove.
22408         * lib/getline.c: Include "getline.h", to check interface.
22409         Move body of old getstr.c here: this defines MIN_CHUNK and
22410         declares getdelim2, which is renamed from getstr.
22411         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
22412
22413         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
22414         All uses changed.
22415         * lib/linebuffer.h: Likewise.
22416         (readline): Remove backward-compatibility macro.
22417
22418 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22419
22420         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22421         to avoid collisions with libcurses and libreadline.
22422         * getstr: Remove.
22423         * MODULES.html.sh: Remove getstr.
22424         * modules/getline: Depend on unlocked-io, not getstr.
22425
22426 2003-01-12  Jim Meyering  <jim@meyering.net>
22427
22428         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
22429
22430 2003-01-10  Bruno Haible  <bruno@clisp.org>
22431
22432         * modules/alloca: Change Makefile.am requirements. Simplify Include
22433         requirements. Add lib/alloca_.h to file list.
22434
22435 2003-01-10  Bruno Haible  <bruno@clisp.org>
22436
22437         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
22438
22439 2003-01-10  Bruno Haible  <bruno@clisp.org>
22440
22441         * lib/alloca_.h: New file.
22442         * lib/getdate.y: Unconditionally include alloca.h.
22443         * lib/makepath.c: Likewise.
22444         * lib/setenv.c: Likewise.
22445         * lib/userspec.c: Likewise.
22446
22447 2003-01-09  Karl Berry  <karl@gnu.org>
22448
22449         * MODULES.html.sh: include `dirname $0` in PATH, to find
22450         gnulib-tool.
22451
22452 2003-01-09  Bruno Haible  <bruno@clisp.org>
22453
22454         * modules/stdbool: Change configure.ac, Makefile.am requirements.
22455         Simplify Include requirements. Add lib/stdbool.h.in to file list.
22456
22457 2003-01-09  Bruno Haible  <bruno@clisp.org>
22458
22459         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
22460
22461 2003-01-09  Bruno Haible  <bruno@clisp.org>
22462
22463         * lib/stdbool.h.in: New file.
22464
22465 2003-01-09  Bruno Haible  <bruno@clisp.org>
22466
22467         * gnulib-tool (func_all_modules): Ignore files ending in ~.
22468         * MODULES.html.sh: Likewise.
22469
22470 2003-01-08  Jim Meyering  <jim@meyering.net>
22471
22472         * lib/full-write.c: Undefine and define-away `const' after inclusion
22473         of errno.h, not before.  Suggestion from Bruno Haible.
22474
22475 2003-01-08  Bruno Haible  <bruno@clisp.org>
22476
22477         * modules/full-read: Depend on full-write.
22478
22479 2003-01-08  Bruno Haible  <bruno@clisp.org>
22480
22481         * lib/safe-read.c: Include specification header first, to ensure its
22482         selfcontainedness.
22483         * lib/full-write.c: Likewise.
22484
22485 2003-01-07  Jim Meyering  <jim@meyering.net>
22486
22487         * lib/full-write.c: Rework so that it may serve to define full_read,
22488         too.
22489         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
22490
22491 2003-01-07  Bruno Haible  <bruno@clisp.org>
22492
22493         * lib/strtoimax.c: Include <stdint.h> as an alternative to
22494         <inttypes.h>.
22495         * lib/xstrtol.h: Likewise.
22496         * lib/xstrtoimax.c: Likewise.
22497         * lib/xstrtoumax.c: Likewise.
22498         * lib/human.h: Likewise.
22499
22500         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
22501         on systems that have <inttypes.h> but not <stdint.h>.
22502
22503 2003-01-07  Bruno Haible  <bruno@clisp.org>
22504
22505         * MODULES.html.sh: Add copyright notice.
22506         (missed_files): Omit CVS directory entries.
22507         (func_module): Make it work with sed-3.02.
22508         * MODULES.txt: Remove file.
22509
22510 2003-01-06  Jim Meyering  <jim@meyering.net>
22511
22512         * lib/version-etc.c: Update year in translatable copyright string.
22513
22514 2003-01-03  Karl Berry  <karl@gnu.org>
22515
22516         * config/config.{guess,sub}: update from prep.
22517
22518 2003-01-02  Karl Berry  <karl@gnu.org>
22519
22520         * doc/COPYING.DOC: belatedly updated to 1.2.
22521
22522 2003-01-01  Karl Berry  <karl@gnu.org>
22523
22524         * gnulib-tool (func_verify_module): report module name $module in
22525         error message, not $1.
22526         * gnulib-tool (create-testdir): don't complain if destdir couldn't
22527         be created, only if it doesn't exist.
22528         * gnulib-tool (last_checkin_date): don't expand the $Date here.
22529
22530 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22531
22532         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
22533
22534 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22535
22536         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
22537         memcmp if strcoll doesn't work.
22538
22539 2002-12-31  Bruno Haible  <bruno@clisp.org>
22540
22541         * lib/utime.c (utime_null): No need to call ftruncate if the file was
22542         nonempty.
22543
22544 2002-12-31  Bruno Haible  <bruno@clisp.org>
22545
22546         * lib/memcoll.c (STRCOLL): New macro.
22547         (memcoll): Use it.
22548
22549 2002-12-31  Bruno Haible  <bruno@clisp.org>
22550
22551         * lib/localcharset.h: New file.
22552         * lib/localcharset.c: Include it.
22553         * lib/unicodeio.c: Likewise.
22554
22555 2002-12-31  Bruno Haible  <bruno@clisp.org>
22556
22557         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
22558         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
22559
22560 2002-12-31  Bruno Haible  <bruno@clisp.org>
22561
22562         * lib/getline.h: Include <stddef.h>, for size_t.
22563
22564         * lib/unicodeio.h: Include <stddef.h>, for size_t.
22565         * lib/unicodeio.c: Don't include <stddef.h>.
22566
22567 2002-12-31  Bruno Haible  <bruno@clisp.org>
22568
22569         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
22570         HAVE_TM_ZONE.
22571
22572 2002-12-24  Karl Berry  <karl@gnu.org>
22573
22574         * config/config.guess: update from prep.
22575
22576 2002-12-24  Bruno Haible  <bruno@clisp.org>
22577
22578         General infrasructure.
22579         * m4/README: Rewritten.
22580         * m4/onceonly.m4: New file.
22581         * m4/onceonly_2_57.m4: New file.
22582
22583         Module atexit.
22584         * m4/atexit.m4: New file.
22585
22586         Module strtod.
22587         * m4/strtod.m4: New file.
22588
22589         Module strtol.
22590         * m4/strtol.m4: New file.
22591
22592         Module strtoul.
22593         * m4/strtoul.m4: New file.
22594
22595         Module memchr.
22596         * m4/memchr.m4: New file.
22597
22598         Module memcmp.
22599         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
22600         (jm_FUNC_MEMCMP): Invoke it.
22601
22602         Module memcpy.
22603         * m4/memcpy.m4: New file.
22604
22605         Module memmove.
22606         * m4/memmove.m4: New file.
22607
22608         Module memset.
22609         * m4/memset.m4: New file.
22610
22611         Module strcspn.
22612         * m4/strcspn.m4: New file.
22613
22614         Module strpbrk.
22615         * m4/strpbrk.m4: New file.
22616
22617         Module strstr.
22618         * m4/strstr.m4: New file.
22619
22620         Module strerror.
22621         * m4/strerror.m4: New file.
22622
22623         Module mktime.
22624         * m4/mktime.m4: Renamed from jm-mktime.m4.
22625         (gl_PREREQ_MKTIME): New macro.
22626         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
22627
22628         Module malloc.
22629         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
22630         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
22631         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
22632
22633         Module realloc.
22634         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
22635         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
22636         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
22637
22638         Module strftime.
22639         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
22640         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
22641         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
22642         gl_TM_GMTOFF.
22643         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
22644
22645         Module xalloc.
22646         * m4/xalloc.m4: New file.
22647
22648         Module alloca.
22649         * m4/alloca.m4: New file.
22650
22651         Module putenv.
22652         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
22653         (jm_FUNC_PUTENV): Invoke it.
22654
22655         Module setenv.
22656         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
22657         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
22658         when invoked twice.
22659         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
22660         gt_FUNC_SETENV.
22661
22662         Module memrchr.
22663         * m4/memrchr.m4: New file.
22664
22665         Module stpcpy.
22666         * m4/stpcpy.m4: New file.
22667
22668         Module strcase.
22669         * m4/strcase.m4: New file.
22670
22671         Module strdup.
22672         * m4/strdup.m4: New file.
22673
22674         Module strnlen.
22675         * m4/strnlen.m4: New file.
22676
22677         Module strndup.
22678         * m4/strndup.m4: New file.
22679
22680         Module xstrtod.
22681         * m4/xstrtod.m4: New file.
22682
22683         Module xstrtol.
22684         * m4/xstrtol.m4: New file.
22685
22686         Module getdate.
22687         * m4/getdate.m4: New file.
22688
22689         Module unlocked-io.
22690         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
22691         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
22692         * m4/jm-glibc-io.m4n: Remove file.
22693
22694         Module long-options.
22695         * m4/long-options.m4: New file.
22696
22697         Module md5.
22698         * m4/md5.m4: New file.
22699
22700         Module sha.
22701         * m4/sha.m4: New file.
22702
22703         Module getstr.
22704         * m4/getstr.m4: New file.
22705
22706         Module getline.
22707         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
22708         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
22709         <sys/types.h>, for size_t. Use the function name gnu_getline, not
22710         simply getline. Infoke gl_PREREQ_GETLINE.
22711
22712         Module obstack.
22713         * m4/obstack.m4: New file.
22714
22715         Module hash.
22716         * m4/hash.m4: New file.
22717
22718         Module readtokens.
22719         * m4/readtokens.m4: New file.
22720
22721         Module strverscmp.
22722         * m4/strverscmp.m4: New file.
22723
22724         Module stdbool.
22725         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
22726         OSF/1.
22727
22728         Module strtoll.
22729         * m4/strtoll.m4: New file.
22730
22731         Module strtoull.
22732         * m4/strtoull.m4: New file.
22733
22734         Module strtoimax.
22735         * m4/strtoimax.m4: New file.
22736
22737         Module strtoumax.
22738         * m4/strtoumax.m4: New file.
22739
22740         Module xstrtoimax.
22741         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
22742         jm_AC_PREREQ_XSTRTOIMAX.
22743         Moved the strtol prerequisites to strtol.m4.
22744         Moved the strtoll prerequisites to strtoll.m4.
22745         Moved the strtoimax prerequisites to strtoimax.m4.
22746
22747         Module xstrtoumax.
22748         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
22749         jm_AC_PREREQ_XSTRTOUMAX.
22750         Moved the strtoul prerequisites to strtoul.m4.
22751         Moved the strtoull prerequisites to strtoull.m4.
22752         Moved the strtoumax prerequisites to strtoumax.m4.
22753
22754         Module chown.
22755         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
22756         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
22757
22758         Module dup2.
22759         * m4/dup2.m4: New file.
22760
22761         Module ftruncate.
22762         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
22763         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
22764
22765         Module getgroups.
22766         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
22767         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
22768
22769         Module gettimeofday.
22770         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
22771         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
22772         gl_PREREQ_GETTIMEOFDAY.
22773
22774         Module mkdir.
22775         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
22776         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
22777
22778         Module mkstemp.
22779         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
22780         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
22781         jm_AC_TYPE_UINTMAX_T.
22782         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
22783
22784         Module stat.
22785         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
22786         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
22787
22788         Module lstat.
22789         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
22790         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
22791
22792         Module timespec.
22793         * m4/timespec.m4 (gl_TIMESPEC): New macro.
22794         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
22795         * m4/st_mtim.m4: Indentation.
22796
22797         Module nanosleep.
22798         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
22799         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
22800         gl_PREREQ_NANOSLEEP.
22801
22802         Module regex.
22803         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
22804         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
22805         (gl_REGEX): New macro.
22806
22807         Module rename.
22808         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
22809         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
22810
22811         Module rmdir.
22812         * m4/rmdir.m4: New file.
22813
22814         Module utime.
22815         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
22816         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
22817         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
22818
22819         Module dirname.
22820         * m4/dirname.m4: New file.
22821
22822         Module getopt.
22823         * m4/getopt.m4: New file.
22824
22825         Module unistd-safer.
22826         * m4/unistd-safer.m4: New file.
22827
22828         Module fnmatch.
22829         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
22830         declaration.
22831         (gl_PREREQ_FNMATCH_EXTRA): New macro.
22832         (gl_FUNC_FNMATCH_POSIX): New macro.
22833         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
22834         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
22835         simply fnmatch.
22836
22837         Module exclude.
22838         * m4/exclude.m4: New file.
22839
22840         Module human.
22841         * m4/human.m4: New file.
22842
22843         Module acl.
22844         * m4/acl.m4: Nop.
22845
22846         Module backupfile.
22847         * m4/backupfile.m4: New file.
22848         * m4/d-ino.m4: Indentation.
22849
22850         Module fsusage.
22851         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
22852         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
22853         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
22854
22855         Module dirfd.
22856         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
22857         requirements.
22858
22859         Module euidaccess.
22860         * m4/euidaccess.m4: New file.
22861
22862         Module file-type.
22863         * m4/file-type.m4: New file.
22864
22865         Module fileblocks.
22866         * m4/fileblocks.m4: New file.
22867
22868         Module filemode.
22869         * m4/filemode.m4: New file.
22870
22871         Module isdir.
22872         * m4/isdir.m4: New file.
22873
22874         Module lchown.
22875         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
22876         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
22877
22878         Module makepath.
22879         * m4/makepath.m4: New file.
22880
22881         Module modechange.
22882         * m4/modechange.m4: New file.
22883
22884         Module mountlist.
22885         * m4/mountlist.m4: New file.
22886         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
22887         Indentation.
22888
22889         Module path-concat.
22890         * m4/path-concat.m4: New file.
22891
22892         Module pathmax.
22893         * m4/pathmax.m4: New file.
22894
22895         Module same.
22896         * m4/same.m4: New file.
22897
22898         Module save-cwd.
22899         * m4/save-cwd.m4: New file.
22900
22901         Module savedir.
22902         * m4/savedir.m4: New file.
22903
22904         Module xgetcwd.
22905         * m4/xgetcwd.m4: New file.
22906         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
22907
22908         Module xreadlink.
22909         * m4/xreadlink.m4: New file.
22910
22911         Module safe-read.
22912         * m4/safe-read.m4: New file.
22913
22914         Module safe-write.
22915         * m4/safe-write.m4: New file.
22916
22917         Module closeout.
22918         * m4/closeout.m4: New file.
22919
22920         Module stdio-safer.
22921         * m4/stdio-safer.m4: New file.
22922
22923         Module getpass.
22924         * m4/getpass.m4: New file.
22925
22926         Module getugroups.
22927         * m4/getugroups.m4: New file.
22928
22929         Module group-member.
22930         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
22931         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
22932
22933         Module idcache.
22934         * m4/idcache.m4: New file.
22935
22936         Module userspec.
22937         * m4/userspec.m4: New file.
22938
22939         Module gettime.
22940         * m4/clock_time.m4: New file.
22941         * m4/gettime.m4: New file.
22942
22943         Module settime.
22944         * m4/settime.m4: New file.
22945
22946         Module posixtm.
22947         * m4/posixtm.m4: New file.
22948
22949         Module gethostname.
22950         * m4/gethostname.m4: New file.
22951
22952         Module canon-host.
22953         * m4/canon-host.m4: New file.
22954
22955         Module gettext.
22956         * m4/codeset.m4: New file, from gettext-0.11.5.
22957         * m4/gettext.m4: New file, from gettext-0.11.5.
22958         * m4/glibc21.m4: New file, from gettext-0.11.5.
22959         * m4/iconv.m4: New file, from gettext-0.11.5.
22960         * m4/intdiv0.m4: New file, from gettext-0.11.5.
22961         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
22962         * m4/inttypes.m4: New file, from gettext-0.11.5.
22963         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
22964         * m4/isc-posix.m4: New file, from gettext-0.11.5.
22965         * m4/lcmessage.m4: New file, from gettext-0.11.5.
22966         * m4/lib-ld.m4: New file, from gettext-0.11.5.
22967         * m4/lib-link.m4: New file, from gettext-0.11.5.
22968         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
22969         * m4/progtest.m4: New file, from gettext-0.11.5.
22970         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
22971         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
22972         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
22973
22974         Module localcharset.
22975         * m4/localcharset.m4: New file.
22976
22977         Module hard-locale.
22978         * m4/hard-locale.m4: New file.
22979
22980         Module mbswidth.
22981         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
22982         onceonly macros.
22983         * m4/mbrtowc.m4: Add comment.
22984
22985         Module memcasecmp.
22986         * m4/memcasecmp.m4: New file.
22987
22988         Module memcoll.
22989         * m4/memcoll.m4: New file.
22990
22991         Module unicodeio.
22992         * m4/unicodeio.m4: New file.
22993
22994         Module rpmatch.
22995         * m4/rpmatch.m4: New file.
22996
22997         Module yesno.
22998         * m4/yesno.m4: New file.
22999
23000         Module exitfail.
23001         * m4/exitfail.m4: New file.
23002
23003         Module c-stack.
23004         * m4/c-stack.m4 (gl_C_STACK): New macro.
23005         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
23006
23007         Module error.
23008         * m4/error.m4 (gl_ERROR): New macro.
23009         (jm_PREREQ_ERROR): Use onceonly macros.
23010
23011         Module fatal.
23012         * m4/fatal.m4: New file.
23013
23014         Module getloadavg.
23015         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
23016         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
23017
23018         Module getpagesize.
23019         * m4/getpagesize.m4: New file.
23020
23021         Module getusershell.
23022         * m4/getusershell.m4: New file.
23023
23024         Module physmem.
23025         * m4/physmem.m4: New file.
23026
23027         Module posixver.
23028         * m4/posixver.m4: New file.
23029
23030         Module quotearg.
23031         * m4/quotearg.m4: New file.
23032
23033         Module quote.
23034         * m4/quote.m4: New file.
23035
23036         Module readutmp.
23037         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
23038
23039         Module sig2str.
23040         * m4/sig2str.m4: New file.
23041
23042         Other.
23043         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
23044         ulonglong.m4.
23045         * m4/intmax_t.m4: New file.
23046         * m4/d-type.m4: Indentation.
23047         * m4/jm-macros.m4: Update.
23048         * m4/prereq.m4 (jm_PREREQ): Update.
23049         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
23050         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
23051         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
23052         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
23053         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
23054         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
23055         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
23056         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
23057         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
23058         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
23059         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
23060         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
23061         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
23062         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
23063         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
23064         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
23065         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
23066         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
23067         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
23068
23069 2002-12-24  Bruno Haible  <bruno@clisp.org>
23070
23071         * MODULES.txt: Update according to m4/ changes.
23072
23073         Module gettext.
23074         * config.rpath: New file, from gettext-0.11.5.
23075
23076         * modules/*: New module descriptions.
23077         * gnulib-tool: New file.
23078         * MODULES.html.sh: New file.
23079
23080 2002-12-21  Karl Berry  <karl@gnu.org>
23081
23082         * doc/fdl.texi: update to version 1.2.
23083
23084 2002-12-19  Karl Berry  <karl@gnu.org>
23085
23086         * config/config.guess: update from prep.
23087
23088 2002-12-18  Bruno Haible  <bruno@clisp.org>
23089
23090         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
23091         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
23092
23093 2002-12-17  Bruno Haible  <bruno@clisp.org>
23094
23095         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
23096         stdlib.h, string.h.
23097
23098 2002-12-17  Bruno Haible  <bruno@clisp.org>
23099
23100         * lib/canon-host.c (strdup): Remove unused declaration.
23101
23102         * lib/fsusage.c: Include full_read.h.
23103         (get_fs_usage): Use full_read instead of safe_read.
23104
23105         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
23106
23107 2002-12-12  Karl Berry  <karl@gnu.org>
23108
23109         * config/config.guess: update from prep.
23110
23111 2002-12-11  Bruno Haible  <bruno@clisp.org>
23112
23113         * m4/setenv.m4: New file, from gettext-0.11.5.
23114
23115 2002-12-11  Bruno Haible  <bruno@clisp.org>
23116
23117         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
23118         not unsetenv().
23119         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
23120         modifications:
23121
23122         2002-12-11  Bruno Haible  <bruno@clisp.org>
23123
23124                 * setenv.c (alloca): Fall back to malloc.
23125                 (freea): New macro.
23126                 (setenv): Use freea() to free memory allocated with alloca().
23127
23128         2002-11-13  Bruno Haible  <bruno@clisp.org>
23129
23130                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
23131                 function declarations.
23132                 * unsetenv.c (unsetenv): Likewise.
23133
23134         2002-03-04  Bruno Haible  <bruno@clisp.org>
23135
23136                 Portability to AIX 4.3.3.
23137                 * unsetenv.c: New file, extracted from setenv.c.
23138                 * setenv.c: Move the unsetenv() function to unsetenv.c.
23139
23140         2001-12-20  Bruno Haible  <bruno@clisp.org>
23141
23142                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
23143                 use malloc instead. For SunOS 4.
23144
23145         2001-12-11  Bruno Haible  <bruno@clisp.org>
23146
23147                 * setenv.c: Declare alloca.
23148                 (compar_fn_t): New typedef.
23149                 (KNOWN_VALUE, STORE_VALUE): Use it.
23150
23151         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
23152         setenv.h.
23153
23154 2002-12-10  Paul Eggert  <eggert@twinsun.com>
23155
23156         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
23157         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
23158         Choose values that are less likely to collide with system fnmatch
23159         options.
23160         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
23161         defined (e.g., a pure POSIX system).
23162         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
23163         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
23164
23165 2002-12-06  Paul Eggert  <eggert@twinsun.com>
23166
23167         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
23168         a pain in practice to deal with generated m4 files.  This change
23169         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
23170
23171         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
23172         and jm-glibc-io.m4, as they are no longer a special case.
23173         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
23174         kludge and the auto-generation stuff.  Check only whether the
23175         functions are declared, not whether they exist, since older hosts
23176         that don't declare the functions can't use the optimization anyway.
23177
23178 2002-12-06  Jim Meyering  <jim@meyering.net>
23179
23180         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
23181
23182         Merge in changes from libc's misc/error.c, in preparation
23183         for the merge of gnulib's changes back into libc.
23184
23185         * lib/error.c (_): Define only if not already defined.
23186         Move definition to follow all #include directives.
23187         Include unlocked-io.h only if !_LIBC.
23188         [_LIBC]: Include <libio/libioP.h>.
23189         [USE_IN_LIBIO]: Include <libio/iolibio.h>
23190         (fflush): Tweak definition to use INTUSE.
23191         (putc): Define.
23192
23193 2002-12-05  Paul Eggert  <eggert@twinsun.com>
23194
23195         * lib/alloca.c [defined emacs]: Include "lisp.h".
23196         (xalloc_die) [defined emacs]: New macro.
23197         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
23198         [! defined emacs]: Include <xalloc.h>.
23199         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
23200         (pointer): Typedef to POINTER_TYPE *.
23201         (malloc): Remove decl; we now always use xmalloc.
23202         (alloca): Use old-style definition, since Emacs needs this.
23203         Check for arithmetic overflow when computing combined size.
23204
23205 2002-12-04  Paul Eggert  <eggert@twinsun.com>
23206
23207         Do not generate unlocked-io.h automatically, since it's easier to
23208         maintain it by hand.
23209
23210         * lib/unlocked-io.h: New file, from GNU diffutils,
23211         but with proper copyright notice and attribution.
23212         * lib/gen-uio: Remove.
23213         * lib/Makefile.am: Add copyright notice.
23214         (libfetish_a_SOURCES): Add unlocked-io.h.
23215         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
23216         (DISTCLEANFILES, io_functions): Remove macros.
23217         (EXTRA_DIST): Remove gen_uio.
23218         (unlocked-io.h): Remove rule.
23219
23220 2002-12-04  Jim Meyering  <jim@meyering.net>
23221
23222         Reflect the fact that stat.c and lstat.c are no longer generated.
23223         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
23224         (DISTCLEANFILES): Likewise.
23225         (EXTRA_DIST): Likewise.
23226         (all_local): Don't depend on stat.c or lstat.c.
23227         (stat.c, lstat.c): Remove rules.
23228         (EXTRA_DIST): Remove xstat.in.
23229
23230         * lib/xstat.in: Remove file.  Contents moved into stat.c.
23231         * lib/stat.c: New file.  Contents mostly from xstat.in.
23232         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
23233         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
23234
23235         * lib/safe-read.c: Rework so that it may serve to define safe_write,
23236         too.
23237         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
23238
23239 2002-12-03  Jim Meyering  <jim@meyering.net>
23240
23241         * lib/safe-read.c, safe-write.c: Change variable names and comments,
23242         but not semantics, to minimize the differences between these two files.
23243         (safe_read): Change comment to mention SAFE_READ_ERROR.
23244
23245         * lib/safe-read.c (IS_EINTR): Define.
23246         (safe_read): Use IS_EINTR in place of in-function cpp directives.
23247
23248 2002-12-02  Jim Meyering  <jim@meyering.net>
23249
23250         * lib/safe-read.c (EINTR): Define.
23251         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
23252         (INT_MAX): Provide fallback.
23253         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
23254
23255         * lib/safe-read.h (SAFE_READ_ERROR): Define.
23256
23257 2002-12-02  Bruno Haible  <bruno@clisp.org>
23258
23259         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
23260         Define, taken from safe-read.c.
23261         (INT_MAX): Provide fallback.
23262         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
23263         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
23264
23265         * lib/safe-read.c (EINTR): Remove definition.
23266         (safe_read): Don't use EINTR if it is absent.
23267
23268 2002-12-01  Jim Meyering  <jim@meyering.net>
23269
23270         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
23271         zero.
23272         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
23273
23274 2002-11-27  Paul Eggert  <eggert@twinsun.com>
23275
23276         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
23277         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
23278         with `if (! (value < limit)) abort ();', for readability.
23279
23280 2002-11-26  Karl Berry  <karl@gnu.org>
23281
23282         * lib/strdup.c: copy from libc again, with jim's ok.
23283         * lib/.cppi-disable: re-add strdup.c
23284
23285 2002-11-25  Karl Berry  <karl@gnu.org>
23286
23287         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
23288         instead of "strtol.c".
23289
23290 2002-11-25  Karl Berry  <karl@gnu.org>
23291
23292         * config/install-sh: update from automake for variable quoting, $0 in
23293         error msgs, etc.
23294
23295         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
23296         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
23297         entry.
23298
23299 2002-11-25  Jim Meyering  <jim@meyering.net>
23300
23301         * lib/mktime.c: Sync from libc, now that it has the latest fix.
23302
23303 2002-11-24  Karl Berry  <karl@gnu.org>
23304
23305         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
23306         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
23307
23308 2002-11-24  Jim Meyering  <jim@meyering.net>
23309
23310         Update from coreutils:
23311
23312         * lib/mktime.c: Merge in changes from libc.
23313
23314         Avoid a link-time failure on some Linux systems.
23315         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
23316         (otherwise).
23317         (__mon_yday): Declare with the STATIC attribute.
23318         (__mktime_internal): Likewise.
23319         Based on a report from Greg Schafer.
23320
23321 2002-11-23  Jim Meyering  <jim@meyering.net>
23322
23323         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
23324         Use `unsigned', not `int', as type of index.
23325
23326         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
23327
23328         * lib/fsusage.c: Remove unneeded parentheses around operands of
23329         `defined'.
23330
23331 2002-11-22  Paul Eggert  <eggert@twinsun.com>
23332
23333         * lib/quotearg.h: Allow multiple inclusion by surrounding with
23334         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
23335         so that we can be included first.
23336         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
23337         * lib/quotearg.c: Include quotearg.h immediately after config.h.
23338         No need to include stddef.h or sys/types.h any more.
23339         Surround local include files with "", not "<>".
23340         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
23341         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
23342         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
23343         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
23344         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
23345         (ISPRINT): Remove; no longer needed now that we assume C89.
23346
23347         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
23348         Preserve errno.
23349
23350         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
23351         quotearg_char): Use SIZE_MAX rather than
23352         (size_t) -1 when we are talking about "infinity".
23353
23354         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
23355
23356 2002-11-22  Paul Eggert  <eggert@twinsun.com>
23357
23358         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
23359         hint that one should use `if (! x) abort ();' rather than `assert
23360         (x);', and anyway it's one less thing to worry about configuring.
23361         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
23362         hash_rehash, hash_insert): Use abort rather than assert.
23363
23364 2002-11-22  Bruno Haible  <bruno@clisp.org>
23365
23366         * lib/safe-read.h: Assume C89. Add comments.
23367         (safe_read): Change return type to size_t.
23368         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
23369         byte counts > SSIZE_MAX correctly.
23370         * lib/safe-write.h: New file.
23371         * lib/safe-write.c: New file.
23372         * lib/full-read.h: New file.
23373         * lib/full-read.c: New file.
23374         * lib/full-write.h: Assume C89. Add comments.
23375         * lib/full-write.c: Include safe-write.h.
23376         (full_write): Rewritten to use safe_write.
23377         Suggested by Jim Meyering and Paul Eggert.
23378
23379 2002-11-21  Jim Meyering  <jim@meyering.net>
23380
23381         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
23382
23383         Merge in changes from the coreutils.
23384
23385         2002-09-25  Paul Eggert  <eggert@twinsun.com>
23386         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
23387         <stdint.h>.
23388         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
23389         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
23390         int.  Work more efficiently if X is the same width as uintmax_t.
23391         Do not compare X to -1, to avoid bogus compiler warning.
23392         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
23393         Don't assume that f_frsize and f_bsize are the same type.
23394
23395         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
23396         warning on FreeBSD.
23397
23398         * lib/makepath.c (make_path): Restore umask *before* creating the final
23399         component.
23400         (make_path): Minor reformatting.
23401
23402         * lib/xmalloc.c: Adjust to work with new autoconf macros,
23403         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
23404         HAVE_MALLOC/HAVE_REALLOC.
23405
23406         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
23407         dummy ones.  At least on GNU/Linux systems, `auto' means something
23408         else.
23409         From Michael Stone.
23410
23411 2002-11-21  Bruno Haible  <bruno@clisp.org>
23412
23413         Remove case insensitive option matching.
23414         * lib/argmatch.h (argcasematch): Remove declaration.
23415         (ARGCASEMATCH): Remove macro.
23416         (__xargmatch_internal): Remove case_sensitive argument.
23417         (XARGMATCH): Update.
23418         (XARGCASEMATCH): Remove macro.
23419         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
23420         case_sensitive argument.
23421         (argcasematch): Remove function.
23422         (__xargmatch_internal): Remove case_sensitive argument.
23423         (main): Use XARGMATCH instead of XARGCASEMATCH.
23424
23425         * lib/xmalloc.c: Change compile-time error message. Add comment about
23426         required autoconf version.
23427
23428 2002-11-20  Paul Eggert  <eggert@twinsun.com>
23429
23430         Merge argmatch cleanups from Bison.  Assume C89.
23431
23432         * lib/argmatch.c: Include config.h here, not in argmatch.h.
23433         Include stdlib.h, for EXIT_FAILURE.
23434         Always include <string.h>, since we assume C89.
23435         (EXIT_FAILURE): Remove pre-C89 bug workaround.
23436         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
23437         Include <stddef.h> instead, since it's all we need for size_t.
23438         (PARAMS): Remove.  All uses removed.
23439         (ARRAY_CARDINALITY): Do not bother to #undef.
23440         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
23441         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23442         Remove unnecessary parentheses.
23443         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23444         Insert necessary parentheses.
23445         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
23446         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
23447
23448 2002-11-19  Bruno Haible  <bruno@clisp.org>
23449
23450         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
23451         * lib/mbswidth.h: Include <stddef.h>, for size_t.
23452
23453         * lib/mbswidth.h (PARAMS): Remove macro.
23454         (mbswidth, mbsnwidth): Use ANSI C function declarations.
23455         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
23456
23457         * lib/gcd.h (PARAMS): Remove macro.
23458         (gcd): Use ANSI C function declarations.
23459         * lib/gcd.c (gcd): Likewise.
23460
23461 2002-11-15  Bruno Haible  <bruno@clisp.org>
23462
23463         * lib/strcspn.c: Include <stddef.h>.
23464         (strcspn): Use ANSI C function declaration. Change return type to
23465         size_t. Use NULL.
23466         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
23467         (strpbrk): Use NULL.
23468         * lib/strpbrk.h (PARAMS): Remove macro.
23469         (strpbrk): Use ANSI C function declaration.
23470         * lib/strstr.c: Don't include <sys/types.h>.
23471         * lib/strstr.h (PARAMS): Remove macro.
23472         (strstr): Use ANSI C function declarations.
23473
23474 2002-11-14  Karl Berry  <karl@gnu.org>
23475
23476         * config/mkinstalldirs: `do' on separate line, instead of
23477         `for var; do'.
23478
23479 2002-11-06  Bruno Haible  <bruno@clisp.org>
23480
23481         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
23482         * lib/gcd.c (gcd): Likewise.
23483
23484 2002-11-05  Bruno Haible  <bruno@clisp.org>
23485
23486         * lib/gcd.h: New file, from gettext-0.11.5.
23487         * lib/gcd.c: New file, from gettext-0.11.5.
23488
23489 2002-11-05  Bruno Haible  <bruno@clisp.org>
23490
23491         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23492         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23493         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23494         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23495
23496         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
23497         <libintl.h>.
23498         * lib/makepath.c: Include gettext.h instead of <locale.h> and
23499         <libintl.h>.
23500
23501         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
23502         * lib/human.c: Include gettext.h instead of <libintl.h>.
23503         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
23504         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
23505         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
23506         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
23507         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
23508         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
23509         (textdomain): Remove definition.
23510         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
23511
23512         * lib/long-options.c: Remove include of <libintl.h> and definition of
23513         _.
23514         * lib/same.c: Remove include of <libintl.h> and definition of _.
23515
23516 2002-11-04  Owen Taylor  <otaylor@redhat.com>
23517
23518         * lib/config.charset: A few additions for Solaris.
23519
23520 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23521
23522         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
23523         * lib/localcharset.c (locale_charset): Declare as extern "C".
23524
23525 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23526
23527         * lib/config.charset: msdos in uk_UA uses CP1125.
23528
23529 2002-11-04  Bruno Haible  <bruno@clisp.org>
23530
23531         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
23532         * lib/strcase.h: New file, from GNU gettext-0.11.5.
23533         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
23534         * lib/strstr.h: New file, from GNU gettext-0.11.5.
23535         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
23536
23537 2002-11-04  Bruno Haible  <bruno@clisp.org>
23538
23539         * lib/localcharset.c (locale_charset): Don't return an empty string.
23540
23541 2002-11-04  Bruno Haible  <bruno@clisp.org>
23542
23543         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
23544         aliases.
23545
23546 2002-11-04  Bruno Haible  <bruno@clisp.org>
23547
23548         * lib/config.charset: Update for newest glibc. Add canonical names
23549         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
23550
23551 2002-11-04  Bruno Haible  <bruno@clisp.org>
23552
23553         * lib/config.charset: Add support for NetBSD.
23554
23555 2002-11-04  Bruno Haible  <bruno@clisp.org>
23556
23557         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
23558
23559 2002-11-01  Bruno Haible  <bruno@clisp.org>
23560
23561         * configure.in: Add AC_CONFIG_AUX_DIR call.
23562         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
23563         test/Makefile.
23564         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
23565
23566 2002-09-28  Karl Berry  <karl@gnu.org>
23567
23568         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
23569         installed automake until the next release, since changes have been
23570         made.
23571
23572 2002-09-25  Karl Berry  <karl@gnu.org>
23573
23574         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
23575         * lib/getopt*: copy from libc/posix.
23576         * lib/gettext.h: copy from gettext.
23577         * lib/.cppi-disable: add strdup.c, gettext.h.
23578
23579 2002-09-25  Karl Berry  <karl@gnu.org>
23580
23581         * config/srclist.txt: enable gettext.h check.
23582         * config/config.{guess,sub}: update from prep.
23583         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
23584                 from automake 1.6.3.
23585         See srclist*.
23586
23587 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
23588
23589         * regex.c (PATFETCH): Remove the translating fetch.
23590         (PATFETCH_RAW): Rename to PATFETCH.
23591         (set_image_of_range): New fun.
23592         (SET_RANGE_TABLE_WORK_AREA): Use it.
23593         (regex_compile): Don't translate the pattern chars so eagerly.
23594         Only do it when inserting an `exactn' bytecode or when handling
23595         a char-range.
23596         (mutually_exclusive_p): Avoid empty statement.
23597
23598 2002-07-06  Jim Meyering  <meyering@lucent.com>
23599
23600         * m4/README: Don't mention Makefile.am.in.
23601         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
23602
23603 2002-07-01  Jim Meyering  <meyering@lucent.com>
23604
23605         * lib/c-stack.c: Include sys/time.h.
23606         From Volker Borchert.
23607
23608 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23609
23610         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
23611
23612 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23613
23614         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
23615         New macro.  Use it uniformly instead of
23616         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
23617         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
23618         reported by Vin Shelton.
23619
23620 2002-06-22  Paul Eggert  <eggert@twinsun.com>
23621
23622         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
23623         Do not assume SA_SIGINFO behavior.
23624         Bug reported by Jim Meyering on NetBSD 1.5.2.
23625
23626 2002-06-22  Jim Meyering  <meyering@lucent.com>
23627
23628         * m4/c-stack.m4: New file, from diffutils-2.8.2.
23629         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
23630
23631         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
23632         now that configure.ac uses AC_GNU_SOURCE.
23633         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
23634         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
23635
23636         Update to latest tools.  Suggestions from Paul Eggert.
23637         * m4/stdbool.m4: New file, from diffutils-2.8.2.
23638         * m4/gnu-source.m4: Update from diffutils-2.8.2.
23639         * m4/fnmatch.m4: Likewise.
23640         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
23641         to AC_HEADER_STDBOOL
23642
23643 2002-06-22  Jim Meyering  <meyering@lucent.com>
23644
23645         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
23646         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
23647
23648 2002-06-22  Jim Meyering  <meyering@lucent.com>
23649
23650         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
23651
23652         * lib/exitfail.c, exitfail.h: Likewise.
23653         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
23654
23655         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
23656         of fnmatch.h.
23657         (EXTRA_DIST): Add fnmatch_loop.c.
23658         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
23659
23660         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
23661         * lib/fnmatch.c: Update from diffutils-2.8.2.
23662         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
23663         * lib/fnmatch.h: Remove file.
23664
23665 2002-06-21  Jim Meyering  <meyering@lucent.com>
23666
23667         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
23668         * m4/mbrtowc.m4: Likewise.
23669
23670         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
23671         * m4/mbswidth.m4: Reflect name change:
23672         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
23673         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
23674
23675         * m4/lib-link.m4: Update from gettext-0.11.2.
23676         * m4/gettext.m4: Likewise.
23677
23678         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
23679         From Alfred M. Szmidt.
23680
23681 2002-06-18  Paul Eggert  <eggert@twinsun.com>
23682
23683         * lib/file-type.h: Report an error if neither S_ISREG nor
23684         S_IFREG is defined, instead of using a test specific to glibc
23685         2.2.  This should be safe, since POSIX requires S_ISREG and
23686         Unix Version 7 had S_IFREG.  We don't need to check for
23687         <sys/types.h> since we don't use any symbols that it defines.
23688
23689 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
23690
23691         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
23692         $@-t, so that each temporary file name is unique and valid in the first
23693         8 characters, for operation under DOS.
23694
23695 2002-06-15  Paul Eggert  <eggert@twinsun.com>
23696
23697         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
23698
23699 2002-06-15  Jim Meyering  <meyering@lucent.com>
23700
23701         Work even with DJGPP 2.03, which lacks support for symlinks.
23702         From Richard Dawe.
23703         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
23704         is defined.
23705         * lib/lchown.c (S_ISLNK): Likewise.
23706
23707 2002-06-15  Jim Meyering  <meyering@lucent.com>
23708
23709         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
23710         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
23711         have been included before this file.
23712
23713 2002-06-14  Jim Meyering  <meyering@lucent.com>
23714
23715         * lib/file-type.h: Use the version from diffutils-2.8.2.
23716         * lib/file-type.c: Likewise.
23717
23718 2002-06-07  Jim Meyering  <meyering@lucent.com>
23719
23720         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
23721         They're needed at least for NetBSD 1.5.2.
23722         ($statxfs_includes): Include those same headers.
23723         ($statxfs_includes): Include sys/vfs.h if available.
23724         ($statxfs_includes): Likewise for sys/statvfs.h.
23725         Check for the following members in both structs statfs and statvfs:
23726         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
23727
23728 2002-06-01  Jim Meyering  <meyering@lucent.com>
23729
23730         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
23731         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
23732
23733 2002-05-28  Jim Meyering  <meyering@lucent.com>
23734
23735         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
23736         Reported by Volker Borchert.
23737
23738 2002-05-27  Jim Meyering  <meyering@lucent.com>
23739
23740         Fix a problem seen only on nonconforming systems whereby ls.c's
23741         use of localtime, and then of gettimeofday would cause trouble:
23742         the localtime call used to initialize rpl_gettimeofday's save
23743         mechanism would clobber ls's current local time information so
23744         that in any long listing the first file would always be listed
23745         with date 1970-01-01.  Analysis by Volker Borchert.
23746
23747         * lib/gettimeofday.c (localtime): Undefine.
23748         (rpl_localtime): New function.
23749
23750 2002-05-27  Jim Meyering  <meyering@lucent.com>
23751
23752         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
23753         localtime.
23754
23755         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
23756         use the replacement function; it wouldn't resolve at link time.
23757         Reported by Volker Borchert.
23758
23759 2002-05-22  Jim Meyering  <meyering@lucent.com>
23760
23761         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
23762         file-type.h.
23763         * lib/file-type.h: New file.
23764         * lib/file-type.c (file_type): New file/function.  Extracted from
23765         diffutils.
23766
23767 2002-04-30  Jim Meyering  <meyering@lucent.com>
23768
23769         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
23770
23771 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23772
23773         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
23774
23775 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23776
23777         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
23778         Do not check for alloca.h (no longer used) or stdbool.h (was never
23779         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
23780
23781 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23782
23783         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
23784
23785 2002-04-29  Jim Meyering  <meyering@lucent.com>
23786
23787         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
23788         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
23789         Use AC_FUNC_STRNLEN here instead.
23790
23791         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
23792         With autoconf-2.53a, it's part of AC_PROG_CC.
23793
23794 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23795
23796         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
23797         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
23798
23799 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23800
23801         * lib/sig2str.h, lib/sig2str.c: New files.
23802         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
23803
23804 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23805
23806         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
23807         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
23808         of 127, since 64 is the largest conceivable number for ancient
23809         nonstandard hosts.
23810         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
23811
23812 2002-04-28  Jim Meyering  <meyering@lucent.com>
23813
23814         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
23815
23816 2002-04-24  Jim Meyering  <meyering@lucent.com>
23817
23818         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
23819         (jm_PREREQ): Use it.
23820
23821         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
23822         mach/mach.h fcntl.h.
23823         Check for this function: setlocale.
23824
23825 2002-04-24  Jim Meyering  <meyering@lucent.com>
23826
23827         * lib/gettext.h: New file, from Gettext.
23828         * lib/Makefile.am (INCLUDES): Remove -I../intl.
23829         (libfetish_a_SOURCES): Add gettext.h.
23830
23831 2002-04-16  Jim Meyering  <meyering@lucent.com>
23832
23833         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
23834         ut_pid, ut_id, ut_exit.
23835
23836 2002-04-16  Jim Meyering  <meyering@lucent.com>
23837
23838         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
23839         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
23840         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
23841
23842 2002-04-12  Jim Meyering  <meyering@lucent.com>
23843
23844         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
23845         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
23846         existence of the getmntinfo function.  Needed for Darwin 5.3.
23847
23848         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
23849         This is necessary at least on Darwin 5.3.
23850
23851         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
23852         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
23853         strnlen.o in the library, and that makes some versions of ranlib
23854         object.
23855
23856 2002-04-12  Jim Meyering  <meyering@lucent.com>
23857
23858         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
23859
23860 2002-04-09  Jim Meyering  <meyering@lucent.com>
23861
23862         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
23863         to be more precise.  Rather than saying we're checking whether the
23864         function `works', say what we're testing.
23865         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
23866         Reported by Bruno Haible.
23867
23868 2002-03-10  Jim Meyering  <meyering@lucent.com>
23869
23870         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
23871         Suggestion from Santiago Vila.
23872
23873 2002-03-08  Jim Meyering  <meyering@lucent.com>
23874
23875         * lib/rename.c: Mention that this wrapper is needed also on
23876         mips-dec-ultrix4.4 systems.
23877
23878 2002-03-02  Jim Meyering  <meyering@lucent.com>
23879
23880         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
23881         not HAVE_CLOCK_SETTIME.
23882
23883 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23884
23885         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
23886         Check for clock_settime.
23887
23888 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23889
23890         * lib/nanosleep.h: Rename to....
23891         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
23892
23893         * lib/gettime.c: New file.
23894         * lib/settime.c: New file.
23895         * lib/stime.c: Remove.
23896
23897         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
23898         timespec.h.  Remove nanosleep.h.
23899
23900 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23901
23902         * m4/acl.m4: New file.
23903         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
23904         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
23905
23906 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23907
23908         * lib/acl.c, lib/acl.h: New files.
23909         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
23910
23911 2002-02-24  Jim Meyering  <meyering@lucent.com>
23912
23913         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
23914         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
23915         cause trouble.  Reported by Nelson Beebe.
23916
23917 2002-02-23  Paul Eggert  <eggert@twinsun.com>
23918
23919         * lib/path-concat.c (xpath_concat): Reorder code to pacify
23920         compilers that don't know that xalloc_die never returns.
23921
23922 2002-02-20  Jim Meyering  <meyering@lucent.com>
23923
23924         * lib/getdate.c: Regenerate using bison-1.33.
23925
23926 2002-02-17  Jim Meyering  <meyering@lucent.com>
23927
23928         * config/config.guess (main): Don't use `head -1'; it's no longer
23929         portable. Use `sed 1q' instead.
23930
23931 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
23932
23933         * m4/codeset.m4: Upgrade to gettext-0.11.
23934         * m4/gettext.m4: Upgrade to gettext-0.11.
23935         * m4/glibc21.m4: Upgrade to gettext-0.11.
23936         * m4/iconv.m4: Upgrade to gettext-0.11.
23937         * m4/isc-posix.m4: Upgrade to gettext-0.11.
23938         * m4/lcmessage.m4: Upgrade to gettext-0.11.
23939         * m4/lib-ld.m4: New file, from gettext-0.11.
23940         * m4/lib-link.m4: New file, from gettext-0.11.
23941         * m4/lib-prefix.m4: New file, from gettext-0.11.
23942         * m4/progtest.m4: Upgrade to gettext-0.11.
23943
23944 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23945
23946         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
23947         (jm_PREREQ): Use it.
23948
23949 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23950
23951         * lib/posixver.c, lib/posixver.h: New files.
23952         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23953
23954 2002-02-02  Paul Eggert  <eggert@twinsun.com>
23955             Bruno Haible  <bruno@clisp.org>
23956
23957         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
23958         (fwrite_success_callback): New declaration.
23959         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
23960         print_unicode_char. Call failure callback instead of error.
23961         (fwrite_success_callback): New function.
23962         (exit_failure_callback): New function.
23963         (fallback_failure_callback): New function.
23964         (print_unicode_char): Call unicode_to_mb.
23965
23966 2002-01-26  Jim Meyering  <meyering@lucent.com>
23967
23968         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
23969         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
23970
23971 2002-01-26  Jim Meyering  <meyering@lucent.com>
23972
23973         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
23974
23975 2002-01-22  Paul Eggert  <eggert@twinsun.com>
23976
23977         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
23978
23979 2002-01-22  Jim Meyering  <meyering@lucent.com>
23980
23981         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
23982         Otherwise, some versions of automake would omit the rule that makes
23983         Makefile from Makefile.in.
23984
23985 2002-01-21  Paul Eggert  <eggert@twinsun.com>
23986
23987         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
23988         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23989         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
23990         (memcoll): Set errno to zero if there is no error.
23991
23992         * lib/quotearg.c (quotearg_buffer_restyled):
23993         Fix bug with quoting buffers containing NUL when backslashing escapes.
23994         This bug was exposed by the other changes in this patch.
23995         (quotearg_n_options): New arg ARGSIZE.
23996         All callers changed.
23997         (quoting_options_from_style): New function.
23998         (quotearg_n_style): Use it.
23999         (quotearg_n_style_mem): New function.
24000
24001         * lib/quotearg.h (quotearg_n_style_mem): New function.
24002
24003 2002-01-19  Jim Meyering  <meyering@lucent.com>
24004
24005         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
24006         Remove useless quotes: DF_PROG="df".
24007         * m4/strnlen.m4: New file.
24008
24009 2002-01-16  Paul Eggert  <eggert@twinsun.com>
24010
24011         * lib/backupfile.c (ISDIGIT): Comment fix.
24012         * lib/getdate.y (ISDIGIT): Likewise.
24013         * lib/posixtm.c (ISDIGIT, year): Likewise.
24014         * lib/strverscmp.c (ISDIGIT): Likewise.
24015         * lib/userspec.c (ISDIGIT): Likewise.
24016
24017 2002-01-16  Jim Meyering  <meyering@lucent.com>
24018
24019         * lib/getdate.y: Add three semicolons, each just before a closing
24020         brace. Bison (as of version 1.31) no longer papers over that mistake.
24021
24022 2002-01-05  Jim Meyering  <meyering@lucent.com>
24023
24024         * lib/version-etc.c (version_etc_copyright): Update copyright year.
24025
24026 2001-12-19  Paul Eggert  <eggert@twinsun.com>
24027
24028         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
24029         not silently exit merely because the output buffer happens to
24030         have nothing pending.
24031
24032 2001-12-18  Paul Eggert  <eggert@twinsun.com>
24033
24034         See the big note in ../ChangeLog.
24035         * lib/human.c (suffixes): Prefer K to k for 1024.
24036         (generate_suffix_backwards): New function.
24037         (human_readable_inexact): Use it.
24038         * lib/xstrtol.c (__xstrtol): If there is no number but there
24039         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
24040         Accept 'K' as well as 'k'.
24041
24042 2001-12-15  Jim Meyering  <meyering@lucent.com>
24043
24044         * lib/regex.h (__restrict_arr): Update from libc.
24045
24046         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
24047         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
24048         (STREQ): Define.
24049
24050 2001-12-14  Jim Meyering  <meyering@lucent.com>
24051
24052         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
24053         Suggestion from Bruno Haible.
24054
24055 2001-12-10  Jim Meyering  <meyering@lucent.com>
24056
24057         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
24058         xrealloc, Instead, include "xalloc.h".
24059         (initbuffer): Don't cast xmalloc return value to char*.
24060         (readline): Reword comment.
24061         Don't cast xrealloc return value to char*
24062         Return NULL, not 0.
24063
24064 2001-12-09  Jim Meyering  <meyering@lucent.com>
24065
24066         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
24067         about `signed and unsigned type in conditional expression'.
24068         * lib/posixtm.c (posix_time_parse): Likewise.
24069
24070         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
24071
24072         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
24073         to avoid a pedantic warning.
24074
24075         * lib/getstr.c: Don't include assert.h.
24076         (getstr): Remove warning-evoking assertions.
24077         Return -1 if offset parameter is out of bounds.
24078         Change the type of a local from int to size_t.
24079
24080         * lib/strftime.c (my_strftime_localtime_r): Include this function
24081         definition in the `#if ! HAVE_TM_GMTOFF' block.
24082
24083         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
24084         Include xalloc.h instead.
24085
24086 2001-12-02  Jim Meyering  <meyering@lucent.com>
24087
24088         * lib/tempname.c: Don't declare getenv, thus reverting the change of
24089         2001-11-18.  It's no longer necessary, now that stdlib.h is always
24090         included.
24091
24092         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
24093         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
24094
24095 2001-11-30  Akim Demaille  <akim@epita.fr>
24096
24097         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
24098         before being defined.
24099
24100 2001-11-27  Paul Eggert  <eggert@twinsun.com>
24101
24102         * lib/quotearg.h (quotearg_n, quotearg_n_style):
24103         First arg is int, not unsigned.
24104         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
24105         (SIZE_MAX, UINT_MAX): New macros.
24106         (quotearg_n_options): Abort if N is negative.
24107         Avoid overflow check on hosts where size_t is 64 bits and int
24108         is 32 bits, as overflow is impossible there.
24109         Fix off-by-one typo that caused unnecessary reallocation.
24110
24111 2001-11-27  Jim Meyering  <meyering@lucent.com>
24112
24113         * lib/tempname.c: Merge with version from libc.
24114         * lib/regex.c: Likewise.
24115
24116         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
24117         systems for which STDC_HEADERS is 0, it was not included, resulting in
24118         a warning about an integer-to-pointer conversion problem with getenv.
24119         Reported by Volker Borchert.
24120
24121 2001-11-26  Jim Meyering  <meyering@lucent.com>
24122
24123         * lib/gtod.h: Remove file.
24124         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
24125         * lib/gettimeofday.c: Don't include gtod.h.
24126         (GTOD_init): Remove function.
24127         (rpl_gettimeofday): Do its job here instead, rather than aborting.
24128         Suggestion from Volker Borchert.
24129
24130 2001-11-23  Jim Meyering  <meyering@lucent.com>
24131
24132         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
24133         it.
24134         * lib/hash.c (struct hash_table): Define it here instead.
24135
24136 2001-11-22  Jim Meyering  <meyering@lucent.com>
24137
24138         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
24139
24140 2001-11-20  Jim Meyering  <meyering@lucent.com>
24141
24142         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
24143         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
24144
24145 2001-11-19  Jim Meyering  <meyering@lucent.com>
24146
24147         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
24148         directory.  Use "conftestXXXXXX" as the template.
24149         Suggestion from Paul Eggert.
24150
24151         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
24152         immediately, so the test doesn't mistakenly hit the max-open-files
24153         limit.
24154
24155 2001-11-18  Paul Eggert  <eggert@twinsun.com>
24156
24157         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
24158         (TEMPORARIES): New macro.
24159         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
24160         removes an artificial limitation (e.g. HP-UX 10.20, where
24161         TMP_MAX is 17576).
24162
24163 2001-11-18  Jim Meyering  <meyering@lucent.com>
24164
24165         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
24166
24167 2001-11-18  Jim Meyering  <meyering@lucent.com>
24168
24169         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
24170         on SunOS 4.
24171
24172         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
24173         files will be created before anything else.
24174
24175 2001-11-17  Paul Eggert  <eggert@twinsun.com>
24176
24177         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
24178         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
24179
24180 2001-11-17  Jim Meyering  <meyering@lucent.com>
24181
24182         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
24183         Prompted by a report from Bob Proulx.
24184
24185         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
24186         Instead, require UTILS_FUNC_MKSTEMP.
24187
24188 2001-11-17  Jim Meyering  <meyering@lucent.com>
24189
24190         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
24191         Now, that's done as part of AC_FUNC_STRTOD.
24192
24193 2001-11-17  Jim Meyering  <meyering@lucent.com>
24194
24195         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
24196         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
24197         rather than group writable.  Patch by Juan F. Codagnone.
24198
24199         * lib/readtokens.c: Remove explicit declarations of xmalloc and
24200         xrealloc, Instead, include "xalloc.h".
24201
24202         * lib/mountlist.c: Include unlocked-io.h after all system headers.
24203         Remove explicit declarations of xmalloc, xrealloc,
24204         and xstrdup.  Instead, include "xalloc.h".
24205
24206         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
24207         unlocked-io.h.
24208         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
24209         Likewise.
24210         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
24211
24212         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
24213         Reported by Padraig Brady.
24214
24215         * lib/mkstemp.c: #undef mkstemp.
24216         Include config.h.
24217         (rpl_mkstemp): Rename from mkstemp.
24218         Protoize.
24219
24220 2001-11-16  Jim Meyering  <meyering@lucent.com>
24221
24222         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
24223         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
24224         determine the amount of total physical memory, use pstat_getstatic.
24225         HPUX-11 doesn't define _SC_PHYS_PAGES.
24226         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
24227         If sysconf couldn't be used to determine the amount of available
24228         physical memory, use both pstat_getstatic and pstat_getdynamic.
24229         Based on a patch from Bob Proulx.
24230
24231 2001-11-10  Jim Meyering  <meyering@lucent.com>
24232
24233         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
24234         (jm_PREREQ): Use it.
24235
24236 2001-11-09  Jim Meyering  <meyering@lucent.com>
24237
24238         * m4/jm-macros.m4: Require autoconf-2.52f.
24239         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
24240         Use these AC_-prefixed names, not the AM_-prefixed ones.
24241
24242         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
24243
24244 2001-11-05  Jim Meyering  <meyering@lucent.com>
24245
24246         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
24247
24248 2001-11-04  Jim Meyering  <meyering@lucent.com>
24249
24250         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
24251         $DEFS.
24252
24253 2001-11-03  Jim Meyering  <meyering@lucent.com>
24254
24255         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
24256         of AC_DEFUN.
24257
24258         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
24259         know the name of the variable in the macro definition.
24260
24261 2001-11-03  Jim Meyering  <meyering@lucent.com>
24262
24263         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
24264         in argmatch_to_argument call.
24265
24266         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
24267         argument.
24268
24269         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
24270         e.g., a fault due to an attempt to free a NULL pointer.
24271
24272 2001-11-01  Jim Meyering  <meyering@lucent.com>
24273
24274         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
24275         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
24276
24277 2001-11-01  Jim Meyering  <meyering@lucent.com>
24278
24279         * lib/dirfd.c, lib/dirfd.h: New files.
24280         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
24281
24282         * lib/hash.c (hash_print) [TESTING]: Clean up.
24283
24284 2001-10-22  Paul Eggert  <eggert@twinsun.com>
24285
24286         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
24287         to avoid a warning if -Wall.
24288
24289 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
24290
24291         * README: New file
24292         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
24293         (per RMS's instructions, this is now the canonical source)
24294         * lgpl/, gpl/: New directories.
24295
24296 2001-10-21  Paul Eggert  <eggert@twinsun.com>
24297
24298         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
24299
24300 2001-10-21  Jim Meyering  <meyering@lucent.com>
24301
24302         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
24303         this code would end up calling gettext even in packages built
24304         with --disable-nls.
24305         * lib/getopt.c (_): Likewise.
24306         * lib/regex.c (_): Likewise.
24307
24308 2001-10-20  Paul Eggert  <eggert@twinsun.com>
24309
24310         * m4/error.m4 (jm_PREREQ_ERROR):
24311         Do not invoke AC_CHECK_FUNCS with strerror_r, as
24312         AC_FUNC_STRERROR_R does that.
24313         Check for strerror declaration.
24314
24315         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
24316         are supposed to have them these days.
24317         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
24318         Merge changes from latest Autoconf CVS.
24319         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
24320         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
24321         POSIX decided to standardize on the int flavor of strerror_r.
24322
24323 2001-10-20  Paul Eggert  <eggert@twinsun.com>
24324
24325         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
24326         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
24327         Use strerror_r that is only a macro, even if it is not a function.
24328         (strerror): Check for HAVE_DECL_STRERROR before declaring.
24329         (private_strerror): Use prototypes, not old-style function definition.
24330         (print_errno_message): New function.
24331         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
24332         char*-flavored one.
24333         (error_tail, error, error_at_line): Use it.
24334
24335 2001-10-11  Jim Meyering  <meyering@lucent.com>
24336
24337         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
24338         and quote_n (1, ... to avoid clobbering a buffer.
24339
24340 2001-10-05  Jim Meyering  <meyering@lucent.com>
24341
24342         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
24343         hash-pjw.h.
24344         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
24345         * lib/hash-pjw.h: New file.
24346
24347 2001-09-30  Jim Meyering  <meyering@lucent.com>
24348
24349         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
24350         `struct fsstat' has the `f_fstypename' member.
24351         Use that to define FS_TYPE, which is now used to make
24352         the getfsstat link test tighter.
24353
24354 2001-09-30  Jim Meyering  <meyering@lucent.com>
24355
24356         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
24357         Include <sys/ucred.h>, for Apple Darwin.
24358         Include sys/mount.h and sys/fs_types.h only if available.
24359         (FS_TYPE): Define.
24360         (read_filesystem_list): Use FS_TYPE.
24361
24362 2001-09-29  Paul Eggert  <eggert@twinsun.com>
24363
24364         * lib/exclude.c (excluded_filename): 0 -> false, since it's
24365         a boolean context.
24366
24367 2001-09-29  Jim Meyering  <meyering@lucent.com>
24368
24369         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
24370         [one-argument getmntent function]): Include stdio.h before mntent.h.
24371         SunOS 4.1.x needs it for the declaration of `FILE'.
24372         Patch by Volker Borchert.
24373
24374         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
24375         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
24376         sys/fs_types.h, and make the link-test for getfsstat guard #include
24377         directives with appropriate #if HAVE_*_H tests so that we can
24378         detect getfsstat on Apple Darwin1.3.7 systems.
24379         Reported by Nelson Beebe.
24380         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
24381
24382 2001-09-28  Paul Eggert  <eggert@twinsun.com>
24383
24384         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
24385         #defines strtoimax.  Also treat the other strto* functions
24386         like strtoimax.
24387
24388         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24389         Check for strtoul and strtoumax,
24390         as those declarations are made even in the signed case.
24391         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
24392         Likewise, for strtol and strtoimax.
24393
24394 2001-09-28  Paul Eggert  <eggert@twinsun.com>
24395
24396         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
24397         #defines strtoimax.  Also treat the other strto* functions
24398         like strtoimax.
24399
24400         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
24401         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
24402         (strtoimax, strtoumax): Do not declare if already defined as a macro.
24403
24404 2001-09-26  Jim Meyering  <meyering@lucent.com>
24405
24406         Most macros in unlocked-io.h had the wrong number of arguments.
24407         * lib/gen-uio: New script.
24408         (USE_UNLOCKED_IO): Define to 1 if not already defined.
24409         * lib/unlocked-io.hin: Remove file.
24410         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
24411         rather than trying to embed it here.
24412         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
24413         Reported by Padraig Brady.
24414
24415 2001-09-25  Volker Borchert  <bt@teknon.de>
24416
24417         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
24418         `result'.
24419
24420 2001-09-24  Jim Meyering  <meyering@lucent.com>
24421
24422         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
24423
24424 2001-09-23  Jim Meyering  <meyering@lucent.com>
24425
24426         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
24427         instead of the mere test for existence of mntent.h.  The latter
24428         would get a false-positive on AIX 3.4 systems.
24429         In the outer getmntent if-block, don't die if neither of the getmntent
24430         tests succeeds.  Instead, just fall through and continue with the
24431         remaining tests.
24432
24433 2001-09-23  Jim Meyering  <meyering@lucent.com>
24434
24435         * lib/mountlist.c: Remove useless parentheses in #if directives.
24436         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
24437         the deprecated MOUNTED symbol is no longer defined in mntent.h.
24438
24439 2001-09-22  Jim Meyering  <meyering@lucent.com>
24440
24441         * m4/gettext.m4: New file.  From gettext.
24442         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
24443         * m4/progtest.m4: Likewise
24444         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
24445         * m4/glibc21.m4: Likewise.
24446
24447         * m4/libintl.m4: Remove.  No longer used.
24448
24449 2001-09-22  Jim Meyering  <meyering@lucent.com>
24450
24451         * lib/localcharset.c: Update from latest gettext.
24452         * lib/config.charset: Likewise.
24453
24454 2001-09-20  Jim Meyering  <meyering@lucent.com>
24455
24456         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
24457         strtoimax.
24458         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
24459         strtoumax.
24460
24461 2001-09-20  Jim Meyering  <meyering@lucent.com>
24462
24463         * lib/xstrtol.c (strtoimax): Guard declaration with
24464         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
24465         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
24466         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
24467         (strtoumax): Likewise, for completeness (it wasn't necessary).
24468
24469 2001-09-17  Paul Eggert  <eggert@twinsun.com>
24470
24471         * lib/strtoimax.c (HAVE_LONG_LONG):
24472         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
24473         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
24474         to work around bug in IBM C compiler.
24475
24476 2001-09-17  Jim Meyering  <meyering@lucent.com>
24477
24478         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
24479         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
24480         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
24481         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
24482         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
24483         whenever the right hand side need not be expanded by the shell.
24484
24485 2001-09-16  Paul Eggert  <eggert@twinsun.com>
24486
24487         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
24488         library.  It's not correct, as some older glibcs are buggy.
24489         fnmatch wasn't fixed until glibc 2.2.
24490
24491         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
24492         special shell magic here.
24493
24494 2001-09-16  Jim Meyering  <meyering@lucent.com>
24495
24496         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
24497         * m4/jm-macros.m4: Require it.
24498
24499 2001-09-16  Jim Meyering  <meyering@lucent.com>
24500
24501         * lib/mkdir.c: New file.
24502
24503 2001-09-15  Jim Meyering  <meyering@lucent.com>
24504
24505         * m4/jm-macros.m4: Check for help2man.
24506
24507 2001-09-11  Jim Meyering  <meyering@lucent.com>
24508
24509         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
24510         The body, by Paul Eggert, was moved here from configure.in.
24511         * m4/jm-macros.m4: Require UTILS_HOST_OS.
24512
24513 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24514
24515         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
24516         (jm_PREREQ): Use it.
24517
24518 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24519
24520         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
24521         Use ssize_t, not int, to store result of readlink.
24522         Check for ssize_t overflow as well as size_t overflow,
24523         as POSIX says the result of readlink is implementation-defined
24524         when ssize_t overflows.
24525         Remove unnecessary cast to char*.
24526         Use free+malloc instead of realloc, as the storage doesn't need
24527         to be preserved and it's clearer and can be more efficient that way.
24528         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
24529         * lib/xreadlink.h (xreadlink): Update prototype.
24530
24531 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24532
24533         * lib/xgetcwd.c: Revert some of the previous change; intead,
24534         fix the HAVE_GETCWD_NULL code to behave more like the
24535         !HAVE_GETCWD_NULL code used to.
24536
24537         Include "xalloc.h".
24538         (xgetcwd): Do not return NULL when memory is exhausted; instead,
24539         invoke xalloc_die.
24540
24541 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24542
24543         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
24544         sys/param.h, as pathmax.h includes them.
24545
24546 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24547
24548         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
24549         (jm_PREREQ_XGETCWD): New macro.
24550
24551         * m4/getcwd.m4: New file.
24552
24553 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24554
24555         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
24556         like the HAVE_GETCWD_NULL code.
24557         Include pathmax.h if not HAVE_GETCWD.
24558         Do not include xalloc.h.
24559         (INITIAL_BUFFER_SIZE): New symbol.
24560         Do not use xmalloc / xrealloc, since the caller is responsible for
24561         handling errors.  Preserve errno around `free' during failure.
24562         Do not overrun buffer when using getwd.
24563
24564 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24565
24566         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
24567         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
24568         getcwd (NULL, 0).
24569
24570 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24571
24572         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
24573         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
24574         spotted by Jim Meyering.
24575
24576 2001-09-03  Jim Meyering  <meyering@lucent.com>
24577
24578         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
24579         failure.
24580
24581 2001-09-02  Jim Meyering  <meyering@lucent.com>
24582
24583         * lib/error.c: Update from GNU libc.
24584
24585 2001-09-01  Jim Meyering  <meyering@lucent.com>
24586
24587         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
24588         Used by df.
24589
24590 2001-09-01  Jim Meyering  <meyering@lucent.com>
24591
24592         * lib/xreadlink.c: New file.
24593         * lib/xreadlink.h: New file.
24594         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
24595         xreadlink.h.
24596
24597         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
24598         doesn't conflict with sparc Solaris 7's definition in
24599         /usr/include/sys/int_types.h.
24600
24601         * lib/exclude.c: Use `""', not `<>' to #include non-system header
24602         files.
24603         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
24604         and strncasecmp as r-values.  Unixware didn't have declarations.
24605
24606 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24607
24608         * lib/xstrtol.h: Add copyright notice.
24609         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
24610         LONGINT_INVALID_SUFFIX_CHAR.
24611
24612 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24613
24614         * lib/xstrtol.c (strtoimax): New decl.
24615
24616 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24617
24618         * lib/xgetcwd.c: Don't include pathmax.h.
24619         Include stdlib.h and unistd.h if available.
24620         Include xalloc.h.
24621         (xmalloc, xstrdup, free): Remove decls.
24622         (xgetcwd): Don't assume sizes fit in unsigned.
24623         Check for overflow when computing sizes.
24624         Simplify reallocation code.
24625
24626 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24627
24628         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
24629         a directory's st_size can have an arbitrary value, so the old
24630         usage could waste an arbitrary amount of memory.  All uses
24631         changed.
24632         * lib/savedir.h: Update prototype.
24633
24634 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24635
24636         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
24637
24638         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
24639         old strtoimax.c.
24640
24641         Also, make the following further changes to make this file's
24642         configuration more similar to that of strtol.c:
24643         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
24644         (strtoumax, uintmax_t, strtoull, strtol): Remove.
24645         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
24646         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
24647         changed to signed values.
24648
24649         And make the following changes as well:
24650         Fix copyright notice, as 1999 was missing.
24651         (verify): New macro.
24652         (strtoimax): Check sizes at compile-time, not run-time.
24653         Prefer strtol to strtoll if both work.
24654         (main): Remove; it was not that useful and was a pain to maintain.
24655
24656         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
24657
24658 2001-08-31  Jim Meyering  <meyering@lucent.com>
24659
24660         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
24661         Use an initial, malloc'd, buffer of length 128 rather than
24662         a statically allocated one of length 1024.
24663
24664 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24665
24666         Simplify code, partly by assuming autoconf 2.52 semantics.
24667
24668         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
24669
24670         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
24671         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
24672         All uses removed.
24673         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
24674         Move AC_REQUIRE to next-to-top level, to avoid confusion.
24675         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
24676         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
24677         jm_AC_HEADER_INTTYPES_H.
24678         * m4/jm-macros.m4 (jm_MACROS): Likewise.
24679
24680         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
24681
24682         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24683         Quote first arg of AC_DEFUN.
24684         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
24685         since they are needed to parse the include file even if we need
24686         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
24687         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
24688         but with opposite signedness.
24689
24690 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24691
24692         Merge 'exclude' changes from tar 1.13.22.
24693         This fixes one or two unlikely storage allocation overflow bugs,
24694         but doesn't change user-visible behavior otherwise.
24695
24696 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24697
24698         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
24699         (jm_PREREQ_EXCLUDE): New macro.
24700
24701 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24702
24703         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
24704         tm to be declared.
24705
24706 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24707
24708         * lib/hash.c: Remove '2001' from copyright notice.
24709
24710 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24711
24712         * lib/full-write.h: New file.
24713         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
24714         * lib/full-write.c: Correct credits, as cccp.c no longer
24715         exists and anyway it was so heavily changed from the old cccp
24716         code as to be unrecognizable.  Include full-write.h.
24717         (full_write) Return size_t, with short writes meaning failure.
24718         All callers changed.  This fixes a bug with large buffers
24719         on 64-bit hosts.
24720         * lib/utime.c: Include full-write.h.
24721
24722 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24723
24724         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
24725         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
24726         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
24727         Include if available.
24728         (<xalloc.h>): Include
24729         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
24730         (verify): New macro.  Use it to verify that EXCLUDE macros do not
24731         collide with FNM macros.
24732         (struct patopts): New struct.
24733         (struct exclude): Use it, as exclude patterns now come with options.
24734         (new_exclude): Support above changes.
24735         (new_exclude, add_exclude_file):
24736         Initial size must now be a power of two to simplify overflow checking.
24737         (free_exclude, fnmatch_no_wildcards): New function.
24738         (excluded_filename): No longer requires options arg, as the options
24739         are determined by add_exclude.  Now returns bool, not int.
24740         (excluded_filename, add_exclude):
24741         Add support for the fancy new exclusion options.
24742         (add_exclude, add_exclude_file): Now takes int options arg.
24743         Check for arithmetic overflow when computing sizes.
24744         (add_exclude_file): xrealloc might modify errno, so don't
24745         realloc until after errno might be used.
24746
24747         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
24748         New macros.
24749         (free_exclude): New decl.
24750         (add_exclude, add_exclude_file): Now takes int options arg.
24751         (excluded_filename): No longer requires options arg, as the options
24752         are determined by add_exclude.  Now returns bool, not int.
24753
24754 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24755
24756         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
24757
24758 2001-08-27  Jim Meyering  <meyering@lucent.com>
24759
24760         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
24761
24762         * lib/version-etc.c (N_): Remove definition.
24763         Revert most of last change.
24764         Instead, simply don't mark the `Copyright...' string for translation.
24765         Based on advice from Paul Eggert.
24766
24767         * lib/strtoxmax.c: Tweak comment.
24768
24769 2001-08-26  Jim Meyering  <meyering@lucent.com>
24770
24771         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
24772
24773         * m4/xstrtoimax.m4: New file.
24774         * m4/xstrtoumax.m4: Add comments explaining why we
24775         AC_REPLACE_FUNCS(strtol).
24776
24777 2001-08-26  Jim Meyering  <meyering@lucent.com>
24778
24779         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
24780         of copyright with `%s' so translators don't get an untranslated
24781         message in 2002.
24782         (COPYRIGHT_YEAR): Define.
24783         (version_etc): Use fprintf rather than fputs.
24784         Suggestion from Ulrich Drepper.
24785
24786         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
24787
24788         * lib/strtoll.c: New file, from GNU libc.
24789         * lib/xstrtoimax.c: New file.
24790
24791         * lib/xstrtol.h: Add xstrtoimax.
24792         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
24793         * lib/strtoimax.c: New file.  Likewise, but first define
24794         STRTOUXMAX_SIGNED.
24795
24796         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
24797         ...
24798         * lib/strtoxmax.c: ... then renamed to this.
24799
24800 2001-08-18  Paul Eggert  <eggert@twinsun.com>
24801
24802         * m4/inttypes.m4: Add AC_PREREQ(2.13).
24803         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
24804         (jm_AC_TYPE_INTMAX_T): New macro.
24805         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
24806
24807         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
24808
24809         * m4/longlong.m4: Renamed from ulonglong.m4.
24810         * m4/inttypes.m4: Renamed from inttypes_h.m4.
24811         * m4/uintmax_t.m4: Removed.
24812
24813 2001-08-13  Paul Eggert  <eggert@twinsun.com>
24814
24815         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
24816         Port to Solaris 8, where 'sed' requires a space after the 'r'
24817         command, and where sh dislikes "$/".  Clean up the spacing a bit.
24818         Redirect output to $tmp just once.
24819
24820 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
24821
24822         * lib/addext.c (<errno.h>): Include.
24823         (errno): Declare if not defined.
24824         (addext): Work correctly when pathconf returns -1 and leaves
24825         errno alone because there is no limit.  Also, work even if
24826         pathconf returns a value greater than SIZE_MAX.
24827
24828 2001-08-12  Jim Meyering  <meyering@lucent.com>
24829
24830         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
24831         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
24832         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
24833         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
24834         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
24835         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
24836         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
24837         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
24838         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
24839         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
24840         utime.m4, utimes.m4, xstrtoumax.m4:
24841         Quote the first argument in each use of AC_DEFUN.
24842
24843 2001-08-12  Jim Meyering  <meyering@lucent.com>
24844
24845         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
24846         Simply `return getcwd (NULL, 0);'.
24847         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
24848         Use 1300 as initial value for length, not PATH_MAX.
24849
24850         * lib/pathmax.h: Clean up cpp syntax.
24851
24852 2001-08-12  Jim Meyering  <meyering@lucent.com>
24853
24854         * lib/gettimeofday.c: New file.
24855         * lib/gtod.h: New file.
24856         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
24857
24858 2001-08-05  Jim Meyering  <meyering@lucent.com>
24859
24860         * m4/jm-macros.m4: Require autoconf-2.52.
24861
24862 2001-08-04  Jim Meyering  <meyering@lucent.com>
24863
24864         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
24865         stmt, to get in sync with glibc.
24866
24867 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24868
24869         The following changes are from gettext 0.10.39 as maintained by
24870         Bruno Haible.
24871
24872         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
24873         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
24874         with inverted sense.  All uses changed.
24875
24876         * lib/mbswidth.c: Don't include <limits.h>.
24877         Include <stdlib.h> and <string.h> unconditionally.
24878         (iswcntrl, mbsinit, ISCNTRL): New macros.
24879         (mbsnwidth): Use K&R style function declarations.
24880         Don't bother checking for MB_LEN_MAX == 1, since the compiler
24881         can optimize it when MB_CUR_MAX == 1.
24882         The width of control characters is zero, not 1.
24883
24884 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24885
24886         The following changes are from gettext 0.10.39 as maintained by
24887         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
24888
24889         * m4/codeset.m4: Upgrade to serial AM1.
24890         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
24891         all uses changed.  Quote first arg of AC_DEFUN.
24892         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
24893
24894         * m4/iconv.m4: Upgrade to serial AM2.
24895         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
24896         Add --with-libconv-prefix.
24897         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
24898         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
24899         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
24900         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
24901         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
24902
24903         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
24904         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
24905         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
24906         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
24907         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
24908         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
24909         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24910         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
24911         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
24912
24913         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
24914         string.h any more.
24915
24916         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
24917         not the default value.
24918
24919         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
24920         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
24921         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
24922         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
24923         Also check for iswcntrl, used for wcwidth fallback.
24924         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
24925         to Autoconf 2.13.
24926
24927 2001-08-03  Jim Meyering  <meyering@lucent.com>
24928
24929         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
24930         as it was in the original.  Reported by Paul Eggert.
24931
24932 2001-07-16  Jim Meyering  <meyering@lucent.com>
24933
24934         * m4/gettimeofday.m4: New file.
24935         Prompted by a report from Bernhard Baehr.
24936
24937 2001-07-15  Jim Meyering  <meyering@lucent.com>
24938
24939         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
24940         stuff. Now it's in ../Makefile.cfg.
24941
24942 2001-07-15  Jim Meyering  <meyering@lucent.com>
24943
24944         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
24945         (BUILT_SOURCES): Add unlocked-io.h.
24946         (io_functions): Define.
24947         (unlocked-io.h): New rule.
24948         (DISTCLEANFILES): Add unlocked-io.h.
24949         (all-local): Depend on unlocked-io.h, to ensure it is created.
24950
24951         * lib/unlocked-io.hin: New file
24952
24953         * lib/regex.c: Update from glibc.
24954
24955 2001-07-05  Jim Meyering  <meyering@lucent.com>
24956
24957         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
24958         recommendation.
24959         (libfetish_a_SOURCES): Put all .h files here instead.
24960         Remove a thus-exposed (better checks in automake) duplicate and
24961         two unnecessary .h files.
24962
24963 2001-07-04  Jim Meyering  <meyering@lucent.com>
24964
24965         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
24966         that generates jm-glibc-io.m4 so that it doesn't trigger any make
24967         distcheck failure.
24968
24969 2001-07-02  Jim Meyering  <meyering@lucent.com>
24970
24971         The following changes were prompted by suggestions from Bruno Haible.
24972
24973         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
24974         is now generated.
24975         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
24976         definition of EXTRA_DIST.
24977         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
24978         ensure that the generated file is created/updated whenever the list
24979         of $(unlocked_functions) is changed.
24980         (jm-glibc-io.m4): New rule.
24981         (unlocked-io.h): New rule -- currently unused.
24982
24983 2001-06-24  Jim Meyering  <meyering@lucent.com>
24984
24985         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
24986         unmatched right bracket, rather than kludging it with an extra,
24987         falsely-matching quote in a comment.  Patch by Akim Demaille.
24988
24989 2001-06-11  Jim Meyering  <meyering@lucent.com>
24990
24991         * lib/regex.c: Update from GNU libc.
24992
24993 2001-05-27  Jim Meyering  <meyering@lucent.com>
24994
24995         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
24996         Check for ut_type in struct utmp.
24997
24998 2001-05-27  Jim Meyering  <meyering@lucent.com>
24999
25000         * lib/readutmp.h (UT_TYPE): Define.
25001
25002 2001-05-24  Jim Meyering  <meyering@lucent.com>
25003
25004         * lib/argmatch.c: Include "quote.h".
25005         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
25006         quote function.  Reported by Göran Uddeborg.
25007
25008 2001-05-22  Jim Meyering  <meyering@lucent.com>
25009
25010         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
25011         now that we use the package-supplied version unconditionally.
25012         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
25013
25014 2001-05-21  Jim Meyering  <meyering@lucent.com>
25015
25016         * m4/regex.m4: Change a couple backticks to single quotes to avoid
25017         shell syntax errors.
25018
25019 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
25020
25021         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
25022
25023 2001-05-20  Paul Eggert  <eggert@twinsun.com>
25024
25025         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
25026         Don't bother to check library strftime, since
25027         we'll be using our own my_strftime function anyway.
25028         Define my_strftime instead of strftime.
25029
25030 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
25031
25032         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
25033         which is not yet declared.
25034
25035 2001-05-15  Jim Meyering  <meyering@lucent.com>
25036
25037         * m4/regex.m4: Use proper quoting so brackets appear in the test
25038         program.
25039         Reported by, and with help from, Bruno Haible.
25040
25041 2001-05-13  Jim Meyering  <meyering@lucent.com>
25042
25043         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
25044         undefined.
25045
25046 2001-05-11  Paul Eggert  <eggert@twinsun.com>
25047
25048         dirname code cleanup.  base_name now behaves more compatibly
25049         with POSIX basename when given file names that have trailing
25050         slashes, and similarly for dir_name.  Add new primitives
25051         base_len and dir_len.  Put the directory-name-related decls
25052         into dirname.h.
25053
25054         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
25055         * lib/backupfile.c (base_name): Likewise.
25056         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
25057         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
25058         * lib/makepath.c (strip_trailing_slashes): Likewise.
25059         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
25060         ISSLASH): Likewise.
25061         * lib/rename.c (strip_trailing_slashes): Likewise.
25062         * lib/same.c (base_name): Likewise.
25063         * lib/stripslash.c (ISSLASH): Likewise.
25064
25065         * lib/addext.c: Include <dirname.h> after size_t is defined.
25066         * lib/backupfile.c: Likewise.
25067
25068         * lib/addext.c (addext): Use base_len to trim redundant
25069         trailing slashes instead of doing it ourselves.
25070         But do not trim the last slash if it is not redundant.
25071
25072         * lib/backupfile.c (find_backup_file_name,
25073         max_backup_version): Use base_len instead of rolling it ourselves.
25074         Handle the case of "" and (on DOS) "C:" correctly.
25075
25076         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
25077         needed. Include <string.h>, <dirname.h>.
25078         (base_name): Allow file names ending in slashes, other than names
25079         that are all slashes.  In this case, return the basename followed
25080         by the slashes.  This is more general, and can be used in places
25081         where the original base_name purposely had an assertion failure.
25082         (base_len): New function.
25083
25084         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
25085         Do not include <assert.h>; no longer needed.
25086         Include xalloc.h.
25087         (memrchr): Remove decl.
25088         (dir_name_r): Remove.
25089         (dir_len): Renamed from dirlen.  All callers changed.
25090         Rewrite in terms of base_name, for simplicity and consistency.
25091         (dir_name): Never return NULL.  All callers changed.
25092         Do not include <stdlib.h> in test program; no longer needed.
25093         return 0; is fine for test program.
25094
25095         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
25096         New macros.
25097         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
25098
25099         * lib/path-concat.c (path_concat): Use base_len to compute
25100         base length, not strlen; this means we cannot rely on memcpy
25101         to null-terminate.
25102
25103         * lib/same.c (STREQ): Remove.
25104         (same_name): Handle the case where the basename ends in trailing '/'.
25105
25106         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
25107         a slash was stripped.  Do not strip the last slash after a
25108         file system prefix.
25109
25110 2001-05-11  Paul Eggert  <eggert@twinsun.com>
25111
25112         * lib/Makefile.am (libfetish_a_SOURCES):
25113         Add strftime.c, since we now compile it on all hosts.
25114
25115         * lib/strftime.c (my_strftime):
25116         Define to nstrftime if emacs, but only if my_strftime is not defined.
25117         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
25118         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
25119         Add one more extra argument: a nanoseconds value.
25120         All uses changed.
25121         (ns): New macro.
25122         (my_strftime function): Add %N format.
25123         (emacs_strftimeu): Renamed from emacs_strftime,
25124         with extra ut argument.
25125
25126 2001-05-09  Paul Eggert  <eggert@twinsun.com>
25127
25128         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
25129
25130 2001-04-21  Jim Meyering  <meyering@lucent.com>
25131
25132         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
25133         doesn't interfere.
25134
25135 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
25136
25137         * m4/ftruncate.m4: Check for chsize.
25138         Link with ftruncate.o unconditionally if ftruncate is missing.
25139         This was required when cross-compiling to i586-mingw32msvc.
25140
25141 2001-04-08  Jim Meyering  <meyering@lucent.com>
25142
25143         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
25144         recomputed; that's necessary when the offset spans a DST transition.
25145         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
25146
25147 2001-04-02  Jim Meyering  <meyering@lucent.com>
25148
25149         * lib/regex.h, regex.c: Update from GNU libc.
25150
25151 2001-03-24  Jim Meyering  <meyering@lucent.com>
25152
25153         * m4/jm-macros.m4: Require autoconf-2.49d.
25154
25155 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
25156
25157         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
25158
25159 2001-03-19  Paul Eggert  <eggert@twinsun.com>
25160
25161         * lib/version-etc.c (version_etc_copyright): Update to 2001.
25162
25163 2001-03-17  Jim Meyering  <meyering@lucent.com>
25164
25165         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
25166         now that the version in autoconf is equivalent.
25167         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
25168
25169         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
25170         Suggestion from Akim Demaille.
25171
25172         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
25173         (jm_PREREQ_TEMPNAME): New function.
25174
25175 2001-03-16  Paul Eggert  <eggert@twinsun.com>
25176
25177         * lib/tempname.c (uint64_t): Define to uintmax_t if
25178         not defined, and if UINT64_MAX is not defined.
25179         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
25180         Reported by John David Anglin.
25181
25182 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
25183
25184         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
25185         resolve alias if codeset is empty.
25186         * lib/config.charset (BeOS): Use wildcard syntax.
25187
25188 2001-03-13  Jim Meyering  <meyering@lucent.com>
25189
25190         * lib/path-concat.c (path_concat)
25191         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
25192         concatenating e.g., `C:' and `foo'.
25193         From Bruno Haible.
25194
25195 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
25196
25197         * lib/localcharset.c (locale_charset): Don't use
25198         setlocale(LC_CTYPE,NULL). Don't return NULL.
25199         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
25200
25201 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
25202
25203         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
25204         support for DOS/DJGPP.
25205
25206 2001-03-01  Paul Eggert  <eggert@twinsun.com>
25207
25208         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
25209         lacks mkstemp.  Compile our own tempname.c if we compile our own
25210         mkstemp.c, as mkstemp relies on tempname.
25211
25212 2001-03-01  Jim Meyering  <meyering@lucent.com>
25213
25214         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
25215         AH_VERBATIM really does output its argument verbatim.
25216
25217 2001-02-28  Paul Eggert  <eggert@twinsun.com>
25218
25219         * lib/Makefile.am (libfetish_a_SOURCES):
25220         Add dup-safer.c, fopen-safer.c.
25221         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
25222
25223         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
25224         * lib/unistd-safer.h: New files.
25225
25226 2001-02-25  Paul Eggert  <eggert@twinsun.com>
25227
25228         The mkstemp replacement is taken from glibc 2.2.2, with some
25229         portability fixes for use outside glibc, as follows:
25230
25231         * lib/tempname.c (struct_stat64): New macro.
25232         (direxists, __gen_tempname): Use it.
25233         This avoids a portability problem with Solaris 8.
25234
25235         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
25236         (<stddef.h>, <stdint.h>, <string.h>):
25237         Include only if STDC_HEADERS || _LIBC.
25238         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
25239         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
25240         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
25241         (__set_errno): Define this macro if <errno.h> doesn't.
25242         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
25243         Define these macros if <stdio.h> doesn't.
25244         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
25245         Define these macros if <sys/stat.h>
25246         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
25247         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
25248         __xstat64): Define if not _LIBC.
25249         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
25250         (__gen_tempname): Invoke gettimeofday only if
25251         HAVE_GETTIMEOFDAY || _LIBC;
25252         otherwise, fall back on plain "time".
25253         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
25254
25255         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
25256
25257         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
25258
25259 2001-02-18  Paul Eggert  <eggert@twinsun.com>
25260
25261         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
25262
25263 2001-02-17  Paul Eggert  <eggert@twinsun.com>
25264
25265         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
25266         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
25267         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
25268         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
25269
25270 2001-02-17  Paul Eggert  <eggert@twinsun.com>
25271
25272         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
25273         Remove workaround macros for hosts that have mbrtowc but not
25274         mbstate_t, as we now insist on proper declarations for both
25275         before using mbrtowc.
25276
25277 2001-02-17  Jim Meyering  <meyering@lucent.com>
25278
25279         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
25280         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
25281         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
25282         UnixWare 7.1.1.
25283
25284         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
25285         rather than AC_CACHE_VAL.
25286
25287 2001-02-17  Jim Meyering  <meyering@lucent.com>
25288
25289         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
25290         around included file name.
25291
25292         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
25293
25294         * lib/strftime.c: Update from GNU libc (the only changes were to
25295         comments).
25296
25297 2001-02-17  Jim Meyering  <meyering@lucent.com>
25298
25299         * lib/regex.c: Update from libc.
25300
25301 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
25302
25303         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
25304         clash.
25305
25306 2001-02-16  Paul Eggert  <eggert@twinsun.com>
25307
25308         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
25309         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
25310         Reported by Mark Hounschell via Paul Eggert.
25311
25312 2001-02-07  Jim Meyering  <meyering@lucent.com>
25313
25314         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
25315
25316 2001-02-05  Jim Meyering  <meyering@lucent.com>
25317
25318         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
25319         it includes the patch required for `large file' support with at least
25320         HP-UX's 10.20 /bin/cc.
25321
25322 2001-02-03  Jim Meyering  <meyering@lucent.com>
25323
25324         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
25325         AS_IF, now that it works once again (mysteriously).
25326         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
25327
25328 2001-01-30  Jim Meyering  <meyering@lucent.com>
25329
25330         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
25331         * m4/chown.m4: Rename conftestchown to conftest.chown.
25332         * m4/rename.m4: s/conftestdir/conftest.d1/ and
25333         s/conftestdir2/conftest.d2/.
25334         * m4/utimes.m4: s/conftestdata/conftest.data/
25335         Inspired by Pavel Roskin's change in autoconf.
25336
25337 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
25338
25339         * lib/config.charset: Update for FreeBSD 4.2.
25340
25341 2001-01-27  Jim Meyering  <meyering@lucent.com>
25342
25343         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
25344         a use of AS_IF.
25345         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
25346
25347 2001-01-26  Jim Meyering  <meyering@lucent.com>
25348
25349         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
25350         quotearg.c includes it.
25351
25352 2001-01-26  Jim Meyering  <meyering@lucent.com>
25353
25354         * lib/quotearg.c: Include stddef.h.
25355         * lib/quote.c: Include stddef.h.
25356         Reported by Axel Kittenberger.
25357
25358         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
25359         line in double quotes so that it evokes a better diagnostic.
25360         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
25361         Reported by Axel Kittenberger.
25362
25363 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
25364
25365         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
25366         as if it was a `charset'.
25367
25368 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
25369
25370         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
25371         has const.
25372
25373 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
25374
25375         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
25376         to avoid a warning.  Add back 'const' to inptr.
25377
25378 2001-01-20  Jim Meyering  <meyering@lucent.com>
25379
25380         Be sure that headers are checked before used in code compiled
25381         for the type checks.
25382         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
25383         In place of that, invoke jm_CHECK_ALL_TYPES.
25384         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
25385         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
25386         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
25387         The check for ssize_t was mistakenly run before the test for unistd.h.
25388
25389         The configure-time check for stdbool.h was missing.
25390         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
25391         (jm_PREREQ_HASH): New function.
25392
25393 2001-01-17  Jim Meyering  <meyering@lucent.com>
25394
25395         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
25396         for autoconf-2.49c.
25397         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
25398
25399 2001-01-16  Jim Meyering  <meyering@lucent.com>
25400
25401         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
25402         From Bruno Haible.
25403
25404 2001-01-14  Jim Meyering  <meyering@lucent.com>
25405
25406         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
25407         foo and bar.  Create conftestdir/ in the script, not in the C code.
25408         Remove directories in the script, not in the C code.
25409         Remove conftestdir{,2} before trying to create the directory.
25410         Make the entire configure script fail if the mkdir fails.
25411
25412 2001-01-14  Jim Meyering  <meyering@lucent.com>
25413
25414         * lib/rename.c: New file.  From Volker Borchert.
25415         Include stdlib.h, string.h or strings.h, and xalloc.h.
25416         Use strip_trailing_slashes rather than open-coding it.
25417
25418 2001-01-03  Paul Eggert  <eggert@twinsun.com>
25419
25420         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
25421
25422 2001-01-03  Jim Meyering  <meyering@lucent.com>
25423
25424         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
25425         of local `inptr' to avoid warning with some system declarations of
25426         iconv.
25427
25428 2001-01-02  Volker Borchert  <bt@teknon.de>
25429
25430         * m4/rename.m4: New file.
25431         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
25432
25433 2001-01-01  Jim Meyering  <meyering@lucent.com>
25434
25435         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
25436         even on systems with utmpx.h.  It's necessary for the declaration of
25437         utmp's ut_user member.  Reported by Andreas Jaeger.
25438
25439         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
25440         available. They are required for the declarations of getgrgid and
25441         getpwuid resp.
25442         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
25443         Reported by Andreas Jaeger.
25444
25445 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
25446
25447         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
25448         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
25449         so `make install' also works in VPATH builds.
25450
25451 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
25452
25453         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
25454         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
25455         can be used in subdirectories.
25456
25457 2000-12-29  Paul Eggert  <eggert@twinsun.com>
25458
25459         * lib/modechange.c: Do not assume that mode_t uses the
25460         traditional octal encoding.  E.g. "chmod 1 FOO" should set
25461         the other-execute bit of FOO even if S_IXOTH != 1.
25462
25463         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
25464         WOTH, XOTH, ALLM): New macros.
25465         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
25466          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
25467         Use them.
25468         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
25469         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
25470         (mode_compile):
25471         No need to use uintmax_t; unsigned long is long enough.
25472         Don't bother to get suffix since we don't use it.
25473
25474 2000-12-26  Jim Meyering  <meyering@lucent.com>
25475
25476         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
25477         better with autoheader.
25478
25479 2000-12-24  Jim Meyering  <meyering@lucent.com>
25480
25481         * lib/hash.c (is_prime): Return explicit boolean values.
25482         (hash_get_first): Return NULL to appease Irix5.6's 89.
25483         Reported by Nelson Beebe.
25484
25485 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
25486
25487         * lib/localcharset.c (locale_charset): Add support for Win32.
25488
25489 2000-12-18  Paul Eggert  <eggert@twinsun.com>
25490
25491         * lib/physmem.h, lib/physmem.c: New files.
25492
25493         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
25494         (noinst_HEADERS): Add physmem.h.
25495
25496         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
25497         't' for compatibility with Solaris 8 sort.
25498
25499 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
25500
25501         * lib/config.charset: Add support for BeOS.
25502
25503 2000-12-17  Jim Meyering  <meyering@lucent.com>
25504
25505         * m4/dos.m4 (jm_AC_DOS): New file and macro.
25506         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
25507
25508 2000-12-16  Jim Meyering  <meyering@lucent.com>
25509
25510         This bug had a serious impact on chown: `chown N:M FILE' (for integer
25511         N and M) would have treated it like `chown N:N FILE'.
25512
25513         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
25514
25515 2000-12-16  Jim Meyering  <meyering@lucent.com>
25516
25517         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
25518         SHELLS_FILE to a file name that's useful on djgpp systems.
25519         Include stdlib.h.
25520         (ADDITIONAL_DEFAULT_SHELLS): Define.
25521         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
25522         Based mostly on a patch from Prashant TR.
25523
25524 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
25525
25526         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
25527         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
25528         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
25529
25530 2000-12-08  Andreas Schwab  <schwab@suse.de>
25531
25532         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
25533         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
25534
25535 2000-12-07  Jim Meyering  <meyering@lucent.com>
25536
25537         * lib/stripslash.c (ISSLASH): Define.
25538         (strip_trailing_slashes): Use ISSLASH rather than comparing against
25539         `/'.
25540         From Prashant TR.
25541
25542         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
25543         (dir_name_r): Declare this function as static.
25544         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
25545         manifest itself on a name containing a mix of slashes and
25546         backslashes.
25547         Make this function work with names starting with a DOS-style
25548         drive letter and colon prefix.
25549         (dir_name): Append `.' if necessary.
25550         Based mostly on patches from Prashant TR and Eli Zaretskii.
25551
25552         * lib/dirname.h (dir_name_r): Remove prototype.
25553
25554 2000-12-06  Paul Eggert  <eggert@twinsun.com>
25555
25556         * m4/off_t-format.m4: Remove this file.
25557         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
25558
25559 2000-12-06  Jim Meyering  <meyering@lucent.com>
25560
25561         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
25562         replacement strtoull, we may well need the replacement strtoul, too.
25563         Check for declarations of strtoul and strtoull.
25564         Check for strtol.  Mainly as a cue to cause automake to include
25565         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
25566         Check for limits.h -- strtol.c needs it.
25567
25568 2000-12-05  Jim Meyering  <meyering@lucent.com>
25569
25570         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
25571
25572 2000-12-04  Jim Meyering  <meyering@lucent.com>
25573
25574         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
25575         Also include memory.h, stdlib.h, unistd.h if appropriate.
25576         Reported by Andreas Jaeger (conflicting declaration of malloc).
25577
25578 2000-12-02  Jim Meyering  <meyering@lucent.com>
25579
25580         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
25581         * m4/jm-macros.m4 (jm_MACROS): require it.
25582
25583 2000-12-02  Jim Meyering  <meyering@lucent.com>
25584
25585         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
25586
25587 2000-12-01  Paul Eggert  <eggert@twinsun.com>
25588
25589         * lib/memrchr.c: Include <config.h> before any system include file.
25590
25591 2000-11-30  Jim Meyering  <meyering@lucent.com>
25592
25593         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
25594
25595 2000-11-30  Jim Meyering  <meyering@lucent.com>
25596
25597         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
25598
25599 2000-11-29  Paul Eggert  <eggert@twinsun.com>
25600
25601         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
25602
25603 2000-11-26  Jim Meyering  <meyering@lucent.com>
25604
25605         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
25606
25607 2000-11-22  Paul Eggert  <eggert@twinsun.com>
25608
25609         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
25610         size of (size_t) -1; it's not portable.
25611
25612 2000-11-17  Jim Meyering  <meyering@lucent.com>
25613
25614         * lib/strstr.c: Update from GNU libc.
25615
25616 2000-11-17  Akim Demaille  <akim@epita.fr>
25617
25618         * lib/obstack.h: Formatting changes.
25619         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
25620         prevent type checking.
25621         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
25622         cast the value to (void *): assigning a `foo *' to a `void *'
25623         variable is valid.
25624         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
25625
25626 2000-11-16  Jim Meyering  <meyering@lucent.com>
25627
25628         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
25629
25630 2000-11-11  Jim Meyering  <meyering@lucent.com>
25631
25632         * lib/error.c: Add a couple #includes, merging from GNU libc version.
25633
25634 2000-11-10  Jim Meyering  <meyering@lucent.com>
25635
25636         * lib/obstack.h: Update from GNU libc.
25637         * lib/obstack.c: Likewise.
25638
25639 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
25640
25641         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
25642
25643 2000-11-06  Paul Eggert  <eggert@twinsun.com>
25644
25645         * lib/getusershell.c (setusershell): Use rewind rather than
25646         fseek/fseeko, to avoid configuration hassles with fseeko.
25647         Don't bother opening SHELLS_FILE if shellstream is NULL;
25648         it's not necessary.
25649
25650 2000-11-05  Jim Meyering  <meyering@lucent.com>
25651
25652         * lib/makepath.h (make_dir): Declare.
25653         * lib/makepath.c (make_dir): Remove `static' attribute.
25654         Tweak a comment.
25655
25656 2000-11-04  Jim Meyering  <meyering@lucent.com>
25657
25658         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
25659
25660 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
25661
25662         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
25663         last one in a bucket, advance to the next bucket.
25664
25665 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
25666
25667         * lib/fnmatch.c: Do not comment out all the code if we are using
25668         the GNU C library, because in some cases we are replacing buggy
25669         code in the GNU C library itself.
25670
25671 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
25672
25673         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
25674         (regex_compile): Catch bogus \(\1\).
25675
25676 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25677
25678         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
25679         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
25680         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
25681
25682 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25683
25684         * lib/error.h, getline.h, modechange.h:
25685         Remove "2000" from Copyright line, as the file hasn't been
25686         changed this year other than in the copyright notice.
25687
25688         * lib/xalloc.h: Add "2000" to Copyright line, as this file
25689         was changed this year.
25690
25691 2000-10-29  Jim Meyering  <meyering@lucent.com>
25692
25693         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
25694         renaming.
25695         * m4/ls-mntd-fs.m4: Likewise
25696
25697 2000-10-29  Jim Meyering  <meyering@lucent.com>
25698
25699         * lib/xstat.in: Fix grammar in comment.
25700
25701 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
25702
25703         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
25704         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
25705         doesn't define __restrict_arr.
25706
25707 2000-10-28  Jim Meyering  <meyering@lucent.com>
25708
25709         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
25710         (jm_PREREQ_MEMCHR): New function.
25711
25712 2000-10-28  Jim Meyering  <meyering@lucent.com>
25713
25714         * lib/memchr.c: Update from libc.
25715         Adjust for portability:
25716         [HAVE_STDLIB_H]: Include stdlib.h.
25717         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
25718         Undef __memchr, too.
25719         [!weak_alias]: Define __memchr to memchr.
25720
25721         * lib/regex.c: Update from libc.
25722         * lib/regex.h: Likewise.
25723         * lib/getopt1.c: Likewise.
25724         * lib/memcmp.c: Likewise.
25725
25726         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
25727         Avoid using fseek, when possible -- it's broken by design.
25728         Patch by Ulrich Drepper.
25729
25730 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
25731
25732         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
25733         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
25734         Giving in to popular pressure to shut up the compiler with casts.
25735
25736 2000-10-26  Jim Meyering  <meyering@lucent.com>
25737
25738         * lib/strftime.c: Update from libc.
25739
25740 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
25741
25742         * regex.c: More `unsigned char' -> `re_char' changes.
25743         Also change several `int' into `re_wchar_t'.
25744         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
25745         (PUSH_FAILURE_POINTER): Don't cast any more.
25746         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
25747         We want GCC to complain, since this piece of code makes
25748         re_match non-reentrant, which *should* be fixed.
25749         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
25750         (EXTEND_BUFFER): Use RETALLOC.
25751         (SET_LIST_BIT): Don't cast.
25752         (re_wchar_t): New type.
25753         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
25754         that those two functions will always properly return.
25755         (IMMEDIATE_QUIT_CHECK): Cast to void.
25756         (analyse_first): Use recursion rather than an explicit stack.
25757         (re_compile_fastmap): Can't fail anymore.
25758         (re_search_2): Don't check re_compile_fastmap for failure.
25759         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
25760         Now also sets the new value (passed in a new argument).
25761         (re_match_2_internal): Use it.
25762         Also, use a new var `reg' of type size_t when looping through regs
25763         rather than reuse the inappropriate `mcnt'.
25764
25765 2000-10-25  Jim Meyering  <meyering@lucent.com>
25766
25767         * lib/obstack.c: Update from libc.
25768
25769 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
25770
25771         * regex.c (regex_compile): Change the way of handling a range from
25772         a char less than 256 to a char not less than 256.
25773
25774 2000-10-24  Andrew Innes  <andrewi@gnu.org>
25775
25776         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
25777         NT-Emacs only.
25778         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
25779         so that re_search functions only quit when callers expect them to.
25780
25781 2000-10-23  Jim Meyering  <meyering@lucent.com>
25782
25783         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
25784         wrong.  That set_locale call must not have any side effects.
25785         From Paul Eggert.
25786
25787 2000-10-22  Jim Meyering  <meyering@lucent.com>
25788
25789         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
25790         [CYCLIC]: Remove now-unused definition.
25791
25792         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
25793         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
25794         Suggestion from Ulrich Drepper.
25795
25796 2000-10-21  Jim Meyering  <meyering@lucent.com>
25797
25798         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
25799         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
25800         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
25801
25802 2000-10-21  Jim Meyering  <meyering@lucent.com>
25803
25804         * lib/dirname.c (memrchr): Declare if necessary.
25805         (dir_name): Remove the restriction that there be no
25806         trailing slashes.  Now, this code skips past them, effectively
25807         ignoring them.
25808         [TEST_DIRNAME] (main): New unit tests.
25809
25810         * lib/memrchr.c: New file from GNU libc.
25811         Undef __memrchr, too.
25812         [!weak_alias]: Define __memrchr to memrchr.
25813         Guard weak_alias use with `#ifdef weak_alias'.
25814
25815 2000-10-21  Jim Meyering  <meyering@lucent.com>
25816
25817         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
25818         (dir_name): Use dir_name_r.
25819         * lib/dirname.h (dir_name_r): Declare it.
25820
25821 2000-10-17  Jim Meyering  <meyering@lucent.com>
25822
25823         * lib/quote.h (PARAMS): Define and use.
25824         Reported by Akim Demaille.
25825
25826         * lib/getopt.c: Update from libc.
25827
25828 2000-10-16  Jim Meyering  <meyering@lucent.com>
25829
25830         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
25831         setlocale.
25832         From Jan Fedak.
25833
25834 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
25835
25836         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
25837
25838 2000-09-25  Jim Meyering  <meyering@lucent.com>
25839
25840         * lib/md5.h (rol): Define (from GnuPG).
25841
25842         * lib/sha.c: Give credit (GnuPG) where due.
25843         (M): Use rol rather than open-coding it.
25844         Add a FIXME comment.
25845
25846 2000-09-21  Jim Meyering  <meyering@lucent.com>
25847
25848         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
25849         Reported by Michael Stone.
25850
25851 2000-09-20  Jim Meyering  <meyering@lucent.com>
25852
25853         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
25854         (noinst_HEADERS): Add sha.h.
25855         Based on code from Scott G. Miller and from GnuPG.
25856
25857 2000-09-18  Jim Meyering  <meyering@lucent.com>
25858
25859         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
25860         LIBS. Otherwise, everyone ends up linking with -lelf for some
25861         configurations.
25862         Reported by Mike Stone.
25863
25864 2000-09-15  Jim Meyering  <meyering@lucent.com>
25865
25866         * lib/regex.c: Update from libc.
25867
25868 2000-09-10  Jim Meyering  <meyering@lucent.com>
25869
25870         * lib/getopt.c (_getopt_internal): Update from glibc.
25871
25872 2000-09-09  Jim Meyering  <meyering@lucent.com>
25873
25874         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
25875         think it should be used as a general replacement for isascii.
25876         * lib/fnmatch.c: Likewise.
25877         * lib/mbswidth.c: Likewise
25878         * lib/regex.c: Likewise.
25879
25880         Don't use atoi.
25881         * lib/userspec.c: Include sys/param.h and limits.h.
25882         Include xstrtol.h.
25883         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
25884         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
25885         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
25886         UID, GID.  Check range.
25887
25888 2000-09-06  Jim Meyering  <meyering@lucent.com>
25889
25890         * lib/getopt.c (_getopt_internal): Update from glibc.
25891
25892 2000-08-30  Jim Meyering  <meyering@lucent.com>
25893
25894         * lib/strftime.c: Merge in changes from GNU libc.
25895
25896 2000-08-26  Jim Meyering  <meyering@lucent.com>
25897
25898         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
25899         * m4/fpending.m4: New file.
25900
25901 2000-08-26  Jim Meyering  <meyering@lucent.com>
25902
25903         * lib/closeout.c: Include "__fpending.h".
25904         (close_stdout_status): Return right away if there's nothing to flush.
25905
25906         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
25907         * lib/__fpending.c: New file.
25908         * lib/__fpending.h: New file.
25909
25910 2000-08-20  Jim Meyering  <meyering@lucent.com>
25911
25912         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
25913         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
25914         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
25915
25916 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
25917
25918         Improve fileutils installation on systems where running
25919         programs (like install) can't be unlinked.
25920         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
25921         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
25922
25923 2000-08-07  Paul Eggert  <eggert@twinsun.com>
25924
25925         Standardize on "memory exhausted" instead of "Memory exhausted"
25926         or "virtual memory exhausted".
25927         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
25928         "virtual memory exhausted".
25929         * lib/same.c (same_name): Invoke xalloc_die instead of printing
25930         our own message.
25931         * lib/userspec.c (parse_user_spec): Likewise.
25932         * lib/bumpalloc.h: comment fix
25933         * lib/same.c, userspec.c: Include xalloc.h.
25934
25935         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
25936         not char *const and pointing to a constant array.
25937         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
25938         (xrealloc): Comment fix.
25939
25940         * lib/userspec.c (parse_user_spec):
25941         Don't translate a message until just before returning,
25942         to avoid unnecessary translation.
25943
25944 2000-08-07  Jim Meyering  <meyering@lucent.com>
25945
25946         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
25947         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
25948         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
25949         getgroups.c, gethostname.c, getopt.h, group-member.c,
25950         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
25951         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
25952         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
25953         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
25954         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
25955         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
25956         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
25957         yesno.c: Back out Copyright date changes for each file with no change
25958         this year.  This eases coordination with other programs using the same
25959         source code modules.  From Paul Eggert.
25960
25961 2000-08-06  Paul Eggert  <eggert@twinsun.com>
25962
25963         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
25964         not char, for compatibility with glibc 2.1.3 strftime.c.
25965
25966 2000-08-03  Greg McGary  <greg@mcgary.org>
25967
25968         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
25969         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
25970         (EXTEND_BUFFER): Use them.
25971
25972 2000-08-01  Jim Meyering  <meyering@lucent.com>
25973
25974         * lib/dirname.c (ISSLASH): Define.
25975         (BACKSLASH_IS_PATH_SEPARATOR): Define.
25976         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
25977         both `\' and `/' may be use as path separators.
25978         Based on a patch from Prashant TR.
25979
25980 2000-07-31  Paul Eggert  <eggert@twinsun.com>
25981
25982         * lib/quotearg.c (quotearg_n_options): Don't make the initial
25983         slot vector a constant, since it might get modified.
25984
25985 2000-07-31  Jim Meyering  <meyering@lucent.com>
25986
25987         * lib/xmalloc.c: Use `virtual memory exhausted', not
25988         `Memory exhausted'.
25989         * lib/obstack.c (print_and_abort): Likewise.
25990
25991 2000-07-30  Paul Eggert  <eggert@twinsun.com>
25992
25993         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
25994         buffer, so that the caller can always quote one small
25995         component of a "memory exhausted" message in slot 0.
25996         From a suggestion by Jim Meyering.
25997
25998 2000-07-30  Jim Meyering  <meyering@lucent.com>
25999
26000         * lib/makepath.c (make_path): Quote the other instance, too.
26001
26002         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
26003         (STATIC_BUF_SIZE): Define.
26004         (quotearg_n_options): Use only statically allocated storage when
26005         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
26006         than STATIC_BUF_SIZE.
26007
26008 2000-07-29  Jim Meyering  <meyering@lucent.com>
26009
26010         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
26011         * lib/dirname.c (dir_name): Likewise.
26012
26013         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
26014         `/'.
26015
26016         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
26017         (dir_name): Assert that there are no trailing slashes.
26018
26019 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
26020
26021         * lib/mbswidth.h (mbswidth): Add a flags argument.
26022         (mbswidth): New declaration.
26023         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
26024         * lib/mbswidth.c (mbswidth): Add a flags argument.
26025         (mbsnwidth): New function.
26026
26027 2000-07-24  Jim Meyering  <meyering@lucent.com>
26028
26029         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
26030
26031 2000-07-23  Paul Eggert  <eggert@twinsun.com>
26032
26033         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
26034
26035 2000-07-23  Paul Eggert  <eggert@twinsun.com>
26036
26037         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
26038         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
26039         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
26040         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
26041         invoke multibyte primitives.
26042
26043 2000-07-23  Paul Eggert  <eggert@twinsun.com>
26044
26045         * lib/quotearg.c:
26046         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
26047         so that mbstate_t is always defined.
26048
26049         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
26050         be 1 in at least one GCC installation, and this configuration
26051         error is likely to be common.  Ignoring MB_LEN_MAX hurts
26052         performance on hosts that have mbrtowc but have only unibyte
26053         locales, but I assume these hosts are rare.
26054
26055 2000-07-23  Paul Eggert  <eggert@twinsun.com>
26056
26057         * lib/mbswidth.c (_XOPEN_SOURCE):
26058         Don't define; this causes problems on Solaris 7.
26059         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
26060
26061 2000-07-23  Jim Meyering  <meyering@lucent.com>
26062
26063         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
26064         too: getgrgid, getpwuid, getuid.
26065
26066 2000-07-23  Jim Meyering  <meyering@lucent.com>
26067
26068         * lib/basename.c (base_name): Add an assertion.
26069
26070 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
26071
26072         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
26073         shadow its mbsinit function.
26074
26075 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
26076
26077         * lib/mbswidth.h: New file.
26078         * lib/mbswidth.c: New file.
26079         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
26080         (noinst_HEADERS): Add mbswidth.h.
26081
26082 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
26083
26084         * lib/config.charset: Add support for FreeBSD. Improve support for
26085         HP-UX and IRIX 6.
26086
26087 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
26088
26089         * m4/mbswidth.m4: New file.
26090         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
26091
26092 2000-07-15  Jim Meyering  <meyering@lucent.com>
26093
26094         * lib/makepath.c: Include quote.h.
26095         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
26096         corresponding argument in a `quote (...)' call.
26097         Give better diagnostics.
26098
26099         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
26100         (noinst_HEADERS): Add quote.h.
26101
26102         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
26103         from tar's src/misc.c.
26104         * lib/quote.h: New file.  Prototypes for same.
26105
26106 2000-07-14  Paul Eggert  <eggert@twinsun.com>
26107
26108         From a suggestion by Bruno Haible.
26109         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
26110         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
26111         to decide whether to define the BeOS workaround macro;
26112         this adjusts to the change to AC_MBSTATE_T.
26113
26114 2000-07-14  Jim Meyering  <meyering@lucent.com>
26115
26116         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
26117         jm_AC_TYPE_UINTMAX_T.
26118
26119 2000-07-13  Paul Eggert  <eggert@twinsun.com>
26120
26121         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
26122
26123         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
26124         quotearg_buffer_restyled): Add support for
26125         clocale_quoting_style.  Undo previous change to
26126         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
26127         and "{RIGHT QUOTATION MARK}" msgids.
26128
26129 2000-07-10  Paul Eggert  <eggert@twinsun.com>
26130
26131         From a suggestion by Bruno Haible.
26132         * m4/mbstate_t.m4 (AC_MBSTATE_T):
26133         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
26134         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
26135         and mbstate_t, to a single-part test that simply defines mbstate_t.
26136         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
26137         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
26138
26139 2000-07-10  Jim Meyering  <meyering@lucent.com>
26140
26141         * m4/strerror_r.m4: Mirror the correction made in autoconf.
26142
26143         * m4/gnu-source.m4: Output to confdefs.h directly.
26144         Suggestion from Akim Demaille.
26145
26146 2000-07-09  Paul Eggert  <eggert@twinsun.com>
26147
26148         The old behavior of quoting `like this' doesn't look good with
26149         newer, ISO-style fonts.  See:
26150         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
26151
26152         Instead, quote "like this" by default.  Let the translator
26153         tailor the locale-specific quoting behavior by providing
26154         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
26155
26156         * lib/quotearg.c (N_): New macro.
26157         (gettext_default): New function.
26158         (quotearg_buffer_restyled): Use
26159         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
26160         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
26161
26162 2000-07-09  Jim Meyering  <meyering@lucent.com>
26163
26164         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
26165         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
26166
26167         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
26168         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
26169
26170 2000-07-09  Jim Meyering  <meyering@lucent.com>
26171
26172         * lib/Most files: Update copyright dates to include 2000.
26173
26174 2000-07-08  Jim Meyering  <meyering@lucent.com>
26175
26176         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
26177         if not defined.
26178         (xgethostname): Remove now-unnecessary #ifdef.
26179         Move declaration of `err' into loop where it's used.
26180
26181 2000-07-05  Paul Eggert  <eggert@twinsun.com>
26182         and Bruno Haible  <haible@clisp.cons.org>
26183
26184         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
26185         only if the test for an object-type mbstate_t fails.  This
26186         prevents us from mistakenly reporting that mbstate_t is a
26187         system object type after we "#define mbstate_t int" to work
26188         around its lack.
26189
26190 2000-07-05  Paul Eggert  <eggert@twinsun.com>
26191         and Bruno Haible  <haible@clisp.cons.org>
26192
26193         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
26194
26195 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
26196
26197         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
26198         to strerror_r.
26199         Include <ctype.h> for use of isalpha.
26200
26201 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
26202
26203         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
26204         by allocating a larger buffer. Test the gethostname return value for
26205         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
26206         returns an error and ENAMETOOLONG isn't defined.
26207
26208 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
26209
26210         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
26211         dimension.
26212
26213 2000-07-04  Jim Meyering  <meyering@lucent.com>
26214
26215         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
26216         of the deprecated AC_CHECKING.
26217
26218 2000-07-04  Jim Meyering  <meyering@lucent.com>
26219
26220         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
26221         Reported by Bruno Haible.
26222
26223 2000-07-04  Jim Meyering  <meyering@lucent.com>
26224
26225         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
26226         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
26227         lacks mbrtowc.
26228
26229 2000-07-03  Paul Eggert  <eggert@twinsun.com>
26230
26231         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
26232         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
26233
26234 2000-07-03  Paul Eggert  <eggert@twinsun.com>
26235         and Bruno Haible  <haible@clisp.cons.org>
26236
26237         * lib/quotearg.c (mbrtowc):
26238         Assign to *pwc, and return 1 only if result is nonzero.
26239         (iswprint): Use ISPRINT when substituting our own mbrtowc.
26240
26241 2000-07-03  Jim Meyering  <meyering@lucent.com>
26242
26243         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
26244
26245 2000-07-03  Jim Meyering  <meyering@lucent.com>
26246
26247         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
26248         This is necessary to get a definition of e.g., UTMP_FILE on
26249         HP-UX 10.20.
26250         From Bob Proulx.
26251
26252 2000-07-02  Jim Meyering  <meyering@lucent.com>
26253
26254         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
26255
26256         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
26257         AC_LIBOBJ(function_name).
26258         * m4/chown.m4: Likewise.
26259         * m4/fnmatch.m4: Likewise.
26260         * m4/ftruncate.m4: Likewise.
26261         * m4/getgroups.m4: Likewise.
26262         * m4/getline.m4: Likewise.
26263         * m4/group-member.m4: Likewise.
26264         * m4/jm-macros.m4: Likewise.
26265         * m4/lstat.m4: Likewise.
26266         * m4/malloc.m4: Likewise.
26267         * m4/memcmp.m4: Likewise.
26268         * m4/nanosleep.m4: Likewise.
26269         * m4/putenv.m4: Likewise.
26270         * m4/realloc.m4: Likewise.
26271         * m4/regex.m4: Likewise.
26272         * m4/stat.m4: Likewise.
26273         * m4/strftime.m4: Likewise.
26274
26275 2000-07-02  Jim Meyering  <meyering@lucent.com>
26276
26277         * lib/quotearg.c (mbstate_t): Don't define here.
26278
26279 2000-07-02  Jim Meyering  <meyering@lucent.com>
26280
26281         * lib/nanosleep.c (SIGCONT): Define if not already defined.
26282
26283 2000-07-01  Jim Meyering  <meyering@lucent.com>
26284
26285         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
26286
26287 2000-07-01  Jim Meyering  <meyering@lucent.com>
26288
26289         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
26290         problem.
26291
26292 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
26293
26294         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
26295         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
26296
26297 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
26298
26299         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
26300         per change in ../m4/ls-mntd-fs.m4.
26301         (read_filesystem_list): Ignore symbolic links.
26302
26303 2000-06-29  Jim Meyering  <meyering@lucent.com>
26304
26305         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
26306         for declaration of strcmp.
26307
26308         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
26309
26310         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
26311         Avoid warning by casting result to `char *' to remove `const'.
26312
26313 2000-06-28  Jim Meyering  <meyering@lucent.com>
26314
26315         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
26316         included by quotearg.c, for which we perform this test.  From
26317         Bruno Haible.
26318
26319 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
26320
26321         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
26322         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
26323         <utmpx.h> exists, put readutmp.o into LIBOBJS.
26324
26325 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
26326
26327         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
26328
26329 2000-06-26  Paul Eggert  <eggert@twinsun.com>
26330
26331         savedir now sets errno on failure and invokes xmalloc to get memory.
26332         Fix a couple of other minor bugs while we're at it.
26333
26334         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
26335         (NAMLEN): Remove macro.
26336         (malloc, realloc): Remove decls.
26337         (stpcpy): Likewise.
26338         ("xalloc.h"): Include.
26339         (NAME_SIZE_DEFAULT): New macro.
26340         (savedir): Use xmalloc / xrealloc to allocate memory.
26341         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
26342         Skip "" directory entries.
26343         Use strlen to calculate directory entry length, since the old method
26344         is rarely used these days and isn't worth supporting.
26345         Don't use a pointer after freeing it.
26346         Check for integer overflow when calculating allocation size.
26347         Use memcpy to copy entries, instead of stpcpy.
26348         Set errno properly when returning NULL.
26349         Check for readdir error.
26350
26351 2000-06-26  Jim Meyering  <meyering@lucent.com>
26352
26353         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
26354
26355 2000-06-25  Jim Meyering  <meyering@lucent.com>
26356
26357         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
26358         Linux header bug when _XOPEN_SOURCE is defined to 500.
26359
26360 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
26361
26362         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
26363         deficiency.
26364
26365 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
26366
26367         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
26368         Include xalloc.h.
26369         Don't include <stdlib.h>.  Don't declare malloc, realloc.
26370
26371 2000-06-24  Jim Meyering  <meyering@lucent.com>
26372
26373         * m4/strerror_r.m4: Revive this file -- to try out an experimental
26374         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
26375         for which strerror does return char*, but which lacks a conveniently
26376         accessible declaration of the function.  If the compile-test says
26377         strerror_r doesn't work, then resort to a `run'-test that works on
26378         BeOS and segfaults on DEC Unix.
26379
26380 2000-06-24  Jim Meyering  <meyering@lucent.com>
26381
26382         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
26383
26384 2000-06-23  Paul Eggert  <eggert@twinsun.com>
26385
26386         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
26387         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
26388
26389 2000-06-23  Paul Eggert  <eggert@twinsun.com>
26390
26391         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
26392         (mbrtowc, mbstate_t): Define substitutes if
26393         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
26394         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
26395         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
26396
26397 2000-06-23  Jim Meyering  <meyering@lucent.com>
26398
26399         * m4/afs.m4: Add missing AC_MSG_RESULT.
26400         Reported by Bruno Haible.
26401
26402         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
26403         Suggestion from Bruno Haible.
26404
26405 2000-06-23  Jim Meyering  <meyering@lucent.com>
26406
26407         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
26408
26409 2000-06-21  Jim Meyering  <meyering@lucent.com>
26410
26411         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
26412
26413 2000-06-21  Jim Meyering  <meyering@lucent.com>
26414
26415         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
26416         (noinst_HEADERS): Add getstr.h.
26417
26418         * lib/getline.c (getstr): Move into a separate file.
26419         * lib/getstr.c (getstr): New file, extracted from getline.c, with
26420         the following changes: new parameter, delim2; both delim[12]
26421         parameters have type `int', not `char'.  The latter would lose
26422         with 8-bit delimiters.
26423         * lib/getstr.h: New file.
26424
26425 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26426
26427         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
26428         than 1024, return a memory chunk of least possible size, instead
26429         of size PATH_MAX + 2. In the loop, increment the size proportionally.
26430         Use free/xmalloc instead of xrealloc to avoid copying for very long
26431         paths.
26432
26433 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26434
26435         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
26436         the empty string.
26437
26438 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26439
26440         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
26441         address, not strdup.  Include <stdlib.h> and don't declare free().
26442
26443 2000-06-19  Jim Meyering  <meyering@lucent.com>
26444
26445         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
26446
26447 2000-06-18  Jim Meyering  <meyering@lucent.com>
26448
26449         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
26450
26451         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
26452         `checking whether...' message to be consistent with that of the
26453         lstat test.
26454
26455 2000-06-18  Jim Meyering  <meyering@lucent.com>
26456
26457         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
26458         Besides, these days every porting target provides a mkdir function.
26459
26460         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
26461         needed. (this snippet comes from src/system.h).
26462
26463 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
26464
26465         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
26466
26467 2000-06-15  Paul Eggert  <eggert@twinsun.com>
26468
26469         * lib/human.c (adjust_value): New function.
26470         (human_readable_inexact): Apply rounding style even when
26471         printing approximate values.
26472
26473 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26474
26475         * lib/human.c (human_readable_inexact): Allow an input block
26476         size that is not a multiple of the output block size, and vice versa.
26477         Reported by Piergiorgio Sartor.
26478
26479 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26480
26481         * lib/getdate.y (get_date): Apply relative times after time
26482         zone indicator, not before.  Reported by Todd A. Jacobs.
26483
26484 2000-06-13  Jim Meyering  <meyering@lucent.com>
26485
26486         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
26487
26488         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
26489
26490 2000-06-12  Paul Eggert  <eggert@twinsun.com>
26491
26492         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
26493
26494 2000-06-12  Jim Meyering  <meyering@lucent.com>
26495
26496         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
26497         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
26498         optional argument.
26499         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
26500         the optional argument, `lib'.
26501
26502 2000-06-08  Jim Meyering  <meyering@lucent.com>
26503
26504         * m4/largefile.m4: Remove file (now that it's part of autoconf).
26505
26506 2000-06-04  Paul Eggert  <eggert@twinsun.com>
26507
26508         Rewrite largefile configuration so that we don't need to run
26509         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
26510         AC_CANONICAL_HOST in configure.in -- jmm]
26511
26512         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
26513         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
26514         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
26515         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
26516         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
26517         All uses changed.
26518         Instead of inspecting the output of getconf, try to compile the
26519         test program without and with the macro definition.
26520         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
26521         for getconf.  Instead, check for the needed flags by compiling
26522         test programs.
26523
26524 2000-06-04  Paul Eggert  <eggert@twinsun.com>
26525
26526         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
26527
26528 2000-06-04  Jim Meyering  <meyering@lucent.com>
26529
26530         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
26531         SunOS 4.1.4 for which gid_t is an unsigned type.
26532
26533 2000-06-03  Jim Meyering  <meyering@lucent.com>
26534
26535         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
26536         now that autoconf requires that.
26537
26538         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
26539         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
26540         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
26541
26542 2000-06-03  Jim Meyering  <meyering@lucent.com>
26543
26544         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
26545
26546 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
26547
26548         * m4/glibc21.m4: New file.
26549         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
26550
26551 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
26552
26553         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
26554         newer, don't install charset.alias.
26555         * lib/config.charset: Change the Linux/glibc rules so they become empty
26556         on glibc-2.1 or newer.
26557
26558 2000-06-02  Jim Meyering  <meyering@lucent.com>
26559
26560         * lib/mountlist.c: Back out last change.  Instead, do this...
26561         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
26562         me_dummy member using the same `ignore'-testing code.
26563         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
26564         fs_type strings.
26565         From Mark D. Roth.
26566
26567 2000-05-29  Jim Meyering  <meyering@lucent.com>
26568
26569         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
26570         mounts with the `ignore' attribute.  Based on a patch from
26571         Mark D. Roth.
26572
26573 2000-05-28  Jim Meyering  <meyering@lucent.com>
26574
26575         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
26576         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
26577         * m4/stat.m4: Likewise.
26578         * m4/lstat.m4: Likewise.
26579         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
26580
26581         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
26582         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
26583
26584 2000-05-26  Jim Meyering  <meyering@lucent.com>
26585
26586         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
26587
26588 2000-05-24  Jim Meyering  <meyering@lucent.com>
26589
26590         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
26591         autoconf requires that.
26592         * m4/lib-check.m4: Likewise.
26593         * m4/jm-macros.m4: Likewise.
26594         * m4/strftime.m4: Likewise.
26595
26596         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
26597         AC_CHECK_DECLS, now that autoconf requires that.
26598
26599 2000-05-22  Jim Meyering  <meyering@lucent.com>
26600
26601         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
26602         * m4/lstat.m4: Likewise.
26603
26604 2000-05-22  Jim Meyering  <meyering@lucent.com>
26605
26606         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
26607
26608 2000-05-20  Jim Meyering  <meyering@lucent.com>
26609
26610         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
26611         (jm_PREREQ): Use it.
26612
26613 2000-05-18  Jim Meyering  <meyering@lucent.com>
26614
26615         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
26616         back, too, since it may have been modified by allocate_entry.
26617         (hash_delete): Rewrite to use neither the assignment operator
26618         nor the comma operator in an if-expression.
26619
26620 2000-05-15  Paul Eggert  <eggert@twinsun.com>
26621
26622         * lib/closeout.c:
26623         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
26624         Remove; no longer needed.
26625         "quotearg.h": Add include.
26626         (file_name): Do not bother to explicitly initialize to NULL; it's less
26627         efficient on some hosts.
26628         (close_stdout_status): Remove test as to whether stdout was already
26629         closed; it breaks for the case "echo x | sort >&-".
26630         Quote file name colons.
26631         Do not assume that _("write error") lacks format strings.
26632
26633 2000-05-15  Jim Meyering  <meyering@lucent.com>
26634
26635         * lib/version-etc.c (version_etc_copyright): Update the copyright
26636         string used in all --version output.
26637
26638 2000-05-14  Jim Meyering  <meyering@lucent.com>
26639
26640         * lib/closeout.c (close_stdout_set_file_name): New function.
26641         (close_stdout_status): Use new file-scoped global.
26642         Return right away if fstat says the stdout file descriptor is invalid.
26643         * lib/closeout.h (close_stdout_set_file_name): Declare.
26644
26645 2000-05-10  Jim Meyering  <meyering@lucent.com>
26646
26647         * lib/closeout.c [default_exit_status]: New file-scoped variable.
26648         (close_stdout_set_status): New function.
26649         * lib/closeout.h (close_stdout_set_status): Declare.
26650
26651 2000-05-09  Jim Meyering  <meyering@lucent.com>
26652
26653         * m4/gettext.m4: Rename this...
26654         * m4/libintl.m4: ...to this.
26655
26656 2000-05-08  Jim Meyering  <meyering@lucent.com>
26657
26658         * lib/long-options.c: Don't include closeout.h.
26659         (parse_long_options): Don't call close_stdout for --version.
26660
26661 2000-05-06  Paul Eggert  <eggert@twinsun.com>
26662
26663         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
26664         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
26665         2.1.3 bug.  This avoids a clash when files like regex.c define
26666         _GNU_SOURCE.
26667
26668 2000-05-06  Jim Meyering  <meyering@lucent.com>
26669
26670         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
26671         (AC_REPLACE_FUNCS): Add strnlen.
26672
26673         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
26674         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
26675
26676         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
26677         AC_SEARCH_LIBS call for nanosleep.
26678         (LIB_NANOSLEEP): Set and AC_SUBST.
26679
26680 2000-05-06  Jim Meyering  <meyering@lucent.com>
26681
26682         * lib/strnlen.c: Undefine __strnlen and strnlen.
26683         [!weak_alias]: Define __strnlen to strnlen.
26684
26685         * lib/atexit.c: New file, from libiberty.
26686
26687 2000-05-06  Jim Meyering  <meyering@lucent.com>
26688
26689         * lib/closeout.c (close_stdout_status): Also check for errors on the
26690         stderr stream.
26691
26692 2000-05-05  Jim Meyering  <meyering@lucent.com>
26693
26694         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
26695         AC_SEARCH_LIBS call for clock_gettime.
26696         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
26697
26698         * m4/search-libs.m4: Update from autoconf.
26699
26700         su doesn't work on Solaris 2.6.
26701         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
26702         <shadow.h>.  Reported by Dragos Harabor.
26703
26704 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
26705
26706         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
26707         memcpy instead of xmalloc, xrealloc, path_concat.
26708         (locale_charset): Treat empty environment variables as absent.
26709         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
26710
26711 2000-05-04  Jim Meyering  <meyering@lucent.com>
26712
26713         * lib/getopt.c: Update from glibc.
26714         * lib/obstack.c: Likewise.
26715         * lib/obstack.h: Likewise.
26716         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
26717         file
26718
26719         * lib/regex.h: Likewise.
26720         * lib/strndup.c: Likewise.
26721         * lib/strnlen.c: New file, from glibc.
26722
26723 2000-05-03  Jim Meyering  <meyering@lucent.com>
26724
26725         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
26726
26727 2000-05-02  Paul Eggert  <eggert@twinsun.com>
26728
26729         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
26730         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
26731         compile-time test, rather than inspecting host and OS, to
26732         decide whether to define _LARGEFILE_SOURCE.
26733
26734 2000-05-01  Jim Meyering  <meyering@lucent.com>
26735
26736         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
26737
26738         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
26739         Based on a patch from Bruno Haible.
26740
26741 2000-05-01  Jim Meyering  <meyering@lucent.com>
26742
26743         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
26744
26745 2000-04-29  Jim Meyering  <meyering@lucent.com>
26746
26747         * lib/path-concat.c: Declare strdup only if it's not defined.
26748         * lib/canon-host.c: Likewise.
26749
26750 2000-04-28  Jim Meyering  <meyering@lucent.com>
26751
26752         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
26753         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
26754         is included first, then limits.h is included by locale.h by libintl.h.
26755         From John David Anglin.
26756
26757 2000-04-25  Jim Meyering  <meyering@lucent.com>
26758
26759         * lib/makepath.c (S_IRWXUGO): Define.
26760         (make_path): Always perform explicit chmod if MODE specifies any
26761         of the `special' permission bits.  Prompted by a bug report against
26762         install from Mate Wierdl and Joost van Baal.
26763
26764 2000-04-18  Jim Meyering  <meyering@lucent.com>
26765
26766         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
26767         (jm_PREREQ): Use it.
26768
26769 2000-04-18  Jim Meyering  <meyering@lucent.com>
26770
26771         * lib/README: New file.
26772
26773         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
26774         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
26775
26776 2000-04-17  Jim Meyering  <meyering@lucent.com>
26777
26778         Get it right :-)
26779         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
26780         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
26781         Suggestion from Akim Demaille.
26782
26783 2000-04-17  Jim Meyering  <meyering@lucent.com>
26784
26785         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
26786         the definition of it to rpl_strftime also defined-away the system's
26787         declaration.
26788
26789 2000-04-15  Jim Meyering  <meyering@lucent.com>
26790
26791         Use `C' to denote so-called `contiguous' files, the same way
26792         that tar does.
26793         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
26794         (ftypelet): Use S_ISCTG.
26795         From Michael Deutschmann.
26796
26797 2000-04-14  Jim Meyering  <meyering@lucent.com>
26798
26799         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
26800         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
26801         clobbered.
26802
26803 2000-04-14  Jim Meyering  <meyering@lucent.com>
26804
26805         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
26806
26807 2000-04-13  Jim Meyering  <meyering@lucent.com>
26808
26809         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
26810         AH_VERBATIM to insert required #ifndef into config.h.in.
26811         Suggestion from Akim Demaille.
26812
26813 2000-04-12  Jim Meyering  <meyering@lucent.com>
26814
26815         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
26816         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
26817         Christian Krackowizer.
26818
26819         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
26820         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
26821         (AC_SYS_LARGEFILE): Require.
26822         (AM_C_PROTOTYPES): Require.
26823
26824 2000-04-08  Jim Meyering  <meyering@lucent.com>
26825
26826         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
26827         names don't conflict.  Reported by Eli Zaretskii.
26828
26829 2000-04-07  Jim Meyering  <meyering@lucent.com>
26830
26831         * lib/putenv.c: Move inclusion of errno.h so it follows that of
26832         sys/types.h, to work around system header problems on AIX 3.2.5.
26833         From Bruno Haible.
26834
26835 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
26836
26837         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
26838         bug.  Deal with the different error behavior of Irix iconv.
26839
26840 2000-04-05  Paul Eggert  <eggert@twinsun.com>
26841
26842         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
26843         IRIX if the installer said otherwise.
26844
26845 2000-04-05  Jim Meyering  <meyering@lucent.com>
26846
26847         Portability tweaks required for ultrix4.3.
26848         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
26849         (jm_CHECK_DECLS): Add getutent to the list of functions.
26850         (_jm_DECL_HEADERS): Add utmpx.h.
26851         From John David Anglin.
26852
26853         * m4/strftime.m4: Back out the 2000-04-02 change.
26854         Instead of that change, simply undefine putenv in the test program.
26855
26856 2000-04-05  Jim Meyering  <meyering@lucent.com>
26857
26858         Portability tweaks required for ultrix4.3.
26859         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
26860         getutent.
26861         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
26862         * lib/canon-host.c: Declare strdup.
26863         * lib/path-concat.c: Likewise.
26864         From John David Anglin.
26865
26866 2000-04-04  Jim Meyering  <meyering@lucent.com>
26867
26868         Be more DOS 8.3-friendly.
26869         * lib/ref-add.sin: Renamed from ref-add.sed.in.
26870         * lib/ref-del.sin: Renamed from ref-del.sed.in.
26871         * lib/Makefile.am: Reflect renaming.
26872         Reported by Eli Zaretskii.
26873
26874         Use a temporary file name that won't clash with `charset.alias'
26875         in the DOS 8.3 name space.
26876         * lib/Makefile.am (charset_tmp): Define.
26877         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
26878         (uninstall-local): Likewise.
26879         Reported by Eli Zaretskii.
26880
26881 2000-04-03  Jim Meyering  <meyering@lucent.com>
26882
26883         * m4/gettext.m4: Fix typo in comment.
26884
26885         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
26886         textutils/configure.in).  Suggestion from Paul Eggert.
26887         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
26888
26889 2000-04-02  Paul Eggert  <eggert@twinsun.com>
26890
26891         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
26892         variable in the shell rather than using putenv, which isn't
26893         portable.  This avoids the configure-time inter-test dependency
26894         on the potentially-renamed putenv function.
26895
26896 2000-03-30  Paul Eggert  <eggert@twinsun.com>
26897
26898         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
26899         before checking struct stat.st_blksize, so that
26900         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
26901
26902 2000-03-29  Paul Eggert  <eggert@twinsun.com>
26903
26904         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
26905         since strftime.c uses HAVE_STRFTIME to decide whether to use
26906         the underlying strftime.
26907
26908 2000-03-29  Paul Eggert  <eggert@twinsun.com>
26909
26910         * lib/time/strftime.c (my_strftime): Make sure we call the system
26911         strftime, not ourselves, when invoking the underlying strftime.
26912
26913 2000-03-24  Jim Meyering  <meyering@lucent.com>
26914
26915         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
26916         (charset_alias): Define.
26917         (install-exec-local): Factor out common code.
26918         (uninstall-local): Split lines longer than 80.
26919         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
26920         (SUFFIXES): Define.
26921         (.sed.in.sed): New rule.  Don't redirect directly to $@.
26922         (CLEANFILES): Add ref-add.sed and ref-del.sed.
26923
26924 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
26925
26926         * lib/config.charset: Output a line containing "Packages using this
26927         file".
26928         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
26929         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
26930         ref-del.sed): New rules.
26931
26932 2000-03-17  Jim Meyering  <meyering@lucent.com>
26933
26934         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
26935         Otherwise, include <strings.h>
26936
26937 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
26938
26939         * lib/unicodeio.c (utf8_wctomb): New function.
26940         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
26941         format instead of in UCS-4 with platform dependent endianness.
26942
26943 2000-03-10  Jim Meyering  <meyering@lucent.com>
26944
26945         * m4/lib-check.m4: Look for getspnam in -lgen, too.
26946         From Marco Franzen.
26947
26948 2000-03-07  Paul Eggert  <eggert@twinsun.com>
26949
26950         * lib/savedir.c (savedir): Work even if directory size is
26951         negative; this can happen with some screwy NFS configurations.
26952
26953 2000-03-06  Jim Meyering  <meyering@lucent.com>
26954
26955         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
26956         if it's NULL (because we ran out of memory).  From Bruno Haible.
26957
26958 2000-03-05  Jim Meyering  <meyering@lucent.com>
26959
26960         * lib/localcharset.c ("path-concat.h"): Include.
26961         (get_charset_aliases): Use path_concat instead of ANSI string
26962         concatenation.
26963
26964         * lib/unicodeio.h (PARAMS): Define.
26965         Use it to guard prototype.
26966
26967 2000-03-04  Jim Meyering  <meyering@lucent.com>
26968
26969         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
26970         for lib/localcharset.c.
26971
26972 2000-03-04  Jim Meyering  <meyering@lucent.com>
26973
26974         * lib/Makefile.am (install-exec-local): Create $(libdir) before
26975         installing into it.
26976         (uninstall-local): Uncomment this rule so `make distcheck' works
26977         once again.
26978
26979         * lib/unicodeio.c (<errno.h>): Include it.
26980         (errno): Declare if not defined.
26981
26982         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
26983
26984         * lib/config.charset: New version, incorporating remarks from a linux
26985         i18n mailing list.  From Bruno Haible.
26986
26987 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
26988
26989         * m4/codeset.m4: New file.
26990         * m4/iconv.m4: New file.
26991         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
26992
26993 2000-03-03  Jim Meyering  <meyering@lucent.com>
26994
26995         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
26996
26997 2000-03-02  Jim Meyering  <meyering@lucent.com>
26998
26999         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
27000         the messages come out on separate lines.
27001
27002         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
27003         rather than jm_CHECK_DECLARATIONS.
27004         * m4/decl.m4: Remove now-unused file.
27005
27006         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
27007         geteuid.
27008
27009 2000-03-02  Jim Meyering  <meyering@lucent.com>
27010
27011         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
27012
27013 2000-03-01  Jim Meyering  <meyering@lucent.com>
27014
27015         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
27016         * lib/unicodeio.c: Likewise.
27017
27018 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
27019
27020         * lib/config.charset: New file.
27021         * lib/localcharset.c: New file.
27022         * lib/unicodeio.h, lib/unicodeio.c: New files.
27023         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
27024         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
27025         (noinst_HEADERS): Add unicodeio.h.
27026         (all-local, install-exec-local, charset.alias): New targets.
27027
27028 2000-02-28  Paul Eggert  <eggert@twinsun.com>
27029
27030         * lib/quotearg.c (ALERT_CHAR): New macro.
27031         (quotearg_buffer_restyled): Use it.
27032
27033 2000-02-27  Jim Meyering  <meyering@lucent.com>
27034
27035         * m4/check-decl.m4: Add getenv to the list.
27036
27037 2000-02-27  Jim Meyering  <meyering@lucent.com>
27038
27039         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
27040         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
27041
27042         * lib/backupfile.c: Guard inclusion of stdlib.h with
27043         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
27044         Declare malloc if needed.
27045
27046         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
27047         `#ifndef HAVE_DECL..'
27048         now that autoconf always defines the HAVE_DECL_ symbols.
27049         * lib/human.c: Likewise.
27050         * lib/same.c: Likewise.
27051         * lib/strtoumax.c: Likewise.
27052
27053         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
27054         declaration check was not run.
27055         * lib/hash.c: Likewise.
27056         * lib/human.c: Likewise.
27057         * lib/same.c: Likewise.
27058         * lib/strtoumax.c: Likewise.
27059
27060         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
27061         `.', then first look up the entire `.'-containing string as a login
27062         name.
27063
27064 2000-02-23  Jim Meyering  <meyering@lucent.com>
27065
27066         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
27067         in place of my hack.
27068
27069 2000-02-18  Paul Eggert  <eggert@twinsun.com>
27070
27071         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
27072         (textint): New typedef.
27073         (parser_control): Member year changed from int to textint.
27074         All uses changed.
27075         (YYSTYPE): Removed; replaced by %union with int and textint members.
27076         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
27077         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
27078         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
27079         (tSNUMBER, tUNUMBER): Now of type <textintval>.
27080         (date, number, to_year): Use width of number in digits, not its value,
27081         to determine whether it's a 2-digit year, or a 2-digit time.
27082         (yylex): Store number of digits of numeric tokens.
27083         Reported by John Kendall.
27084
27085         (parser_control): Changed from struct parser_control to typedef (for
27086         consistency).  All uses changed.
27087
27088         (tID): Removed; not used.
27089         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
27090
27091 2000-02-14  Paul Eggert  <eggert@twinsun.com>
27092
27093         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
27094         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
27095
27096 2000-02-12  Jim Meyering  <meyering@lucent.com>
27097
27098         * lib/userspec.c (ISDIGIT): Define it.
27099         (isdigit): Remove definition.
27100         (is_number): Use ISDIGIT, not isdigit.
27101         <libintl.h>: Include.
27102         (_ and N_): Define.
27103         (parse_user_spec): Mark translatable strings.
27104
27105 2000-02-10  Jim Meyering  <meyering@lucent.com>
27106
27107         With these changes, nanosleep.[ch] are finally enough like the other
27108         lib/* replacement files to compile on a few more losing systems.
27109
27110         * lib/nanosleep.h: Don't include config.h.
27111         Remove prototype from declaration of nanosleep.
27112         (PARAMS): Remove now-unneeded definition.
27113         * lib/nanosleep.c: #undef nanosleep.
27114         (rpl_nanosleep): Rename from nanosleep.
27115
27116 2000-02-10  Jim Meyering  <meyering@lucent.com>
27117
27118         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
27119         gnu_nanosleep to rpl_nanosleep.
27120
27121 2000-02-09  Jim Meyering  <meyering@lucent.com>
27122
27123         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
27124         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
27125
27126 2000-02-08  Akim Demaille  <akim@epita.fr>
27127
27128         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
27129         `[' and `]' and remove uses of `changequote'.
27130         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
27131         (AC_SYS_LARGEFILE): Likewise.
27132         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
27133         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
27134         of changequote.
27135         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
27136         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
27137         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
27138         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
27139
27140 2000-02-05  Jim Meyering  <meyering@lucent.com>
27141
27142         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
27143         Remove explicit use of AC_HEADER_TIME.  It is required by
27144         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
27145         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
27146         in autoconf whereby the expansion of the latter ended up preceding
27147         the expansion of its prerequisite, AC_HEADER_TIME.
27148         Reported by Volker Borchert.
27149
27150 2000-02-03  Jim Meyering  <meyering@lucent.com>
27151
27152         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
27153
27154 2000-02-03  Jim Meyering  <meyering@lucent.com>
27155
27156         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
27157         rather than with `#if HAVE_UTMPNAME'.
27158
27159 2000-02-02  Jim Meyering  <meyering@lucent.com>
27160
27161         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
27162         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
27163         Reported by Eli Zaretskii.
27164
27165 2000-02-01  Jim Meyering  <meyering@lucent.com>
27166
27167         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
27168
27169 2000-01-31  Jim Meyering  <meyering@lucent.com>
27170
27171         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
27172         functions.  Add the time.h and sys/time.h headers along with the
27173         AC_REQUIRE'ment of AC_HEADER_TIME.
27174
27175 2000-01-31  Jim Meyering  <meyering@lucent.com>
27176
27177         * lib/nanosleep.h (nanosleep): Guard declaration with
27178         `#if ! HAVE_DECL_NANOSLEEP'.
27179         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
27180         the declaration in that vendor's sys/timers.h.
27181         Reported by Christian Krackowizer.
27182
27183         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
27184         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
27185         (ISPRINT): Likewise.
27186         Reported by Tom Tromey.
27187
27188 2000-01-30  Jim Meyering  <meyering@lucent.com>
27189
27190         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
27191
27192         * m4/prereq.m4 (utmp_includes): Define.
27193         Check for ut_user and ut_name members in both struct utmpx
27194         and struct utmp.
27195
27196 2000-01-30  Jim Meyering  <meyering@lucent.com>
27197
27198         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
27199         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
27200         header files where only utmpx.ut_user is declared.
27201
27202         * lib/readutmp.h (UT_USER): Define.
27203
27204 2000-01-29  Jim Meyering  <meyering@lucent.com>
27205
27206         * m4/lib-check.m4: New file containing library-related checks from
27207         fileutils and sh-utils (textutils had none).
27208
27209 2000-01-28  Jim Meyering  <meyering@lucent.com>
27210
27211         * m4/perl.m4: Change format of warning message to look more like that
27212         from the missing script.  Suggestion from François Pinard.
27213
27214 2000-01-25  Jim Meyering  <meyering@lucent.com>
27215
27216         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
27217         well as time.h in the compile check.
27218         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
27219         Fix typo in cross-compiling case: s/yes/no/.
27220
27221 2000-01-23  Jim Meyering  <meyering@lucent.com>
27222
27223         * m4/jm-macros.m4: Move df-related tests here from
27224         fileutils/configure.in
27225
27226         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
27227         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
27228
27229         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
27230         s/space/ac_fsusage_space/.
27231         (jm_FILE_SYSTEM_USAGE): Take two parameters.
27232
27233         * m4/ftruncate.m4: New file (derived from part of
27234         fileutils/configure.in).
27235         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
27236         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
27237
27238         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
27239         AC_SUBST these here, rather than just in sh-util/configure.in, so
27240         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
27241         all the same.
27242         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
27243         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
27244         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
27245         (AC_SUBST(POW_LIBM)): Likewise.
27246         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
27247
27248 2000-01-23  Jim Meyering  <meyering@lucent.com>
27249
27250         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
27251         obstack.c.
27252
27253 2000-01-22  Jim Meyering  <meyering@lucent.com>
27254
27255         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
27256
27257         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
27258
27259         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
27260         configure.in
27261         (AC_CHECK_HEADERS): Likewise for sh-utils.
27262         (AC_CHECK_HEADERS): Likewise for textutils.
27263         Merge the three lists of headers.
27264
27265         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
27266         from fileutils' configure.in.
27267
27268         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
27269         code. Moved tests into their own function (_jm_DECL_HEADERS) in
27270         check-decl.m4.
27271
27272         * m4/check-decl.m4: Use #if rather than #ifdef.
27273         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
27274         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
27275         (_jm_DECL_HEADERS): Define new function.
27276         (jm_CHECK_DECLARATIONS): Require it.
27277
27278 2000-01-22  Jim Meyering  <meyering@lucent.com>
27279
27280         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
27281         [! HAVE_DECL_STRTOULL]: Declare strtoull.
27282         Required for some AIX systems.  Reported by Christian Krackowizer.
27283         [TESTING] (main): New function.
27284
27285         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
27286         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
27287         letters.
27288
27289         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
27290         iswprint.
27291
27292         * lib/strverscmp.c (ISDIGIT): Define.
27293         (strverscmp): Use ISDIGIT, not isdigit.
27294
27295 2000-01-19  Jim Meyering  <meyering@lucent.com>
27296
27297         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
27298         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
27299         defines `struct timespec' in <sys/time.h>
27300
27301         * m4/c-bs-a.m4: Remove uses of changequote altogether.
27302         Thanks to Akim for explaining.
27303
27304 2000-01-17  Paul Eggert  <eggert@twinsun.com>
27305
27306         * lib/nanosleep.c (nanosleep):
27307         Don't use SA_INTERRUPT to decide whether to call sigaction, as
27308         POSIX.1 doesn't require SA_INTERRUPT and some systems
27309         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
27310         it's been part of POSIX.1 since day 1 (in 1988).
27311
27312 2000-01-17  Jim Meyering  <meyering@lucent.com>
27313
27314         * lib/interlock: Remove unused file.  Reported by François Pinard.
27315
27316 2000-01-16  Paul Eggert  <eggert@twinsun.com>
27317
27318         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
27319         alert, backslash, formfeed, and vertical tab unnecessarily in
27320         shell quoting style.
27321
27322 2000-01-16  Jim Meyering  <meyering@lucent.com>
27323
27324         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
27325         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
27326         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
27327         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
27328
27329 2000-01-16  Jim Meyering  <meyering@lucent.com>
27330
27331         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
27332         because the latter didn't work.
27333
27334 2000-01-15  Jim Meyering  <meyering@lucent.com>
27335
27336         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
27337         (AC_REPLACE_FUNCS): Add memcpy and memset.
27338         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
27339         Add strpbrk.
27340         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
27341
27342 2000-01-12  Jim Meyering  <meyering@lucent.com>
27343
27344         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
27345         (jm_PREREQ): Use it.
27346         (jm_PREREQ_READUTMP): New macro.
27347         (jm_PREREQ): Use it.
27348
27349 2000-01-11  Paul Eggert  <eggert@twinsun.com>
27350
27351         Quote multibyte characters correctly.
27352         * m4/c-bs-a.m4: New file.
27353         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
27354         (jm_PREREQ): Use it.
27355
27356 2000-01-11  Paul Eggert  <eggert@twinsun.com>
27357
27358         * m4/uintmax_t.m4: Port to autoconf 2.13.
27359
27360 2000-01-08  Jim Meyering  <meyering@ascend.com>
27361
27362         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
27363         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
27364
27365 2000-01-04  Jim Meyering  <meyering@ascend.com>
27366
27367         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
27368         jm_STRUCT_DIRENT_D_TYPE.
27369         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
27370         jm_STRUCT_DIRENT_D_INO.
27371         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
27372         jm_STRUCT_UTIMBUF.
27373         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
27374         renamings.
27375         * m4/utime.m4: Likewise.
27376
27377         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
27378         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
27379
27380 2000-01-03  Paul Eggert  <eggert@twinsun.com>
27381
27382         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
27383         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
27384
27385 2000-01-02  Jim Meyering  <meyering@ascend.com>
27386
27387         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
27388         remember if this is necessary.
27389
27390 1999-12-26  Jim Meyering  <meyering@ascend.com>
27391
27392         * m4/jm-macros.m4: Use it here.
27393         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
27394
27395 1999-12-23  Jim Meyering  <meyering@ascend.com>
27396
27397         * m4/jm-macros.m4: Check for clock_gettime (moved from
27398         fileutils/configure.in)
27399         Check for gettimeofday.
27400
27401 1999-12-20  Jim Meyering  <meyering@ascend.com>
27402
27403         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
27404         autoconf-2.14a-1999-12-20.
27405
27406 1999-12-19  Jim Meyering  <meyering@ascend.com>
27407
27408         * m4/lstat-slash.m4: New file.
27409         * m4/jm-macros.m4: Use the new macro:
27410         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
27411
27412 1999-12-07  Jim Meyering  <meyering@ascend.com>
27413
27414         * m4/perl.m4: Require that File::Compare be available, too.
27415         Too many systems seem to lack it.
27416
27417         * m4/strftime.m4: Add checks for most of the cpp macros tested in
27418         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
27419
27420 1999-11-18  Paul Eggert  <eggert@twinsun.com>
27421
27422         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
27423         problem with the QNX 4.25 shell, which doesn't propagate exit
27424         status of failed commands inside shell assignments.
27425
27426 1999-11-17  Jim Meyering  <meyering@ascend.com>
27427
27428         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
27429
27430 1999-11-07  Jim Meyering  <meyering@ascend.com>
27431
27432         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
27433
27434 1999-11-06  Jim Meyering  <meyering@ascend.com>
27435
27436         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
27437         * m4/jm-macros.m4 (jm_MACROS): Use it here.
27438
27439 1999-11-05  Jim Meyering  <meyering@ascend.com>
27440
27441         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
27442         configure.in of textutils, fileutils, and sh-utils into this one
27443         (shared between those packages) file.
27444         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
27445         AC_STRUCT_ST_BLKSIZE.
27446
27447 1999-11-03  Jim Meyering  <meyering@ascend.com>
27448
27449         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
27450         of AC_CHECK_TYPE checks includes unistd.h.
27451         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
27452         Suggestion from Akim Demaille.
27453
27454 1999-10-30  Jim Meyering  <meyering@ascend.com>
27455
27456         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
27457         m4-quoted string.
27458         * m4/ls-mntd-fs.m4: Likewise.
27459         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
27460         * m4/jm-winsz1.m4: Likewise.
27461
27462         * m4/const.m4: Remove file, since the fix made it into the experimental
27463         version of autoconf.
27464         * m4/mktime.m4: Likewise.
27465
27466         * m4/check-type.m4: Remove file, now that the latest version of
27467         AC_CHECK_TYPE takes a third arg to specify additional #includes.
27468
27469         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
27470         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
27471         AC_CHECK_TYPE.
27472
27473 1999-10-04  Jim Meyering  <meyering@ascend.com>
27474
27475         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
27476
27477 1999-09-22  Paul Eggert  <eggert@twinsun.com>
27478
27479         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
27480         2.95.1 bug with HP-UX 10.20.
27481
27482 1999-09-17  Jim Meyering  <meyering@ascend.com>
27483
27484         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
27485         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
27486         due to missing strdup (against sh-utils-2.0).
27487
27488 1999-08-29  Jim Meyering  <meyering@ascend.com>
27489
27490         * m4/jm-macros.m4: Require jm_BISON.
27491         * m4/bison.m4: New file.
27492
27493 1999-08-17  Paul Eggert  <eggert@twinsun.com>
27494
27495         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
27496         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
27497
27498 1999-08-05  Jim Meyering  <meyering@ascend.com>
27499
27500         * m4/getline.m4: Rename test file from conftestdata to conftest.data
27501         to avoid conflicts with `conftest' on 8+3 filesystems.
27502         Suggestion from Eli Zaretskii.
27503
27504 1999-08-04  Jim Meyering  <meyering@ascend.com>
27505
27506         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
27507         fileutils and sh-utils (textutils's getline test was inadequate).
27508         (AM_FUNC_GETLINE): Run this test.
27509         (AC_CHECK_FUNCS): Check for getdelim.
27510         Reported by Bob Proulx.
27511
27512 1999-08-02  Jim Meyering  <meyering@ascend.com>
27513
27514         * m4/jm-macros.m4: Add a comment.
27515
27516 1999-08-01  Paul Eggert  <eggert@twinsun.com>
27517
27518         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
27519         <inttypes.h> defines strtoumax as a macro (and not as a
27520         function).
27521
27522 1999-08-01  Paul Eggert  <eggert@twinsun.com>
27523
27524         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
27525         that we can shift, multiply and divide unsigned long long
27526         values; Ultrix cc can't do it.
27527
27528 1999-08-01  Paul Eggert  <eggert@twinsun.com>
27529
27530         * m4/mktime.m4: New file, which is a preview of what should appear
27531         in the next public autoconf release.
27532
27533 1999-08-01  Paul Eggert  <eggert@twinsun.com>
27534
27535         * m4/lfs.m4: Remove this file.
27536         * m4/largefile.m4: New file.  It contains the old contents of
27537         lfs.m4, except that all names with prefix AC_LFS have been
27538         changed to use the prefix AC_SYS_LARGEFILE instead, to be
27539         compatible with future autoconf versions.  Also, some minor m4
27540         quoting problems have been fixed.
27541
27542 1999-08-01  Paul Eggert  <eggert@twinsun.com>
27543
27544         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
27545         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
27546         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
27547         and simplify the shell code.
27548
27549 1999-08-01  Jim Meyering  <meyering@ascend.com>
27550
27551         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
27552         m4.
27553
27554 1999-07-20  Jim Meyering  <meyering@ascend.com>
27555
27556         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
27557
27558 1999-07-15  Jim Meyering  <meyering@ascend.com>
27559
27560         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
27561
27562 1999-05-22  Jim Meyering  <meyering@ascend.com>
27563
27564         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
27565
27566 1999-05-20  Jim Meyering  <meyering@ascend.com>
27567
27568         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
27569         Add a colon after each `then' in case $4 is empty.
27570
27571 1999-05-16  Jim Meyering  <meyering@ascend.com>
27572
27573         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
27574
27575 1999-05-10  Jim Meyering  <meyering@ascend.com>
27576
27577         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
27578
27579         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
27580         AC_FUNC_MKTIME.
27581
27582 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
27583
27584         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
27585
27586 1999-05-04  Paul Eggert  <eggert@twinsun.com>
27587
27588         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
27589         not CPPFLAGS, so that linking works correctly in IRIX.
27590
27591 1999-04-30  Paul Eggert  <eggert@twinsun.com>
27592
27593         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
27594
27595 1999-04-20  Paul Eggert  <eggert@twinsun.com>
27596
27597         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
27598         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
27599         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
27600         jm_AC_TYPE_UNSIGNED_LONG_LONG.
27601         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
27602
27603         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
27604
27605 1999-04-20  Jim Meyering  <meyering@ascend.com>
27606
27607         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
27608         AC_REPLACE xstroull if necessary.  From Paul Eggert.
27609         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
27610
27611 1999-04-18  Jim Meyering  <meyering@ascend.com>
27612
27613         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
27614         * m4/jm-macros.m4: Use it.
27615
27616 1999-04-06  Jim Meyering  <meyering@ascend.com>
27617
27618         * m4/strftime.m4: Remove test for %f.
27619
27620 1999-03-29  Jim Meyering  <meyering@ascend.com>
27621
27622         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
27623         superset of the AC_TYPE_* checks in the textutils, fileutils,
27624         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
27625         AC_TYPE_PID_T.
27626
27627 1999-03-28  Jim Meyering  <meyering@ascend.com>
27628
27629         * m4/jm-macros.m4: Define GNU_PACKAGE here.
27630         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
27631         replaced e.g., in the *.sh files of the sh-utils.
27632
27633 1999-03-20  Jim Meyering  <meyering@ascend.com>
27634
27635         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
27636         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
27637         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
27638
27639 1999-03-19  Jim Meyering  <meyering@ascend.com>
27640
27641         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
27642
27643 1999-03-12  Jim Meyering  <meyering@ascend.com>
27644
27645         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
27646
27647 1999-03-07  Jim Meyering  <meyering@ascend.com>
27648
27649         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
27650         declared.
27651
27652 1999-02-17  Jim Meyering  <meyering@ascend.com>
27653
27654         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
27655         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
27656
27657 1999-02-07  Jim Meyering  <meyering@ascend.com>
27658
27659         * m4/group-member.m4: New file -- extracted from sh-utils'
27660         configure.in.
27661
27662         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
27663         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
27664
27665 1999-02-06  Jim Meyering  <meyering@ascend.com>
27666
27667         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
27668         * m4/fnmatch.m4: Likewise.
27669         * m4/getgroups.m4: Likewise.
27670         * m4/lstat.m4: Likewise.
27671         * m4/malloc.m4: Likewise.
27672         * m4/putenv.m4: Likewise.
27673         * m4/realloc.m4: Likewise.
27674         * m4/regex.m4: Likewise.
27675         * m4/stat.m4: Likewise.
27676         * m4/strftime.m4: Likewise.
27677         Suggestion from Alain Magloire.
27678
27679         * m4/chown.m4: Use `.$ac_objext', not `.o'.
27680         * m4/fnmatch.m4: Likewise.
27681         * m4/getgroups.m4: Likewise.
27682         * m4/getline.m4: Likewise.
27683         * m4/lstat.m4: Likewise.
27684         * m4/malloc.m4: Likewise.
27685         * m4/memcmp.m4: Likewise.
27686         * m4/putenv.m4: Likewise.
27687         * m4/realloc.m4: Likewise.
27688         * m4/regex.m4: Likewise.
27689         * m4/stat.m4: Likewise.
27690         * m4/strftime.m4: Likewise.
27691         Suggestion from Alain Magloire.
27692
27693         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
27694         an argument.
27695
27696         * m4/regex.m4: Add a run-time Test for proper operation of
27697         re_compile_pattern.
27698
27699 1999-01-31  Jim Meyering  <meyering@ascend.com>
27700
27701         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
27702
27703 1999-01-30  Jim Meyering  <meyering@ascend.com>
27704
27705         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
27706
27707         * m4/jm-mktime.m4: Make this a wrapper around the official
27708         AM_FUNC_MKTIME rather than my private copy, now that the official one
27709         is up to date.
27710         * m4/mktime.m4: Remove file.
27711
27712         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
27713         * m4/uptime.m4: Likewise.
27714         * m4/uintmax_t.m4: Likewise.
27715
27716 1999-01-28  Jim Meyering  <meyering@ascend.com>
27717
27718         * m4/jm-macros.m4: Use jm_AFS.
27719         * m4/afs.m4: New file (from fileutils' configure.in).
27720
27721         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
27722         * m4/chown.m4: Likewise.
27723         * m4/d-ino.m4: Likewise.
27724         * m4/d-type.m4: Likewise.
27725         * m4/fnmatch.m4: Likewise.
27726         * m4/getgroups.m4: Likewise.
27727         * m4/gettext.m4: Likewise.
27728         * m4/jm-mktime.m4: Likewise.
27729         * m4/jm-winsz2.m4: Likewise.
27730         * m4/lcmessage.m4: Likewise.
27731         * m4/ls-mntd-fs.m4: Likewise.
27732         * m4/malloc.m4: Likewise.
27733         * m4/memcmp.m4: Likewise.
27734         * m4/putenv.m4: Likewise.
27735         * m4/realloc.m4: Likewise.
27736         * m4/st_mtim.m4: Likewise.
27737         * m4/strftime.m4: Likewise.
27738
27739 1999-01-16  Jim Meyering  <meyering@ascend.com>
27740
27741         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
27742         (ARGMATCH_DIE_DECL): Define.
27743
27744 1999-01-12  Jim Meyering  <meyering@ascend.com>
27745
27746         * m4/Makefile.am.in: Rewrite to avoid using fmt.
27747         Reported by Lars Hecking.
27748
27749 1999-01-10  Jim Meyering  <meyering@ascend.com>
27750
27751         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
27752         gross kludge.
27753         * m4/inttypes_h.m4: Likewise.
27754         * m4/lstat.m4: Likewise.
27755         * m4/malloc.m4: Likewise.
27756         * m4/readdir.m4: Likewise.
27757         * m4/realloc.m4: Likewise.
27758         * m4/st_dm_mode.m4: Likewise.
27759         * m4/stat.m4: Likewise.
27760         * m4/utimbuf.m4: Likewise.
27761         * m4/utimes.m4: Likewise.
27762
27763         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
27764         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
27765         comments in config.h.in are meaningful.
27766
27767         * m4/jm-macros.m4: Require autoconf-2.13 here.
27768
27769         * m4/regex.m4: By default, don't use the included regex.c on systems
27770         with glibc 2.  Suggestion from Uli Drepper.
27771
27772 1999-01-02  Jim Meyering  <meyering@ascend.com>
27773
27774         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
27775
27776 1998-12-18  Jim Meyering  <meyering@ascend.com>
27777
27778         * m4/Makefile.am.in (Makefile.am): Simplify rule.
27779         Based on a suggestion from Lars Hecking.
27780
27781 1998-11-16  Paul Eggert  <eggert@twinsun.com>
27782
27783         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
27784
27785 1998-11-16  Jim Meyering  <meyering@ascend.com>
27786
27787         * m4/lfs.m4: Double-quote the `uname...` expression.
27788
27789 1998-11-14  Jim Meyering  <meyering@ascend.com>
27790
27791         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
27792         * m4/stat.m4: Likewise.
27793
27794 1998-11-03  Jim Meyering  <meyering@ascend.com>
27795
27796         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
27797         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
27798
27799 1998-10-18  Jim Meyering  <meyering@ascend.com>
27800
27801         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
27802
27803 1998-10-17  Jim Meyering  <meyering@ascend.com>
27804
27805         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
27806         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
27807         calls for those previously hard-coded headers.  Instead, take a new
27808         parameter.
27809         (jm_CHECK_DECLARATIONS): Reflect interface change.
27810         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
27811         (jm_CHECK_DECL_LOCALTIME_R): New macro.
27812
27813         * m4/mktime.m4: Test for spring-forward gap before long-running test.
27814
27815 1998-10-14  Jim Meyering  <meyering@ascend.com>
27816
27817         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
27818         instead of "TZ=America/Vancouver".  From Paul Eggert.
27819
27820 1998-10-11  Jim Meyering  <meyering@ascend.com>
27821
27822         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
27823         This adds a test for a recently added compatibility fix for mktime.c.
27824         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
27825
27826 1998-09-27  Jim Meyering  <meyering@ascend.com>
27827
27828         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
27829
27830         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
27831         ../configure.in, including a change from Gordon Matzigkeit to allow
27832         cross-compiling for the Hurd.
27833
27834         * m4/glibc.m4: New file/macro to test for the GNU C Library
27835         versions 1 and 2.  From Gordon Matzigkeit.
27836         Indent.
27837
27838 1998-09-21  Jim Meyering  <meyering@ascend.com>
27839
27840         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
27841
27842 1998-08-18  Paul Eggert  <eggert@twinsun.com>
27843
27844         Port nanosecond-resolution times to UnixWare 2.1.2 and
27845         pedantic Solaris 2.6.
27846
27847         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
27848         AC_STRUCT_ST_MTIM.
27849         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
27850         Generate name of ns member, instead of just 1 or undef.
27851         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
27852
27853 1998-08-15  Jim Meyering  <meyering@ascend.com>
27854
27855         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
27856         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
27857         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
27858         instead of jm_TYPE_SSIZE_T.
27859
27860 1998-08-12  Jim Meyering  <meyering@ascend.com>
27861
27862         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
27863
27864 1998-08-02  Jim Meyering  <meyering@ascend.com>
27865
27866         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
27867         in acconfig.h manually.
27868
27869 1998-07-31  Paul Eggert  <eggert@twinsun.com>
27870
27871         * m4/st_mtim.m4: New file.
27872
27873 1998-07-28  Jim Meyering  <meyering@ascend.com>
27874
27875         * m4/utimes.m4: Undef stat.
27876
27877 1998-07-25  Jim Meyering  <meyering@ascend.com>
27878
27879         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
27880         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
27881
27882 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
27883
27884         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
27885         uid and gid actually remain unchanged.
27886
27887 1998-07-07  Jim Meyering  <meyering@ascend.com>
27888
27889         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
27890
27891 1998-07-04  Jim Meyering  <meyering@ascend.com>
27892
27893         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
27894         to prove that this macro can be used in packages without regex.c.
27895
27896 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
27897
27898         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
27899         is to be used.
27900
27901 1998-07-03  Jim Meyering  <meyering@ascend.com>
27902
27903         * m4/gettext.m4: Add -lintl if it's found to be necessary.
27904
27905         * m4/gettext.m4: New file -- from gettext-0.10.35.
27906         * m4/lcmessage.m4: Likewise.
27907         * m4/progtest.m4: Likewise.
27908
27909         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
27910         * m4/jm-macros.m4: Require the new macro.
27911
27912 1998-06-29  Jim Meyering  <meyering@ascend.com>
27913
27914         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
27915         for the definition of NGROUPS (used in a system header included
27916         by sys/mount.h).
27917
27918 1998-06-28  Jim Meyering  <meyering@ascend.com>
27919
27920         * m4/ls-mntd-fs.m4: New file.
27921         * m4/fstypename.m4: New file.
27922
27923         * m4/jm-macros.m4: Require the new macro.
27924         * m4/jm-glibc-io.m4: New file.
27925
27926 1998-05-19  Jim Meyering  <meyering@ascend.com>
27927
27928         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
27929         * m4/lchown.m4: New file.
27930
27931         * m4/Makefile.am.in: New file.
27932         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
27933
27934 1998-05-14  Jim Meyering  <meyering@ascend.com>
27935
27936         * m4/Makefile.am (EXTRA_DIST): Add them.
27937         * m4/jm-macros.m4: New file.
27938         * m4/utimbuf.m4: New file.
27939
27940 1998-05-12  Jim Meyering  <meyering@ascend.com>
27941
27942         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
27943
27944 1998-05-11  Jim Meyering  <meyering@ascend.com>
27945
27946         * m4/isc-posix.m4: New file.
27947
27948 1998-05-10  Jim Meyering  <meyering@ascend.com>
27949
27950         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
27951
27952 1998-05-09  Jim Meyering  <meyering@ascend.com>
27953
27954         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
27955         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
27956         with automake.
27957
27958         * m4/ssize_t.m4: New file.
27959         * m4/mktime.m4: Remove file -- the new automake has this now.
27960
27961 1998-04-26  Jim Meyering  <meyering@ascend.com>
27962
27963         * m4/assert.m4: New file.
27964         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
27965
27966 1998-04-05  Jim Meyering  <meyering@ascend.com>
27967
27968         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
27969         (jm_PREREQ): Use it here.
27970
27971 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
27972
27973         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
27974         in acconfig.h.
27975
27976 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
27977
27978         * m4/prereq.m4: New file.
27979         * m4/error.m4: New file.
27980         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
27981
27982 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
27983
27984         * m4/getline.m4: Don't set am_cv_func_working_getline before the
27985         cache-check for the same variable -- that defeated the purpose of
27986         the test; the test program was never run.  This was a problem only
27987         on systems with losing getline functions -- HP-UX 10.20 is one.
27988         Reported by Bjorn Helgaas.
27989
27990 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
27991
27992         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
27993
27994 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
27995
27996         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
27997
27998         * m4/const.m4: New file.  Use an initializer in this declaration
27999         typedef int charset[2]; const charset x;
28000         Reported by Bob Glickstein.
28001
28002 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
28003
28004         * m4/chown.m4: Fix reversed types on -1 args to chown.
28005         From Kaveh Ghazi.
28006
28007 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
28008
28009         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
28010         Add lseek and memchr.
28011
28012         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
28013         T.E.Dickey <dickey@clark.net> said that some older preprocessors
28014         have a 20-character limit on names.
28015
28016 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
28017
28018         * m4/inttypes_h.m4: New file.
28019         * m4/uintmax_t.m4: New file.
28020         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
28021
28022 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
28023   Free Software Foundation, Inc.
28024 Copying and distribution of this file, with or without modification,
28025 are permitted provided the copyright notice and this notice are preserved.