Work around glibc's failure to flush stdin on fclose.
[pspp] / ChangeLog
1 2007-04-12  Eric Blake  <ebb9@byu.net>
2
3         Work around glibc's failure to flush stdin on fclose.
4         * lib/closein.c (close_stdin): Flush stdin before closing.
5
6         Work around glibc's failure to reset seekable stdin on exit.
7         * modules/closein: New module.
8         * lib/closein.c: New file.
9         * lib/closein.h: Likewise.
10         * m4/closein.m4: Likewise.
11         * MODULES.html.sh (File stream based Input/Output): Document it.
12
13 2007-04-12  Simon Josefsson  <simon@josefsson.org>
14
15         * gnulib-tool: Rename generated 'autobuild' script to
16         'do-autobuild' in --create-megatestdir output.
17
18         * doc/gnulib.texi (Build robot for gnulib): Fix.
19
20 2007-04-12  Simon Josefsson  <simon@josefsson.org>
21
22         * modules/sysexits (Depends-on): Add absolute-header.
23
24 2007-04-12  Eric Blake  <ebb9@byu.net>
25
26         No need to preserve errno on success.
27         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
28         Reported by Bruno Haible.
29
30 2007-04-12  Simon Josefsson  <simon@josefsson.org>
31
32         * MODULES.html.sh (Support for maintaining and releasing
33         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
34
35 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36
37         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
38
39 2007-04-12  Simon Josefsson  <simon@josefsson.org>
40
41         * modules/autobuild: New module.
42
43         * m4/autobuild.m4: New file.
44
45 2007-04-11  Bruno Haible  <bruno@clisp.org>
46
47         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
48         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
49         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
50         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
51         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
54         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
57         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
58         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
61         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
64         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
67         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
71         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
72         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
73         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
74         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
75         Reported by Eric Blake.
76
77 2007-04-11  Bruno Haible  <bruno@clisp.org>
78
79         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
80
81 2007-04-10  Bruno Haible  <bruno@clisp.org>
82
83         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
84         for NaN and Infinity. Needed on FreeBSD 6.1.
85         * tests/test-vasnprintf-posix.c (test_function): Undo last change
86         regarding results for "%010a" of Infinity and NaN.
87         * tests/test-vasprintf-posix.c (test_function): Likewise.
88         * tests/test-snprintf-posix.h (test_function): Likewise.
89         * tests/test-sprintf-posix.h (test_function): Likewise.
90         * tests/test-fprintf-posix.h (test_function): Likewise.
91         * tests/test-printf-posix.h (test_function): Likewise.
92         * tests/test-fprintf-posix.out: Likewise.
93
94 2007-04-10  Bruno Haible  <bruno@clisp.org>
95
96         * modules/locale-tests: New file.
97         * tests/test-locale.c: New file.
98
99         * modules/locale: New file.
100         * lib/locale_.h: New file.
101         * m4/locale_h.m4: New file.
102
103 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
104             Bruno Haible  <bruno@clisp.org>
105
106         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
107         be determined, test for availability of the copysignf, copysign,
108         copysignl functions.
109         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
110         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
111         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
112
113 2007-04-09  Eric Blake  <ebb9@byu.net>
114
115         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
116         * modules/stdio (Makefile.am): Support fflush.
117         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
118         * modules/fflush: New file.
119         * lib/fflush.c: Likewise.
120         * m4/fflush.m4: Likewise.
121         * modules/fflush-tests: New test.
122         * tests/test-fflush.c: Likewise.
123         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
124
125 2007-04-06  Bruno Haible  <bruno@clisp.org>
126
127         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
128         (VASNPRINTF): Use signbit for faster determination whether to print a
129         minus sign.
130         * modules/vasnprintf (Files): Remove lib/float+.h.
131         * modules/fprintf-posix (Depends-on): Add signbit.
132         * modules/snprintf-posix (Depends-on): Likewise.
133         * modules/sprintf-posix (Depends-on): Likewise.
134         * modules/vasnprintf-posix (Depends-on): Likewise.
135         * modules/vasprintf-posix (Depends-on): Likewise.
136         * modules/vfprintf-posix (Depends-on): Likewise.
137         * modules/vsnprintf-posix (Depends-on): Likewise.
138         * modules/vsprintf-posix (Depends-on): Likewise.
139
140 2007-04-06  Bruno Haible  <bruno@clisp.org>
141
142         * tests/test-frexp.c (main): Test also the sign bit of zero results.
143         * tests/test-frexpl.c (main): Likewise.
144         * tests/test-ldexpl.c (main): Likewise.
145         * modules/frexp-tests (Depends-on): Add signbit.
146         * modules/frexpl-tests (Depdends-on): Likewise.
147         * modules/ldexpl-tests (Depdends-on): Likewise.
148
149 2007-04-06  Bruno Haible  <bruno@clisp.org>
150
151         * modules/signbit-tests: New file.
152         * tests/test-signbit.c: New file.
153
154         * modules/signbit: New file.
155         * lib/signbitf.c: New file.
156         * lib/signbitd.c: New file.
157         * lib/signbitl.c: New file.
158         * m4/signbit.m4: New file.
159         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
160         (signbit): New macro.
161         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
162         REPLACE_SIGNBIT.
163         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
164         REPLACE_FREXPL into math.h.
165
166 2007-04-06  Bruno Haible  <bruno@clisp.org>
167
168         * modules/isnanf-nolibm-tests: New file.
169         * tests/test-isnanf.c: New file.
170
171         * modules/isnanf-nolibm: New file.
172         * lib/isnanf.h: New file.
173         * lib/isnanf.c: New file.
174         * lib/isnan.c: Consider the USE_FLOAT macro.
175         * m4/isnanf.m4: New file.
176
177 2007-04-06  Bruno Haible  <bruno@clisp.org>
178
179         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
180         (Link): New section.
181
182         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
183
184 2007-04-06  Bruno Haible  <bruno@clisp.org>
185
186         Assume the 'long double' type.
187         * m4/longdouble.m4: Remove file.
188         * config/srclist.txt: Don't mention longdouble.m4.
189         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
190         * lib/float+.h: Likewise.
191         * lib/frexp.c: Likewise.
192         * lib/printf-args.h: Likewise.
193         * lib/printf-args.c: Likewise.
194         * lib/printf-frexp.c: Likewise.
195         * lib/printf-parse.c: Likewise.
196         * lib/vasnprintf.c: Likewise.
197         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
198         * m4/intl.m4: Likewise.
199         * m4/isnanl.m4: Likewise.
200         * m4/printf.m4: Likewise.
201         * m4/printf-frexpl.m4: Likewise.
202         * m4/vasnprintf.m4: Likewise.
203         * modules/allocsa (Files): Remove m4/longdouble.m4.
204         * modules/gettext (Files): Likewise.
205         * modules/relocatable-prog-wrapper (Files): Likewise.
206         * modules/vasnprintf (Files): Likewise.
207         * modules/isnanl (Files): Likewise.
208         (Include): Simplify.
209         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
210         (Include): Simplify.
211         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
212         (Include): Simplify.
213         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
214         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
215         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
216         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
217         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
218         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
219         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
220         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
221         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
222         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
223         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
224         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
225         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
226         * tests/test-isnanl.c: Likewise.
227         * tests/test-snprintf-posix.h: Likewise.
228         * tests/test-sprintf-posix.h: Likewise.
229         * tests/test-vasnprintf-posix.c: Likewise.
230         * tests/test-vasnprintf-posix2.c: Likewise.
231         * tests/test-vasprintf-posix.c: Likewise.
232
233 2007-04-06  Bruno Haible  <bruno@clisp.org>
234
235         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
236         * lib/math_.h [__DECC]: Include the overridden include file through
237         #include_next, outside the double-inclusion guard.
238         * lib/stdio_.h [__DECC]: Likewise.
239         * lib/stdlib_.h [__DECC]: Likewise.
240         * lib/string_.h [__DECC]: Likewise.
241         * lib/time_.h [__DECC]: Likewise.
242         * lib/wchar_.h [__DECC]: Likewise.
243         * lib/wctype_.h [__DECC]: Likewise.
244         * lib/inttypes_.h [__DECC]: Likewise.
245         Reported by Albert Chin <china@thewrittenword.com> in
246         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
247
248 2007-04-04  Eric Blake  <ebb9@byu.net>
249
250         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
251         1.5.x.
252
253 2007-04-04  Bruno Haible  <bruno@clisp.org>
254
255         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
256         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
257
258 2007-04-04  Bruno Haible  <bruno@clisp.org>
259
260         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
261         results for "%010a" of Infinity and NaN.
262         * tests/test-vasprintf-posix.c (test_function): Likewise.
263         * tests/test-snprintf-posix.h (test_function): Likewise.
264         * tests/test-sprintf-posix.h (test_function): Likewise.
265         * tests/test-fprintf-posix.h (test_function): Remove these tests.
266         * tests/test-printf-posix.h (test_function): Likewise.
267         * tests/test-fprintf-posix.out: Update.
268         Needed for FreeBSD 6.1.
269
270 2007-04-04  Bruno Haible  <bruno@clisp.org>
271
272         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
273         directly used by the gnulib modules nor by gnulib-tool.
274
275 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
276
277         * DEPENDENCIES: Give overall description of version dependency
278         desirability.  Use more-typical names for apps.
279         Add shell, coreutils, diffutils, grep, tar, gzip.
280
281 2007-04-04  Simon Josefsson  <simon@josefsson.org>
282
283         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
284
285 2007-04-04  Karl Berry  <karl@gnu.org>
286
287         * MODULES.html.sh (func_module): missing '.
288
289 2007-04-03  Bruno Haible  <bruno@clisp.org>
290
291         * modules/argmatch-tests (Makefile.am): New variable
292         test_argmatch_LDADD.
293         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
294         * modules/array-list-tests (Makefile.am): New variable
295         test_array_list_LDADD.
296         * modules/array-oset-tests (Makefile.am): New variable
297         test_array_oset_LDADD.
298         * modules/avltree-list-tests (Makefile.am): New variable
299         test_avltree_list_LDADD.
300         * modules/avltree-oset-tests (Makefile.am): New variable
301         test_avltree_oset_LDADD.
302         * modules/avltreehash-list-tests (Makefile.am): New variable
303         test_avltreehash_list_LDADD.
304         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
305         test_canonicalize_lgpl_LDADD.
306         * modules/carray-list-tests (Makefile.am): New variable
307         test_carray_list_LDADD.
308         * modules/dirname-tests (Makefile.am): New variable
309         test_dirname_LDADD.
310         * modules/linked-list-tests (Makefile.am): New variable
311         test_linked_list_LDADD.
312         * modules/linkedhash-list-tests (Makefile.am): New variable
313         test_linkedhash_list_LDADD.
314         * modules/rbtree-list-tests (Makefile.am): New variable
315         test_rbtree_list_LDADD.
316         * modules/rbtree-oset-tests (Makefile.am): New variable
317         test_rbtree_oset_LDADD.
318         * modules/rbtreehash-list-tests (Makefile.am): New variable
319         test_rbtreehash_list_LDADD.
320         * modules/xvasprintf-tests (Makefile.am): New variable
321         test_xvasprintf_LDADD.
322         Reported by Eric Blake.
323
324 2007-04-03  Eric Blake  <ebb9@byu.net>
325
326         * DEPENDENCIES: Weaken m4 requirements.
327
328 2007-04-03  Bruno Haible  <bruno@clisp.org>
329
330         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
331         * modules/isnanl-tests (configure.ac): Likewise.
332
333 2007-04-03  Ben Pfaff  <blp@gnu.org>
334
335         * modules/iconv_open: Add $(srcdir)/ to source directory
336         references in Makefile fragments that call gperf, to fix VPATH
337         builds.
338
339 2007-04-03  Bruno Haible  <bruno@clisp.org>
340
341         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
342         * lib/ldexpl.c: Undo last change.
343
344 2007-04-03  Bruno Haible  <bruno@clisp.org>
345
346         * modules/printf-frexpl (Depends-on): Undo last change.
347         (Files): Add m4/ldexpl.m4.
348
349 2007-04-03  Bruno Haible  <bruno@clisp.org>
350
351         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
352         * modules/isnanl (Link): New section.
353
354         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
355         * modules/frexp (Link): New section.
356
357         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
358         * modules/frexpl (Link): New section.
359
360         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
361         * modules/ldexpl (Link): New section.
362
363 2007-04-03  Bruno Haible  <bruno@clisp.org>
364
365         * modules/TEMPLATE-EXTENDED: New file.
366         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
367
368 2007-04-03  Bruno Haible  <bruno@clisp.org>
369
370         * DEPENDENCIES: New file.
371         Suggested by Simon Josefsson.
372
373 2007-04-03  Bruno Haible  <bruno@clisp.org>
374
375         * doc/gnulib.texi: Escape @.
376
377 2007-04-03  James Youngman  <jay@gnu.org>
378         and Paul Eggert  <eggert@cs.ucla.edu>
379
380         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
381         birthtime on all systems that have birthtime, not just those which
382         use st_birthtimensec rather than st_birthtim.  Putting zero in
383         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
384         that the birth time is not available for files on an NFS mount.
385
386 2007-04-03  Simon Josefsson  <simon@josefsson.org>
387
388         * modules/memxor: Move back from crypto/, suggested by Bruno.
389         * modules/crypto/hmac-sha1: Fix memxor dependency.
390
391         * modules/crypto/gc: Moved from ../.
392
393 2007-04-02  Eric Blake  <ebb9@byu.net>
394
395         * lib/ldexpl.c (includes): Avoid libm.
396
397         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
398
399 2007-04-02  Bruno Haible  <bruno@clisp.org>
400
401         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
402         on IRIX.
403
404 2007-04-02  Bruno Haible  <bruno@clisp.org>
405
406         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
407         x86 or x86_64 platforms running MacOS X.
408         Reported by Ryan Schmidt <@ryandesign.com>.
409
410 2007-04-02  Bruno Haible  <bruno@clisp.org>
411
412         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
413         i386.
414
415 2007-04-01  Simon Josefsson  <simon@josefsson.org>
416
417         * modules/crypto/arcfour: Moved from ../.
418         * modules/crypto/arcfour-tests: Moved from ../.
419         * modules/crypto/arctwo: Moved from ../.
420         * modules/crypto/arctwo-tests: Moved from ../.
421         * modules/crypto/des: Moved from ../.
422         * modules/crypto/des-tests: Moved from ../.
423         * modules/crypto/gc-arcfour: Moved from ../.
424         * modules/crypto/gc-arcfour-tests: Moved from ../.
425         * modules/crypto/gc-arctwo: Moved from ../.
426         * modules/crypto/gc-arctwo-tests: Moved from ../.
427         * modules/crypto/gc-des: Moved from ../.
428         * modules/crypto/gc-des-tests: Moved from ../.
429         * modules/crypto/gc-hmac-md5: Moved from ../.
430         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
431         * modules/crypto/gc-hmac-sha1: Moved from ../.
432         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
433         * modules/crypto/gc-md2: Moved from ../.
434         * modules/crypto/gc-md2-tests: Moved from ../.
435         * modules/crypto/gc-md4: Moved from ../.
436         * modules/crypto/gc-md4-tests: Moved from ../.
437         * modules/crypto/gc-md5: Moved from ../.
438         * modules/crypto/gc-md5-tests: Moved from ../.
439         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
440         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
441         * modules/crypto/gc-random: Moved from ../.
442         * modules/crypto/gc-rijndael: Moved from ../.
443         * modules/crypto/gc-rijndael-tests: Moved from ../.
444         * modules/crypto/gc-sha1: Moved from ../.
445         * modules/crypto/gc-sha1-tests: Moved from ../.
446         * modules/crypto/gc-tests: Moved from ../.
447         * modules/crypto/hmac-md5: Moved from ../.
448         * modules/crypto/hmac-md5-tests: Moved from ../.
449         * modules/crypto/hmac-sha1: Moved from ../.
450         * modules/crypto/hmac-sha1-tests: Moved from ../.
451         * modules/crypto/md2: Moved from ../.
452         * modules/crypto/md2-tests: Moved from ../.
453         * modules/crypto/md4: Moved from ../.
454         * modules/crypto/md4-tests: Moved from ../.
455         * modules/crypto/md5: Moved from ../.
456         * modules/crypto/md5-tests: Moved from ../.
457         * modules/crypto/memxor: Moved from ../.
458         * modules/crypto/rijndael: Moved from ../.
459         * modules/crypto/rijndael-tests: Moved from ../.
460         * modules/crypto/sha1: Moved from ../.
461
462 2007-03-30  James Youngman  <jay@gnu.org>
463
464         * tests/test-stat-time.c (prepare_test): use chmod() rather than
465         rename() to change the ctime of a file (because ctime is unaffected
466         by rename on jfs2 on AIX 5.1).
467         (main): Start by doing cleanup, in case a previous run failed leaving
468         test files behind.
469
470 2007-03-31  Bruno Haible  <bruno@clisp.org>
471
472         Support old proprietary implementations of iconv.
473         * modules/iconv_open: New file.
474         * lib/iconv_.h: New file.
475         * m4/iconv_h.m4: New file.
476         * lib/iconv_open.c: New file.
477         * lib/iconv_open-aix.gperf: New file.
478         * lib/iconv_open-hpux.gperf: New file.
479         * lib/iconv_open-irix.gperf: New file.
480         * lib/iconv_open-osf.gperf: New file.
481         * m4/iconv_open.m4: New file.
482         * modules/linebreak (Depends-on): Add iconv_open.
483         * modules/striconv (Depends-on): Likewise.
484         * modules/striconveh (Depends-on): Likewise.
485         * modules/unicodeio (Depends-on): Likewise.
486         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
487         (iconv_t)(-1).
488         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
489         conversion if cd is (iconv_t)(-1).
490         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
491         is not possible.
492
493 2007-03-31  Bruno Haible  <bruno@clisp.org>
494
495         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
496         work on Solaris either. Protect also second use of "autodetect_jp".
497
498 2007-03-31  Bruno Haible  <bruno@clisp.org>
499
500         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
501         the function is not present.
502
503 2007-03-31  Bruno Haible  <bruno@clisp.org>
504
505         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
506         the function is not present.
507
508 2007-03-31  Bruno Haible  <bruno@clisp.org>
509
510         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
511         a bug in HP-UX iconv_open().
512
513 2007-03-31  Bruno Haible  <bruno@clisp.org>
514
515         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
516         (Mathematics <math.h>): New section, add fpieee.
517         (Input/output <stdio.h>): Add fseterr.
518         (Mathematics <math.h>): New section, add printf-frexp.
519         (Container data structures): Add sublist.
520         (Core language properties): Add fpucw, inline.
521         (Functions for greatest-width integer types <inttypes.h>): Add
522         imaxabs, imaxdiv, inttypes.
523         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
524         isnanl-nolibm, ldexp.
525         (Mathematics <math.h>): New section, add printf-frexpl.
526         (Support for systems lacking POSIX:2001): Add fprintf-posix,
527         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
528         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
529         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
530         (Unicode string functions): Add unistr/u*-mbtoucr.
531         (Java): Add javacomp-script, javaexec-script.
532         (C#): Add csharpcomp-script, csharpexec-script.
533         (Support for building libraries and executables): Add havelib,
534         relocatable-*.
535         (Support for maintaining and releasing projects): Renamed from
536         'Support for maintaining and release projects'. Add announce-gen.
537
538 2007-03-31  Bruno Haible  <bruno@clisp.org>
539
540         * README: Talk primarily about git.
541         (git and CVS): Renamed from CVS.
542         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
543         gnulib is available through git.
544         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
545
546 2007-03-30  Bruno Haible  <bruno@clisp.org>
547
548         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
549         * lib/poll_.h: Likewise.
550         * lib/stat_.h: Likewise.
551         * lib/sys_time_.h: Likewise.
552         * lib/sysexit_.h: Likewise.
553         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
554         * lib/stdbool_.h: Likewise.
555         * lib/byteswap_.h: Add double-inclusion guard.
556
557 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
558
559         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
560
561 2007-03-30  Karl Berry  <karl@gnu.org>
562
563         * config/srclist-update: double space after USA in the license
564         substitution, since that's how it's usually (?) written.
565
566 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
567
568         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
569         reported by Bruno Haible.
570
571 2007-03-29  Bruno Haible  <bruno@clisp.org>
572
573         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
574         a bug in AIX iconv().
575
576 2007-03-29  Bruno Haible  <bruno@clisp.org>
577
578         * modules/ldexpl-tests: New file.
579         * tests/test-ldexpl.c: New file.
580
581 2007-03-29  Bruno Haible  <bruno@clisp.org>
582
583         * lib/ldexpl.c: Include fpucw.h.
584         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
585         multiplication.
586         * modules/ldexpl (Depends-on): Add fpucw.
587
588 2007-03-29  Bruno Haible  <bruno@clisp.org>
589
590         * modules/ldexpl: New file.
591         * m4/ldexpl.m4: New file.
592         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
593         set.
594         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
595         REPLACE_LDEXPL.
596         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
597         REPLACE_LDEXPL.
598         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
599         gl_FUNC_LDEXPL_WORKS.
600         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
601         * modules/mathl (Files): Remove lib/ldexpl.c.
602         (Depends-on): Add ldexpl.
603
604 2007-03-29  Bruno Haible  <bruno@clisp.org>
605
606         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
607
608 2007-03-29  Bruno Haible  <bruno@clisp.org>
609
610         * tests/test-striconveh.c (main): Don't assume that a direct conversion
611         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
612         and possibly also HP-UX.
613         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
614         work on AIX, IRIX, HP-UX, OSF/1.
615         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
616         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
617         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
618         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
619         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
620         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
621
622 2007-03-29  Bruno Haible  <bruno@clisp.org>
623
624         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
625
626 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
627
628         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
629         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
630
631 2007-03-29  Eric Blake  <ebb9@byu.net>
632
633         * lib/acl-internal.h: Remove redundant include.
634         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
635         Cygwin when a file is locked.
636
637 2007-03-29  Bruno Haible  <bruno@clisp.org>
638
639         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
640         file.
641         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
642
643 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
644
645         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
646         try to remove a parent directory if the child couldn't be removed
647         (except for the first rmdir, which could fail because the child
648         doesn't exist).  Problem reported by Jeff Blaine in
649         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
650
651 2007-03-28  Bruno Haible  <bruno@clisp.org>
652
653         * lib/striconveh.c (utf8conv_carefully): New function.
654         (mem_cd_iconveh_internal): Invoke it.
655
656 2007-03-28  Bruno Haible  <bruno@clisp.org>
657
658         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
659         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
660         input.
661         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
662         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
663         unistr/u8-uctomb.
664
665 2007-03-28  Bruno Haible  <bruno@clisp.org>
666
667         * modules/unistr/u8-mbtoucr: New file.
668         * lib/unistr/u8-mbtoucr.c: New file.
669         * modules/unistr/u16-mbtoucr: New file.
670         * lib/unistr/u16-mbtoucr.c: New file.
671         * modules/unistr/u16-mbtoucr: New file.
672         * lib/unistr/u16-mbtoucr.c: New file.
673         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
674
675 2007-03-27  Simon Josefsson  <simon@josefsson.org>
676             Bruno Haible  <bruno@clisp.org>
677
678         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
679         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
680         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
681
682         * m4/stdio_h.m4: Add stubs for vasprintf too.
683
684         * modules/stdio: Support vasprintf in sed command.
685
686         * modules/vasprintf: Depend on stdio for prototypes.  Remove
687         vasprintf.h.  Add stdio module indicator.
688
689         * lib/stdio_.h: Declare asprintf and vasprintf, based on
690         vasprintf.h.
691
692         * lib/vasprintf.h: File removed.
693
694         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
695         * lib/vasprintf.c: Ditto.
696         * lib/xvasprintf.c: Ditto.
697         * tests/test-vasprintf-posix.c: Ditto.
698         * tests/test-vasprintf.c: Ditto.
699
700 2007-03-27  Bruno Haible  <bruno@clisp.org>
701
702         Make vasnprintf multithread-safe.
703         * lib/vasnprintf.c (decimal_point_char): New function.
704         (VASNPRINTF): Use it.
705         Suggested by Simon Josefsson.
706
707 2007-03-27  Eric Blake  <ebb9@byu.net>
708
709         Support sub-second birthtime on cygwin.
710         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
711         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
712         (get_stat_birthtime): Also work with st_birthtim.
713
714 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
715
716         * lib/stat-time.h (USE_BIRTHTIME): Remove.
717         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
718         (get_stat_birthtime_ns): Do not try to use "spare" fields.
719         (get_stat_birthtime_ns): Simplify compile-time tests.
720         (get_stat_birthtime): Change the API to look like
721         get_stat_mtime etc., except return a negative tv_nsec on error.
722         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
723         Don't check for "spare" fields.
724         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
725         or for struct stat.st_birthtime, as these tests aren't used.
726         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
727
728 2007-03-27  Bruno Haible  <bruno@clisp.org>
729
730         * lib/stat-time.h: Include <sys/stat.h>.
731
732 2007-03-27  James Youngman  <jay@gnu.org>
733
734         * lib/stat-time.h (get_stat_birthtime): New function for
735           retrieving st_birthtime as provided by UFS2 (hence *BSD).
736         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
737           and its variants.
738         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
739         * modules/stat-time-test: New file.
740         * tests/test-stat-time.c: New test, devised by Bruno Haible.
741
742 2007-03-26  Bruno Haible  <bruno@clisp.org>
743
744         Better support of signalling NaNs.
745         * lib/atanl.c: Include isnanl.h.
746         (atanl): Perform test for NaN at the beginning of the function and
747         through a call to isnanl.
748         * lib/cosl.c: Include isnanl.h.
749         (cosl): Perform test for NaN at the beginning of the function and
750         through a call to isnanl.
751         * lib/ldexpl.c: Include isnanl.h.
752         (ldexpl): Perform test for NaN through a call to isnanl.
753         * lib/logl.c: Include isnanl.h.
754         (logl): Perform test for NaN at the beginning of the function and
755         through a call to isnanl.
756         * lib/sinl.c: Include isnanl.h.
757         (sinl): Perform test for NaN at the beginning of the function and
758         through a call to isnanl.
759         * lib/sqrtl.c: Include isnanl.h.
760         (sqrtl): Perform test for NaN at the beginning of the function and
761         through a call to isnanl.
762         * lib/tanl.c: Include isnanl.h.
763         (tanl): Perform test for NaN at the beginning of the function and
764         through a call to isnanl.
765         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
766         * modules/mathl (Depends-on): Add isnanl.
767
768 2007-03-26  Eric Blake  <ebb9@byu.net>
769
770         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
771         regression in logic sense of previous patch.
772
773 2007-03-26  Bruno Haible  <bruno@clisp.org>
774
775         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
776         unportable shell command "if ! ...".
777         Reported by Ralf Wildenhues.
778
779 2007-03-25  Bruno Haible  <bruno@clisp.org>
780
781         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
782         <sysexits.h> file, and only add EX_CONFIG.
783         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
784         absolute file name and whether it is sufficient. Substitute also
785         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
786         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
787         ABSOLUTE_SYSEXITS_H into sysexits.h.
788
789 2007-03-25  Bruno Haible  <bruno@clisp.org>
790
791         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
792         hints is NULL.
793
794 2007-03-25  Bruno Haible  <bruno@clisp.org>
795
796         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
797         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
798
799 2007-03-25  Bruno Haible  <bruno@clisp.org>
800
801         * lib/vasnprintf.c: Include langinfo.h.
802         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
803         multithread-safe.
804         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
805         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
806         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
807         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
808         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
809         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
810         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
811         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
812         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
813         Reported by Simon Josefsson.
814
815 2007-03-25  Bruno Haible  <bruno@clisp.org>
816
817         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
818         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
819         * modules/vasnprintf (Depends-on): Add stdint.
820
821 2007-03-25  Bruno Haible  <bruno@clisp.org>
822
823         * modules/fpieee: New file.
824         * m4/fpieee.m4: New file.
825         * modules/isnan-nolibm (Depends-on): Add fpieee.
826         * modules/isnanl-nolibm (Depends-on): Add fpieee.
827         * modules/isnanl (Depends-on): Add fpieee.
828
829 2007-03-25  Bruno Haible  <bruno@clisp.org>
830
831         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
832
833 2007-03-25  Bruno Haible  <bruno@clisp.org>
834
835         Avoid test failures on IRIX 6.5.
836         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
837         (main): Use it.
838         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
839         macros.
840         (main): Use them.
841
842 2007-03-25  Bruno Haible  <bruno@clisp.org>
843
844         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
845         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
846         exists but doesn't work.
847         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
848         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
849         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
850         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
851
852 2007-03-25  Bruno Haible  <bruno@clisp.org>
853
854         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
855         returns inf. Needed on IRIX 6.5.
856
857 2007-03-25  Bruno Haible  <bruno@clisp.org>
858
859         * tests/test-frexpl.c: Include isnanl-nolibm.h.
860         (main): Use isnanl instead of x != x idiom.
861         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
862
863         * tests/test-frexp.c: Include isnan.h.
864         (main): Use isnan instead of x != x idiom.
865         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
866
867 2007-03-25  Bruno Haible  <bruno@clisp.org>
868
869         * tests/test-frexp.c (NaN): New function/macro.
870         (main): Use it instead of 0.0 / 0.0.
871         * tests/test-isnan.c (NaN): New function/macro.
872         (main): Use it instead of 0.0 / 0.0.
873         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
874         (test_function): Use it instead of 0.0 / 0.0.
875         * tests/test-vasprintf-posix.c (NaN): New function/macro.
876         (test_function): Use it instead of 0.0 / 0.0.
877         * tests/test-snprintf-posix.h (NaN): New function/macro.
878         (test_function): Use it instead of 0.0 / 0.0.
879         * tests/test-sprintf-posix.h (NaN): New function/macro.
880         (test_function): Use it instead of 0.0 / 0.0.
881         * tests/test-fprintf-posix.h (NaN): New function/macro.
882         (test_function): Use it instead of 0.0 / 0.0.
883         * tests/test-printf-posix.h (NaN): New function/macro.
884         (test_function): Use it instead of 0.0 / 0.0.
885
886         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
887
888 2007-03-25  Bruno Haible  <bruno@clisp.org>
889
890         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
891
892 2007-03-25  Bruno Haible  <bruno@clisp.org>
893
894         * lib/regexec.c (merge_state_with_log): Make static.
895
896 2007-03-25  Bruno Haible  <bruno@clisp.org>
897
898         * lib/trigl.c (kernel_rem_pio2): Make static.
899
900 2007-03-25  Bruno Haible  <bruno@clisp.org>
901
902         * lib/sincosl.c (sincosl_table): Make static.
903
904 2007-03-25  Bruno Haible  <bruno@clisp.org>
905
906         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
907         if the compiler does not support C99.
908
909 2007-03-25  Bruno Haible  <bruno@clisp.org>
910
911         * modules/time (Makefile.am): Ensure all rule action lines start with a
912         tab.
913
914 2007-03-24  Bruno Haible  <bruno@clisp.org>
915
916         * modules/tsearch-tests: New file.
917         * tests/test-tsearch.sh: New file.
918         * tests/test-tsearch.c: New file, mostly copied from glibc.
919
920         * modules/search-tests: New file.
921         * tests/test-search.c: New file.
922
923         * modules/search: New file.
924         * lib/search_.h: New file, incorporating lib/tsearch.h.
925         * m4/search_h.m4: New file.
926         * lib/tsearch.h: Remove file.
927         * lib/tsearch.c: Include search.h instead of tsearch.h.
928         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
929         HAVE_TSEARCH.
930         * modules/tsearch (Files): Remove lib/tsearch.h.
931         (Depends-on): Add search.
932         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
933         (Include): Change tsearch.h into search.h.
934
935 2007-03-24  Bruno Haible  <bruno@clisp.org>
936
937         * modules/fpucw: New file.
938         * lib/fpucw.h: New file.
939         * lib/frexp.c: Include fpucw.h.
940         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
941         (FUNC): Use them.
942         * lib/printf-frexp.c: Include fpucw.h.
943         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
944         (FUNC): Use them.
945         * lib/vasnprintf.c: Include fpucw.h.
946         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
947         'long double' calculations.
948         * tests/test-frexpl.c: Include fpucw.h.
949         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
950         * tests/test-printf-frexpl.c: Include fpucw.h.
951         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
952         * modules/frexpl (Depends-on): Add fpucw.
953         * modules/printf-frexpl (Depends-on): Likewise.
954         * modules/fprintf-posix (Depends-on): Likewise.
955         * modules/snprintf-posix (Depends-on): Likewise.
956         * modules/sprintf-posix (Depends-on): Likewise.
957         * modules/vasnprintf-posix (Depends-on): Likewise.
958         * modules/vasprintf-posix (Depends-on): Likewise.
959         * modules/vfprintf-posix (Depends-on): Likewise.
960         * modules/vsnprintf-posix (Depends-on): Likewise.
961         * modules/vsprintf-posix (Depends-on): Likewise.
962         * modules/frexpl-tests (Depends-on): Likewise.
963         * modules/printf-frexpl-tests (Depends-on): Likewise.
964
965 2007-03-24  Bruno Haible  <bruno@clisp.org>
966
967         * lib/float+.h: New file.
968         * lib/isnan.c: Include float+.h.
969         (SIZE): New macro.
970         (FUNC): Compare only SIZE bytes of the value.
971         * lib/vasnprintf.c: Include float+.h.
972         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
973         SIZEOF_LDBL or SIZEOF_DBL bytes.
974         * modules/isnan-nolibm (Files): Add lib/float+.h.
975         * modules/isnanl-nolibm (Files): Add lib/float+.h.
976         * modules/isnanl (Files): Add lib/float+.h.
977         * modules/vasnprintf (Files): Add lib/float+.h.
978
979 2007-03-24  Bruno Haible  <bruno@clisp.org>
980
981         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
982         include isnanl-nolibm.h.
983
984 2007-03-24  Bruno Haible  <bruno@clisp.org>
985
986         * tests/test-read-file.c (main): Don't produce spurious output for
987         expected situations. Make the test fail if it encountered unexpected
988         results.
989
990 2007-03-24  Bruno Haible  <bruno@clisp.org>
991
992         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
993         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
994
995 2007-03-24  Bruno Haible  <bruno@clisp.org>
996
997         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
998
999 2007-03-24  Bruno Haible  <bruno@clisp.org>
1000
1001         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
1002         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
1003
1004         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
1005         * modules/utf8-ucs4: Turn into a symbolic link to module
1006         unistr/u8-mbtouc.
1007
1008         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
1009         utf8-ucs4-unsafe.
1010         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
1011         unistr/u8-mbtouc-unsafe.
1012
1013         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
1014         * modules/utf16-ucs4: Turn into a symbolic link to module
1015         unistr/u16-mbtouc.
1016
1017         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
1018         utf16-ucs4-unsafe.
1019         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
1020         unistr/u16-mbtouc-unsafe.
1021
1022         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
1023         * modules/ucs4-utf8: Turn into a symbolic link to module
1024         unistr/u8-ubtomb.
1025
1026         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
1027         * modules/ucs4-utf16: Turn into a symbolic link to module
1028         unistr/u16-ubtomb.
1029
1030 2007-03-24  Bruno Haible  <bruno@clisp.org>
1031
1032         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
1033         Enable the function only if HAVE_INLINE.
1034         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
1035         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
1036         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
1037         Enable the function only if HAVE_INLINE.
1038         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
1039         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
1040         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
1041         Enable the function only if HAVE_INLINE.
1042         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
1043         Enable the function only if HAVE_INLINE.
1044         * modules/utf8-ucs4: Update.
1045         * modules/utf8-ucs4-unsafe: Update.
1046         * modules/utf16-ucs4: Update.
1047         * modules/utf16-ucs4-unsafe: Update.
1048         * modules/ucs4-utf8: Update.
1049         * modules/ucs4-utf16: Update.
1050
1051 2007-03-24  Bruno Haible  <bruno@clisp.org>
1052
1053         * lib/utf8-ucs4.h: Remove file.
1054         * lib/utf8-ucs4-unsafe.h: Remove file.
1055         * lib/utf16-ucs4.h: Remove file.
1056         * lib/utf16-ucs4-unsafe.h: Remove file.
1057         * lib/ucs4-utf8.h: Remove file.
1058         * lib/ucs4-utf16.h: Remove file.
1059         * lib/unistr.h: Include their previous contents.
1060         * m4/utf-ucs4.m4: Remove file.
1061         * m4/ucs4-utf.m4: Remove file.
1062         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
1063         (Depends-on): Add unistr/base.
1064         (configure.ac): Remove gl_UTF_UCS4.
1065         (Makefile.am): Update.
1066         (Include): Change to unistr.h.
1067         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
1068         (Depends-on): Add unistr/base.
1069         (configure.ac): Remove gl_UTF_UCS4.
1070         (Makefile.am): Update.
1071         (Include): Change to unistr.h.
1072         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
1073         (Depends-on): Add unistr/base.
1074         (configure.ac): Remove gl_UTF_UCS4.
1075         (Makefile.am): Update.
1076         (Include): Change to unistr.h.
1077         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
1078         (Depends-on): Add unistr/base.
1079         (configure.ac): Remove gl_UTF_UCS4.
1080         (Makefile.am): Update.
1081         (Include): Change to unistr.h.
1082         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
1083         (Depends-on): Add unistr/base.
1084         (configure.ac): Remove gl_UCS4_UTF.
1085         (Makefile.am): Update.
1086         (Include): Change to unistr.h.
1087         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
1088         (Depends-on): Add unistr/base.
1089         (configure.ac): Remove gl_UCS4_UTF.
1090         (Makefile.am): Update.
1091         (Include): Change to unistr.h.
1092         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
1093         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
1094         utf8-ucs4-unsafe.h.
1095         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
1096         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
1097         utf16-ucs4-unsafe.h.
1098         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
1099         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
1100         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
1101         * lib/unistr/u8-strchr.c: Likewise.
1102         * lib/unistr/u8-strrchr.c: Likewise.
1103         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
1104         * lib/unistr/u16-strchr.c: Likewise.
1105         * lib/unistr/u16-strrchr.c: Likewise.
1106         * lib/striconveh.c: Update.
1107         * lib/linebreak.c: Update.
1108
1109 2007-03-24  Bruno Haible  <bruno@clisp.org>
1110
1111         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
1112         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
1113
1114 2007-03-22  Bruno Haible  <bruno@clisp.org>
1115
1116         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
1117
1118 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
1119
1120         * MODULES.html.sh (File system functions): New module write-any-file.
1121         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
1122         * m4/write-any-file.m4: New files.
1123
1124 2007-03-23  Eric Blake  <ebb9@byu.net>
1125
1126         * gnulib-tool: Rearrange space-tab sequences, since some editors
1127         like to eat them.
1128
1129 2007-03-23  Eric Blake  <ebb9@byu.net>
1130
1131         * lib/version-etc.c (version_etc_va): Update license wording to
1132         be more concise.  Recommended by Richard Stallman.
1133
1134 2007-03-22  Bruno Haible  <bruno@clisp.org>
1135
1136         * lib/poll.c (MSG_PEEK): New fallback definition.
1137
1138 2007-03-22  Bruno Haible  <bruno@clisp.org>
1139
1140         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
1141         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
1142         (main): Update.
1143         Fixes a compilation error on BeOS.
1144
1145 2007-03-22  Bruno Haible  <bruno@clisp.org>
1146
1147         * modules/frexpl-tests: New file.
1148         * tests/test-frexpl.c: New file.
1149
1150         * modules/frexpl: New file.
1151         * m4/frexpl.m4: New file.
1152         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
1153         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
1154         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
1155         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
1156         (Depends-on): Add frexpl. Remove isnanl-nolibm.
1157         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
1158
1159 2007-03-22  Bruno Haible  <bruno@clisp.org>
1160
1161         * lib/frexpl.c: Share code with lib/frexp.c.
1162         * modules/mathl (Files): Add lib/frexp.c.
1163         (Depends-on): Add isnanl-nolibm.
1164
1165 2007-03-22  Bruno Haible  <bruno@clisp.org>
1166
1167         * modules/printf-frexp (Files): Add m4/frexp.m4.
1168         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
1169         only if the found frexp function actually works.
1170
1171 2007-03-22  Bruno Haible  <bruno@clisp.org>
1172
1173         * lib/frexp.c: Remove older implementation that uses divisions.
1174
1175 2007-03-21  Bruno Haible  <bruno@clisp.org>
1176
1177         * modules/frexp-tests: New file.
1178         * tests/test-frexp.c: New file.
1179
1180         * modules/frexp: New file.
1181         * lib/frexp.c: New file.
1182         * m4/frexp.m4: New file.
1183         * lib/math_.h (frexp): New declaration.
1184         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
1185         REPLACE_FREXP.
1186         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
1187
1188 2007-03-21  Bruno Haible  <bruno@clisp.org>
1189
1190         * modules/isnanl-tests: New file.
1191         * tests/test-isnanl.c: New file.
1192
1193         * modules/isnanl: New file.
1194         * lib/isnanl.h: New file.
1195         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
1196         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
1197         gl_FUNC_ISNANL_WORKS.
1198         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
1199         New macros.
1200
1201 2007-03-21  Bruno Haible  <bruno@clisp.org>
1202
1203         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
1204         lib/isnanl.h.
1205         (Include): Update.
1206         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
1207         * lib/vasnprintf.c: Update.
1208         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
1209         tests/test-isnanl.h, remove tests/test-isnanl.c.
1210         (Makefile.am): Update.
1211         * tests/test-isnanl-nolibm.c: New file.
1212         * tests/test-isnanl.h: New file.
1213         * tests/test-isnanl.c: Remove file.
1214
1215 2007-03-21  Jim Meyering  <jim@meyering.net>
1216
1217         When trying to open ".", treat ESTALE like EACCES.
1218         * lib/savewd.c (savewd_save): Resort to forking not just upon
1219         failure with EACCES, but also when errno is ESTALE.
1220
1221 2007-03-20  Bruno Haible  <bruno@clisp.org>
1222
1223         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
1224         Needed on AIX 5.1. Reported by Matthew Woehlke.
1225
1226 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1227
1228         Suggestions by Bruno Haible:
1229         * lib/acl-internal.h: Include "gettext.h" rather than rolling
1230         our own.
1231         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
1232         * modules/acl (Depends-on): Add gettext.
1233
1234 2007-03-19  Bruno Haible  <bruno@clisp.org>
1235
1236         * modules/iconvme: Remove file.
1237         * lib/iconvme.h: Remove file.
1238         * lib/iconvme.c: Remove file.
1239         * m4/iconvme.m4: Remove file.
1240
1241 2007-03-19  Bruno Haible  <bruno@clisp.org>
1242
1243         * doc/relocatable-maint.texi: Break long shell script line.
1244         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
1245
1246 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1247
1248         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
1249         handle file_has_acl.
1250         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
1251         * lib/acl.c: Move header inclusions and related macro defns into
1252         lib/acl-internal.h.
1253         (S_ISLNK): Remove defn, since that's now done for us.
1254         (file_has_acl): Move to lib/file-has-acl.c.
1255         Call acl_trivial if available.  This is the crucial part of the fix.
1256         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
1257         shared within the library.  Rewrite a bit, partly to make it compatible
1258         with the GNU coding style.
1259         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
1260         Remove unnecessary double-quotes.
1261         Don't test for acl_to_text; the build will catch that.
1262         Replace acl_entries if it doesn't exist and it is needed.
1263         Check for -lsec and acl_trivial (as used on Solaris 10).
1264         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
1265         lib/file-has-acl.c.
1266         (Depends-on): Add sys_stat, for S_ISLNK.
1267
1268 2007-03-19  Ben Pfaff  <blp@gnu.org>
1269
1270         * doc/gnulib.texi: Fix typos.
1271         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
1272
1273 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1274
1275         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
1276         If size is zero here, buf must be zero.
1277
1278 2007-03-19  Simon Josefsson  <simon@josefsson.org>
1279
1280         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
1281         <bruno@clisp.org>.
1282
1283 2007-03-18  Bruno Haible  <bruno@clisp.org>
1284
1285         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
1286         Suggested by Eric Blake.
1287
1288 2007-03-18  Ben Pfaff  <blp@gnu.org>
1289
1290         * doc/relocatable.texi: Recommend using as prefix a directory
1291         that does not exist and will never be created.  Based on
1292         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
1293         and others.
1294
1295 2007-03-17  Bruno Haible  <bruno@clisp.org>
1296
1297         * lib/fchownat.c: Include lchown.h.
1298
1299 2007-03-17  Bruno Haible  <bruno@clisp.org>
1300
1301         Fix endless loop when the given allocated size was > INT_MAX.
1302         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
1303         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
1304         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
1305         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
1306         * lib/sprintf.c (sprintf): Likewise.
1307
1308 2007-03-17  Bruno Haible  <bruno@clisp.org>
1309
1310         * tests/test-argp-2.sh (func_compare): Output a context diff.
1311
1312 2007-03-17  Bruno Haible  <bruno@clisp.org>
1313
1314         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
1315         locale's decimal-point character.
1316
1317 2007-03-17  Bruno Haible  <bruno@clisp.org>
1318
1319         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
1320         before comparing it. Needed because on some platforms (e.g. x86) a
1321         'long double' occupies less bytes than sizeof (long double).
1322
1323 2007-03-17  Bruno Haible  <bruno@clisp.org>
1324
1325         * tests/test-crc.c (main): Make printf statements 64-bit clean.
1326         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
1327         * tests/test-getaddrinfo.c (simple): Likewise.
1328         * tests/test-read-file.c (main): Likewise.
1329
1330 2007-03-17  Bruno Haible  <bruno@clisp.org>
1331
1332         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
1333
1334 2007-03-17  Bruno Haible  <bruno@clisp.org>
1335
1336         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
1337         unused variable.
1338
1339 2007-03-17  Bruno Haible  <bruno@clisp.org>
1340
1341         * tests/test-c-strcasecmp.c: Include c-strcase.h.
1342         * tests/test-c-strncasecmp.c: Likewise.
1343
1344 2007-03-17  Bruno Haible  <bruno@clisp.org>
1345
1346         * modules/stdlib (Depends-on): Add unistd.
1347         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
1348         Needed for MacOS X 10.3.
1349
1350 2007-03-17  Bruno Haible  <bruno@clisp.org>
1351
1352         * lib/unistr/u-strdup.h: Include <stdlib.h>.
1353
1354 2007-03-17  Bruno Haible  <bruno@clisp.org>
1355
1356         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
1357
1358 2007-03-17  Bruno Haible  <bruno@clisp.org>
1359
1360         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
1361         to reflect files copied from gnulib (with or without modifications).
1362         Suggested by Jim Meyering.
1363
1364 2007-03-17  Eric Blake  <ebb9@byu.net>
1365
1366         * NEWS: Document stdlib change from 2007-02-18.
1367
1368 2007-03-17  Jim Meyering  <jim@meyering.net>
1369
1370         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
1371         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
1372         someone uses a name containing shell meta-characters.
1373         Reported by Alfred M. Szmidt.
1374
1375         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
1376
1377 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
1378
1379         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
1380         and copy gettext configuration files only if configure.ac contains
1381         a use of AM_GNU_GETTEXT_VERSION.
1382
1383 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
1384
1385         * build-aux/bootstrap (gnulib_name): New variable.
1386         (gnulib_tool_options): Use it.
1387
1388 2007-03-13  Simon Josefsson  <simon@josefsson.org>
1389
1390         * tests/test-des.c: Use new namespace.
1391
1392 2007-03-15  Bruno Haible  <bruno@clisp.org>
1393
1394         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
1395         Reported by James Youngman <jay@gnu.org>.
1396
1397 2007-03-15  Bruno Haible  <bruno@clisp.org>
1398
1399         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
1400         declared prototype. Needed with cc on OSF/1 5.1.
1401
1402 2007-03-15  Bruno Haible  <bruno@clisp.org>
1403
1404         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
1405         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
1406         (struct gl_list_implementation): Add dispose_fn argument to the
1407         'create_empty', 'create' methods.
1408         (struct gl_list_impl_base): Add field 'dispose_fn'.
1409         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
1410         argument.
1411         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
1412         dispose_fn argument.
1413         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
1414         dispose_fn on the dropped values.
1415         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
1416         dispose_fn argument.
1417         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
1418         dropped values.
1419         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
1420         (gl_tree_remove_node): Call dispose_fn on the dropped value.
1421         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
1422         (gl_tree_remove_node): Call dispose_fn on the dropped value.
1423         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
1424         argument.
1425         (gl_tree_list_free): Call dispose_fn on the dropped values.
1426         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
1427         the dropped values.
1428         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
1429         Add dispose_fn argument.
1430         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
1431         Call dispose_fn on the dropped values.
1432         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
1433         Add dispose_fn argument.
1434         (gl_sublist_create): Initialize the 'dispose_fn' field.
1435         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
1436         * tests/test-array_list.c (main): Update.
1437         * tests/test-carray_list.c (main): Update.
1438         * tests/test-avltree_list.c (main): Update.
1439         * tests/test-rbtree_list.c (main): Update.
1440         * tests/test-avltreehash_list.c (main): Update.
1441         * tests/test-rbtreehash_list.c (main): Update.
1442         * tests/test-linked_list.c (main): Update.
1443         * tests/test-linkedhash_list.c (main): Update.
1444         * tests/test-array_oset.c (main): Update.
1445
1446 2007-03-15  Bruno Haible  <bruno@clisp.org>
1447
1448         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
1449         (gl_oset_create_empty): Add dispose_fn argument.
1450         (struct gl_oset_implementation): Add dispose_fn argument to
1451         'create_empty' method.
1452         (struct gl_oset_impl_base): Add dispose_fn field.
1453         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
1454         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
1455         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
1456         values.
1457         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
1458         (gl_tree_oset_free): Call dispose_fn on the dropped values.
1459         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
1460         dropped value.
1461         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
1462         dropped value.
1463         * tests/test-array_oset.c (main): Update.
1464         * tests/test-avltree_oset.c (main): Update.
1465         * tests/test-rbtree_oset.c (main): Update.
1466         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
1467
1468 2007-03-13  Bruno Haible  <bruno@clisp.org>
1469
1470         * tests/test-stdbool.c (i): Update after last patch.
1471
1472 2007-03-12  Bruno Haible  <bruno@clisp.org>
1473
1474         * lib/quotearg.c: Include <wctype.h> early, before the definition of
1475         the iswprint macro. Needed on Solaris 2.5.1.
1476
1477 2007-03-12  Bruno Haible  <bruno@clisp.org>
1478
1479         * tests/test-printf-frexp.c (main): Declare x as volatile.
1480
1481 2007-03-12  Simon Josefsson  <simon@josefsson.org>
1482
1483         * doc/gnulib.texi (Build robot for gnulib): New section.
1484
1485 2007-03-12  Jim Meyering  <jim@meyering.net>
1486
1487         * build-aux/bootstrap: New file.
1488         * build-aux/bootstrap.conf: New file, from coreutils.
1489
1490 2007-03-11  Bruno Haible  <bruno@clisp.org>
1491
1492         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
1493
1494 2007-03-12  Simon Josefsson  <simon@josefsson.org>
1495
1496         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
1497         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
1498         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
1499
1500 2007-03-11  Bruno Haible  <bruno@clisp.org>
1501
1502         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
1503         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
1504
1505 2007-03-11  Bruno Haible  <bruno@clisp.org>
1506
1507         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
1508         formula. Needed for SunPRO C 5.0.
1509
1510 2007-03-11  Bruno Haible  <bruno@clisp.org>
1511
1512         * modules/long-options (Depends-on): Add getopt.
1513
1514 2007-03-11  Bruno Haible  <bruno@clisp.org>
1515
1516         * modules/modechange (Depends-on): Add stdbool.
1517
1518 2007-03-11  Bruno Haible  <bruno@clisp.org>
1519
1520         * modules/i-ring (Depends-on): Add stdbool.
1521
1522 2007-03-11  Bruno Haible  <bruno@clisp.org>
1523
1524         * modules/gc-des (Depends-on): Add stdbool.
1525
1526 2007-03-11  Bruno Haible  <bruno@clisp.org>
1527
1528         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
1529
1530 2007-03-11  Bruno Haible  <bruno@clisp.org>
1531
1532         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
1533
1534 2007-03-11  Bruno Haible  <bruno@clisp.org>
1535
1536         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
1537
1538 2007-03-11  Bruno Haible  <bruno@clisp.org>
1539
1540         * lib/vasnprintf.c (sprintf): Undefine.
1541
1542 2007-03-11  Bruno Haible  <bruno@clisp.org>
1543
1544         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
1545         initializers in SunPRO C and Compaq C compilers.
1546
1547 2007-03-11  Bruno Haible  <bruno@clisp.org>
1548
1549         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
1550         decrementing code ANSI C compliant.
1551
1552 2007-03-11  Bruno Haible  <bruno@clisp.org>
1553
1554         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
1555         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
1556
1557 2007-03-11  Bruno Haible  <bruno@clisp.org>
1558
1559         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
1560         <stdbool.h> substitute doesn't pass.
1561
1562 2007-03-11  Bruno Haible  <bruno@clisp.org>
1563
1564         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
1565
1566 2007-03-11  Bruno Haible  <bruno@clisp.org>
1567
1568         * gnulib-tool (func_create_megatestdir): Create also an autobuild
1569         script, for submission to autobuild.josefsson.org.
1570
1571 2007-03-10  Bruno Haible  <bruno@clisp.org>
1572
1573         * modules/canonicalize-lgpl-tests: New file.
1574         * tests/test-canonicalize-lgpl.sh: New file.
1575         * tests/test-canonicalize-lgpl.c: New file.
1576
1577         * modules/c-strcase-tests: New file.
1578         * tests/test-c-strcase.sh: New file.
1579         * tests/test-c-strcasecmp.c: New file.
1580         * tests/test-c-strncasecmp.c: New file.
1581
1582         * modules/atexit-tests: New file.
1583         * tests/test-atexit.sh: New file.
1584         * tests/test-atexit.c: New file.
1585
1586 2007-03-10  Bruno Haible  <bruno@clisp.org>
1587
1588         * tests/test-binary-io.sh: Use temporary filenames that are not so
1589         likely to clash with those of other tests (in a parallel make).
1590         * tests/test-binary-io.c: Likewise.
1591
1592 2007-03-10  Bruno Haible  <bruno@clisp.org>
1593
1594         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
1595         fallback; use #error instead.
1596         Suggested by Simon Josefsson.
1597
1598 2007-03-10  Bruno Haible  <bruno@clisp.org>
1599
1600         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
1601         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
1602         first and the last.
1603
1604 2007-03-10  Bruno Haible  <bruno@clisp.org>
1605
1606         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
1607
1608 2007-03-10  Bruno Haible  <bruno@clisp.org>
1609
1610         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
1611         "make distcheck".
1612         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
1613         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
1614         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
1615
1616 2007-03-10  Bruno Haible  <bruno@clisp.org>
1617
1618         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
1619         variable.
1620         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
1621         variable.
1622
1623 2007-03-09  Eric Blake  <ebb9@byu.net>
1624         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
1625
1626         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
1627         types are not being provided by gnulib.
1628         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
1629         types are supported.
1630
1631 2007-03-10  Bruno Haible  <bruno@clisp.org>
1632
1633         * lib/stdio_.h (__attribute__): New macro.
1634         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
1635         vsprintf): Specify __attribute__ __format__ for GCC.
1636         Suggested by Eric Blake.
1637
1638 2007-03-09  Bruno Haible  <bruno@clisp.org>
1639
1640         * modules/printf-posix-tests: New file.
1641         * tests/test-printf-posix.sh: New file.
1642         * tests/test-printf-posix.c: New file.
1643
1644         * modules/printf-posix: New file.
1645         * lib/printf.c: New file.
1646         * m4/printf-posix-rpl.m4: New file.
1647         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
1648         REPLACE_PRINTF.
1649         * lib/stdio_.h (printf): New declaration.
1650         (format, __format__, ____printf____, ____scanf____, ____strftime____,
1651         ____strfmon____): New macros.
1652         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
1653         REPLACE_PRINTF.
1654
1655 2007-03-09  Bruno Haible  <bruno@clisp.org>
1656
1657         * tests/test-vasnprintf-posix2.sh: New file.
1658         * tests/test-vasnprintf-posix2.c: New file.
1659         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
1660         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
1661         (Makefile.am): Activate test-vasnprintf-posix2.sh.
1662
1663         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
1664         a locale dependent decimal point, rather than always '.'.
1665
1666 2007-03-09  Eric Blake  <ebb9@byu.net>
1667
1668         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
1669         spite of platforms like Tandem/NSK that define it to -1.
1670
1671 2007-03-08  Bruno Haible  <bruno@clisp.org>
1672
1673         * modules/vprintf-posix-tests: New file.
1674         * tests/test-vprintf-posix.sh: New file.
1675         * tests/test-vprintf-posix.c: New file.
1676         * tests/test-printf-posix.h: New file.
1677
1678         * modules/vprintf-posix: New file.
1679         * lib/vprintf.c: New file.
1680         * m4/vprintf-posix.m4: New file.
1681         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
1682         REPLACE_VPRINTF.
1683         * lib/stdio_.h (vprintf): New declaration.
1684         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
1685         REPLACE_VPRINTF.
1686
1687 2007-03-08  Bruno Haible  <bruno@clisp.org>
1688
1689         * modules/fprintf-posix-tests: New file.
1690         * tests/test-fprintf-posix.sh: New file.
1691         * tests/test-fprintf-posix.c: New file.
1692
1693         * modules/fprintf-posix: New file.
1694         * lib/fprintf.c: New file.
1695         * m4/fprintf-posix.m4: New file.
1696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
1697         REPLACE_FPRINTF.
1698         * lib/stdio_.h (fprintf): New declaration.
1699         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
1700         REPLACE_FPRINTF.
1701
1702 2007-03-08  Bruno Haible  <bruno@clisp.org>
1703
1704         * modules/vfprintf-posix-tests: New file.
1705         * tests/test-vfprintf-posix.sh: New file.
1706         * tests/test-vfprintf-posix.c: New file.
1707         * tests/test-fprintf-posix.h: New file.
1708         * tests/test-fprintf-posix.out: New file.
1709
1710         * modules/vfprintf-posix: New file.
1711         * lib/vfprintf.c: New file.
1712         * m4/vfprintf-posix.m4: New file.
1713         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
1714         REPLACE_VFPRINTF.
1715         * lib/stdio_.h (vfprintf): New declaration.
1716         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
1717         REPLACE_VFPRINTF.
1718
1719 2007-03-08  Bruno Haible  <bruno@clisp.org>
1720
1721         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
1722
1723 2007-03-08  Bruno Haible  <bruno@clisp.org>
1724
1725         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
1726         instead of 'expr' invocations.
1727         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1728         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1729         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1730         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1731         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1732         Suggested by Paul Eggert.
1733
1734 2007-03-08  Bruno Haible  <bruno@clisp.org>
1735
1736         * modules/fseterr-tests: New file.
1737         * tests/test-fseterr.c: New file.
1738
1739         * modules/fseterr: New file.
1740         * lib/fseterr.h: New file.
1741         * lib/fseterr.c: New file.
1742
1743 2007-03-08  Bruno Haible  <bruno@clisp.org>
1744
1745         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
1746         * lib/getopt_.h: Likewise.
1747         * lib/mbswidth.h: Likewise.
1748         * lib/setenv.h: Likewise.
1749         * lib/vasnprintf.h: Likewise.
1750         * lib/vasprintf.h: Likewise.
1751         * lib/verror.h: Likewise.
1752         * lib/xsetenv.h: Likewise.
1753         * lib/xvasprintf.h: Likewise.
1754
1755 2007-03-08  Jim Meyering  <jim@meyering.net>
1756
1757         * users.txt: Add parted.
1758
1759         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
1760
1761 2007-03-07  Bruno Haible  <bruno@clisp.org>
1762
1763         * m4/printf.m4: Make the shell script snippets copy&pastable.
1764
1765 2007-03-02  Bruno Haible  <bruno@clisp.org>
1766
1767         * lib/netinet_in_.h: New file.
1768         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
1769         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
1770         * modules/netinet_in (Files): Add lib/netinet_in_.h.
1771         (Depends-on): Add absolute-header.
1772         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
1773         into netinet/in.h.
1774
1775 2007-03-03  Bruno Haible  <bruno@clisp.org>
1776
1777         * lib/sys_select_.h: New file.
1778         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
1779         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
1780         * modules/sys_select (Files): Add lib/sys_select_.h.
1781         (Depends-on): Add absolute-header.
1782         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
1783         into sys/select.h.
1784
1785 2007-03-02  Bruno Haible  <bruno@clisp.org>
1786
1787         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
1788         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
1789         values.
1790         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
1791         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
1792         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
1793         * modules/sys_socket (Depends-on): Add absolute-header.
1794         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
1795         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
1796         (Include): Remove requirement of inclusion of <sys/types.h>.
1797
1798 2007-03-02  Bruno Haible  <bruno@clisp.org>
1799
1800         * lib/byteswap_.h (bswap_32): Fix formula.
1801
1802 2007-03-06  Bruno Haible  <bruno@clisp.org>
1803
1804         * modules/sprintf-posix-tests: New file.
1805         * tests/test-sprintf-posix.c: New file.
1806
1807         * modules/sprintf-posix: New file.
1808         * lib/sprintf.c: New file.
1809         * m4/sprintf-posix.m4: New file.
1810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
1811         REPLACE_SPRINTF.
1812         * lib/stdio_.h (sprintf): New declaration.
1813         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
1814         REPLACE_SPRINTF.
1815
1816 2007-03-06  Bruno Haible  <bruno@clisp.org>
1817
1818         * modules/vsprintf-posix-tests: New file.
1819         * tests/test-vsprintf-posix.c: New file.
1820         * tests/test-sprintf-posix.h: New file.
1821
1822         * modules/vsprintf-posix: New file.
1823         * lib/vsprintf.c: New file.
1824         * m4/vsprintf-posix.m4: New file.
1825         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
1826         REPLACE_VSPRINTF.
1827         * lib/stdio_.h (vsprintf): New declaration.
1828         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
1829         REPLACE_VSPRINTF.
1830
1831 2007-03-06  Bruno Haible  <bruno@clisp.org>
1832
1833         * modules/vsnprintf (Depend-on): Remove minmax.
1834
1835 2007-03-06  Bruno Haible  <bruno@clisp.org>
1836
1837         * modules/snprintf-posix-tests: New file.
1838         * tests/test-snprintf-posix.c: New file.
1839
1840         * modules/snprintf-posix: New file.
1841         * m4/snprintf-posix.m4: New file.
1842         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
1843         gl_FUNC_SNPRINTF.
1844         (gl_FUNC_SNPRINTF): Invoke it.
1845         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
1846         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
1847         is set.
1848         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
1849
1850 2007-03-06  Bruno Haible  <bruno@clisp.org>
1851
1852         * modules/vsnprintf-posix-tests: New file.
1853         * tests/test-vsnprintf-posix.c: New file.
1854         * tests/test-snprintf-posix.h: New file.
1855
1856         * modules/vsnprintf-posix: New file.
1857         * m4/vsnprintf-posix.m4: New file.
1858         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
1859         gl_FUNC_VSNPRINTF.
1860         (gl_FUNC_VSNPRINTF): Invoke it.
1861         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
1862         * lib/stdio_.h (vsnprintf): Define as a replacement if
1863         REPLACE_VSNPRINTF is set.
1864         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
1865
1866 2007-03-06  Bruno Haible  <bruno@clisp.org>
1867
1868         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
1869         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
1870
1871 2007-03-06  Bruno Haible  <bruno@clisp.org>
1872
1873         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
1874         (asinl): Declare also if HAVE_DECL_ASINL is set.
1875         (atanl): Declare also if HAVE_DECL_ATANL is set.
1876         (ceill): Declare also if HAVE_DECL_CEILL is set.
1877         (cosl): Declare also if HAVE_DECL_COSL is set.
1878         (expl): Declare also if HAVE_DECL_EXPL is set.
1879         (floorl): Declare also if HAVE_DECL_FLOORL is set.
1880         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
1881         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
1882         (logl): Declare also if HAVE_DECL_LOGL is set.
1883         (sinl): Declare also if HAVE_DECL_SINL is set.
1884         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
1885         (tanl): Declare also if HAVE_DECL_TANL is set.
1886         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
1887         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
1888         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
1889         declaration of frexpl, ldexpl.
1890         * modules/printf-frexpl (Depends-on): Add math.
1891         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
1892
1893 2007-03-05  Bruno Haible  <bruno@clisp.org>
1894
1895         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
1896         frexpl and ldexpl are declared.
1897         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
1898
1899 2007-03-05  Bruno Haible  <bruno@clisp.org>
1900
1901         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
1902         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
1903
1904 2007-03-05  Bruno Haible  <bruno@clisp.org>
1905
1906         * lib/stdio_.h: Include <stddef.h>.
1907
1908 2007-03-05  Bruno Haible  <bruno@clisp.org>
1909
1910         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
1911
1912 2007-03-05  Bruno Haible  <bruno@clisp.org>
1913
1914         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
1915         NetBSD 4, from Ralf Wildenhues.
1916
1917 2007-03-04  Bruno Haible  <bruno@clisp.org>
1918
1919         * lib/vasprintf.h: Update #if logic for the case when the functions
1920         exist but are overridden.
1921
1922 2007-03-04  Bruno Haible  <bruno@clisp.org>
1923
1924         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
1925         implementations: glibc-2.4 and MacOS X 10.3.
1926         * tests/test-vasnprintf-posix.c (test_function): Test also the case
1927         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
1928         * tests/test-vasprintf-posix.c (test_function): Likewise.
1929
1930 2007-03-04  Bruno Haible  <bruno@clisp.org>
1931
1932         * modules/vasprintf-posix-tests: New file.
1933         * tests/test-vasprintf-posix.c: New file.
1934
1935         * modules/vasprintf-posix: New file.
1936         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
1937         defined.
1938         * m4/vasprintf-posix.m4: New file.
1939         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
1940         gl_FUNC_VASPRINTF.
1941         (gl_FUNC_VASPRINTF): Invoke it.
1942         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
1943         here.
1944         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
1945
1946 2007-03-04  Bruno Haible  <bruno@clisp.org>
1947
1948         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
1949         REPLACE_GETTIMEOFDAY.
1950         * modules/sys_time (Makefile.am): Likewise.
1951         * m4/sys_time_h.m4: Likewise.
1952         * m4/gettimeofday.m4: Likewise.
1953
1954 2007-03-04  Bruno Haible  <bruno@clisp.org>
1955
1956         * modules/vasnprintf-posix-tests: New file.
1957         * tests/test-vasnprintf-posix.c: New file.
1958
1959         * modules/vasnprintf-posix: New file.
1960         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
1961         printf-frexpl.h.
1962         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
1963         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
1964         REPLACE_VASNPRINTF is defined.
1965         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
1966         gl_FUNC_VASNPRINTF.
1967         (gl_FUNC_VASNPRINTF): Invoke it.
1968         * m4/vasnprintf-posix.m4: New file.
1969         * m4/printf.m4: New file.
1970
1971 2007-03-04  Bruno Haible  <bruno@clisp.org>
1972
1973         Compile progreloc.c only if --enable-relocatable is specified.
1974         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
1975         if --enable-relocatable was specified.
1976         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
1977         lib_SOURCES.
1978
1979 2007-03-04  Jim Meyering  <jim@meyering.net>
1980
1981         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
1982         Use it consistently, rather than enumerating errno constants.
1983
1984 2007-03-04  Bruno Haible  <bruno@clisp.org>
1985
1986         * modules/xvasprintf-tests: New file.
1987         * tests/test-xvasprintf.c: New file.
1988
1989         * modules/vasprintf-tests: New file.
1990         * tests/test-vasprintf.c: New file.
1991
1992         * modules/vasnprintf-tests: New file.
1993         * tests/test-vasnprintf.c: New file.
1994
1995         * modules/vsnprintf-tests: New file.
1996         * tests/test-vsnprintf.c: New file.
1997
1998         * modules/snprintf-tests: New file.
1999         * tests/test-snprintf.c: New file.
2000
2001 2007-03-04  Bruno Haible  <bruno@clisp.org>
2002
2003         Compile relocatable.c only if --enable-relocatable is specified.
2004         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
2005         gl_RELOCATABLE_LIBRARY.
2006         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
2007         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
2008         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
2009         gl_RELOCATABLE_LIBRARY.
2010         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
2011         (Makefile.am): Remove lib_SOURCES.
2012         * modules/relocatable-lib-lgpl (configure.ac): Invoke
2013         gl_RELOCATABLE_LIBRARY.
2014         (Makefile.am): Remove lib_SOURCES.
2015         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
2016         always.
2017         * modules/relocatable-prog-wrapper (configure.ac): Invoke
2018         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
2019
2020 2007-03-04  Bruno Haible  <bruno@clisp.org>
2021
2022         * modules/argmatch-tests: New file.
2023         * tests/test-argmatch.c: New file.
2024
2025         * tests/test-allocsa.c (main): Halve the number of loop runs.
2026
2027         * modules/alloca-opt-tests: New file.
2028         * tests/test-alloca-opt.c: New file.
2029
2030 2007-03-04  Jim Meyering  <jim@meyering.net>
2031
2032         Work around difference between Linux ACLs and Solaris 10 ZFS.
2033         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
2034         for EINVAL.
2035
2036 2007-03-03  Bruno Haible  <bruno@clisp.org>
2037
2038         * modules/relocatable-prog (Depends-on): Add back progreloc's
2039         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
2040
2041 2007-03-03  Bruno Haible  <bruno@clisp.org>
2042
2043         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
2044         * modules/relocatable-lib: New file.
2045
2046 2007-03-03  Bruno Haible  <bruno@clisp.org>
2047
2048         * modules/relocatable-prog: Renamed from modules/relocatable.
2049         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
2050
2051 2007-03-03  Bruno Haible  <bruno@clisp.org>
2052
2053         * modules/relocatable-script (Files): Add doc/relocatable.texi,
2054         m4/relocatable-lib.m4.
2055         (Depends-on): Remove 'relocatable'.
2056         (configure.ac): Add gl_RELOCATABLE_NOP.
2057
2058 2007-03-03  Bruno Haible  <bruno@clisp.org>
2059
2060         * modules/relocatable-prog-wrapper: New file.
2061         * modules/relocatable (Depends-on): Add it. Remove all other
2062         dependencies except progname.
2063         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
2064
2065         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
2066         (gl_FUNC_STRERROR): Nop.
2067         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
2068
2069         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
2070         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
2071
2072         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
2073         (gl_FUNC_READLINK): Update.
2074
2075         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
2076
2077 2007-03-03  Bruno Haible  <bruno@clisp.org>
2078
2079         * lib/xreadlink.c: Include <unistd.h> unconditionally.
2080         * modules/xreadlink (Depends-on): Add unistd.
2081         * modules/xreadlink-with-size (Depends-on): Likewise.
2082
2083 2007-03-03  Bruno Haible  <bruno@clisp.org>
2084
2085         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
2086         extracted from gt_FUNC_SETENV.
2087         (gt_FUNC_SETENV): Remove macro.
2088         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
2089         remove gt_FUNC_SETENV.
2090
2091 2007-03-03  Bruno Haible  <bruno@clisp.org>
2092
2093         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
2094         ENABLE_RELOCATABLE here.
2095         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
2096
2097 2007-03-03  Bruno Haible  <bruno@clisp.org>
2098
2099         * modules/rbtreehash-list-tests (Depends-on): Add progname.
2100         * tests/test-rbtreehash_list.c: Include progname.h.
2101         (main): Call set_program_name.
2102
2103         * modules/rbtree-oset-tests (Depends-on): Add progname.
2104         * tests/test-rbtree_oset.c: Include progname.h.
2105         (main): Call set_program_name.
2106
2107         * modules/rbtree-list-tests (Depends-on): Add progname.
2108         * tests/test-rbtree_list.c: Include progname.h.
2109         (main): Call set_program_name.
2110
2111         * modules/linked-list-tests (Depends-on): Add progname.
2112         * tests/test-linked_list.c: Include progname.h.
2113         (main): Call set_program_name.
2114
2115 2007-03-03  Bruno Haible  <bruno@clisp.org>
2116
2117         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
2118         All uses of __restrict changed to _Restrict_.
2119         * lib/glob_.h (__restrict): Remove macro.
2120
2121 2007-03-02  Bruno Haible  <bruno@clisp.org>
2122
2123         * modules/gettext (configure.ac): Require gettext infrastructure
2124         from version 0.16.1.
2125
2126 2007-03-02  Bruno Haible  <bruno@clisp.org>
2127
2128         * modules/linkedhash-list-tests (Depends-on): Add progname.
2129         * tests/test-linkedhash_list.c: Include progname.h.
2130         (main): Call set_program_name.
2131
2132         * modules/carray-list-tests (Depends-on): Add progname.
2133         * tests/test-carray_list.c: Include progname.h.
2134         (main): Call set_program_name.
2135
2136         * modules/avltreehash-list-tests (Depends-on): Add progname.
2137         * tests/test-avltreehash_list.c: Include progname.h.
2138         (main): Call set_program_name.
2139
2140         * modules/avltree-oset-tests (Depends-on): Add progname.
2141         * tests/test-avltree_oset.c: Include progname.h.
2142         (main): Call set_program_name.
2143
2144         * modules/avltree-list-tests (Depends-on): Add progname.
2145         * tests/test-avltree_list.c: Include progname.h.
2146         (main): Call set_program_name.
2147
2148         * modules/array-oset-tests (Depends-on): Add progname.
2149         * tests/test-array_oset.c: Include progname.h.
2150         (main): Call set_program_name.
2151
2152         * modules/array-list-tests (Depends-on): Add progname.
2153         * tests/test-array_list.c: Include progname.h.
2154         (main): Call set_program_name.
2155
2156         * modules/argp-tests (Depends-on): Add progname.
2157         * tests/test-argp.c: Include argp.h first. Include progname.h.
2158         (main): Call set_program_name.
2159
2160 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
2161
2162         * doc/gnulib-tool.texi (Initial import): Reword description of
2163         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
2164         limited effect even if defined after the first system include.
2165
2166 2007-03-01  Bruno Haible  <bruno@clisp.org>
2167
2168         * build-aux/config.libpath: Update to libtool-1.5.22.
2169         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2170
2171 2007-03-01  Bruno Haible  <bruno@clisp.org>
2172
2173         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
2174         foo_CFLAGS.
2175         Reported by Ralf Wildenhues.
2176
2177 2007-03-01  Bruno Haible  <bruno@clisp.org>
2178
2179         * build-aux/install-reloc: Remove object files left over by some
2180         compilers.
2181         Reported by Ralf Wildenhues.
2182
2183 2007-03-01  Bruno Haible  <bruno@clisp.org>
2184
2185         * build-aux/install-reloc: Break long lines.
2186
2187 2007-03-01  Bruno Haible  <bruno@clisp.org>
2188
2189         * doc/relocatable.texi: Document that it may not work on OpenBSD.
2190         Reported by Ralf Wildenhues.
2191
2192 2007-03-01  Bruno Haible  <bruno@clisp.org>
2193
2194         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
2195         include ordering constraints.
2196
2197 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
2198
2199         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
2200         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
2201         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
2202         as another example.
2203         * lib/time_.h: Fix misspelling.
2204         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
2205         Require gl_HEADER_TIME_H_DEFAULTS.
2206         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
2207         * m4/time_r.m4 (gl_TIME_R): Likewise.
2208         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
2209
2210 2007-03-01  Bruno Haible  <bruno@clisp.org>
2211
2212         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
2213         * m4/utimens.m4 (gl_UTIMENS): Likewise.
2214
2215 2007-03-01  Jim Meyering  <jim@meyering.net>
2216
2217         * modules/xreadlink (Maintainer): Add my name.
2218         * modules/xreadlink-with-size (Depends-on): Alphabetize.
2219
2220 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
2221             Bruno Haible  <bruno@clisp.org>
2222
2223         * build-aux/install-reloc: Compile also c-ctype.c.
2224         * build-aux/relocatable.sh.in: New file.
2225         * doc/relocatable.texi: New file.
2226         * doc/relocatable-maint.texi: New file.
2227         * doc/gnulib.texi: Include relocatable-maint.texi.
2228         * lib/progreloc.c: Include unistd.h unconditionally.
2229         * lib/relocwrapper.c: Include unistd.h unconditionally.
2230         Include c-ctype.h.
2231         (add_dotbin): Use c_tolower.
2232         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
2233         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
2234         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
2235         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
2236         to m4/relocatable-lib.m4.
2237         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
2238         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
2239         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
2240         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
2241         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
2242         * modules/relocatable: New file.
2243         * modules/relocatable-lib: New file.
2244         * modules/relocatable-script: New file.
2245
2246 2007-02-28  Bruno Haible  <bruno@clisp.org>
2247
2248         Import --enable-relocatable infrastructure.
2249         * build-aux/config.libpath: New file, from GNU gettext.
2250         * build-aux/install-reloc: New file, from GNU gettext.
2251         * build-aux/reloc-ldflags: New file, from GNU gettext.
2252         * lib/relocatable.h: New file, from GNU gettext.
2253         * lib/relocatable.c: New file, from GNU gettext.
2254         * lib/relocwrapper.c: New file, from GNU gettext.
2255         * m4/relocatable.m4: New file, from GNU gettext.
2256
2257 2007-02-28  Bruno Haible  <bruno@clisp.org>
2258
2259         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
2260
2261         * modules/xreadlink: New file, from GNU gettext with modifications.
2262         * lib/xreadlink.c: New file, from GNU gettext.
2263         * lib/xreadlink.h: Add comments.
2264         (xreadlink): New declaration.
2265
2266         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
2267         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
2268         lib/xreadlink-with-size.c.
2269         (configure.ac): Remove gl_XREADLINK invocation.
2270         (Makefile.am): Augment lib_SOURCES.
2271         * m4/xreadlink.m4: Remove file.
2272         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
2273         (xreadlink_with_size): Renamed from xreadink.
2274         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
2275         * modules/canonicalize (Depends-on): Replace xreadlink with
2276         xreadlink-with-size.
2277         * lib/canonicalize.c (canonicalize_filename_mode): Update.
2278
2279 2007-02-25  Jim Meyering  <jim@meyering.net>
2280
2281         * build-aux/announce-gen: When complaining about excess arguments,
2282         list them.
2283
2284 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
2285
2286         * README: Document signed integer overflow situation more
2287         accurately.
2288
2289 2007-02-25  Bruno Haible  <bruno@clisp.org>
2290
2291         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
2292         'a' or 'A' conversion.
2293
2294 2007-02-25  Bruno Haible  <bruno@clisp.org>
2295
2296         * modules/filename: Renamed from modules/pathname.
2297         (Files): Replace lib/pathname.h with lib/filename.h. Replace
2298         lib/concatpath.c with lib/concat-filename.c.
2299         (Makefile.am): Update.
2300         (Include): Replace pathname.h with filename.h.
2301         * lib/filename.h: Renamed from lib/pathname.h.
2302         (concatenated_filename): Renamed from concatenated_pathname.
2303         * lib/concat-filename.c: Renamed from lib/concatpath.c.
2304         (concatenated_filename): Renamed from concatenated_pathname.
2305         * lib/findprog.c: Include filename.h instead of pathname.h.
2306         (find_in_path): Update.
2307         * lib/javacomp.c: Include filename.h instead of pathname.h.
2308         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
2309         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
2310         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
2311         is_oldgcj_14_13_usable, is_javac_usable): Update.
2312         * lib/javaexec.c: Include filename.h instead of pathname.h.
2313         (execute_java_class): Update.
2314         * modules/findprog: Update.
2315         * modules/javacomp: Update.
2316         * modules/javaexec: Update.
2317         * MODULES.html.sh (File system functions): Add 'filename', remove
2318         'pathname'.
2319
2320 2007-02-25  Bruno Haible  <bruno@clisp.org>
2321
2322         * modules/printf-frexpl-tests: New file.
2323         * tests/test-printf-frexpl.c: New file.
2324
2325         * modules/printf-frexpl: New file.
2326         * lib/printf-frexpl.h: New file.
2327         * lib/printf-frexpl.c: New file.
2328         * m4/printf-frexpl.m4: New file.
2329
2330 2007-02-25  Bruno Haible  <bruno@clisp.org>
2331
2332         * modules/printf-frexp-tests: New file.
2333         * tests/test-printf-frexp.c: New file.
2334
2335         * modules/printf-frexp: New file.
2336         * lib/printf-frexp.h: New file.
2337         * lib/printf-frexp.c: New file.
2338         * m4/printf-frexp.m4: New file.
2339
2340 2007-02-25  Bruno Haible  <bruno@clisp.org>
2341
2342         Assume automake >= 1.10 for the tests.
2343         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
2344         * modules/arctwo-tests: Likewise.
2345         * modules/argp-tests: Likewise.
2346         * modules/avltree-list-tests: Likewise.
2347         * modules/avltree-oset-tests: Likewise.
2348         * modules/avltreehash-list-tests: Likewise.
2349         * modules/carray-list-tests: Likewise.
2350         * modules/crc-tests: Likewise.
2351         * modules/des-tests: Likewise.
2352         * modules/gc-arcfour-tests: Likewise.
2353         * modules/gc-arctwo-tests: Likewise.
2354         * modules/gc-des-tests: Likewise.
2355         * modules/gc-hmac-md5-tests: Likewise.
2356         * modules/gc-hmac-sha1-tests: Likewise.
2357         * modules/gc-md2-tests: Likewise.
2358         * modules/gc-md4-tests: Likewise.
2359         * modules/gc-md5-tests: Likewise.
2360         * modules/gc-pbkdf2-sha1-tests: Likewise.
2361         * modules/gc-rijndael-tests: Likewise.
2362         * modules/gc-sha1-tests: Likewise.
2363         * modules/gc-tests: Likewise.
2364         * modules/getaddrinfo-tests: Likewise.
2365         * modules/hmac-md5-tests: Likewise.
2366         * modules/hmac-sha1-tests: Likewise.
2367         * modules/linked-list-tests: Likewise.
2368         * modules/linkedhash-list-tests: Likewise.
2369         * modules/lock-tests: Likewise.
2370         * modules/md2-tests: Likewise.
2371         * modules/md4-tests: Likewise.
2372         * modules/md5-tests: Likewise.
2373         * modules/rbtree-list-tests: Likewise.
2374         * modules/rbtree-oset-tests: Likewise.
2375         * modules/rbtreehash-list-tests: Likewise.
2376         * modules/read-file-tests: Likewise.
2377         * modules/rijndael-tests: Likewise.
2378         * modules/stdint-tests: Likewise.
2379         * modules/tls-tests: Likewise.
2380
2381 2007-02-24  Bruno Haible  <bruno@clisp.org>
2382
2383         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
2384         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
2385         function; instead check whether isnan with a double argument links.
2386         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
2387         function; instead check whether isnan with a 'long double' argument
2388         links.
2389         Reported by Eric Blake <ebb9@byu.net>.
2390
2391 2007-02-24  Bruno Haible  <bruno@clisp.org>
2392
2393         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
2394         defined.
2395         * lib/isnanl.c: Remove all code. Just include isnan.c.
2396         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
2397
2398 2007-02-25  Jim Meyering  <jim@meyering.net>
2399
2400         Avoid conflicting types for 'unsetenv' on FreeBSD.
2401         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
2402         conflicting with FreeBSD's (5.0 and 6.1) function declaration
2403         in stdlib.h.
2404
2405 2007-02-24  Bruno Haible  <bruno@clisp.org>
2406
2407         * modules/isnanl-nolibm-tests: New file.
2408         * tests/test-isnanl.c: New file.
2409
2410         * modules/isnanl-nolibm: New file.
2411         * lib/isnanl.h: New file.
2412         * lib/isnanl.c: New file.
2413         * m4/isnanl.m4: New file.
2414
2415 2007-02-24  Bruno Haible  <bruno@clisp.org>
2416
2417         * modules/isnan-nolibm-tests: New file.
2418         * tests/test-isnan.c: New file.
2419
2420         * modules/isnan-nolibm: New file.
2421         * lib/isnan.h: New file.
2422         * lib/isnan.c: New file.
2423         * m4/isnan.m4: New file.
2424
2425 2007-02-24  Bruno Haible  <bruno@clisp.org>
2426
2427         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
2428         assume that an exponent fits in 20 bits.
2429
2430 2007-02-24  Jim Meyering  <jim@meyering.net>
2431
2432         * m4/regex.m4: Update the description of the configure-time option,
2433         --without-included-regex, to state accurately what the defaults are,
2434         and perhaps to give people an idea why using this option is risky.
2435
2436 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2437
2438         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
2439         loops on small arguments.  This attempts to avoid the problem
2440         Bruno Haible reported for AIX 4.3.2 in
2441         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
2442
2443 2007-02-23  Bruno Haible  <bruno@clisp.org>
2444
2445         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
2446         Needed for help2man.
2447
2448 2007-02-23  Karl Berry  <karl@gnu.org>
2449
2450         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
2451         exists, foo.h should be cvs-ignored, not committed.
2452
2453 2007-02-23  Eric Blake  <ebb9@byu.net>
2454
2455         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
2456         * lib/stat-time.h (includes): Likewise.
2457         * lib/utimecmp.c (includes): Likewise.
2458         * lib/utimens.h (includes): Likewise.
2459         * lib/getdate.y (includes): Also include "timespec.h" for use
2460         internal to the module.
2461         * modules/utimens (Depends-on): Revert yesterday's patch.
2462         * modules/nanosleep (Depends-on): Add missing dependency.
2463
2464 2007-02-22  Bruno Haible  <bruno@clisp.org>
2465
2466         * lib/glob.c: Don't include getlogin_r.h.
2467
2468 2007-02-22  Jim Meyering  <jim@meyering.net>
2469
2470         * modules/utimens (Depends-on): Add timespec, required for
2471         utimens.h's inclusion of timespec.h.
2472
2473 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
2474
2475         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
2476         long unreadable paths in GNU/Linux.  Problem reported by Andreas
2477         Schwab in
2478         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
2479         I'll try to think of a better way to fix the Solaris problem.
2480
2481         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
2482         like glibc; on Solaris 10, it fails with errno == EINVAL.
2483         POSIX says the behavior is unspecified if the first argument is NULL,
2484         so play it safe and never pass NULL to the system getcwd.
2485
2486 2007-02-21  Jim Meyering  <jim@meyering.net>
2487
2488         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
2489         of gettimeofday.  It would conflict with the one now always
2490         provided via sys_time_.h.  Reported by Matthew Woehlke, as
2491         an IRIX 6.5 build failure.
2492
2493 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2494
2495         Minor fixups to port to Solaris 10 with Sun C 5.8.
2496         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
2497         * modules/getcwd (Depends-on): Add dirfd.
2498         * lib/putenv.c (putenv): #undef it.
2499         (rpl_putenv): New decl.
2500         (malloc, free): Include <stdlib.h> rather than prototyping separately.
2501
2502 2007-02-20  Bruno Haible  <bruno@clisp.org>
2503
2504         * modules/stdio-tests: New file.
2505         * tests/test-stdio.c: New file.
2506
2507         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
2508         (Depends-on): Add stdio.
2509         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
2510         (Include): Use <stdio.h> instead of vsnprintf.h.
2511         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
2512         HAVE_DECL_VSNPRINTF.
2513         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
2514
2515         * modules/snprintf (Files): Remove lib/snprintf.h.
2516         (Depends-on): Add stdio.
2517         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
2518         (Include): Use <stdio.h> instead of snprintf.h.
2519         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
2520         HAVE_DECL_SNPRINTF.
2521         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
2522         * lib/getaddrinfo.c: Likewise.
2523
2524         * modules/stdio: New file.
2525         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
2526         * lib/snprintf.h: Remove file.
2527         * lib/vsnprintf.h: Remove file.
2528         * lib/.cppi-disable: Remove snprintf.h.
2529         * m4/stdio_h.m4: New file.
2530         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
2531
2532 2007-02-20  Jim Meyering  <jim@meyering.net>
2533
2534         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
2535         used by e.g., mingw.  From Bruno Haible.
2536
2537 2007-02-19  Bruno Haible  <bruno@clisp.org>
2538
2539         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
2540         warnings.
2541         Reported by Ben Pfaff <blp@cs.stanford.edu>.
2542
2543 2007-02-19  Bruno Haible  <bruno@clisp.org>
2544
2545         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
2546         from mingw users.
2547
2548 2007-02-19  Bruno Haible  <bruno@clisp.org>
2549
2550         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
2551         warnings.
2552         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
2553
2554 2007-02-19  Jim Meyering  <jim@meyering.net>
2555
2556         Don't use FD after a successful "fdopendir (fd)".
2557         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
2558         Reset it by calling dirfd on the just-obtained DIR*.
2559
2560         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
2561         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
2562
2563 2007-02-18  Bruno Haible  <bruno@clisp.org>
2564
2565         * lib/readlink.c: Include <unistd.h>.
2566         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
2567         HAVE_READLINK.
2568         * modules/readlink (Depends-on): Add unistd.
2569         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2570         (Include): Add <unistd.h>.
2571
2572         * lib/getlogin_r.h: Remove file.
2573         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
2574         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
2575         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
2576         HAVE_DECL_GETLOGIN_R.
2577         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
2578         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2579         (Include): Use <unistd.h> instead of getlogin_r.h.
2580
2581         * lib/getcwd.h: Remove file.
2582         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
2583         * lib/xgetcwd.c: Likewise.
2584         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
2585         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
2586         * modules/getcwd (Files): Remove lib/getcwd.h.
2587         (Depends-on): Add unistd.
2588         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2589         (Include): Use <unistd.h> instad of getcwd.h.
2590
2591         * lib/ftruncate.c: Include <unistd.h> first.
2592         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
2593         Set HAVE_FTRUNCATE.
2594         * modules/ftruncate (Depends-on): Add unistd.
2595         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2596
2597         * lib/fchdir.c: Include <unistd.h> first.
2598         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
2599         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
2600         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
2601         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2602         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
2603
2604         * lib/dup2.c: Include <unistd.h> first.
2605         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
2606         HAVE_DUP2.
2607         * modules/dup2 (Depends-on): Add unistd.
2608         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2609
2610         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
2611         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
2612         REPLACE_CHOWN. Don't define chown as a macro here.
2613         * modules/chown (Depends-on): Add unistd.
2614         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2615
2616         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
2617         Add definition for GL_LINK_WARNING.
2618         (chown, dup2): New declarations.
2619         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
2620         link warning.
2621         (ftruncate): New declaration.
2622         (getcwd): New declaration, taken from old getcwd.h.
2623         (getlogin_r): New declaration, taken from old getlogin_r.h.
2624         (readlink): New declaration.
2625         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
2626         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
2627         (gl_PREREQ_UNISTD): Remove macro.
2628         (gl_UNISTD_MODULE_INDICATOR): New macro.
2629         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
2630         many new variables. Don't set UNISTD_H.
2631         * modules/unistd (Description): Change.
2632         (Depends-on): Add link-warning.
2633         (configure.ac): Update.
2634         (Makefile.am): Create unistd.h always. Substitute many new variables
2635         into it.
2636
2637 2007-02-18  Bruno Haible  <bruno@clisp.org>
2638
2639         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
2640         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
2641         HAVE_GETSUBOPT.
2642         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
2643         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
2644         * lib/getsubopt.h: Remove file.
2645         * modules/getsubopt (Files): Remove lib/getsubopt.h.
2646         (Depends-on): Add stdlib.
2647         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
2648         (Includes): Use <stdlib.h> instead of getsubopt.h.
2649         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
2650         Set HAVE_GETSUBOPT.
2651         * lib/getsubopt.c: Don't include getsubopt.h.
2652
2653 2007-02-18  Bruno Haible  <bruno@clisp.org>
2654
2655         * modules/fchdir (Depends-on): Add dup2.
2656
2657 2007-02-18  Bruno Haible  <bruno@clisp.org>
2658
2659         * lib/stdlib_.h: Handle glibc's special invocation convention
2660         specially.
2661
2662 2007-02-18  Bruno Haible  <bruno@clisp.org>
2663
2664         * modules/stdlib-tests: New file.
2665         * tests/test-stdlib.c: New file.
2666
2667         * modules/mkstemp (Files): Remove lib/mkstemp.h.
2668         (Depends-on): Add stdlib.
2669         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
2670         (Includes): Use <stdlib.h> instead of mkstemp.h.
2671         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
2672         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
2673         * lib/mkstemp.c: Don't include mkstemp.h.
2674         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
2675         * lib/stdlib--.h: Don't include mkstemp.h.
2676
2677         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
2678         (Depends-on): Add stdlib.
2679         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
2680         (Includes): Use <stdlib.h> instead of mkdtemp.h.
2681         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
2682         HAVE_MKDTEMP.
2683         * lib/mkdtemp.c: Don't include mkdtemp.h.
2684         * lib/clean-temp.c: Don't include mkdtemp.h.
2685
2686         * modules/exit (Files): Remove lib/exit.h.
2687         (Depends-on): Add stdlib.
2688         (Makefile.am): Remove lib_SOURCES.
2689         (Include): Use <stdlib.h> instead of exit.h.
2690         * lib/argmatch.c: Don't include exit.h.
2691         * lib/execute.c: Likewise.
2692         * lib/pagealign_alloc.c: Likewise.
2693         * lib/pipe.c: Likewise.
2694         * lib/wait-process.c: Likewise.
2695         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
2696         * lib/exitfail.c: Likewise.
2697         * lib/savewd.c: Likewise.
2698         * lib/xsetenv.c: Likewise.
2699
2700         * modules/stdlib: New file.
2701         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
2702         and extra comments about mkstemp().
2703         * lib/exit.h: Remove file.
2704         * lib/mkdtemp.h: Remove file.
2705         * lib/mkstemp.h: Remove file.
2706         * m4/stdlib_h.m4: New file.
2707         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
2708
2709 2007-02-18  Bruno Haible  <bruno@clisp.org>
2710
2711         * modules/math-tests: New file.
2712         * tests/test-math.c: New file.
2713
2714         * modules/math: New file.
2715         * modules/mathl (Files): Remove lib/mathl.h.
2716         (Depends-on): Add math.
2717         (Makefile.am): Don't mention mathl.h.
2718         (Include): Use <math.h> instead of mathl.h.
2719         * lib/math_.h: New file.
2720         * lib/mathl.h: Remove file.
2721         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
2722         mathl.h.
2723         * lib/asinl.c: Likewise.
2724         * lib/atanl.c: Likewise.
2725         * lib/ceill.c: Likewise.
2726         * lib/cosl.c: Likewise.
2727         * lib/expl.c: Likewise.
2728         * lib/floorl.c: Likewise.
2729         * lib/frexpl.c: Likewise.
2730         * lib/ldexpl.c: Likewise.
2731         * lib/logl.c: Likewise.
2732         * lib/sincosl.c: Likewise.
2733         * lib/sinl.c: Likewise.
2734         * lib/sqrtl.c: Likewise.
2735         * lib/tanl.c: Likewise.
2736         * lib/trigl.c: Likewise.
2737         * m4/math_h.m4: New file.
2738         * MODULES.html.sh (Mathematics): Add math.
2739
2740 2007-02-17  Bruno Haible  <bruno@clisp.org>
2741
2742         * modules/wctype-tests: New file.
2743         * tests/test-wctype.c: New file.
2744
2745         * modules/wchar-tests: New file.
2746         * tests/test-wchar.c: New file.
2747
2748         * modules/unistd-tests: New file.
2749         * tests/test-unistd.c: New file.
2750
2751         * modules/time-tests: New file.
2752         * tests/test-time.c: New file.
2753
2754         * modules/sysexits-tests: New file.
2755         * tests/test-sysexits.c: New file.
2756
2757         * modules/sys_time-tests: New file.
2758         * tests/test-sys_time.c: New file.
2759
2760         * modules/sys_stat-tests: New file.
2761         * tests/test-sys_stat.c: New file.
2762
2763         * modules/sys_socket-tests: New file.
2764         * tests/test-sys_socket.c: New file.
2765
2766         * modules/sys_select-tests: New file.
2767         * tests/test-sys_select.c: New file.
2768
2769         * modules/string-tests: New file.
2770         * tests/test-string.c: New file.
2771
2772         * modules/stdbool-tests: New file.
2773         * tests/test-stdbool.c: New file.
2774
2775         * modules/netinet_in-tests: New file.
2776         * tests/test-netinet_in.c: New file.
2777
2778         * modules/inttypes-tests: New file.
2779         * tests/test-inttypes.c: New file.
2780
2781         * modules/fcntl-tests: New file.
2782         * tests/test-fcntl.c: New file.
2783
2784         * modules/byteswap-tests: New file.
2785         * tests/test-byteswap.c: New file.
2786
2787         * modules/arpa_inet-tests: New file.
2788         * tests/test-arpa_inet.c: New file.
2789
2790 2007-02-17  Bruno Haible  <bruno@clisp.org>
2791
2792         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
2793         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
2794         if the corresponding module is not enabled. Emit link warnings if
2795         the function is used nevertheless.
2796         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
2797         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
2798         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
2799         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
2800         * modules/inttypes (Depends-on): Add link-warning.
2801         (Makefile.am): Copy the contents of build-aux/link-warning.h into
2802         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
2803         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
2804         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
2805         * modules/imaxdiv (configure.ac): Likewise.
2806         * modules/strtoimax (configure.ac): Likewise.
2807         * modules/strtoumax (configure.ac): Likewise.
2808
2809 2007-02-17  Bruno Haible  <bruno@clisp.org>
2810
2811         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
2812         gl_STRING_MODULE_INDICATOR_DEFAULTS.
2813         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
2814         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
2815
2816 2007-02-17  Bruno Haible  <bruno@clisp.org>
2817
2818         * modules/link-warning: New file.
2819         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
2820         * lib/string_.h (GL_LINK_WARNING): Remove definition.
2821         * modules/string (Depends-on): Add link-warning.
2822         (Makefile.am): Copy the contents of build-aux/link-warning.h into
2823         string.h.
2824         * MODULES.html.sh (Support for building libraries and executables): Add
2825         link-warning.
2826
2827 2007-02-17  Bruno Haible  <bruno@clisp.org>
2828
2829         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
2830         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
2831         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
2832         long lines.
2833
2834 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
2835             Bruno Haible  <bruno@clisp.org>
2836
2837         * modules/tmpfile: New file.
2838         * lib/tmpfile.c: New file.
2839         * m4/tmpfile.m4: New file.
2840         * MODULES.html.sh (func_all_modules): New section "Input/output".
2841
2842 2007-02-15  Bruno Haible  <bruno@clisp.org>
2843
2844         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
2845         (supports_delete_on_close): New function.
2846         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
2847
2848 2007-02-14  Bruno Haible  <bruno@clisp.org>
2849
2850         * modules/mbspcasecmp-tests: New file.
2851         * tests/test-mbspcasecmp.sh: New file.
2852         * tests/test-mbspcasecmp.c: New file.
2853
2854         New module mbspcasecmp.
2855         * modules/mbspcasecmp: New file.
2856         * lib/mbspcasecmp.c: New file.
2857         * lib/string_.h (strncasecmp): Change warning message.
2858         (mbspcasecmp): New declaration.
2859         * m4/mbspcasecmp.m4: New file.
2860         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
2861         GNULIB_MBSPCASECMP.
2862         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
2863         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
2864
2865 2007-02-14  Bruno Haible  <bruno@clisp.org>
2866
2867         * modules/mbsncasecmp-tests: New file.
2868         * tests/test-mbsncasecmp.sh: New file.
2869         * tests/test-mbsncasecmp.c: New file.
2870
2871         New module mbsncasecmp.
2872         * modules/mbsncasecmp: New file.
2873         * lib/mbsncasecmp.c: New file.
2874         * lib/string_.h (mbsncasecmp): New declaration.
2875         * m4/mbsncasecmp.m4: New file.
2876         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
2877         GNULIB_MBSNCASECMP.
2878         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
2879         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
2880
2881 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
2882
2883         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
2884         Verify that it doesn't overlap with our flags.
2885         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
2886         do not have the desired effect in multibyte locales; instead, use
2887         mbscasecmp.
2888         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
2889         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
2890         we don't require GNU fnmatch ourselves (if our users require it, they
2891         should do so explicitly).
2892
2893         Fix regex code so it doesn't rely on strcasecmp.
2894         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
2895         Otherwise, include gnulib's langinfo.h.
2896         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
2897         undesirable behavior in non-C locales.  Instead, rely on localecharset.
2898         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
2899         * modules/regex (FILES): Remove m4/codeset.m4.
2900         (Depends-on): Add localcharset.  Remove strcase.
2901
2902 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2903
2904         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
2905         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
2906
2907 2007-02-13  Bruno Haible  <bruno@clisp.org>
2908
2909         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
2910         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2911
2912 2007-02-12  Bruno Haible  <bruno@clisp.org>
2913
2914         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
2915         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
2916         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
2917         time warning rather than a link error.
2918
2919 2007-02-12  Bruno Haible  <bruno@clisp.org>
2920
2921         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
2922         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2923         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2924
2925 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2926
2927         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
2928         args, not 2.
2929
2930 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2931
2932         New module 'time', so that apps can include <time.h> as per
2933         POSIX and GNU instead of separate include files like time_r.h
2934         and timegm.h.  This implementation tries out a simpler approach
2935         for replacing decls in standard include files (as compared to
2936         the string module), somewhat as an experiment.
2937
2938         * config/srclist.txt: Comment out mktime.c for now.
2939         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
2940         since it doesn't apply any more.  Use generic wording instead.
2941         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
2942         'time'.
2943         * lib/time_.h, m4/time_h.m4, modules/time: New files.
2944         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
2945         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
2946         Don't include <sys/types.h>; no longer needed since we assume C89.
2947         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
2948         * lib/strftime.c: Likewise.
2949         * lib/time_r.c: Likewise.
2950         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
2951         * lib/nanosleep.c: Include <time.h> first, to check interface.
2952         * lib/strptime.c: Likewise.
2953         * lib/time_r.c: Likewise.
2954         * lib/timegm.c: Likewise.
2955         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
2956         needed.
2957         * lib/timegm.c: Don't include timegm.h; no longer needed.
2958         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
2959         time.h now handles any problems in that area.
2960         (struct timespec, nanosleep): Remove; time.h now arranges for these.
2961         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
2962         that time.h defines struct timespec.
2963         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
2964         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
2965         handles that.
2966         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
2967         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
2968         needed.  Set REPLACE_LOCALTIME.
2969         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
2970         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
2971         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
2972         nanosleep; time_h.m4 now does that.  Don't require
2973         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
2974         module handles this now.
2975         * modules/getdate (Depends-on): Remove timespec.  Add time.
2976         * modules/nanosleep (Depends-on): Likewise.
2977         * modules/stat-time (Depends-on): Likewise.
2978         * modules/nanosleep (Include): Include time.h, not timespec.h.
2979         * modules/strptime (Files): Remove lib/strptime.h.
2980         (Depends-on): Add extensions, time.
2981         (Include): Include time.h, not strptime.h.
2982         * modules/time_r (Files): Remove lib/time_r.h.
2983         (Depends-on): Add time.
2984         (Include): Include time.h, not time_r.h.
2985         * modules/timegm: Likewise.
2986         * modules/timespec (Description): Now does timespec-related decls
2987         of our own, instead of struct timespec itself.
2988         (Depends-on): Add time; remove extensions.
2989         (Maintainer): Add self.
2990         * modules/utimecmp (Depends-on): Add time; remove timespec.
2991         * modules/utimens (Depends-on): Likewise.
2992         * modules/xnanosleep (Depends-on): Likewise.
2993
2994 2007-02-11  Bruno Haible  <bruno@clisp.org>
2995
2996         * lib/c-strstr.c: Include allocsa.h.
2997         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
2998         * lib/c-strcasestr.c: Include allocsa.h.
2999         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
3000         * lib/strcasestr.c: Include allocsa.h.
3001         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
3002         * lib/mbsstr.c: Include allocsa.h.
3003         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
3004         allocsa/freesa instead of malloc/free.
3005         * lib/mbscasestr.c: Include allocsa.h.
3006         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
3007         allocsa/freesa instead of malloc/free.
3008         * modules/c-strstr (Depends-on): Add allocsa.
3009         * modules/c-strcasestr (Depends-on): Likewise.
3010         * modules/strcasestr (Depends-on): Likewise.
3011         * modules/mbsstr (Depends-on): Likewise.
3012         * modules/mbscasestr (Depends-on): Likewise.
3013
3014 2007-02-11  Bruno Haible  <bruno@clisp.org>
3015
3016         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
3017
3018         * modules/mbsspn-tests: New file.
3019         * tests/test-mbsspn.sh: New file.
3020         * tests/test-mbsspn.c: New file.
3021
3022 2007-02-11  Bruno Haible  <bruno@clisp.org>
3023
3024         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
3025
3026         * modules/mbspbrk-tests: New file.
3027         * tests/test-mbspbrk.sh: New file.
3028         * tests/test-mbspbrk.c: New file.
3029
3030 2007-02-11  Bruno Haible  <bruno@clisp.org>
3031
3032         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
3033         unneeded cast.
3034
3035         * modules/mbscspn-tests: New file.
3036         * tests/test-mbscspn.sh: New file.
3037         * tests/test-mbscspn.c: New file.
3038
3039 2007-02-11  Bruno Haible  <bruno@clisp.org>
3040
3041         * modules/mbscasecmp-tests: New file.
3042         * tests/test-mbscasecmp.sh: New file.
3043         * tests/test-mbscasecmp.c: New file.
3044
3045 2007-02-11  Bruno Haible  <bruno@clisp.org>
3046
3047         Ensure O(n) worst-case complexity of mbscasestr.
3048         * lib/mbscasestr.c: Include stdbool.h.
3049         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
3050         functions.
3051         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
3052         the bookkeeping indicates that it's worth it.
3053         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
3054
3055         * modules/mbscasestr-tests: New file.
3056         * tests/test-mbscasestr1.c: New file.
3057         * tests/test-mbscasestr2.sh: New file.
3058         * tests/test-mbscasestr2.c: New file.
3059         * tests/test-mbscasestr3.sh: New file.
3060         * tests/test-mbscasestr3.c: New file.
3061         * tests/test-mbscasestr4.sh: New file.
3062         * tests/test-mbscasestr4.c: New file.
3063         * m4/locale-tr.m4: New file.
3064
3065 2007-02-11  Bruno Haible  <bruno@clisp.org>
3066
3067         Ensure O(n) worst-case complexity of mbsstr.
3068         * lib/mbsstr.c: Include stdbool.h.
3069         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
3070         functions.
3071         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
3072         bookkeeping indicates that it's worth it.
3073         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
3074
3075         * modules/mbsstr-tests: New file.
3076         * tests/test-mbsstr1.c: New file.
3077         * tests/test-mbsstr2.sh: New file.
3078         * tests/test-mbsstr2.c: New file.
3079         * tests/test-mbsstr3.sh: New file.
3080         * tests/test-mbsstr3.c: New file.
3081         * m4/locale-fr.m4: New file.
3082
3083 2007-02-11  Bruno Haible  <bruno@clisp.org>
3084
3085         * lib/mbsrchr.c (mbsrchr): Fix bug.
3086
3087         * modules/mbsrchr-tests: New file.
3088         * tests/test-mbsrchr.sh: New file.
3089         * tests/test-mbsrchr.c: New file.
3090
3091 2007-02-11  Bruno Haible  <bruno@clisp.org>
3092
3093         * lib/mbschr.c (mbschr): Fix bug.
3094
3095         * modules/mbschr-tests: New file.
3096         * tests/test-mbschr.sh: New file.
3097         * tests/test-mbschr.c: New file.
3098         * m4/locale-zh.m4: New file.
3099
3100 2007-02-11  Bruno Haible  <bruno@clisp.org>
3101
3102         Support for copying multibyte string iterators.
3103         * lib/mbiter.h: Include <string.h>.
3104         (mbiter_multi_copy): New function.
3105         (mbi_copy): New macro.
3106         * lib/mbuiter.h: Include <string.h>.
3107         (mbuiter_multi_copy): New function.
3108         (mbui_copy): New macro.
3109
3110 2007-02-11  Bruno Haible  <bruno@clisp.org>
3111
3112         New module mbslen.
3113         * modules/mbslen: New file.
3114         * lib/mbslen.c: New file.
3115         * lib/string_.h (mbslen): New declaration.
3116         * m4/mbslen.m4: New file.
3117         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3118         GNULIB_MBSLEN.
3119         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
3120         * MODULES.html.sh (Internationalization functions): Add mbslen.
3121
3122 2007-02-11  Bruno Haible  <bruno@clisp.org>
3123
3124         Ensure O(n) worst-case complexity of strcasestr substitute.
3125         * lib/strcasestr.c: Include stdbool.h.
3126         (knuth_morris_pratt): New function.
3127         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
3128         bookkeeping indicates that it's worth it.
3129         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
3130
3131         * modules/strcasestr-tests: New file.
3132         * tests/test-strcasestr.c: New file.
3133
3134 2007-02-11  Bruno Haible  <bruno@clisp.org>
3135
3136         Ensure O(n) worst-case complexity of c_strcasestr.
3137         * lib/c-strcasestr.c: Include stdbool.h, string.h.
3138         (knuth_morris_pratt): New function.
3139         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
3140         the bookkeeping indicates that it's worth it.
3141         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
3142
3143         * modules/c-strcasestr-tests: New file.
3144         * tests/test-c-strcasestr.c: New file.
3145
3146 2007-02-11  Bruno Haible  <bruno@clisp.org>
3147
3148         Ensure O(n) worst-case complexity of c_strstr.
3149         * lib/c-strstr.c: Include stdbool.h, string.h.
3150         (knuth_morris_pratt): New function.
3151         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
3152         bookkeeping indicates that it's worth it.
3153         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
3154
3155         * lib/c-strstr.c: Complete rewrite for maintainability.
3156
3157         * modules/c-strstr-tests: New file.
3158         * tests/test-c-strstr.c: New file.
3159
3160 2007-02-11  Bruno Haible  <bruno@clisp.org>
3161
3162         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
3163         5.2.1 and earlier, whereby \055 was treated just like the range
3164         delimiter '-'.
3165         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
3166
3167 2007-02-08  Bruno Haible  <bruno@clisp.org>
3168
3169         * modules/regex (Depends-on): Add stdbool.
3170         Reported by Dalibor Topic <robilad@kaffe.org>.
3171
3172 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
3173
3174         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
3175         Prefer returning from main to exiting from it.
3176         Remove unnecessary parens after sizeof.
3177
3178 2007-02-05  Bruno Haible  <bruno@clisp.org>
3179
3180         New module mbssep.
3181         * modules/mbssep: New file.
3182         * lib/mbssep.c: New file.
3183         * lib/string_.h (strsep): Add a conditional link warning.
3184         (mbssep): New declaration.
3185         * m4/mbssep.m4: New file.
3186         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3187         GNULIB_MBSSEP.
3188         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
3189         * MODULES.html.sh (Internationalization functions): Add mbssep.
3190
3191 2007-02-05  Bruno Haible  <bruno@clisp.org>
3192
3193         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
3194         Optimize search in case of 1 delimiter.
3195
3196 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
3197
3198         * lib/acl.h: Include sys/types.h before sys/acl.h.
3199
3200 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
3201
3202         Merge upstream fix for glibc bugzilla #3957:
3203
3204         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
3205
3206         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
3207         bit for RE_HAT_LISTS_NOT_NEWLINE.
3208         (build_charclass_op): Remove bogus comment.
3209
3210 2007-02-05  Simon Josefsson  <simon@josefsson.org>
3211
3212         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
3213
3214 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
3215
3216         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
3217         * lib/memmem.c [!defined _LIBC]: Include config.h.
3218
3219 2007-02-04  Bruno Haible  <bruno@clisp.org>
3220
3221         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
3222         warning message.
3223
3224 2007-02-04  Bruno Haible  <bruno@clisp.org>
3225
3226         New module mbstok_r.
3227         * modules/mbstok_r: New file.
3228         * lib/mbstok_r.c: New file.
3229         * lib/string_.h (strtok_r): Change argument names to match the
3230         comments. Add a conditional link warning.
3231         (mbstok_r): New declaration.
3232         * m4/mbstok_r.m4: New file.
3233         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3234         GNULIB_MBSTOK_R.
3235         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
3236         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
3237
3238 2007-02-04  Bruno Haible  <bruno@clisp.org>
3239
3240         New module mbsspn.
3241         * modules/mbsspn: New file.
3242         * lib/mbsspn.c: New file.
3243         * lib/string_.h (strspn): Add a conditional link warning.
3244         (mbsspn): New declaration.
3245         * m4/mbsspn.m4: New file.
3246         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3247         GNULIB_MBSSPN.
3248         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
3249         * MODULES.html.sh (Internationalization functions): Add mbsspn.
3250
3251 2007-02-04  Bruno Haible  <bruno@clisp.org>
3252
3253         New module mbspbrk.
3254         * modules/mbspbrk: New file.
3255         * lib/mbspbrk.c: New file.
3256         * lib/string_.h (strpbrk): Add a conditional link warning.
3257         (mbspbrk): New declaration.
3258         * m4/mbspbrk.m4: New file.
3259         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3260         GNULIB_MBSPBRK.
3261         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
3262         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
3263
3264 2007-02-04  Bruno Haible  <bruno@clisp.org>
3265
3266         New module mbscspn.
3267         * modules/mbscspn: New file.
3268         * lib/mbscspn.c: New file.
3269         * lib/string_.h (strcspn): Add a conditional link warning.
3270         (mbscspn): New declaration.
3271         * m4/mbscspn.m4: New file.
3272         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3273         GNULIB_MBSCSPN.
3274         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
3275         * MODULES.html.sh (Internationalization functions): Add mbscspn.
3276
3277 2007-02-04  Bruno Haible  <bruno@clisp.org>
3278
3279         New module mbscasestr, reduced goal of strcasestr.
3280         * modules/mbscasestr: New file.
3281         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
3282         (mbscasestr): Renamed from strcasestr.
3283         * lib/strcasestr.c: Don't include mbuiter.h.
3284         (strcasestr): Remove support for multibyte locales.
3285         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
3286         Change the conditional link warning.
3287         (mbscasestr): New declaration.
3288         * m4/mbscasestr.m4: New file.
3289         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
3290         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
3291         REPLACE_STRCASESTR.
3292         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
3293         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3294         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
3295         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
3296         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
3297         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
3298         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
3299         (Depends-on): Remove mbuiter.
3300         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
3301
3302 2007-02-04  Bruno Haible  <bruno@clisp.org>
3303
3304         Simplify handling of strncasecmp.
3305         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
3306         the conditional link warning.
3307         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3308         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
3309         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
3310         * modules/strcase (configure.ac): Don't invoke
3311         gl_STRING_MODULE_INDICATOR.
3312         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
3313
3314 2007-02-04  Bruno Haible  <bruno@clisp.org>
3315
3316         New module mbscasecmp, reduced goal of strcasecmp.
3317         * modules/mbscasecmp: New file.
3318         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
3319         (mbscasecmp): Renamed from strcasecmp.
3320         * lib/strcasecmp.c: Don't include mbuiter.h.
3321         (strcasecmp): Remove support for multibyte locales.
3322         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
3323         Change the conditional link warning.
3324         (mbscasecmp): New declaration.
3325         * m4/mbscasecmp.m4: New file.
3326         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
3327         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
3328         REPLACE_STRCASECMP.
3329         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
3330         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3331         GNULIB_MBSCASECMP.
3332         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
3333         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
3334         * modules/strcase (Files): Remove m4/mbrtowc.m4.
3335         (Depends-on): Remove mbuiter.
3336         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
3337
3338 2007-02-04  Bruno Haible  <bruno@clisp.org>
3339
3340         New module mbsstr. Remove module strstr.
3341         * modules/mbsstr: New file.
3342         * modules/strstr: Remove file.
3343         * lib/mbsstr.c: Renamed from lib/strstr.c.
3344         (mbsstr): Renamed from strstr.
3345         * lib/string_.h (strstr): Remove declaration. Change the conditional
3346         link warning.
3347         (mbsstr): New declaration.
3348         * m4/mbsstr.m4: New file.
3349         * m4/strstr.m4: Remove file.
3350         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
3351         REPLACE_STRSTR.
3352         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
3353         Don't initialize GNULIB_STRSTR.
3354         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
3355         substitute GNULIB_STRSTR and REPLACE_STRSTR.
3356         * MODULES.html.sh (Internationalization functions): Add mbsstr.
3357         (Support for systems lacking ANSI C 89): Remove strstr.
3358
3359 2007-02-04  Bruno Haible  <bruno@clisp.org>
3360
3361         New module mbsrchr.
3362         * modules/mbsrchr: New file.
3363         * lib/mbsrchr.c: New file.
3364         * lib/string_.h (strrchr): Add a conditional link warning.
3365         (mbsrchr): New declaration.
3366         * m4/mbsrchr.m4: New file.
3367         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3368         GNULIB_MBSRCHR.
3369         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
3370         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
3371
3372 2007-02-04  Bruno Haible  <bruno@clisp.org>
3373
3374         New module mbschr.
3375         * modules/mbschr: New file.
3376         * lib/mbschr.c: New file.
3377         * lib/string_.h (strchr): Add a conditional link warning.
3378         (mbschr): New declaration.
3379         * m4/mbschr.m4: New file.
3380         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3381         GNULIB_MBSCHR.
3382         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
3383         * MODULES.html.sh (Internationalization functions): Add mbschr.
3384
3385 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
3386
3387         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
3388
3389         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
3390
3391 2007-02-04  Bruno Haible  <bruno@clisp.org>
3392
3393         New module description section 'configure.ac-early'.
3394         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
3395         (func_get_autoconf_early_snippet): New function.
3396         (func_import, func_create_testdir): Use it. Remove special cases for
3397         modules 'extensions' and 'lock'.
3398         * modules/extensions (configure.ac-early): Require
3399         gl_USE_SYSTEM_EXTENSIONS.
3400         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
3401
3402 2007-02-04  Bruno Haible  <bruno@clisp.org>
3403
3404         Make use of gcj-4.3's -fsource and -ftarget option.
3405         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
3406         and if so try the options -fsource and -ftarget.
3407         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
3408         source_version, ftarget_option, target_version arguments.
3409         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
3410         (is_envjavac_oldgcj_14_14_usable): Renamed from
3411         is_envjavac_gcj_14_14_usable.
3412         (is_envjavac_oldgcj_14_13_usable): Renamed from
3413         is_envjavac_gcj_14_13_usable.
3414         (is_gcj_present): Update.
3415         (is_gcj_43, is_gcj43_usable): New functions.
3416         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
3417         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
3418         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
3419         try the options -fsource and -ftarget.
3420
3421 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
3422
3423         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
3424         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
3425         larger value.
3426
3427 2007-02-03  Jim Meyering  <jim@meyering.net>
3428
3429         Give tools a better chance to allocate space for very large buffers.
3430         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
3431
3432         Make pwd and readlink work also when run with an unreadable parent dir
3433         on systems with openat support.
3434         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
3435         provided getcwd function, even when we have openat support.
3436         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
3437
3438 2007-02-02  Bruno Haible  <bruno@clisp.org>
3439
3440         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
3441         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
3442         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
3443         portability problems if one of these functions is only used on specific
3444         platforms.
3445         Reported by Paul Eggert.
3446
3447 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
3448
3449         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
3450         is causing more trouble than it's curing.
3451         * lib/regex_internal.h (__mempcpy): Remove.
3452         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
3453         (and make the code a tad smaller to boot).
3454         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
3455
3456 2007-02-02  Jim Meyering  <jim@meyering.net>
3457
3458         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
3459         section, not in the Makefile.am: one.
3460
3461 2007-02-02  Eric Blake  <ebb9@byu.net>
3462
3463         * lib/strchrnul.c: Always include config.h first.
3464
3465         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
3466         gnulib strstr is not necessary here.
3467
3468 2007-02-02  Simon Josefsson  <simon@josefsson.org>
3469
3470         * m4/socklen.m4: Fix typo.
3471
3472 2007-02-02  Eric Blake  <ebb9@byu.net>
3473
3474         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
3475         * modules/netinet_in (Makefile.am): Likewise.
3476
3477 2007-02-01  Bruno Haible  <bruno@clisp.org>
3478
3479         * lib/string_.h (GL_LINK_WARNING): New macro.
3480         (strcasecmp, strstr, strcasestr): If provided by the system,
3481         conditionally define as a macro that leads to a warning instead of to
3482         an error.
3483         (strncasecmp): Conditionally define as a macro that leads to a warning.
3484
3485 2007-02-01  Karl Berry  <karl@gnu.org>
3486
3487         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
3488
3489 2007-02-01  Bruno Haible  <bruno@clisp.org>
3490
3491         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
3492         renamings.
3493
3494 2007-02-01  Eric Blake  <ebb9@byu.net>
3495
3496         * modules/regex (Depends-on): Revert dependence on mempcpy.
3497         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
3498         module's definition of mempcpy.
3499         Reported by Paul Eggert.
3500
3501 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
3502
3503         * lib/string_.h: If the gnulib module XYZ is not present, undefine
3504         the symbol XYZ before redefining it.  This fixes a problem with
3505         programs that don't use XYZ, when compiled on systems that define
3506         XYZ to something else.
3507
3508 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
3509
3510         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
3511         occurs when "mkdir -m foo" creates a setgid directory that is (1)
3512         writeable to group or other and (2) is intended to have a special
3513         mode bit that is set or cleared.  In such a case, the directory
3514         should be neither group- nor other-writeable until the special
3515         mode bits are right.
3516
3517 2007-01-31  Eric Blake  <ebb9@byu.net>
3518
3519         * modules/mountlist (Depends-on): Add strstr.
3520
3521         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
3522         bug.
3523         * modules/string (Makefile.am): Remove redundant replacement.
3524         * modules/regex (Depends-on): Add mempcpy.
3525
3526 2007-01-31  Bruno Haible  <bruno@clisp.org>
3527
3528         New module description field 'Link'.
3529         * gnulib-tool (func_usage): Document --extract-link-directive.
3530         (sed_extract_prog): Recognize 'Link' directive.
3531         (func_get_link_directive): New function.
3532         (func_import): Show summary of link directives.
3533         Handle --extract-link-directive option.
3534         * modules/acl (Link): New section.
3535         * modules/clock-time (Link): New section.
3536         * modules/euidaccess (Link): New section.
3537         * modules/gettext (Link): New section.
3538         * modules/iconv (Link): New section.
3539         * modules/lock (Link): New section.
3540         * modules/nanosleep (Link): New section.
3541         * modules/readline (Link): New section.
3542
3543 2007-01-27  Bruno Haible  <bruno@clisp.org>
3544
3545         Enforce the use of gnulib modules for unportable <string.h> functions.
3546         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
3547         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
3548         (gl_HEADER_STRING_H_BODY): Require it.
3549         * lib/string_.h: If the gnulib module XYZ is not present, redefine
3550         the symbol XYZ to one that gives a link error.
3551         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
3552         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
3553         * modules/mempcpy (configure.ac): Likewise.
3554         * modules/memrchr (configure.ac): Likewise.
3555         * modules/stpcpy (configure.ac): Likewise.
3556         * modules/stpncpy (configure.ac): Likewise.
3557         * modules/strcase (configure.ac): Likewise.
3558         * modules/strcasestr (configure.ac): Likewise.
3559         * modules/strchrnul (configure.ac): Likewise.
3560         * modules/strdup (configure.ac): Likewise.
3561         * modules/strndup (configure.ac): Likewise.
3562         * modules/strnlen (configure.ac): Likewise.
3563         * modules/strpbrk (configure.ac): Likewise.
3564         * modules/strsep (configure.ac): Likewise.
3565         * modules/strstr (configure.ac): Likewise.
3566         * modules/strtok_r (configure.ac): Likewise.
3567
3568 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
3569
3570         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
3571
3572 2007-01-30  Jim Meyering  <jim@meyering.net>
3573
3574         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
3575
3576 2007-01-29  Bruno Haible  <bruno@clisp.org>
3577
3578         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
3579         * lib/execute.c: Likewise.
3580         * lib/pipe.c: Likewise.
3581         * lib/printf-args.h: Likewise.
3582         * lib/printf-args.c: Likewise.
3583         * lib/printf-parse.c: Likewise.
3584         * lib/vasnprintf.c: Likewise.
3585
3586 2007-01-29  Eric Blake  <ebb9@byu.net>
3587
3588         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
3589         declaration.
3590
3591 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
3592
3593         * lib/strptime.h (strptime): Use 'restrict' for args where
3594         POSIX requires this.
3595         * lib/strptime.c (strptime): Likewise.
3596         Change license notice from LGPL to GPL, since gnulib-tool will
3597         change this as needed.
3598         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
3599         defined.
3600         Include "strptime.h" first, to check interface.
3601         Do not #undef _LIBC and _NL_CURRENT.
3602         Do not include <stdlib.h>; no longer needed.
3603         Include "time_r.h" and declare ptime_locale_status
3604         only if _LIBC is not defined.
3605         (__P): Remove unused macro.
3606         (match_string): Bring back glibc version, but use it only if _LIBC
3607         is defined.
3608         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
3609         Remove unnecessary assertion and abort() call.
3610         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
3611         * m4/strptime.m4: Fix serial number comment.
3612         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
3613         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
3614         (Depends-on): Add time_r.
3615
3616 2007-01-29  Bruno Haible  <bruno@clisp.org>
3617
3618         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
3619         strptime.
3620         * modules/strptime (Depends-on): Add stdbool.
3621         * lib/strptime.h: Include <time.h> always. Add comments.
3622
3623 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
3624
3625         * modules/strptime: New file.
3626         * lib/strptime.h: New file.
3627         * lib/strptime.c: New file.
3628         * m4/strptime.m4: New file.
3629
3630 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
3631
3632         * MODULES.html.sh: New module mpsort.
3633         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
3634
3635         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
3636         a circularity problem with HP-UX ia64 reported by Bob Proulx in
3637         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
3638         All uses changed.
3639         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
3640         All uses changed.
3641         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
3642         to _Restrict_.
3643         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
3644         the parameter matches the prototype.
3645
3646 2007-01-28  Jim Meyering  <jim@meyering.net>
3647
3648         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
3649         sys/time.h here, reverting that part of the previous patch:
3650         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
3651
3652 2007-01-28  Bruno Haible  <bruno@clisp.org>
3653
3654         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
3655         value of $(SYS_TIME_H).
3656         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
3657         remove it conditionally, too. [added by Jim Meyering]
3658         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
3659         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
3660         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
3661         GETTIMEOFDAY_REPLACEMENT to 1.
3662
3663 2007-01-28  Bruno Haible  <bruno@clisp.org>
3664
3665         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
3666         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
3667         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
3668         Set UNISTD_H instead of UNISTD_H2.
3669         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
3670
3671 2007-01-28  Bruno Haible  <bruno@clisp.org>
3672
3673         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
3674         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
3675
3676 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3677
3678         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
3679         (func_create_testdir): Ensure C locale for `grep' and `tr'
3680         character ranges.
3681         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
3682         ACLOCAL_AMFLAGS parsing state machine.
3683
3684 2007-01-27  Bruno Haible  <bruno@clisp.org>
3685
3686         * modules/unistr/base: Update.
3687
3688 2007-01-27  Bruno Haible  <bruno@clisp.org>
3689
3690         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
3691         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
3692         * modules/unistr/u32-mbtouc-unsafe: Renamed from
3693         modules/unistr/u32-mbtouc.
3694         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
3695         * lib/unistr.h: Update.
3696         * lib/linebreak.c: Update.
3697         * modules/unistr/u32-mbtouc: Renamed from
3698         modules/unistr/u32-mbtouc-safe.
3699         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
3700         * lib/unistr.h: Update.
3701         * lib/unistr/u32-to-u8.c: Update.
3702         * lib/unistr/u32-to-u16.c: Update.
3703
3704 2007-01-27  Bruno Haible  <bruno@clisp.org>
3705
3706         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
3707         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
3708         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
3709         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
3710         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
3711         * modules/unistr/u16-mbtouc-unsafe: Renamed from
3712         modules/unistr/u16-mbtouc.
3713         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
3714         * lib/unistr.h: Update.
3715         * lib/linebreak.c: Update.
3716         * modules/linebreak: Update.
3717         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
3718         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
3719         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
3720         * modules/unistr/u16-mbtouc: Renamed from
3721         modules/unistr/u16-mbtouc-safe.
3722         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
3723         * lib/unistr.h: Update.
3724         * lib/unistr/u16-to-u8.c: Update.
3725         * modules/unistr/u16-to-u8: Update.
3726         * lib/unistr/u16-to-u32.c: Update.
3727         * modules/unistr/u16-to-u32: Update.
3728
3729 2007-01-27  Bruno Haible  <bruno@clisp.org>
3730
3731         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
3732         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
3733         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
3734         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
3735         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
3736         * modules/unistr/u8-mbtouc-unsafe: Renamed from
3737         modules/unistr/u8-mbtouc.
3738         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
3739         * lib/unistr.h: Update.
3740         * lib/striconveh.c: Update.
3741         * modules/striconveh: Update.
3742         * lib/linebreak.c: Update.
3743         * modules/linebreak: Update.
3744         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
3745         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
3746         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
3747         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
3748         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
3749         * lib/unistr.h: Update.
3750         * lib/striconveh.c: Update.
3751         * modules/striconveh: Update.
3752         * lib/unistr/u8-to-u16.c: Update.
3753         * modules/unistr/u8-to-u16: Update.
3754         * lib/unistr/u8-to-u32.c: Update.
3755         * modules/unistr/u8-to-u32: Update.
3756
3757 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3758
3759         Sync from Libtool.
3760         * lib/argz.c: Do not include strings.h nor memory.h, include
3761         string.h unconditionally.  Patch by Simon Josefsson.
3762
3763 2007-01-27  Bruno Haible  <bruno@clisp.org>
3764
3765         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
3766         from gl_HEADER_STRING_H_BODY.
3767         (gl_HEADER_STRING_H_BODY): Require it.
3768         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
3769         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
3770         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
3771         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
3772         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
3773         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
3774         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
3775         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
3776         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
3777         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
3778         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
3779         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
3780         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
3781         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
3782         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
3783
3784 2007-01-27  Bruno Haible  <bruno@clisp.org>
3785
3786         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
3787         check_PROGRAMS into noinst_PROGRAMS.
3788         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
3789         check_PROGRAMS in this case.
3790         (func_import): Set for_test to false.
3791         (func_create_testdir): Set for_test to true.
3792
3793 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
3794             Bruno Haible  <bruno@clisp.org>
3795
3796         * modules/strcasestr (Files): Remove lib/strcasestr.h.
3797         (Depends-on): Add string.
3798         (Includes): Use <string.h> instead of strcasestr.h.
3799         * modules/string (Makefile.am): Also substitute the value of
3800         REPLACE_STRCASESTR.
3801         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
3802         assume strcasestr is declared in <string.h> not <strings.h>. Also
3803         set REPLACE_STRCASESTR.
3804         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
3805         REPLACE_STRCASESTR.
3806         * lib/strcasestr.h: Remove file.
3807         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
3808         * lib/string_.h (strcasestr): New declaration.
3809
3810 2007-01-27  Bruno Haible  <bruno@clisp.org>
3811
3812         * lib/string_.h: Use 'extern'.
3813
3814 2007-01-27  Jim Meyering  <jim@meyering.net>
3815
3816         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
3817         of set-but-not-used local, "q".
3818
3819         * lib/mempcpy.c: Include <config.h> before <string.h>.
3820         This fixes a compilation error on HP-UX, due to the system's
3821         "restrict"-using mempcpy prototype.
3822
3823 2007-01-26  Bruno Haible  <bruno@clisp.org>
3824
3825         Small optimization.
3826         * lib/javacomp.c: Include c-strstr.h.
3827          (is_envjavac_gcj): Use c_strstr instead of strstr.
3828         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
3829
3830 2007-01-26  Bruno Haible  <bruno@clisp.org>
3831
3832         * MODULES.html.sh (Unicode string functions): Add the new modules.
3833
3834         * modules/uniconv/u32-strconv-to-locale: New file.
3835         * lib/uniconv/u32-strconv-to-locale.c: New file.
3836
3837         * modules/uniconv/u16-strconv-to-locale: New file.
3838         * lib/uniconv/u16-strconv-to-locale.c: New file.
3839
3840         * modules/uniconv/u8-strconv-to-locale: New file.
3841         * lib/uniconv/u8-strconv-to-locale.c: New file.
3842
3843         * modules/uniconv/u32-strconv-from-locale: New file.
3844         * lib/uniconv/u32-strconv-from-locale.c: New file.
3845
3846         * modules/uniconv/u16-strconv-from-locale: New file.
3847         * lib/uniconv/u16-strconv-from-locale.c: New file.
3848
3849         * modules/uniconv/u8-strconv-from-locale: New file.
3850         * lib/uniconv/u8-strconv-from-locale.c: New file.
3851
3852         * modules/uniconv/u32-strconv-to-enc: New file.
3853         * lib/uniconv/u32-strconv-to-enc.c: New file.
3854         * modules/uniconv/u32-strconv-to-enc-tests: New file.
3855         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
3856
3857         * modules/uniconv/u16-strconv-to-enc: New file.
3858         * lib/uniconv/u16-strconv-to-enc.c: New file.
3859         * lib/uniconv/u-strconv-to-enc.h: New file.
3860         * modules/uniconv/u16-strconv-to-enc-tests: New file.
3861         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
3862
3863         * modules/uniconv/u8-strconv-to-enc: New file.
3864         * lib/uniconv/u8-strconv-to-enc.c: New file.
3865         * modules/uniconv/u8-strconv-to-enc-tests: New file.
3866         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
3867
3868         * modules/uniconv/u32-strconv-from-enc: New file.
3869         * lib/uniconv/u32-strconv-from-enc.c: New file.
3870         * modules/uniconv/u32-strconv-from-enc-tests: New file.
3871         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
3872
3873         * modules/uniconv/u16-strconv-from-enc: New file.
3874         * lib/uniconv/u16-strconv-from-enc.c: New file.
3875         * modules/uniconv/u16-strconv-from-enc-tests: New file.
3876         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
3877
3878         * modules/uniconv/u8-strconv-from-enc: New file.
3879         * lib/uniconv/u8-strconv-from-enc.c: New file.
3880         * lib/uniconv/u-strconv-from-enc.h: New file.
3881         * modules/uniconv/u8-strconv-from-enc-tests: New file.
3882         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
3883
3884         * modules/uniconv/u32-conv-from-enc: New file.
3885         * lib/uniconv/u32-conv-from-enc.c: New file.
3886         * modules/uniconv/u32-conv-from-enc-tests: New file.
3887         * tests/uniconv/test-u32-conv-from-enc.c: New file.
3888
3889         * modules/uniconv/u16-conv-from-enc: New file.
3890         * lib/uniconv/u16-conv-from-enc.c: New file.
3891         * lib/uniconv/u-conv-from-enc.h: New file.
3892         * modules/uniconv/u16-conv-from-enc-tests: New file.
3893         * tests/uniconv/test-u16-conv-from-enc.c: New file.
3894
3895         * modules/uniconv/u8-conv-from-enc: New file.
3896         * lib/uniconv/u8-conv-from-enc.c: New file.
3897         * modules/uniconv/u8-conv-from-enc-tests: New file.
3898         * tests/uniconv/test-u8-conv-from-enc.c: New file.
3899
3900         * modules/uniconv/base: New file.
3901         * lib/uniconv.h: New file.
3902
3903 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
3904
3905         * doc/gnulib-tool.texi (Initial import): Update to match current
3906         behavior with strdup module.
3907         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
3908         * lib/memmem.h: Remove; all uses removed.  This is now done
3909         by <string.h>.
3910         * lib/mempcpy.h: Likewise.
3911         * lib/memrchr.h: Likewise.
3912         * lib/stpcpy.h: Likewise.
3913         * lib/stpncpy.h: Likewise.
3914         * lib/strcase.h: Likewise.
3915         * lib/strchrnul.h: Likewise.
3916         * lib/strdup.h: Likewise.
3917         * lib/strndup.h: Likewise.
3918         * lib/strnlen.h: Likewise.
3919         * lib/strpbrk.h: Likewise.
3920         * lib/strsep.h: Likewise.
3921         * lib/strstr.h: Likewise.
3922         * lib/strtok_r.h: Likewise.
3923         * lib/string_.h: New file.
3924         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
3925         Rely on <string.h> instead.
3926         * lib/canon-host.c: Likewise.
3927         * lib/chdir-long.c: Likewise.
3928         * lib/concatpath.c: Likewise.
3929         * lib/exclude.c: Likewise.
3930         * lib/fchdir.c: Likewise.
3931         * lib/getaddrinfo.c: Likewise.
3932         * lib/getcwd.c: Likewise.
3933         * lib/getsubopt.c: Likewise.
3934         * lib/glob.c: Likewise.
3935         * lib/hard-locale.c: Likewise.
3936         * lib/iconvme.c: Likewise.
3937         * lib/javacomp.c: Likewise.
3938         * lib/mempcpy.c: Likewise.
3939         * lib/memrchr.c: Likewise.
3940         * lib/regex_internal.h: Likewise.
3941         * lib/stpncpy.c: Likewise.
3942         * lib/strcasecmp.c: Likewise.
3943         * lib/strchrnul.c: Likewise.
3944         * lib/strdup.c: Likewise.
3945         * lib/striconv.c: Likewise.
3946         * lib/striconveh.c: Likewise.
3947         * lib/striconveha.c: Likewise.
3948         * lib/strncasecmp.c: Likewise.
3949         * lib/strndup.c: Likewise.
3950         * lib/strnlen.c: Likewise.
3951         * lib/strsep.c: Likewise.
3952         * lib/strstr.c: Likewise.
3953         * lib/strtok_r.c: Likewise.
3954         * lib/userspec.c: Likewise.
3955         * lib/w32spawn.h: Likewise.
3956         * lib/xstrndup.c: Likewise.
3957         * lib/mountlist.c (strstr): Remove decl.
3958         * m4/string_h.m4: New file.
3959         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
3960         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
3961         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
3962         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
3963         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
3964         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
3965         Set REPLACE_STRCASECMP if necessary.
3966         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
3967         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
3968         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
3969         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
3970         HAVE_DECL_STRDUP if necessary.
3971         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
3972         since gl_FUNC_STRNDUP does that now.
3973         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
3974         Check for decl here...
3975         (gl_PREREQ_STRNLEN): ... not here.
3976         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
3977         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
3978         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
3979         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
3980         necessary.
3981         * modules/string: New file.
3982         * modules/memmem (Files): Remove special-purpose include file.
3983         (Depends-on): Add string.
3984         (Include): Include <string.h>, not the removed file.
3985         * modules/mempcpy: Likewise.
3986         * modules/memrchr: Likewise.
3987         * modules/stpcpy: Likewise.
3988         * modules/stpncpy: Likewise.
3989         * modules/strcase: Likewise.
3990         * modules/strchrnul: Likewise.
3991         * modules/strdup: Likewise.
3992         * modules/strndup: Likewise.
3993         * modules/strnlen: Likewise.
3994         * modules/strpbrk: Likewise.
3995         * modules/strsep: Likewise.
3996         * modules/strstr: Likewise.
3997         * modules/strtok_r: Likewise.
3998         * tests/test-dirname.c: Don't include "strdup.h", since
3999         <string.h> now suffices.
4000         * tests/test-memmem.c: Don't include "memmem.h", since
4001         <string.h> now suffices.
4002
4003 2007-01-25  Bruno Haible  <bruno@clisp.org>
4004
4005         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
4006         *resultp is 0.
4007
4008         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
4009         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
4010         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
4011         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
4012
4013         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
4014         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
4015         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
4016         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
4017         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
4018         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
4019
4020 2007-01-24  Bruno Haible  <bruno@clisp.org>
4021
4022         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
4023         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
4024         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
4025         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
4026         gl_FUNC_FTS_CORE.
4027         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
4028         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
4029         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
4030         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
4031         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
4032         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
4033         gl_FUNC_FCHOWNAT.
4034         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
4035         gl_FUNC_STRFTIME.
4036         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
4037         Reported by Ralf Wildenhues.
4038
4039 2007-01-24  Bruno Haible  <bruno@clisp.org>
4040
4041         Drop AC_REQUIRE calls that are redundant with the module dependencies.
4042         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
4043         gl_GETADDRINFO.
4044         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
4045         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
4046         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
4047
4048 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
4049
4050         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
4051         Don't use 'exit'; just return from 'main'.
4052         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
4053
4054         * lib/fnmatch_.h: Readjust white space and comments to match
4055         glibc, to avoid spurious diffs.
4056
4057 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4058
4059         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
4060         2004-12-01 change by Jakub Jelinek, since this code won't compile
4061         if !LIBC.  Problem reported by Bob Proulx.
4062
4063 2007-01-23  Bruno Haible  <bruno@clisp.org>
4064
4065         * lib/striconveh.c: Include c-strcaseeq.h.
4066         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
4067         * modules/striconveh (Depends-on): Add c-strcaseeq.
4068
4069 2007-01-23  Bruno Haible  <bruno@clisp.org>
4070
4071         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
4072
4073         * modules/c-strcaseeq: New file.
4074         * lib/c-strcaseeq.h: New file.
4075
4076         * modules/streq: New file.
4077         * lib/streq.h: New file.
4078
4079 2007-01-23  Bruno Haible  <bruno@clisp.org>
4080
4081         * modules/striconveha-tests: New file.
4082         * tests/test-striconveha.c: New file.
4083
4084         * lib/striconveha.h: Include <stdbool.h>.
4085         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
4086         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
4087         (mem_iconveha_notranslit): Renamed from mem_iconveha.
4088         (mem_iconveha): New function.
4089         (str_iconveha_notranslit): Renamed from str_iconveha.
4090         (str_iconveha): New function.
4091         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
4092         c-strcase.
4093
4094 2007-01-23  Bruno Haible  <bruno@clisp.org>
4095
4096         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
4097         encodings without forgiving before trying any encoding with handler.
4098         (str_iconveha): Try all encodings without forgiving before trying any
4099         encoding with handler.
4100
4101 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4102
4103         Import the following changes from libc.
4104
4105         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
4106
4107         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
4108
4109         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
4110
4111         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
4112         normal_bracket label.
4113
4114         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
4115
4116         [BZ #361]
4117         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
4118         to normal_bracket after fetching the next character.
4119
4120 2007-01-22  Bruno Haible  <bruno@clisp.org>
4121
4122         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
4123         argument.
4124         * lib/striconveh.c (iconv_carefully_1): New function.
4125         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
4126         argument.
4127         (str_cd_iconveh): Update.
4128         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
4129         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
4130         * tests/test-striconveh.c (MAGIC): New macro.
4131         (new_offsets): New function.
4132         (main): Test call with and without offsets.
4133
4134 2007-01-22  Bruno Haible  <bruno@clisp.org>
4135
4136         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
4137         * modules/sys_select (Makefile.am): Likewise.
4138         * modules/sys_socket (Makefile.am): Likewise.
4139         * modules/sys_time (Makefile.am): Likewise.
4140
4141 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
4142
4143         * modules/gettimeofday (License): Change from GPL to LGPL, since
4144         gettimeofday is a library function.
4145
4146 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4147
4148         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
4149
4150 2007-01-21  Bruno Haible  <bruno@clisp.org>
4151
4152         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
4153
4154 2007-01-21  Bruno Haible  <bruno@clisp.org>
4155
4156         * modules/striconveha: New file.
4157         * lib/striconveha.h: New file.
4158         * lib/striconveha.c: New file.
4159         * MODULES.html.sh (Internationalization functions): Add striconveha.
4160         * lib/striconv.c (str_iconv): Optimize the case of an empty input
4161         string.
4162         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
4163
4164 2007-01-21  Bruno Haible  <bruno@clisp.org>
4165
4166         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
4167         * lib/striconveh.c (str_iconveh): Likewise.
4168
4169 2007-01-21  Bruno Haible  <bruno@clisp.org>
4170
4171         * lib/striconveh.h (mem_iconveh): New declaration.
4172         * lib/striconveh.c (mem_iconveh): New function.
4173         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
4174
4175 2007-01-21  Bruno Haible  <bruno@clisp.org>
4176
4177         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
4178
4179         * lib/striconveh.h (mem_cd_iconveh): Change specification.
4180         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
4181         original result buffer.
4182         (str_cd_iconveh): Update.
4183         * tests/test-striconveh.c (main): Update.
4184
4185         * lib/striconv.h (mem_cd_iconv): Change specification.
4186         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
4187         result buffer.
4188         (str_cd_iconv): Update.
4189         * tests/test-striconv.c (main): Update.
4190
4191 2007-01-21  Bruno Haible  <bruno@clisp.org>
4192
4193         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
4194
4195 2007-01-20  Jim Meyering  <jim@meyering.net>
4196
4197         * lib/userspec.c (parse_with_separator): If a user or group string
4198         starts with "+", skip the corresponding name-to-ID look-up, since
4199         such a look-up must fail: user and group names may not include "+".
4200
4201 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
4202
4203         * lib/poll.c: Include sys/time.h and time.h unconditionally,
4204         since we now assume the sys_time module.
4205         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
4206         check for sys/time.h; no longer needed.
4207         * modules/poll (Depends-on): Depend on sys_time.
4208
4209 2007-01-18  Bruno Haible  <bruno@clisp.org>
4210
4211         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
4212         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
4213
4214         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
4215         gettimeofday.
4216
4217         * tests/test-gettimeofday.c: Include <time.h>.
4218         (dummy): Remove variable.
4219
4220         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
4221         gl_HEADER_SYS_TIME_H.
4222         (gl_HEADER_SYS_TIME_H): New macro.
4223
4224         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
4225         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4226         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
4227         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
4228         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4229         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
4230         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
4231         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4232         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
4233         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
4234         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4235
4236         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
4237         last change; it caused a compilation error when cross-compiling to
4238         Cygwin.
4239
4240 2007-01-18  Jim Meyering  <jim@meyering.net>
4241
4242         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
4243         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
4244         than the race-prone "test -d sys || mkdir sys".
4245         (configure.ac): Use AC_PROG_MKDIR_P.
4246         * modules/sys_select: Likewise.
4247         * modules/sys_socket: Likewise.
4248         * modules/sys_time: Likewise.
4249
4250 2007-01-18  Eric Blake  <ebb9@byu.net>
4251
4252         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
4253         replace gettimeofday.
4254         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
4255         name, to avoid infinite recursion.
4256
4257 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
4258
4259         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
4260         module sys_time.
4261         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
4262         assume timespec.h defines struct timeval.
4263         * lib/settime.c: Likewise.
4264         * lib/utimens.c: Likewise.
4265         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
4266         since we now assume the gettimeofday module.
4267         * lib/tempname.c (__gen_tempname): Likewise.
4268         * lib/gettimeofday.h: Remove.
4269         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
4270         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
4271         Include <time.h>, for 'time()'.
4272         (localtime_buffer_addr): Also use this workaround if
4273         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
4274         to simplify the uses.  All uses changed.
4275         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
4276         that #undef is inside {}, and 'const' follows type name consistently.
4277         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
4278         (gettimeofday): Do not use the maximum possible value for
4279         tv->tv_usec, since that might break usages other than ls.c.
4280         Instead, we'll leave ls.c alone.  This undoes today's patch
4281         by Bruno.  Add a compile-time warning for 1s-clock resolution;
4282         we've never observed the problem but might as well keep the
4283         canary.
4284         * lib/nanosleep.c: Include timespec.h first, for interface check.
4285         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
4286         now assume the sys_time module.
4287         * lib/tempname.c: Likewise.
4288         * lib/timespec.h: Likewise.
4289         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
4290         needed.
4291         * lib/strftime.c: Likewise.
4292         * lib/timespec.h: Likewise.
4293         * lib/posixtm.c: Include posixtm.h first, for interface check.
4294         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
4295         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
4296         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
4297         * lib/sys_time_.h: New file.
4298         * lib/timespec.h (struct timespec): Use long int, not long.
4299         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
4300         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
4301         Remove obsolescent call to AC_HEADER_TIME.
4302         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
4303         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4304         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
4305         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
4306         Likewise.
4307         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
4308         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
4309         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
4310         into the sys_time module.  Check for gettimeofday just once.
4311         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
4312         for gettimeofday signature to just check the signature.  Merely
4313         compile it, since linking doesn't test signature.  Improve test for
4314         whether gettimeofday.o is actually needed.
4315         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
4316         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
4317         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
4318         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4319         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
4320         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
4321         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
4322         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
4323         than worrying about sys/time.h.
4324         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
4325         Don't bother worrying about TIME_WITH_SYS_TIME.
4326         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
4327         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
4328         * m4/sys_time_h.m4: New file.
4329         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
4330         Don't include sys/time.h.  Return from main rather than exiting.
4331         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
4332         all uses changed.
4333         * modules/gethrxtime (Depends-on): Add sys_time.
4334         * modules/gettime (Depends-on): Likewise.
4335         * modules/gettimeofday (Depends-on): Likewise.
4336         * modules/nanosleep (Depends-on): Likewise.
4337         * modules/settime (Depends-on): Likewise.
4338         * modules/tempname (Depends-on): Likewise.
4339         * modules/utimens (Depends-on): Likewise.
4340         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
4341         (Include:) Change back to <sys/time.h>.
4342         (Maintainer:) Add self.
4343         * modules/sys_time: New file.
4344         * modules/tempname (Depends-on): Add gettimeofday.
4345         * tests/test-gettimeofday.c: Include <sys/time.h>
4346         rather than gettimeofday.h.
4347
4348 2007-01-17  Bruno Haible  <bruno@clisp.org>
4349
4350         * gnulib-tool (func_get_license): Revert last patch. Instead, let
4351         the license default to GPL.
4352         (func_create_testdir): Don't complain if a module is LGPL and its
4353         tests module depends on GPLed modules.
4354
4355 2007-01-17  Bruno Haible  <bruno@clisp.org>
4356
4357         * lib/gettimeofday.c (gettimeofday): Add code for the case
4358         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
4359         maximum possible value for tv->tv_usec, rather than the minimum one.
4360
4361 2005-10-08  Martin Lambers  <marlam@marlam.de>
4362 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
4363 2007-01-16  Bruno Haible  <bruno@clisp.org>
4364
4365         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
4366         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
4367         gl_FUNC_GETTIMEOFDAY.
4368         (Include): Add gettimeofday.h.
4369         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
4370         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
4371         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
4372         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
4373         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
4374         * lib/gettimeofday.h: New file.
4375         * lib/gettimeofday.c: Include <sys/timeb.h>.
4376         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
4377         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4378         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
4379         fall back on time().
4380
4381         * tests/test-gettimeofday.c: New file.
4382         * modules/gettimeofday-tests: New file.
4383
4384 2007-01-16  Eric Blake  <ebb9@byu.net>
4385
4386         * modules/fnmatch (Depends-on): Depend on wchar.
4387         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
4388         * m4/fnmatch.m4: Likewise.
4389         * modules/mbchar (Makefile.am): Assume <wchar.h>.
4390         * m4/mbchar.m4: Likewise.
4391         * modules/mbswidth (Depends-on): Depend on wchar.
4392         * lib/mbswidth.c: Assume <wchar.h>.
4393         * m4/mbswidth.m4: Likewise.
4394         * modules/quotearg (Depends-on): Depend on wchar.
4395         * lib/quotearg.c: Assume <wchar.h>.
4396         * m4/quotearg.m4: Likewise.
4397         * modules/regex (Depends-on): Depend on wchar.
4398         * lib/regex_internal.h: Assume <wchar.h>.
4399         * m4/regex.m4: Likewise.
4400         * modules/stdint (Depends-on): Depend on wchar.
4401         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
4402         * m4/stdint.m4: Likewise.
4403         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
4404         * modules/strftime (Depends-on): Depend on wchar.
4405         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
4406         * modules/strtol (Depends-on): Depend on wchar.
4407         * lib/strtol.c: Assume <wchar.h>.
4408         * modules/wcwidth (Depends-on): Depend on wchar.
4409         * lib/wcwidth.h: Assume <wchar.h>.
4410         * m4/wcwidth.m4: Likewise.
4411
4412 2007-01-16  Bruno Haible  <bruno@clisp.org>
4413
4414         * modules/csharpexec-script: New, created from...
4415         * modules/csharpexec: ... this.
4416
4417 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
4418
4419         * modules/javaexec-script: New, created from...
4420         * modules/javaexec: ... this.
4421
4422 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4423
4424         * modules/poll (Dependencies): Add sys_select.
4425
4426 2007-01-15  Jim Meyering  <jim@meyering.net>
4427
4428         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
4429         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
4430         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
4431         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
4432
4433 2007-01-15  Bruno Haible  <bruno@clisp.org>
4434
4435         * modules/striconveh: New file.
4436         * lib/striconveh.h: New file.
4437         * lib/striconveh.c: New file.
4438         * MODULES.html.sh (Internationalization functions): Add striconveh.
4439
4440         * modules/striconveh-tests: New file.
4441         * tests/test-striconveh.c: New file.
4442
4443 2007-01-15  Bruno Haible  <bruno@clisp.org>
4444
4445         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
4446         not from GNU libiconv or GNU libc.
4447
4448 2007-01-15  Bruno Haible  <bruno@clisp.org>
4449
4450         * doc/gnulib-intro.texi (Copyright): Explain the different license
4451         terms for module descriptions, autoconf macros, tests, documentation.
4452
4453 2007-01-14  Bruno Haible  <bruno@clisp.org>
4454
4455         * modules/striconv-tests: New file.
4456         * tests/test-striconv.c: New file.
4457
4458 2007-01-14  Bruno Haible  <bruno@clisp.org>
4459
4460         * modules/iconv-tests: New file.
4461         * tests/test-iconv.c: New file.
4462
4463 2007-01-14  Bruno Haible  <bruno@clisp.org>
4464
4465         * gnulib-tool (func_get_license): For test modules, use the license of
4466         the main module.
4467
4468 2007-01-14  Bruno Haible  <bruno@clisp.org>
4469
4470         * modules/iconv (Include): Clarify that <iconv.h> can only be included
4471         if iconv is found to exist.
4472
4473 2007-01-14  Bruno Haible  <bruno@clisp.org>
4474
4475         * modules/c-ctype-tests: New file.
4476         * tests/test-c-ctype.c: New file.
4477
4478 2007-01-14  Bruno Haible  <bruno@clisp.org>
4479
4480         * modules/binary-io-tests: New file.
4481         * tests/test-binary-io.sh: New file.
4482         * tests/test-binary-io.c: New file.
4483
4484 2007-01-14  Bruno Haible  <bruno@clisp.org>
4485
4486         * modules/array-oset-tests: New file.
4487         * tests/test-array_oset.c: New file.
4488
4489 2007-01-14  Bruno Haible  <bruno@clisp.org>
4490
4491         * modules/array-list-tests: New file.
4492         * tests/test-array_list.c: New file.
4493
4494 2007-01-14  Bruno Haible  <bruno@clisp.org>
4495
4496         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
4497         and make.
4498         Reported by Simon Josefsson in
4499         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
4500
4501 2007-01-14  Bruno Haible  <bruno@clisp.org>
4502
4503         * modules/allocsa-tests: New file.
4504         * tests/test-allocsa.c: New file.
4505
4506 2007-01-14  Bruno Haible  <bruno@clisp.org>
4507
4508         * modules/fchdir (Depends-on): Add absolute-header.
4509         * modules/unistd (Depends-on): Likewise.
4510
4511 2006-12-30  Bruno Haible  <bruno@clisp.org>
4512
4513         * modules/fchdir: New file.
4514         * modules/unistd (Files): Add lib/unistd_.h.
4515         (Makefile.am): Generate unistd.h from unistd_.h.
4516         * lib/fchdir.c: New file.
4517         * lib/dirent_.h: New file.
4518         * lib/unistd_.h: New file.
4519         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
4520         * m4/fchdir.m4: New file.
4521         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
4522         (gl_HEADER_UNISTD): Invoke it.
4523         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
4524         function.
4525         * lib/backupfile.c (opendir, closedir): Undefine.
4526         * lib/chown.c (open, close): Undefine.
4527         * lib/clean-temp.c (open, close): Undefine.
4528         * lib/copy-file.c (open, close): Undefine.
4529         * lib/execute.c (open, close): Undefine.
4530         * lib/fsusage.c (open, close): Undefine.
4531         * lib/gc-gnulib.c (open, close): Undefine.
4532         * lib/getcwd.c (opendir, closedir): Undefine.
4533         * lib/glob.c (opendir, closedir): Undefine.
4534         * lib/javacomp.c (open, close): Undefine.
4535         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
4536         * lib/openat-proc.c (open, close): Undefine.
4537         * lib/pagealign_alloc.c (open, close): Undefine.
4538         * lib/pipe.c (open, close): Undefine.
4539         * lib/progreloc.c (open, close): Undefine.
4540         * lib/savedir.c (opendir, closedir): Undefine.
4541         * lib/utime.c (open, close): Undefine.
4542         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
4543
4544 2007-01-10  Bruno Haible  <bruno@clisp.org>
4545
4546         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
4547
4548 2007-01-12  Eric Blake  <ebb9@byu.net>
4549
4550         Provide a robust <wchar.h>.  Further simplifications are now
4551         possible in other modules, but not included here.
4552         * modules/wchar: New module.
4553         * m4/wchar.m4: New file.
4554         * lib/wchar_.h: Likewise.
4555         * modules/mbchar (Depends-on): Depend on wchar, as the first use
4556         of the new module.
4557         * MODULES.html.sh (Extended multibyte and wide character utilities):
4558         New section.
4559
4560 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
4561
4562         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
4563         to a reasonable default for memory allocation.
4564         (xreadlink): Don't allocate a huge buffer, to work around a buggy
4565         file system that reports garbage st_size values for symlinks.
4566         Problem reported by Liyang Hu.
4567
4568 2007-01-11  Simon Josefsson  <simon@josefsson.org>
4569
4570         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
4571         Emacs .#* auto-save files).
4572
4573 2007-01-11  Bruno Haible  <bruno@clisp.org>
4574
4575         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
4576         directory.
4577
4578 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
4579
4580         Use @...@ consistently in lib/wctype_.h.
4581         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
4582         on it being set to 1 or 0.
4583         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
4584         go back to AC_SUBSTing it.
4585         * modules/wctype (Makefile.am): Undo previous change.
4586
4587 2007-01-10  Eric Blake  <ebb9@byu.net>
4588
4589         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
4590         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
4591         * modules/wctype (Makefile.am): Likewise.
4592         Reported by Chris McGuire.
4593
4594 2007-01-10  Jim Meyering  <jim@meyering.net>
4595
4596         fts.c: a small readability/maintainability improvement
4597         * lib/fts.c (fts_read): Make this code slightly more readable and
4598         maintainable by hoisting the "sp->fts_cur = p" assignments to
4599         immediately follow the statements that set P.  Derived from
4600         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
4601
4602 2007-01-10  Eric Blake  <ebb9@byu.net>
4603
4604         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
4605         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
4606         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
4607         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
4608         Reported by Chris McGuire.
4609
4610 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4611
4612         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
4613         in sed script.
4614
4615 2007-01-09  Bruno Haible  <bruno@clisp.org>
4616
4617         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
4618         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
4619         variables.
4620         (func_module): Use them.
4621
4622 2007-01-09  Bruno Haible  <bruno@clisp.org>
4623
4624         * modules/unistr/base: New file.
4625         * lib/unistr.h: New file.
4626
4627         * modules/unistr/u8-to-u16: New file.
4628         * lib/unistr/u8-to-u16.c: New file.
4629
4630         * modules/unistr/u8-to-u32: New file.
4631         * lib/unistr/u8-to-u32.c: New file.
4632
4633         * modules/unistr/u16-to-u8: New file.
4634         * lib/unistr/u16-to-u8.c: New file.
4635
4636         * modules/unistr/u16-to-u32: New file.
4637         * lib/unistr/u16-to-u32.c: New file.
4638
4639         * modules/unistr/u32-to-u8: New file.
4640         * lib/unistr/u32-to-u8.c: New file.
4641
4642         * modules/unistr/u32-to-u16: New file.
4643         * lib/unistr/u32-to-u16.c: New file.
4644
4645         * modules/unistr/u8-check: New file.
4646         * modules/unistr/u16-check: New file.
4647         * modules/unistr/u32-check: New file.
4648         * lib/unistr/u8-check.c: New file.
4649         * lib/unistr/u16-check.c: New file.
4650         * lib/unistr/u32-check.c: New file.
4651
4652         * modules/unistr/u8-chr: New file.
4653         * modules/unistr/u16-chr: New file.
4654         * modules/unistr/u32-chr: New file.
4655         * lib/unistr/u8-chr.c: New file.
4656         * lib/unistr/u16-chr.c: New file.
4657         * lib/unistr/u32-chr.c: New file.
4658
4659         * modules/unistr/u8-cmp: New file.
4660         * modules/unistr/u16-cmp: New file.
4661         * modules/unistr/u32-cmp: New file.
4662         * lib/unistr/u8-cmp.c: New file.
4663         * lib/unistr/u16-cmp.c: New file.
4664         * lib/unistr/u32-cmp.c: New file.
4665
4666         * modules/unistr/u8-cpy: New file.
4667         * modules/unistr/u16-cpy: New file.
4668         * modules/unistr/u32-cpy: New file.
4669         * lib/unistr/u8-cpy.c: New file.
4670         * lib/unistr/u16-cpy.c: New file.
4671         * lib/unistr/u32-cpy.c: New file.
4672         * lib/unistr/u-cpy.h: New file.
4673
4674         * modules/unistr/u8-cpy-alloc: New file.
4675         * modules/unistr/u16-cpy-alloc: New file.
4676         * modules/unistr/u32-cpy-alloc: New file.
4677         * lib/unistr/u8-cpy-alloc.c: New file.
4678         * lib/unistr/u16-cpy-alloc.c: New file.
4679         * lib/unistr/u32-cpy-alloc.c: New file.
4680         * lib/unistr/u-cpy-alloc.h: New file.
4681
4682         * modules/unistr/u8-endswith: New file.
4683         * modules/unistr/u16-endswith: New file.
4684         * modules/unistr/u32-endswith: New file.
4685         * lib/unistr/u8-endswith.c: New file.
4686         * lib/unistr/u16-endswith.c: New file.
4687         * lib/unistr/u32-endswith.c: New file.
4688         * lib/unistr/u-endswith.h: New file.
4689
4690         * modules/unistr/u8-mblen: New file.
4691         * modules/unistr/u16-mblen: New file.
4692         * modules/unistr/u32-mblen: New file.
4693         * lib/unistr/u8-mblen.c: New file.
4694         * lib/unistr/u16-mblen.c: New file.
4695         * lib/unistr/u32-mblen.c: New file.
4696
4697         * modules/unistr/u8-mbtouc: New file.
4698         * modules/unistr/u16-mbtouc: New file.
4699         * modules/unistr/u32-mbtouc: New file.
4700         * lib/unistr/u8-mbtouc.c: New file.
4701         * lib/unistr/u16-mbtouc.c: New file.
4702         * lib/unistr/u32-mbtouc.c: New file.
4703
4704         * modules/unistr/u8-mbtouc-safe: New file.
4705         * modules/unistr/u16-mbtouc-safe: New file.
4706         * modules/unistr/u32-mbtouc-safe: New file.
4707         * lib/unistr/u8-mbtouc-safe.c: New file.
4708         * lib/unistr/u16-mbtouc-safe.c: New file.
4709         * lib/unistr/u32-mbtouc-safe.c: New file.
4710
4711         * modules/unistr/u8-move: New file.
4712         * modules/unistr/u16-move: New file.
4713         * modules/unistr/u32-move: New file.
4714         * lib/unistr/u8-move.c: New file.
4715         * lib/unistr/u16-move.c: New file.
4716         * lib/unistr/u32-move.c: New file.
4717         * lib/unistr/u-move.h: New file.
4718
4719         * modules/unistr/u8-next: New file.
4720         * modules/unistr/u16-next: New file.
4721         * modules/unistr/u32-next: New file.
4722         * lib/unistr/u8-next.c: New file.
4723         * lib/unistr/u16-next.c: New file.
4724         * lib/unistr/u32-next.c: New file.
4725
4726         * modules/unistr/u8-prev: New file.
4727         * modules/unistr/u16-prev: New file.
4728         * modules/unistr/u32-prev: New file.
4729         * lib/unistr/u8-prev.c: New file.
4730         * lib/unistr/u16-prev.c: New file.
4731         * lib/unistr/u32-prev.c: New file.
4732
4733         * modules/unistr/u8-set: New file.
4734         * modules/unistr/u16-set: New file.
4735         * modules/unistr/u32-set: New file.
4736         * lib/unistr/u8-set.c: New file.
4737         * lib/unistr/u16-set.c: New file.
4738         * lib/unistr/u32-set.c: New file.
4739         * lib/unistr/u-set.h: New file.
4740
4741         * modules/unistr/u8-startswith: New file.
4742         * modules/unistr/u16-startswith: New file.
4743         * modules/unistr/u32-startswith: New file.
4744         * lib/unistr/u8-startswith.c: New file.
4745         * lib/unistr/u16-startswith.c: New file.
4746         * lib/unistr/u32-startswith.c: New file.
4747         * lib/unistr/u-startswith.h: New file.
4748
4749         * modules/unistr/u8-stpcpy: New file.
4750         * modules/unistr/u16-stpcpy: New file.
4751         * modules/unistr/u32-stpcpy: New file.
4752         * lib/unistr/u8-stpcpy.c: New file.
4753         * lib/unistr/u16-stpcpy.c: New file.
4754         * lib/unistr/u32-stpcpy.c: New file.
4755         * lib/unistr/u-stpcpy.h: New file.
4756
4757         * modules/unistr/u8-stpncpy: New file.
4758         * modules/unistr/u16-stpncpy: New file.
4759         * modules/unistr/u32-stpncpy: New file.
4760         * lib/unistr/u8-stpncpy.c: New file.
4761         * lib/unistr/u16-stpncpy.c: New file.
4762         * lib/unistr/u32-stpncpy.c: New file.
4763         * lib/unistr/u-stpncpy.h: New file.
4764
4765         * modules/unistr/u8-strcat: New file.
4766         * modules/unistr/u16-strcat: New file.
4767         * modules/unistr/u32-strcat: New file.
4768         * lib/unistr/u8-strcat.c: New file.
4769         * lib/unistr/u16-strcat.c: New file.
4770         * lib/unistr/u32-strcat.c: New file.
4771         * lib/unistr/u-strcat.h: New file.
4772
4773         * modules/unistr/u8-strchr: New file.
4774         * modules/unistr/u16-strchr: New file.
4775         * modules/unistr/u32-strchr: New file.
4776         * lib/unistr/u8-strchr.c: New file.
4777         * lib/unistr/u16-strchr.c: New file.
4778         * lib/unistr/u32-strchr.c: New file.
4779
4780         * modules/unistr/u8-strcmp: New file.
4781         * modules/unistr/u16-strcmp: New file.
4782         * modules/unistr/u32-strcmp: New file.
4783         * lib/unistr/u8-strcmp.c: New file.
4784         * lib/unistr/u16-strcmp.c: New file.
4785         * lib/unistr/u32-strcmp.c: New file.
4786
4787         * modules/unistr/u8-strcpy: New file.
4788         * modules/unistr/u16-strcpy: New file.
4789         * modules/unistr/u32-strcpy: New file.
4790         * lib/unistr/u8-strcpy.c: New file.
4791         * lib/unistr/u16-strcpy.c: New file.
4792         * lib/unistr/u32-strcpy.c: New file.
4793         * lib/unistr/u-strcpy.h: New file.
4794
4795         * modules/unistr/u8-strcspn: New file.
4796         * modules/unistr/u16-strcspn: New file.
4797         * modules/unistr/u32-strcspn: New file.
4798         * lib/unistr/u8-strcspn.c: New file.
4799         * lib/unistr/u16-strcspn.c: New file.
4800         * lib/unistr/u32-strcspn.c: New file.
4801         * lib/unistr/u-strcspn.h: New file.
4802
4803         * modules/unistr/u8-strdup: New file.
4804         * modules/unistr/u16-strdup: New file.
4805         * modules/unistr/u32-strdup: New file.
4806         * lib/unistr/u8-strdup.c: New file.
4807         * lib/unistr/u16-strdup.c: New file.
4808         * lib/unistr/u32-strdup.c: New file.
4809         * lib/unistr/u-strdup.h: New file.
4810
4811         * modules/unistr/u8-strlen: New file.
4812         * modules/unistr/u16-strlen: New file.
4813         * modules/unistr/u32-strlen: New file.
4814         * lib/unistr/u8-strlen.c: New file.
4815         * lib/unistr/u16-strlen.c: New file.
4816         * lib/unistr/u32-strlen.c: New file.
4817         * lib/unistr/u-strlen.h: New file.
4818
4819         * modules/unistr/u8-strmblen: New file.
4820         * modules/unistr/u16-strmblen: New file.
4821         * modules/unistr/u32-strmblen: New file.
4822         * lib/unistr/u8-strmblen.c: New file.
4823         * lib/unistr/u16-strmblen.c: New file.
4824         * lib/unistr/u32-strmblen.c: New file.
4825
4826         * modules/unistr/u8-strmbtouc: New file.
4827         * modules/unistr/u16-strmbtouc: New file.
4828         * modules/unistr/u32-strmbtouc: New file.
4829         * lib/unistr/u8-strmbtouc.c: New file.
4830         * lib/unistr/u16-strmbtouc.c: New file.
4831         * lib/unistr/u32-strmbtouc.c: New file.
4832
4833         * modules/unistr/u8-strncat: New file.
4834         * modules/unistr/u16-strncat: New file.
4835         * modules/unistr/u32-strncat: New file.
4836         * lib/unistr/u8-strncat.c: New file.
4837         * lib/unistr/u16-strncat.c: New file.
4838         * lib/unistr/u32-strncat.c: New file.
4839         * lib/unistr/u-strncat.h: New file.
4840
4841         * modules/unistr/u8-strncmp: New file.
4842         * modules/unistr/u16-strncmp: New file.
4843         * modules/unistr/u32-strncmp: New file.
4844         * lib/unistr/u8-strncmp.c: New file.
4845         * lib/unistr/u16-strncmp.c: New file.
4846         * lib/unistr/u32-strncmp.c: New file.
4847
4848         * modules/unistr/u8-strncpy: New file.
4849         * modules/unistr/u16-strncpy: New file.
4850         * modules/unistr/u32-strncpy: New file.
4851         * lib/unistr/u8-strncpy.c: New file.
4852         * lib/unistr/u16-strncpy.c: New file.
4853         * lib/unistr/u32-strncpy.c: New file.
4854         * lib/unistr/u-strncpy.h: New file.
4855
4856         * modules/unistr/u8-strnlen: New file.
4857         * modules/unistr/u16-strnlen: New file.
4858         * modules/unistr/u32-strnlen: New file.
4859         * lib/unistr/u8-strnlen.c: New file.
4860         * lib/unistr/u16-strnlen.c: New file.
4861         * lib/unistr/u32-strnlen.c: New file.
4862         * lib/unistr/u-strnlen.h: New file.
4863
4864         * modules/unistr/u8-strpbrk: New file.
4865         * modules/unistr/u16-strpbrk: New file.
4866         * modules/unistr/u32-strpbrk: New file.
4867         * lib/unistr/u8-strpbrk.c: New file.
4868         * lib/unistr/u16-strpbrk.c: New file.
4869         * lib/unistr/u32-strpbrk.c: New file.
4870         * lib/unistr/u-strpbrk.h: New file.
4871
4872         * modules/unistr/u8-strrchr: New file.
4873         * modules/unistr/u16-strrchr: New file.
4874         * modules/unistr/u32-strrchr: New file.
4875         * lib/unistr/u8-strrchr.c: New file.
4876         * lib/unistr/u16-strrchr.c: New file.
4877         * lib/unistr/u32-strrchr.c: New file.
4878
4879         * modules/unistr/u8-strspn: New file.
4880         * modules/unistr/u16-strspn: New file.
4881         * modules/unistr/u32-strspn: New file.
4882         * lib/unistr/u8-strspn.c: New file.
4883         * lib/unistr/u16-strspn.c: New file.
4884         * lib/unistr/u32-strspn.c: New file.
4885         * lib/unistr/u-strspn.h: New file.
4886
4887         * modules/unistr/u8-strstr: New file.
4888         * modules/unistr/u16-strstr: New file.
4889         * modules/unistr/u32-strstr: New file.
4890         * lib/unistr/u8-strstr.c: New file.
4891         * lib/unistr/u16-strstr.c: New file.
4892         * lib/unistr/u32-strstr.c: New file.
4893         * lib/unistr/u-strstr.h: New file.
4894
4895         * modules/unistr/u8-strtok: New file.
4896         * modules/unistr/u16-strtok: New file.
4897         * modules/unistr/u32-strtok: New file.
4898         * lib/unistr/u8-strtok.c: New file.
4899         * lib/unistr/u16-strtok.c: New file.
4900         * lib/unistr/u32-strtok.c: New file.
4901         * lib/unistr/u-strtok.h: New file.
4902
4903         * modules/unistr/u8-uctomb: New file.
4904         * modules/unistr/u16-uctomb: New file.
4905         * modules/unistr/u32-uctomb: New file.
4906         * lib/unistr/u8-uctomb.c: New file.
4907         * lib/unistr/u16-uctomb.c: New file.
4908         * lib/unistr/u32-uctomb.c: New file.
4909
4910         * MODULES.html.sh (Unicode string functions): Add the new modules.
4911
4912 2007-01-08  Bruno Haible  <bruno@clisp.org>
4913
4914         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
4915         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
4916         subdirectories.
4917
4918 2007-01-08  Karl Berry  <karl@gnu.org>
4919
4920         * doc/error.texi: mention that main() fns must set program_name
4921         when progname is used.
4922
4923 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
4924
4925         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
4926         WCTYPE_H is empty, for the benefit of builds from non-distclean
4927         directories.  Problem reported by Eric Blake in
4928         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
4929
4930 2007-01-08  Bruno Haible  <bruno@clisp.org>
4931
4932         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
4933         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
4934         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
4935         PROVIDE_CANONICALIZE_FILENAME_MODE.
4936         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
4937
4938 2007-01-08  Bruno Haible  <bruno@clisp.org>
4939
4940         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
4941         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
4942         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
4943         * lib/fts.c: Likewise.
4944         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
4945
4946 2006-12-25  Bruno Haible  <bruno@clisp.org>
4947
4948         * modules/utf8-ucs4-safe: New file.
4949         * lib/utf8-ucs4-safe.h: New file.
4950         * lib/unistr/utf8-ucs4-safe.c: New file.
4951
4952         * modules/utf16-ucs4-safe: New file.
4953         * lib/utf16-ucs4-safe.h: New file.
4954         * lib/unistr/utf16-ucs4-safe.c: New file.
4955
4956         * MODULES.html.sh (Unicode string functions): Add the new modules.
4957
4958 2007-01-08  Bruno Haible  <bruno@clisp.org>
4959
4960         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
4961         (Depends-on): Add unitypes.
4962         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
4963         (u8_mbtouc_aux): Move out to separate file.
4964         (u8_mbtouc): Use ucs4_t, uint8_t types.
4965         * lib/unistr/utf8-ucs4.c: New file.
4966
4967         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
4968         (Depends-on): Add unitypes.
4969         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
4970         (u16_mbtouc_aux): Move out to separate file.
4971         (u16_mbtouc): Use ucs4_t, uint16_t types.
4972         * lib/unistr/utf16-ucs4.c: New file.
4973
4974         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
4975         (Depends-on): Add unitypes.
4976         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
4977         (u8_uctomb_aux): Move out to separate file.
4978         (u8_uctomb): Use ucs4_t, uint8_t types.
4979         * lib/unistr/ucs4-utf8.c: New file.
4980
4981         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
4982         (Depends-on): Add unitypes.
4983         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
4984         (u16_uctomb_aux): Move out to separate file.
4985         (u16_uctomb): Use ucs4_t, uint16_t types.
4986         * lib/unistr/ucs4-utf16.c: New file.
4987
4988 2006-12-25  Bruno Haible  <bruno@clisp.org>
4989
4990         * modules/unitypes: New file.
4991         * lib/unitypes.h: New file.
4992         * MODULES.html.sh (func_all_modules): New section "Unicode string
4993         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
4994         this section. Add unitypes.
4995
4996 2007-01-08  Bruno Haible  <bruno@clisp.org>
4997
4998         Avoid variable names that conflict with those from libtool.
4999         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
5000         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
5001         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
5002         library_names_spec to acl_library_names_spec, hardcode_* to
5003         acl_hardcode_*.
5004         Reported by Ralf Wildenhues.
5005
5006 2007-01-08  Bruno Haible  <bruno@clisp.org>
5007
5008         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
5009         definition.
5010         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
5011         definition.
5012         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
5013         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
5014         definition.
5015         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
5016         definition.
5017         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
5018         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
5019         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
5020         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
5021         definition.
5022         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
5023         definition.
5024         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
5025         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
5026         GC_USE_<algorithm>.
5027         * lib/gc-libgcrypt.c: Likewise.
5028         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
5029         * modules/gc-arctwo (configure.ac): Likewise.
5030         * modules/gc-des (configure.ac): Likewise.
5031         * modules/gc-hmac-md5 (configure.ac): Likewise.
5032         * modules/gc-hmac-sha1 (configure.ac): Likewise.
5033         * modules/gc-md2 (configure.ac): Likewise.
5034         * modules/gc-md4 (configure.ac): Likewise.
5035         * modules/gc-md5 (configure.ac): Likewise.
5036         * modules/gc-random (configure.ac): Likewise.
5037         * modules/gc-rijndael (configure.ac): Likewise.
5038         * modules/gc-sha1 (configure.ac): Likewise.
5039
5040 2007-01-08  Bruno Haible  <bruno@clisp.org>
5041
5042         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
5043         macro definition.
5044         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
5045         definition.
5046         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
5047         definition.
5048         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
5049         * modules/fcntl-safer (configure.ac): Likewise.
5050         * modules/fopen-safer (configure.ac): Likewise.
5051         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
5052         GNULIB_FWRITEERROR macro definition.
5053
5054 2007-01-08  Bruno Haible  <bruno@clisp.org>
5055
5056         * m4/gnulib-common.m4: New file.
5057         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
5058         (func_get_filelist): Add m4/gnulib-common.m4.
5059
5060 2007-01-08  Bruno Haible  <bruno@clisp.org>
5061
5062         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
5063         command.
5064
5065 2007-01-08  Jim Meyering  <jim@meyering.net>
5066
5067         Use a more robust test for a "can't happen" condition.
5068         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
5069         narrowed the st_size value.  Presuming the "can't happen" condition
5070         is true, that narrowing could conceivably convert an invalid st_size
5071         value into a valid one.  Instead, use a change based on Matthew
5072         Woehlke's original patch.
5073
5074         Slight readability improvement: use an assert-like macro
5075         in place of literal "abort ()" uses.
5076         * lib/fts.c (fts_assert): Define.
5077         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
5078         Use this macro instead of a bare 'abort'.
5079
5080 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
5081
5082         Don't worry about using IRIX 5.3's wctype.h broken definitions;
5083         simply work around them.
5084         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
5085         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
5086         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
5087         declaring.
5088         Don't bother to define as macros, since the standard doesn't require it.
5089         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
5090         longer worry about IRIX 5.3.
5091         (HAVE_WCTYPE_CTMP_BUG): Remove.
5092
5093 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
5094
5095         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
5096         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
5097         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
5098         Problems reported by Georg Schwarz for IRIX 5.3.
5099
5100         * gnulib-tool (autoconf_minversion): Take the maximum version number
5101         found, not the minimum.  Problem reported by James Youngman.
5102
5103 2007-01-03  Karl Berry  <karl@gnu.org>
5104
5105         * doc/error.texi: new file, explaining interaction with progname.
5106         * doc/gnulib.texi: include it.  Update copyright.
5107
5108 2007-01-03  Simon Josefsson  <simon@josefsson.org>
5109
5110         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
5111         AC_CANONICAL_HOST, to improve autobuild outputs.
5112
5113 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
5114             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
5115
5116         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
5117         sockets, server sockets, and other file descriptors.  Count errors
5118         to compute the return value.  Reorder the code a bit to be easier
5119         to follow.  Don't set event bits that were not requested (except
5120         POLLERR and POLLHUP).
5121
5122 2007-01-01  Bruno Haible  <bruno@clisp.org>
5123
5124         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
5125
5126 2007-01-03  Jim Meyering  <jim@meyering.net>
5127
5128         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
5129
5130 2007-01-02  Bruno Haible  <bruno@clisp.org>
5131
5132         * modules/settime (Include): Require timespec.h.
5133         * modules/nanosleep (Include): Likewise.
5134
5135 2007-01-01  Bruno Haible  <bruno@clisp.org>
5136
5137         * gnulib-tool (func_emit_copyright_notice): Bump year.
5138         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
5139
5140 2007-01-01  Bruno Haible  <bruno@clisp.org>
5141
5142         Improve support for OpenBSD.
5143         * build-aux/config.rpath (libname_spec): Export.
5144         (library_names_spec): New variable. Export.
5145         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
5146         library_names_spec from the config.rpath output. Locate shared library
5147         through the name pattern in library_names_spec.
5148
5149 2007-01-01  Eric Blake  <ebb9@byu.net>
5150
5151         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
5152
5153 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
5154
5155         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
5156         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
5157         assume the C locale, and avoid an "eval" that could cause trouble.
5158         Problem with SORT reported by Bob Proulx.
5159
5160         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
5161         Define.  Trivial patch from Henning Nielsen Lund, originally
5162         sent to bug-grep@gnu.org today.
5163
5164 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
5165
5166         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
5167         struct stat.  Problem reported by Henning Nielsen Lund.
5168         * lib/acl.c: Include acl.h first, to check interface.  Don't
5169         bother to include sys/types.h and sys/stat.h again.
5170
5171 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
5172
5173         Import the following change from libc; problem reported by
5174         Sven Verdoolaege.
5175
5176         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
5177
5178         [BZ #1373]
5179         * lib/argp.h: Remove __NTH for __argp_usage inline function.
5180
5181 2006-12-28  Jim Meyering  <jim@meyering.net>
5182
5183         * build-aux/announce-gen: Do not assume that the package
5184         builds any of tar.gz, tar.bz2, and .xdelta files.
5185         Suggestion from Simon Josefsson.
5186
5187 2006-12-28  Simon Josefsson  <simon@josefsson.org>
5188
5189         * modules/announce-gen: New file.
5190
5191 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5192
5193         * lib/mbchar.h: Just include <wctype.h>; the wctype module
5194         handles its gotchas now.
5195         * lib/mbswidth.c: Likewise.
5196         * lib/wcwidth.h: Likewise.
5197         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
5198         and iswcntrl; the wctype module does this stuff now.
5199         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
5200         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5201         * modules/mbchar (Depends-on): Add wctype.
5202         * modules/mbswidth (Depends-on): Likewise.
5203         * modules/wcwidth (Depends-on): Likewise.
5204
5205 2006-12-27  Eric Blake  <ebb9@byu.net>
5206
5207         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
5208         module uses more than what <wctype.h> is required to provide.
5209
5210 2006-12-26  Eric Blake  <ebb9@byu.net>
5211
5212         * gnulib-tool (sed_extract_prog): Avoid space-tab.
5213
5214 2006-12-26  Eric Blake  <ebb9@byu.net>
5215
5216         * modules/absolute-header: New module.
5217         * modules/fcntl (Depends-on): Depend on it.
5218         * modules/inttypes (Depends-on): Likewise.
5219         * modules/stdint (Depends-on): Likewise.
5220         * modules/sys_stat (Depends-on): Likewise.
5221         * modules/wctype (Depends-on): Likewise.
5222         * MODULES.html.sh (Support for building libraries and
5223         executables): Document it.
5224
5225 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5226
5227         * gnulib-tool (SED): Remove, undoing previous change.
5228         The problem was that it broke coreutils on Solaris, because
5229         "sed --posix" leaked into a makefile.
5230         (sed): New alias, if 'alias' and GNU sed.
5231
5232 2006-12-24  Jim Meyering  <jim@meyering.net>
5233
5234         Work around an fchownat bug in glibc-2.4:
5235         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
5236         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
5237         in spite of the -P option.
5238         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
5239         New macros.
5240         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
5241         * modules/openat (Files): Add lib/fchownat.c.
5242         * lib/openat.c (fchownat): Don't define here.  Move to...
5243         * lib/fchownat.c: ...this new file.
5244
5245 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5246
5247         Fix bug reported by Bruno Haible in
5248         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
5249         where quotearg.c didn't compile on Mac OS X 10.2 because it
5250         lacks <wchar.h> and wint_t.
5251         * lib/wctype_.h (__wctype_wint_t): New type.
5252         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
5253         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
5254         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
5255         Arg is now of type __wctype_wint_t, not wint_t.
5256         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
5257         substitute HAVE_WINT_T.
5258         * modules/wctype (Files): Add m4/wint_t.m4.
5259         (wctype.h): Substitute HAVE_WINT_T.
5260
5261 2006-12-23  Bruno Haible  <bruno@clisp.org>
5262
5263         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
5264
5265 2006-12-23  Bruno Haible  <bruno@clisp.org>
5266
5267         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
5268         S_ISLNK.
5269         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
5270         mingw.
5271
5272 2006-12-22  Bruno Haible  <bruno@clisp.org>
5273
5274         * lib/copy-file.c: Include acl.h.
5275         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
5276         Close the file descriptors only after being done with copy_acl.
5277         * modules/copy-file (Depends-on): Add acl.
5278
5279 2006-12-22  Bruno Haible  <bruno@clisp.org>
5280
5281         * gnulib-tool (SED): New variable.
5282         Use $SED instead of sed everywhere.
5283
5284 2006-12-22  Bruno Haible  <bruno@clisp.org>
5285
5286         * modules/no-c++: New file.
5287         * m4/no-c++.m4: New file.
5288         * MODULES.html.sh (Support for building libraries and executables):
5289         Add no-c++.
5290
5291 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5292
5293         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
5294         Include <limits.h>, and use its INT_MAX to rewrite the
5295         j loop so that it does not overflow 'int'.  Problem reported by
5296         Ralf Wildenhues in
5297         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
5298         Play it safe by shifting left by 1 rather than multiplying by 2,
5299         as GCC is less likely to optimize this away when the value
5300         is signed (when it assumes overflow leads to undefined behavior).
5301         Also, don't assume time_t uses two's complement.
5302
5303 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
5304
5305         * MODULES.html.sh: New module wctype.
5306         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
5307         * lib/fnmatch.c: Don't bother to include <wchar.h> before
5308         <wctype.h>, since the new wctype module should fix this.
5309         * lib/quotearg.c: Include <wctype.h> unconditionally, since
5310         the wctype module should arrange for it.
5311         * lib/regex_internal.h: Likewise.
5312         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
5313         since the wctype module should handle this now.
5314         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
5315         * modules/fnmatch (Depends-on): Add wctype.
5316         * modules/quotearg (Depends-on): Likewise.
5317         * modules/regex (Depends-on): Likewise.
5318
5319 2006-12-19  Bruno Haible  <bruno@clisp.org>
5320
5321         * lib/strdup.h [C++]: Wrap definitions in extern "C".
5322         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
5323
5324 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5325
5326         * modules/savewd (Depends-on): Fix dependency on fcntl.
5327
5328 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5329
5330         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
5331         conforms to C99, rather than relying on the user's environment
5332         setting of STDINT_H.
5333
5334 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5335         and Eric Blake  <ebb9@byu.net>
5336
5337         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
5338         This is more consistent with the other defines here.
5339         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
5340         Port to z/OS.  Problem reported by Paul Gilmartin.
5341         Change local vars to use gl_ prefix rather than ac_.
5342         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
5343         with other defines.
5344         * modules/double-slash-root: New module.
5345         * modules/dirname (Files): Remove m4/double-slash-root.m4.
5346         (Depends-on): Add double-slash-root.
5347         * MODULES.html.sh (File system functions): Mention new module.
5348
5349 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
5350
5351         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
5352         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
5353         This is for the benefit of gzip, which doesn't do i18n.
5354
5355 2006-12-12  Jim Meyering  <jim@meyering.net>
5356
5357         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
5358         Reported by Andreas Schwab <schwab@suse.de>.
5359
5360 2006-12-12  Bruno Haible  <bruno@clisp.org>
5361
5362         Merge these changes.
5363         2006-09-05  Bruno Haible  <bruno@clisp.org>
5364         * lib/iconvme.c (iconv_string): No need to save and restore errno when
5365         iconv_alloc succeeded.
5366         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
5367         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
5368         test for " && dest " at the end - dest is always != NULL there. Call
5369         iconv with 4xNULL arguments initially, to reset the state. Call iconv
5370         with 2xNULL arguments, also to flush the state storage. Handle the
5371         IRIX iconv behaviour. Realloc the final result, to throw away unused
5372         memory.
5373
5374 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
5375
5376         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
5377         and fchmodat unconditionally, since glibc 2.4 has them.
5378         Problem reported by Arkadiusz Miskiewicz.
5379
5380 2006-12-10  Bruno Haible  <bruno@clisp.org>
5381
5382         * gnulib-tool (func_import): Show the include files only for those
5383         modules that are copied and specified.
5384         Reported by Karl Berry.
5385
5386 2006-12-08  Jim Meyering  <jim@meyering.net>
5387
5388         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
5389         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
5390
5391         * build-aux/announce-gen: Add two new options, both optional:
5392         --bootstrap-tools=TOOL_LIST
5393               a comma-separated list of tools, e.g.,
5394               autoconf,automake,bison,gnulib
5395         --gnulib-snapshot-date=DATE
5396               if gnulib is in the bootstrap tool list,
5397               then report this as the snapshot date.
5398               If not specified, use the current date/time.
5399               If you specify a date here, be sure it's UTC.
5400
5401 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5402
5403         * tests/test-argp-2.sh: Fix test to match actual output.
5404         (func_compare): Fix sed script to be portable.
5405
5406 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
5407
5408         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
5409         workaround for this case.  It is not autoconfigured now; offhand
5410         it's hard to see how to autoconfigure it.
5411
5412 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
5413
5414         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
5415         a directory that is about to be chowned.  Such a directory's
5416         initial file permissions should permit the owner only and this
5417         should not be changed until after the chown, since the group and
5418         other bits would be incorrect if they granted permission before
5419         the chown.
5420
5421         Fix porting problem for iswctype reported by Georg Schwarz in:
5422         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
5423         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
5424         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
5425         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
5426         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5427
5428 2006-12-03  Jim Meyering  <jim@meyering.net>
5429
5430         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
5431         p->fts_statp may not yet be defined.
5432         (fts_read): Instead, set it in the caller, once p->fts_statp is
5433         sure to be defined, and corresponds to a top-level directory.
5434         This bug made du -x fail.  Here's the coreutils test case:
5435         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
5436         Reported by Mike Frysinger.
5437
5438 2006-12-01  Jim Meyering  <jim@meyering.net>
5439
5440         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
5441         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
5442         Reported by Simon Josefsson.
5443
5444 2006-11-30  Jim Meyering  <jim@meyering.net>
5445
5446         * m4/warning.m4: Use the all-permissive copyright notice
5447         recommended by RMS (rather than LGPL).
5448         * m4/vararrays.m4: Likewise.
5449         * m4/flexmember.m4: Likewise.
5450
5451 2006-11-29  Bruno Haible  <bruno@clisp.org>
5452
5453         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
5454         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
5455         using +=.
5456         Reported by Simon Josefsson <simon@josefsson.org>.
5457
5458 2006-11-28  James Youngman <jay@gnu.org>
5459
5460         * README: Advise users that they might find the bug-gnulib@gnu.org
5461         and autotools-announce@gnu.org mailing lists useful.
5462
5463 2006-11-28  Bruno Haible  <bruno@clisp.org>
5464
5465         * m4/ptrdiff_max.m4: Remove file.
5466
5467 2006-11-21  Bruno Haible  <bruno@clisp.org>
5468
5469         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
5470         _AC_COMPUTE_INT.
5471         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
5472         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
5473         _AC_COMPUTE_INT.
5474         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
5475         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
5476         _AC_COMPUTE_INT.
5477         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
5478
5479 2006-11-28  Jim Meyering  <jim@meyering.net>
5480
5481         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
5482         warning from "gcc -Wshadow" about shadowing the builtin.
5483
5484 2006-11-27  Bruno Haible  <bruno@clisp.org>
5485
5486         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
5487         _AC_COMPUTE_INT.
5488         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
5489
5490 2006-11-27  Bruno Haible  <bruno@clisp.org>
5491             Paul Eggert  <eggert@cs.ucla.edu>
5492
5493         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
5494
5495 2006-11-26  Bruno Haible  <bruno@clisp.org>
5496
5497         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
5498         noinst_LTLIBRARIES.
5499
5500 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
5501             Bruno Haible  <bruno@clisp.org>
5502
5503         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
5504         if compiling with "gcc -ansi".
5505
5506 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
5507
5508         Fix some incompatibilities with gcc -ansi -pedantic.
5509         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
5510         if compiling pedantically with GCC, unless it's C99 or later.
5511         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
5512         it mishandles gcc -ansi -pedantic as well.
5513         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
5514         if gcc -pedantic.
5515         * lib/regexec.c (check_node_accept_bytes): Don't use auto
5516         initializers for struct if -pedantic, unless it's C99 or later.
5517
5518 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
5519
5520         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
5521         Don't close an fd more than once. Identical atimes indicate
5522         success, not failure.
5523
5524 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
5525
5526         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
5527
5528 2006-11-23  Jim Meyering  <jim@meyering.net>
5529
5530         * build-aux/announce-gen: New file.  From coreutils.
5531
5532 2006-11-22  Jim Meyering  <jim@meyering.net>
5533
5534         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
5535         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
5536         (fts_read): Use a temporary to narrow the overused st_size member
5537         before using it in a switch statement.  Reported by Matthew Woehlke.
5538
5539         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
5540         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
5541
5542 2006-11-20  Bruno Haible  <bruno@clisp.org>
5543
5544         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
5545         changequote instead of pairs of brackets.
5546         Reported by Andreas Schwab <schwab@suse.de>.
5547
5548 2006-11-21  Jim Meyering  <jim@meyering.net>
5549
5550         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
5551         so as to remain compatible with older compilers.
5552         Patch from Michael Deutschmann.
5553
5554 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5555
5556         * MODULES.html.sh (File system functions): Add openat.
5557
5558         * lib/openat.h (rpl_fstatat): New macro, if
5559         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
5560         (fstatat): Define to rpl_fstatat under the same conditions,
5561         unless COMPILING_FSTATAT.
5562         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
5563         seems to have the bug.
5564         * lib/fstatat.c: New file.
5565         * modules/openat (Files): Add it.
5566
5567 2006-11-20  Bruno Haible  <bruno@clisp.org>
5568
5569         * Makefile: New file.
5570
5571 2006-11-20  Jim Meyering  <jim@meyering.net>
5572
5573         The beginnings of syntax-related checks for gnulib.
5574         * lib/Makefile: New file.
5575         * lib/t-idcache: New script.  Ensure that the two halves of
5576         idcache.c stay in sync.
5577
5578         * lib/idcache.c: Adjust comments in user- and group- portions to
5579         be more accurate, and to be consistent with one another.
5580
5581 2006-11-20  Jim Meyering  <jim@meyering.net>
5582
5583         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
5584         continue using the flexible array member (thus, this module performs
5585         half as many malloc calls), with the addition that...
5586         (getgroup, getuser): Consistently record a non-match via an empty
5587         "name" string, and map an empty string match to a NULL return value.
5588         * modules/idcache (Depends-on): Re-add flexmember.
5589
5590         * lib/idcache.c (getuser): Remove all uses of the register keyword.
5591         (getuidbyname, getgroup, getgidbyname): Likewise.
5592
5593         Use cleaner syntax: NULL rather than 0.
5594         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
5595
5596 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5597
5598         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
5599         It mishandled the case where the group was missing.
5600         Problem reported by Greg Schafer.
5601         * modules/idcache: Likewise.
5602
5603 2006-11-18  Jim Meyering  <jim@meyering.net>
5604
5605         * check-module (%exempt_header): Add exception for some
5606         conditionally-included headers.
5607
5608         * modules/i-ring (Depends-on): Add verify.
5609         (License): Change to LGPL.
5610
5611 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
5612
5613         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
5614         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
5615         and inttostr.h.  Use snprintf rather than uinttostr, so that
5616         LGPLed code doesn't depend on GPLed.
5617
5618 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
5619
5620         * modules/inline (License): Change from GPL to LGPL.
5621
5622 2006-11-17  Jim Meyering  <jim@meyering.net>
5623
5624         * modules/d-type (License): Switch to LGPL.
5625
5626 2006-11-15  Bruno Haible  <bruno@clisp.org>
5627
5628         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
5629
5630 2006-11-15  Eric Blake  <ebb9@byu.net>
5631
5632         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
5633         the module dependency.
5634
5635 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5636             Bruno Haible  <bruno@clisp.org>
5637
5638         * gnulib-tool (func_create_testdir): Add license consistency check.
5639
5640 2006-11-15  Eric Blake  <ebb9@byu.net>
5641
5642         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
5643         random "(cached)" in configure output.
5644
5645 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5646
5647         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
5648         test for conforming inttypes.h is both announced and cached.
5649
5650         * MODULES.html.sh (seen_modules, seen_files): New variables.
5651         (func_module): Rewrite to use a few less gnulib-tool and sed
5652         invocations.  Avoid a couple of quadratic algorithms for ...
5653         (missed_modules, missed_files): ... these, with ...
5654         (func_append, func_tmpdir): ... these new functions, from
5655         gnulib-tool.  Analogously, install traps for cleanup.
5656
5657         * tests/test-gc.c (main): Remove unused variables.
5658         * tests/test-read-file.c: Include stdlib.h, for 'free'.
5659
5660 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
5661
5662         * modules/inttostr (License): Change to LGPL.
5663
5664 2006-11-14  Eric Blake  <ebb9@byu.net>
5665
5666         * modules/tempname (License): Change to LGPL.
5667
5668 2006-11-14  Eric Blake  <ebb9@byu.net>
5669
5670         * doc/functions.texi (Function Portability): *printf functions on
5671         Cygwin now understand all POSIX size specifiers.
5672
5673 2006-11-14  Bruno Haible  <bruno@clisp.org>
5674
5675         * modules/c-ctype (License): Change to LGPL.
5676
5677 2006-11-12  Bruno Haible  <bruno@clisp.org>
5678
5679         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
5680         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
5681         for GNOME libraries, for which the include files are installed in
5682         subdirectories of $prefix/include.
5683
5684 2006-11-12  Bruno Haible  <bruno@clisp.org>
5685
5686         * m4/lib-link.m4: Require at least autoconf-2.54.
5687         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
5688         name to underscores for the --with option.
5689
5690 2006-11-13  Bruno Haible  <bruno@clisp.org>
5691
5692         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
5693         the tests directory.
5694         Reported by Ralf Wildenhues.
5695
5696 2006-11-13  Bruno Haible  <bruno@clisp.org>
5697
5698         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
5699         (func_emit_initmacro_end): Undo the override here.
5700         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
5701         Works around the famous automake error in coreutils.
5702
5703 2006-11-13  Eric Blake  <ebb9@byu.net>
5704
5705         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
5706         element, not its node.
5707
5708 2006-11-12  Bruno Haible  <bruno@clisp.org>
5709
5710         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
5711         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
5712
5713 2006-11-12  Bruno Haible  <bruno@clisp.org>
5714
5715         * gnulib-tool: New option --local-symlink.
5716         (func_usage): Document it.
5717         (lsymbolic): New variable.
5718         (func_import, func_create_testdir): If --symlink was not specified,
5719         test whether --local-symlink was specified and the file comes from
5720         the local_gnulib_dir.
5721
5722 2006-11-12  Bruno Haible  <bruno@clisp.org>
5723
5724         * gnulib-tool (func_ln): New function.
5725         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
5726
5727 2006-11-12  Bruno Haible  <bruno@clisp.org>
5728
5729         Finish support for source files in subdirectories.
5730         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
5731         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
5732         AUTOMAKE_OPTIONS.
5733         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
5734
5735 2006-11-12  Bruno Haible  <bruno@clisp.org>
5736
5737         * gnulib-tool (func_get_automake_snippet): Synthesize also an
5738         EXTRA_lib_SOURCES augmentation.
5739         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
5740
5741 2006-11-12  Jim Meyering  <jim@meyering.net>
5742
5743         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
5744         file descriptors.  This also averts a failure on systems with
5745         native openat support when a traversed directory lacks "x" access.
5746         * lib/fts_.h: Include "i-ring.h"
5747         (struct FTS) [fts_fd_ring]: New member.
5748         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
5749         (FCHDIR): Add parentheses.
5750         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
5751         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
5752         When descending, rather than simply closing the previous
5753         fts_cwd_fd value, push that file descriptor onto the ring.
5754         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
5755         (fts_open): Initialize the new fd_ring member.
5756         (fts_close): Clear the ring.
5757         (fts_safe_changedir): When possible, use our new fd_ring to skip
5758         the diropen and fstat and dev/ino comparison that would normally
5759         accompany a virtual `chdir ("..")'.
5760
5761         * modules/fts (Depends-on): Add i-ring.
5762         * modules/i-ring: New module.
5763         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
5764         * m4/i-ring.m4: New file.
5765
5766 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5767
5768         * gnulib-tool (func_create_testdir): Fix replacement of
5769         `build-aux' in configure.ac.  Run autotools in gltests
5770         subdirectory.
5771         (func_create_testdir, func_create_megatestdir, test): There is
5772         no need for '--force' in most autotool invocations in a new
5773         tree.  Actually fail the whole test if any of the tools, or the
5774         configure or make stages fail.
5775
5776         Sync from Automake.
5777         * build-aux/gnupload: Revert last change.  Add pointer to upload
5778         instructions of the GNU Maintenance Instructions.
5779         Suggestion by Karl Berry.
5780
5781 2006-11-10  Jim Meyering  <jim@meyering.net>
5782
5783         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
5784
5785 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
5786
5787         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
5788         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
5789         (bind_textdomain_codeset) [! ENABLE_NLS]:
5790         Evaluate all the arguments.  That way, callers get compatible behavior
5791         if the arguments have side effects.  Also, it avoids some GCC
5792         diagnostics in some cases; Joel E. Denny reported problems when Bison
5793         was configured with --enable-gcc-warnigs.
5794
5795 2006-11-10  Jim Meyering  <jim@meyering.net>
5796
5797         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
5798         relevant options in CFLAGS (like -O, -fno-inline) are taken into
5799         account.
5800
5801 2006-11-10  Jim Meyering  <jim@meyering.net>
5802
5803         * modules/inline: New file/module.
5804         * modules/xalloc (Files): Remove m4/inline.m4.
5805         (Depends-on): Add inline, instead.
5806         * modules/oset: Likewise.
5807         * modules/list: Likewise.
5808
5809 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
5810
5811         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
5812         Problem reported by Matthew Woehlke.
5813
5814 2006-11-09  Bruno Haible  <bruno@clisp.org>
5815
5816         * lib/tempname.c (gen_tempname): Remove variant that invokes
5817         __gen_tempname.
5818         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
5819         __gen_tempname.
5820
5821 2006-11-08  Bruno Haible  <bruno@clisp.org>
5822
5823         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
5824         to 'yes' instead of 'cross-compiling'.
5825
5826 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
5827
5828         * lib/quotearg.h (quotearg_free): New decl.
5829         * lib/quotearg.c (quotearg_free): New function.
5830         (slot0, nslots, slotvec0, slotvec):
5831         Now file-scope so that quotearg_free can get at them.
5832
5833 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5834
5835         Sync from Automake.
5836         * build-aux/gnupload: Add missing 'gnu' to example URL.
5837         Report by Karl Berry.
5838
5839 2006-11-08  Bruno Haible  <bruno@clisp.org>
5840
5841         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
5842         Suggested by Paul Eggert.
5843
5844 2006-11-08  Jim Meyering  <jim@meyering.net>
5845
5846         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
5847         It's already included if !_LIBC.
5848         (fts_safe_changedir): Add a comment.
5849
5850 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
5851
5852         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
5853         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
5854         Matthew Woehlke.
5855
5856         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
5857         definitions up, to avoid colliding with change below.
5858         (static_inline) [HAVE_INLINE]: New macro.
5859         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
5860         Provide extern decls when !HAVE_INLINE.  Do not define unless
5861         static_inline is defined, either by us or by xmalloc.c.  Use
5862         static_inline rather than static inline.
5863         (XCALLOC): Optimize sizeof(T) = 1 case.
5864         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
5865
5866 2006-11-07  Bruno Haible  <bruno@clisp.org>
5867
5868         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
5869         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
5870         AC_C_INLINE.
5871         * modules/xalloc (Files): Add m4/inline.m4.
5872
5873 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5874
5875         * README: Fix typo.
5876         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
5877         (Miscellanous Notes): ...from this.
5878
5879 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
5880
5881         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
5882         Mention that offsetof should be used instead of sizeof.
5883         From Bruno Haible.
5884
5885 2006-11-07  Bruno Haible  <bruno@clisp.org>
5886
5887         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
5888
5889 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
5890
5891         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
5892         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
5893         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
5894         (gl_tree_add_before, gl_tree_add_after):
5895         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
5896         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
5897         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
5898         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
5899         (gl_linked_add_after, gl_linked_add_at): Likewise.
5900         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
5901         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
5902         (gl_tree_add_before, gl_tree_add_after): Likewise.
5903         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
5904         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
5905         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
5906
5907 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5908
5909         * lib/gl_oset.h: Use C comment style, not C++ comment style.
5910
5911 2006-11-06  Bruno Haible  <bruno@clisp.org>
5912
5913         * m4/inline.m4: New file.
5914         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
5915         * modules/list (Files): Add m4/inline.m4.
5916         * modules/oset (Files): Likewise.
5917
5918 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
5919
5920         * lib/idcache.c: Include <stddef.h>, for offsetof.
5921         (struct userid.name): Change from char * to a flexible array member.
5922         All uses changed.
5923         * modules/idcache (Depends-on): Add flexmember.
5924
5925         * MODULES.html.sh (Core language properties): New module flexmember.
5926         * modules/flexmember, m4/flexmember.m4: New files.
5927
5928         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
5929         inline functions that are identical with the old xnmalloc_inline,
5930         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
5931         that we can avoid some unnecessary integer multiplications and
5932         divisions in the common case where the element size is known at
5933         compile time.
5934         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
5935         needed.
5936         (xnboundedmalloc): Remove.
5937         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
5938         arguments, for consistency with rest of this header.
5939         (xcharalloc): Rewrite using XNMALLOC.
5940         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
5941         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
5942         versions have been moved to lib/xalloc.h and renamed to be the
5943         non-*_inline versions.
5944         (xmalloc, xrealloc): Implement without reference to the xnmalloc
5945         and xnrealloc functions, since those functions are now inline and
5946         now call us.
5947         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
5948         renaming described above.
5949         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
5950         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
5951         captures the dependency in AC_C_INLINE.
5952
5953         New module canonicalize-lgpl, proposed by Charles Wilson in
5954         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
5955         with a few small changes afterwards.
5956         * MODULES.html.sh (File system functions): New module
5957         canonicalize-lgpl.
5958         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
5959         and canonicalize_file_name.
5960         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
5961         * modules/canonicalize-lgpl: New files.
5962
5963 2006-11-05  Bruno Haible  <bruno@clisp.org>
5964
5965         * gnulib-tool (func_import, func_create_testdir): Create directories
5966         also for files in subdirectories of lib/.
5967
5968 2006-11-05  Bruno Haible  <bruno@clisp.org>
5969
5970         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
5971         ANSI C compliant.
5972
5973 2006-11-03  Bruno Haible  <bruno@clisp.org>
5974
5975         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
5976         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
5977         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
5978         (xnboundedmalloc): New inline function.
5979         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
5980         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
5981         xmalloc.
5982         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
5983         xmalloc.
5984         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
5985         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
5986         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
5987         xmalloc.
5988         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
5989         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
5990         xmalloc.
5991         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
5992         gl_tree_add_after): Use XMALLOC instead of xmalloc.
5993         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
5994         xmalloc.
5995         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
5996         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
5997         gl_tree_add_after): Use XMALLOC instead of xmalloc.
5998         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
5999         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
6000         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
6001         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
6002
6003 2006-11-03  Bruno Haible  <bruno@clisp.org>
6004
6005         * lib/c-ctype.h [C++]: Define functions without name mangling.
6006         * lib/fwriteerror.h [C++]: Likewise.
6007         * lib/gcd.h [C++]: Likewise.
6008         * lib/linebreak.h [C++]: Likewise.
6009
6010 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
6011
6012         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
6013         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
6014         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
6015         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
6016         Check for functions and headers just once.
6017         Check for declaration of canonicalize_file_name.
6018         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
6019
6020 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
6021
6022         * gnulib-tool (func_import): Fix typo in actioncmd.
6023
6024 2006-11-02  Bruno Haible  <bruno@clisp.org>
6025
6026         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
6027         newline sequence in the Makefile.am snippet as a space, like "make"
6028         does.
6029         Reported by Roger Persson <perrog@gmail.com>.
6030
6031 2006-11-01  Bruno Haible  <bruno@clisp.org>
6032
6033         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
6034         already declared in <string.h>.
6035         * lib/strcase.h (strncasecmp): Don't declare it if yes.
6036
6037 2006-11-01  Bruno Haible  <bruno@clisp.org>
6038
6039         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
6040         * lib/strcase.h: Include <string.h>.
6041         (strcasecmp): Define to rpl_strcasecmp here.
6042
6043 2006-11-01  Bruno Haible  <bruno@clisp.org>
6044
6045         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
6046
6047 2006-11-01  Eric Blake  <ebb9@byu.net>
6048
6049         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
6050
6051         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
6052
6053 2006-10-29  Bruno Haible  <bruno@clisp.org>
6054
6055         Make it compile in C++ mode.
6056         * lib/full-write.c (full_rw): Add a cast.
6057
6058 2006-11-01  Bruno Haible  <bruno@clisp.org>
6059
6060         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
6061         be POSIX compliant.
6062         Reported by Roger Persson <perrog@gmail.com>.
6063
6064 2006-11-01  Eric Blake  <ebb9@byu.net>
6065
6066         * lib/getopt_.h: Fix comments.
6067
6068 2006-10-31  Eric Blake  <ebb9@byu.net>
6069
6070         * modules/tmpdir (Depends-on): Add sys_stat.
6071         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
6072         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
6073         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
6074         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
6075         tempname.
6076
6077 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
6078
6079         Avoid some C++ diagnostics reported by Bruno Haible.
6080         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
6081         xmalloc.
6082         (quotearg_alloc): Use xcharalloc rather than xmalloc.
6083         (struct slotvec): Move to top level.
6084         (quotearg_n_options): Rewrite to avoid xmalloc.
6085         * lib/xalloc.h (xcharalloc): New function.
6086         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
6087         [defined __cplusplus]: Add function template that provides result
6088         type propagation.  This part of the change is from Bruno Haible.
6089
6090 2006-10-29  Bruno Haible  <bruno@clisp.org>
6091
6092         Make it compile in C++ mode.
6093         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
6094         * lib/strnlen1.c (strnlen1): Cast memchr result.
6095         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
6096         * lib/clean-temp.c (string_equals, string_hash): Add casts.
6097         (create_temp_dir): Rename local variable 'template'.
6098         (compile_csharp_using_sscli): Add cast.
6099         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
6100         * lib/findprog.c (find_in_path): Likewise.
6101         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
6102         * lib/wait-process.c (register_slave_subprocess): Likewise.
6103
6104 2006-10-22  Bruno Haible  <bruno@clisp.org>
6105
6106         * modules/tsearch: New file.
6107         * lib/tsearch.h: New file.
6108         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
6109         * m4/tsearch.m4: New file.
6110         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
6111
6112 2006-10-29  Eric Blake  <ebb9@byu.net>
6113
6114         * lib/arcfour.c: Assume config.h.
6115         * lib/arctwo.c: Likewise.
6116         * lib/base64.c: Likewise.
6117         * lib/check-version.c: Likewise.
6118         * lib/crc.c: Likewise.
6119         * lib/des.c: Likewise.
6120         * lib/gc-gnulib.c: Likewise.
6121         * lib/gc-libgcrypt.c: Likewise.
6122         * lib/gc-pbkdf2-sha1.c: Likewise.
6123         * lib/getaddrinfo.c: Likewise.
6124         * lib/getdelim.c: Likewise.
6125         * lib/getline.c: Likewise.
6126         * lib/hmac-md5.c: Likewise.
6127         * lib/hmac-sha1.c: Likewise.
6128         * lib/iconvme.c: Likewise.
6129         * lib/md2.c: Likewise.
6130         * lib/md4.c: Likewise.
6131         * lib/memxor.c: Likewise.
6132         * lib/read-file.c: Likewise.
6133         * lib/readline.c: Likewise.
6134         * lib/rijndael-alg-fst.c: Likewise.
6135         * lib/rijndael-api-fst.c: Likewise.
6136         * lib/xgetdomainname.c: Likewise.
6137
6138 2006-10-28  Eric Blake  <ebb9@byu.net>
6139
6140         * lib/xstrndup.c: Assume config.h.
6141
6142 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6143
6144         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
6145         stat-macros.h is now for our own macros, whereas stat_h is for
6146         macros in the <sys/stat.h> name space.
6147         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
6148         (STAT_MACROS_H): Remove.
6149         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
6150         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
6151         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
6152         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
6153         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
6154         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
6155         Move these macros to ...
6156         * lib/stat_.h: here.  Don't include stat-macros.h.
6157         * lib/canonicalize.c: Don't include stat-macros.h.
6158         * lib/chown.c: Likewise.
6159         * lib/euidaccess.c: Likewise.
6160         * lib/file-type.c: Likewise.
6161         * lib/filemode.c: Likewise.
6162         * lib/glob.c: Likewise.
6163         * lib/isapipe.c: Likewise.
6164         * lib/lchown.c: Likewise.
6165         * lib/lstat.c: Likewise.
6166         * lib/mkdir-p.c: Likewise.
6167         * lib/rmdir.c: Likewise.
6168         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
6169         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
6170         unless mkdir isn't declared, to speed up 'configure'.
6171         Always create sys/stat.h, since it's unlikely any real sys/stat.h
6172         would define all the S_* symbols.
6173         * modules/canonicalize (Depends-on):
6174         Depend on sys_stat, not stat-macros.
6175         * modules/chown: Likewise.
6176         * modules/euidaccess: Likewise.
6177         * modules/filemode: Likewise.
6178         * modules/file-type: Likewise.
6179         * modules/glob: Likewise.
6180         * modules/isapipe: Likewise.
6181         * modules/lchown: Likewise.
6182         * modules/lstat: Likewise.
6183         * modules/mkancesdirs: Likewise.
6184         * modules/rmdir: Likewise.
6185         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
6186         * modules/modechange: Likewise.
6187         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
6188         (configure.ac): Remove gl_STAT_MACROS.
6189         * modules/sys_stat (Depends-on): Remove stat-macros.
6190
6191 2006-10-27  Bruno Haible  <bruno@clisp.org>
6192
6193         * m4/signed.m4: Remove file.
6194         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
6195         invocation.
6196         * modules/vasnprintf (Files): Remove m4/signed.m4.
6197
6198 2006-10-27  Bruno Haible  <bruno@clisp.org>
6199
6200         Update to GNU gettext 0.16.
6201         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
6202         m4/inttypes-h.m4, m4/signed.m4.
6203         * m4/gettext.m4: Update to GNU gettext 0.16.
6204         * m4/intl.m4: New file, from GNU gettext.
6205         * m4/intldir.m4: New file, from GNU gettext.
6206         * config/srclist.txt: Update
6207
6208 2006-10-27  Eric Blake  <ebb9@byu.net>
6209
6210         * MODULES.html.sh: Document tempname.
6211         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
6212         dependencies.
6213         (Files): Move lib/tempname.c...
6214         * modules/tempname: ...to this new module.
6215         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
6216         (gl_PREREQ_TEMPNAME): Move...
6217         * m4/tempname.m4: ...to this new file.
6218         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
6219         * modules/sys_stat (Depends-on): Add stat-macros.
6220         * lib/stat_.h (includes): Pick up stat macros.
6221         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
6222         if stat macros are broken.
6223         * lib/tempname.c (includes): No need to include "stat-macros.h".
6224         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
6225         (direxists, __path_search) [!_LIBC]: Don't compile these in
6226         gnulib; the tmpdir module covers that.
6227         * lib/tempname.h: New file.
6228
6229 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
6230
6231         * COPYING: Explain how gnulib-tool converts licence headers.
6232         Almost all wording by Eric Blake.
6233
6234 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
6235
6236         * lib/mbchar.h (is_basic_table): Make read-only.
6237         * lib/mbchar.c (is_basic_table): Likewise.
6238         Reported by John Darrington.
6239
6240 2006-10-25  Bruno Haible  <bruno@clisp.org>
6241
6242         * lib/progname.h (set_program_name): Undefine before defining.
6243
6244 2006-10-25  Bruno Haible  <bruno@clisp.org>
6245
6246         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
6247         false for non-gcc C++ compilers.
6248         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
6249
6250 2006-10-24  Bruno Haible  <bruno@clisp.org>
6251
6252         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
6253         iconv implementations like Irix iconv.
6254
6255 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
6256
6257         * modules/vararrays: New file.
6258         * m4/vararrays.m4: New file, taken from diffutils.
6259         * MODULES.html.sh: New module vararrays.
6260
6261 2006-10-24  Karl Berry  <karl@gnu.org>
6262
6263         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
6264         Don't call GNU Unix.
6265
6266 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6267
6268         * users.txt: Add Libtool.
6269
6270         Sync from Libtool:
6271
6272         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
6273
6274         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
6275         to gnulib's policy of including config.h unconditionally.
6276
6277 2006-10-24  Bruno Haible  <bruno@clisp.org>
6278
6279         * modules/wcwidth (Files): Add m4/wint_t.m4.
6280         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
6281         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
6282
6283 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
6284
6285         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
6286         to pacify GCC with some -W flags enabled.  Problem reported by
6287         Bruno Haible.
6288
6289 2006-10-24  Jim Meyering  <jim@meyering.net>
6290
6291         * MODULES.html.sh: Remove uinttostr.  It's not a module.
6292         Reported by Karl Berry.
6293
6294 2006-10-23  Bruno Haible  <bruno@clisp.org>
6295
6296         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
6297
6298 2006-10-24  Bruno Haible  <bruno@clisp.org>
6299
6300         * lib/gl_list.h: Use C comment style, not C++ comment style.
6301
6302 2006-10-23  Eric Blake  <ebb9@byu.net>
6303
6304         * lib/getaddrinfo.c (includes): Add missing include.
6305
6306 2006-10-23  Bruno Haible  <bruno@clisp.org>
6307             Paul Eggert  <eggert@cs.ucla.edu>
6308
6309         Ability to rename obstack_free.
6310         * lib/obstack.h (__obstack_free): New macro. Declare instead of
6311         obstack_free.
6312         (obstack_free): Invoke the __obstack_free macro.
6313         * lib/obstack.c (obstack_free): Use __obstack_free macro.
6314
6315 2006-10-23  Bruno Haible  <bruno@clisp.org>
6316             Paul Eggert  <eggert@cs.ucla.edu>
6317
6318         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
6319         __argc, __argv from the declaration. (They are defined as macros on
6320         mingw.)
6321
6322 2006-10-22  Bruno Haible  <bruno@clisp.org>
6323
6324         * doc/gnulib-intro.texi: New file.
6325         * doc/gnulib.texi: Include it.
6326
6327 2006-10-21  Bruno Haible  <bruno@clisp.org>
6328
6329         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
6330         "Introduction", "Miscellanous Notes", "Particular Modules".
6331
6332 2006-10-21  Bruno Haible  <bruno@clisp.org>
6333
6334         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6335         Change mostlyclean-local rule to avoid sh syntax error from bash
6336         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
6337
6338 2006-10-23  Jim Meyering  <jim@meyering.net>
6339
6340         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
6341         in place of snprintf.
6342
6343         * modules/inttostr (Files): Add lib/uinttostr.c.
6344         * lib/uinttostr.c (inttostr): New file/function.
6345         * lib/inttostr.h (uinttostr): Declare.
6346         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
6347         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
6348         Add uinttostr.
6349         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
6350
6351 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
6352
6353         * lib/canonicalize.c (ELOOP): Define if not already defined.
6354         Problem reported by Bruno Haible in
6355         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
6356
6357 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
6358
6359         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
6360         Problem reported by Perry Smith and Ville Laurikari.
6361
6362         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
6363         uses.
6364
6365 2006-10-19  Bruno Haible  <bruno@clisp.org>
6366
6367         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
6368         for mingw.
6369
6370 2006-10-19  Bruno Haible  <bruno@clisp.org>
6371
6372         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
6373         Needed for mingw.
6374
6375 2006-10-19  Bruno Haible  <bruno@clisp.org>
6376
6377         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
6378
6379 2006-10-19  Bruno Haible  <bruno@clisp.org>
6380
6381         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
6382         it.
6383
6384 2006-10-19  Bruno Haible  <bruno@clisp.org>
6385
6386         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
6387         invocation.
6388
6389 2006-10-19  Bruno Haible  <bruno@clisp.org>
6390
6391         * gnulib-tool (func_create_testdir): Don't include ftruncate and
6392         mountlist by default.
6393
6394 2006-10-16  Bruno Haible  <bruno@clisp.org>
6395
6396         * lib/c-strstr.c: Include c-strstr.h.
6397
6398 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
6399
6400         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
6401         in a slash.
6402
6403 2006-10-18  Bruno Haible  <bruno@clisp.org>
6404
6405         * lib/lock.h [C++]: Wrap definitions in extern "C".
6406
6407 2006-10-18  Bruno Haible  <bruno@clisp.org>
6408
6409         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
6410         gl_LIBOBJS list.
6411
6412 2006-10-18  Bruno Haible  <bruno@clisp.org>
6413
6414         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
6415
6416 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
6417
6418         * lib/xstrtol.h: Include gettext.h.
6419         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
6420         Problem reported by Eric Blake.
6421         * modules/xstrtol (Depends-on): Add gettext-h.
6422
6423 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
6424
6425         * lib/strftime.c (advance): New macro.
6426         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
6427         incomplete type, so you can't add 0 to it.  Problem and patch
6428         reported by Eelco Dolstra for dietlibc.
6429
6430 2006-10-18  Jim Meyering  <jim@meyering.net>
6431
6432         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
6433         type for a local, and rename it: s/up/user_proc/.
6434
6435 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
6436
6437         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
6438         READ_UTMP_USER_PROCESS.
6439         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
6440
6441 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
6442
6443         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
6444         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
6445
6446 2006-10-17  Eric Blake  <ebb9@byu.net>
6447
6448         * lib/sigprocmask.c (sigprocmask): Fix typo.
6449
6450         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
6451
6452         * modules/clean-temp (Makefile.am): Don't add to make output...
6453         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
6454         config.h.
6455
6456 2006-10-17  Bruno Haible  <bruno@clisp.org>
6457
6458         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
6459         differently if DEFAULT_TEXT_DOMAIN is set.
6460
6461 2006-10-16  Bruno Haible  <bruno@clisp.org>
6462
6463         * lib/clean-temp.c: Include fwriteerror.h.
6464
6465 2006-10-16  Bruno Haible  <bruno@clisp.org>
6466
6467         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
6468
6469 2006-10-16  Bruno Haible  <bruno@clisp.org>
6470
6471         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
6472         * lib/sigprocmask.h: Include <sys/types.h>.
6473         (sigset_t): Use the system's definition if present.
6474
6475 2006-10-17  Eric Blake  <ebb9@byu.net>
6476
6477         * lib/xvasprintf.c (includes): Assume config.h.
6478         * lib/xasprintf.c (includes): Likewise.
6479
6480 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
6481
6482         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
6483         at least as wide as intmax_t.
6484
6485 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
6486
6487         (Imported from Automake.)
6488         * build-aux/gnupload: Update to version 1.1 of directive file.
6489
6490 2006-10-16  Eric Blake  <ebb9@byu.net>
6491
6492         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
6493         match Automake 1.10a.
6494
6495 2006-10-14  Bruno Haible  <bruno@clisp.org>
6496
6497         * modules/sigprocmask: New file.
6498         * lib/sigprocmask.h: New file.
6499         * lib/sigprocmask.c: New file.
6500         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
6501         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
6502         request sigprocmask.o.
6503         (gl_PREREQ_SIGPROCMASK): New macro.
6504         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
6505         (Depends-on): Add sigprocmask.
6506         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
6507         gt_SIGNALBLOCKING. Test for 'raise' only once.
6508         * lib/fatal-signal.c: Include sigprocmask.h.
6509         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
6510         unblock_fatal_signals): Define always.
6511         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
6512         sigprocmask.
6513
6514 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
6515
6516         Sync from Automake.
6517         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
6518         which incorrectly sets the mode of an existing destination
6519         directory.  In some cases the unpatched install-sh could do the
6520         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
6521         system.  We hope this is rare in practice, but it's clearly worth
6522         fixing.  Problem reported by Alex Unleashed in
6523         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
6524         Also, don't bother to check for -m bugs unless we're using -m;
6525         suggested by Stepan Kasal.
6526
6527 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6528
6529         Sync from Automake.
6530         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
6531         `-c' flag, so they appear at the same position as in %FASTDEP%
6532         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
6533         which ignores unknown options only after the first non-option.
6534         Bug report against M4 by Nelson H. F. Beebe.
6535
6536 2006-10-13  Jim Meyering  <jim@meyering.net>
6537
6538         Fix a bug in yesterday's change.
6539         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
6540         p->fts_statp->st_dev would be used uninitialized.
6541         Ensures that we always call fts_stat on the very first entry.
6542         Miklos Szeredi reported that find -xdev stopped working.
6543
6544 2006-10-12  Bruno Haible  <bruno@clisp.org>
6545
6546         * gnulib-tool (func_get_automake_snippet): Append an automatically
6547         computed EXTRA_DIST augmentation.
6548         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
6549         * modules/alloca-opt (Makefile.am): Likewise.
6550         * modules/allocsa (Makefile.am): Likewise.
6551         * modules/arcfour (Makefile.am): Likewise.
6552         * modules/arctwo (Makefile.am): Likewise.
6553         * modules/argmatch (Makefile.am): Likewise.
6554         * modules/argz (Makefile.am): Likewise.
6555         * modules/atexit (Makefile.am): Likewise.
6556         * modules/backupfile (Makefile.am): Likewise.
6557         * modules/byteswap (Makefile.am): Likewise.
6558         * modules/c-strtod (Makefile.am): Likewise.
6559         * modules/c-strtold (Makefile.am): Likewise.
6560         * modules/calloc (Makefile.am): Likewise.
6561         * modules/canon-host (Makefile.am): Likewise.
6562         * modules/canonicalize (Makefile.am): Likewise.
6563         * modules/chdir-long (Makefile.am): Likewise.
6564         * modules/chdir-safer (Makefile.am): Likewise.
6565         * modules/check-version (Makefile.am): Likewise.
6566         * modules/chown (Makefile.am): Likewise.
6567         * modules/cloexec (Makefile.am): Likewise.
6568         * modules/close-stream (Makefile.am): Likewise.
6569         * modules/closeout (Makefile.am): Likewise.
6570         * modules/crc (Makefile.am): Likewise.
6571         * modules/csharpexec (Makefile.am): Likewise.
6572         * modules/cycle-check (Makefile.am): Likewise.
6573         * modules/des (Makefile.am): Likewise.
6574         * modules/dev-ino (Makefile.am): Likewise.
6575         * modules/dirfd (Makefile.am): Likewise.
6576         * modules/dirname (Makefile.am): Likewise.
6577         * modules/dup2 (Makefile.am): Likewise.
6578         * modules/eealloc (Makefile.am): Likewise.
6579         * modules/error (Makefile.am): Likewise.
6580         * modules/euidaccess (Makefile.am): Likewise.
6581         * modules/exclude (Makefile.am): Likewise.
6582         * modules/exitfail (Makefile.am): Likewise.
6583         * modules/fcntl-safer (Makefile.am): Likewise.
6584         * modules/fcntl (Makefile.am): Likewise.
6585         * modules/file-type (Makefile.am): Likewise.
6586         * modules/fileblocks (Makefile.am): Likewise.
6587         * modules/filemode (Makefile.am): Likewise.
6588         * modules/filenamecat (Makefile.am): Likewise.
6589         * modules/fnmatch (Makefile.am): Likewise.
6590         * modules/fopen-safer (Makefile.am): Likewise.
6591         * modules/fpending (Makefile.am): Likewise.
6592         * modules/fprintftime (Makefile.am): Likewise.
6593         * modules/free (Makefile.am): Likewise.
6594         * modules/fsusage (Makefile.am): Likewise.
6595         * modules/ftruncate (Makefile.am): Likewise.
6596         * modules/fts (Makefile.am): Likewise.
6597         * modules/gc-arcfour (Makefile.am): Likewise.
6598         * modules/gc-des (Makefile.am): Likewise.
6599         * modules/gc-hmac-md5 (Makefile.am): Likewise.
6600         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
6601         * modules/gc-md4 (Makefile.am): Likewise.
6602         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
6603         * modules/gc-sha1 (Makefile.am): Likewise.
6604         * modules/gc (Makefile.am): Likewise.
6605         * modules/getaddrinfo (Makefile.am): Likewise.
6606         * modules/getcwd (Makefile.am): Likewise.
6607         * modules/getdelim (Makefile.am): Likewise.
6608         * modules/getdomainname (Makefile.am): Likewise.
6609         * modules/getgroups (Makefile.am): Likewise.
6610         * modules/gethostname (Makefile.am): Likewise.
6611         * modules/gethrxtime (Makefile.am): Likewise.
6612         * modules/getline (Makefile.am): Likewise.
6613         * modules/getloadavg (Makefile.am): Likewise.
6614         * modules/getlogin_r (Makefile.am): Likewise.
6615         * modules/getndelim2 (Makefile.am): Likewise.
6616         * modules/getopt (Makefile.am): Likewise.
6617         * modules/getpagesize (Makefile.am): Likewise.
6618         * modules/getpass-gnu (Makefile.am): Likewise.
6619         * modules/getpass (Makefile.am): Likewise.
6620         * modules/getsubopt (Makefile.am): Likewise.
6621         * modules/gettime (Makefile.am): Likewise.
6622         * modules/gettimeofday (Makefile.am): Likewise.
6623         * modules/getugroups (Makefile.am): Likewise.
6624         * modules/getusershell (Makefile.am): Likewise.
6625         * modules/glob (Makefile.am): Likewise.
6626         * modules/group-member (Makefile.am): Likewise.
6627         * modules/hard-locale (Makefile.am): Likewise.
6628         * modules/hash (Makefile.am): Likewise.
6629         * modules/hmac-md5 (Makefile.am): Likewise.
6630         * modules/hmac-sha1 (Makefile.am): Likewise.
6631         * modules/human (Makefile.am): Likewise.
6632         * modules/idcache (Makefile.am): Likewise.
6633         * modules/imaxabs (Makefile.am): Likewise.
6634         * modules/imaxdiv (Makefile.am): Likewise.
6635         * modules/inet_ntop (Makefile.am): Likewise.
6636         * modules/inet_pton (Makefile.am): Likewise.
6637         * modules/intprops (Makefile.am): Likewise.
6638         * modules/inttostr (Makefile.am): Likewise.
6639         * modules/inttypes (Makefile.am): Likewise.
6640         * modules/isapipe (Makefile.am): Likewise.
6641         * modules/javaversion (Makefile.am): Likewise.
6642         * modules/lchmod (Makefile.am): Likewise.
6643         * modules/lchown (Makefile.am): Likewise.
6644         * modules/localcharset (Makefile.am): Likewise.
6645         * modules/long-options (Makefile.am): Likewise.
6646         * modules/lstat (Makefile.am): Likewise.
6647         * modules/malloc (Makefile.am): Likewise.
6648         * modules/mathl (Makefile.am): Likewise.
6649         * modules/mbchar (Makefile.am): Likewise.
6650         * modules/md2 (Makefile.am): Likewise.
6651         * modules/md4 (Makefile.am): Likewise.
6652         * modules/md5 (Makefile.am): Likewise.
6653         * modules/memcasecmp (Makefile.am): Likewise.
6654         * modules/memchr (Makefile.am): Likewise.
6655         * modules/memcmp (Makefile.am): Likewise.
6656         * modules/memcoll (Makefile.am): Likewise.
6657         * modules/memcpy (Makefile.am): Likewise.
6658         * modules/memmem (Makefile.am): Likewise.
6659         * modules/memmove (Makefile.am): Likewise.
6660         * modules/mempcpy (Makefile.am): Likewise.
6661         * modules/memrchr (Makefile.am): Likewise.
6662         * modules/memset (Makefile.am): Likewise.
6663         * modules/memxor (Makefile.am): Likewise.
6664         * modules/mkancesdirs (Makefile.am): Likewise.
6665         * modules/mkdir-p (Makefile.am): Likewise.
6666         * modules/mkdir (Makefile.am): Likewise.
6667         * modules/mkdtemp (Makefile.am): Likewise.
6668         * modules/mkstemp (Makefile.am): Likewise.
6669         * modules/mktime (Makefile.am): Likewise.
6670         * modules/modechange (Makefile.am): Likewise.
6671         * modules/mountlist (Makefile.am): Likewise.
6672         * modules/nanosleep (Makefile.am): Likewise.
6673         * modules/obstack (Makefile.am): Likewise.
6674         * modules/openat (Makefile.am): Likewise.
6675         * modules/pagealign_alloc (Makefile.am): Likewise.
6676         * modules/pathmax (Makefile.am): Likewise.
6677         * modules/physmem (Makefile.am): Likewise.
6678         * modules/poll (Makefile.am): Likewise.
6679         * modules/posixtm (Makefile.am): Likewise.
6680         * modules/posixver (Makefile.am): Likewise.
6681         * modules/putenv (Makefile.am): Likewise.
6682         * modules/quote (Makefile.am): Likewise.
6683         * modules/quotearg (Makefile.am): Likewise.
6684         * modules/raise (Makefile.am): Likewise.
6685         * modules/read-file (Makefile.am): Likewise.
6686         * modules/readline (Makefile.am): Likewise.
6687         * modules/readlink (Makefile.am): Likewise.
6688         * modules/readtokens (Makefile.am): Likewise.
6689         * modules/readutmp (Makefile.am): Likewise.
6690         * modules/realloc (Makefile.am): Likewise.
6691         * modules/regex (Makefile.am): Likewise.
6692         * modules/rename-dest-slash (Makefile.am): Likewise.
6693         * modules/rename (Makefile.am): Likewise.
6694         * modules/rijndael (Makefile.am): Likewise.
6695         * modules/rmdir (Makefile.am): Likewise.
6696         * modules/rpmatch (Makefile.am): Likewise.
6697         * modules/safe-read (Makefile.am): Likewise.
6698         * modules/safe-write (Makefile.am): Likewise.
6699         * modules/same-inode (Makefile.am): Likewise.
6700         * modules/same (Makefile.am): Likewise.
6701         * modules/save-cwd (Makefile.am): Likewise.
6702         * modules/savedir (Makefile.am): Likewise.
6703         * modules/setenv (Makefile.am): Likewise.
6704         * modules/settime (Makefile.am): Likewise.
6705         * modules/sha1 (Makefile.am): Likewise.
6706         * modules/sig2str (Makefile.am): Likewise.
6707         * modules/snprintf (Makefile.am): Likewise.
6708         * modules/stat-macros (Makefile.am): Likewise.
6709         * modules/stat-time (Makefile.am): Likewise.
6710         * modules/stdbool (Makefile.am): Likewise.
6711         * modules/stdint (Makefile.am): Likewise.
6712         * modules/stdlib-safer (Makefile.am): Likewise.
6713         * modules/stpcpy (Makefile.am): Likewise.
6714         * modules/stpncpy (Makefile.am): Likewise.
6715         * modules/strcase (Makefile.am): Likewise.
6716         * modules/strcasestr (Makefile.am): Likewise.
6717         * modules/strchrnul (Makefile.am): Likewise.
6718         * modules/strcspn (Makefile.am): Likewise.
6719         * modules/strdup (Makefile.am): Likewise.
6720         * modules/strerror (Makefile.am): Likewise.
6721         * modules/strftime (Makefile.am): Likewise.
6722         * modules/strndup (Makefile.am): Likewise.
6723         * modules/strnlen (Makefile.am): Likewise.
6724         * modules/strpbrk (Makefile.am): Likewise.
6725         * modules/strsep (Makefile.am): Likewise.
6726         * modules/strstr (Makefile.am): Likewise.
6727         * modules/strtod (Makefile.am): Likewise.
6728         * modules/strtoimax (Makefile.am): Likewise.
6729         * modules/strtok_r (Makefile.am): Likewise.
6730         * modules/strtol (Makefile.am): Likewise.
6731         * modules/strtoll (Makefile.am): Likewise.
6732         * modules/strtoul (Makefile.am): Likewise.
6733         * modules/strtoull (Makefile.am): Likewise.
6734         * modules/strtoumax (Makefile.am): Likewise.
6735         * modules/strverscmp (Makefile.am): Likewise.
6736         * modules/sys_socket (Makefile.am): Likewise.
6737         * modules/sys_stat (Makefile.am): Likewise.
6738         * modules/sysexits (Makefile.am): Likewise.
6739         * modules/time_r (Makefile.am): Likewise.
6740         * modules/timegm (Makefile.am): Likewise.
6741         * modules/timespec (Makefile.am): Likewise.
6742         * modules/tmpfile-safer (Makefile.am): Likewise.
6743         * modules/trim (Makefile.am): Likewise.
6744         * modules/unistd-safer (Makefile.am): Likewise.
6745         * modules/unlinkdir (Makefile.am): Likewise.
6746         * modules/unlocked-io (Makefile.am): Likewise.
6747         * modules/userspec (Makefile.am): Likewise.
6748         * modules/utime (Makefile.am): Likewise.
6749         * modules/utimecmp (Makefile.am): Likewise.
6750         * modules/utimens (Makefile.am): Likewise.
6751         * modules/vasnprintf (Makefile.am): Likewise.
6752         * modules/vasprintf (Makefile.am): Likewise.
6753         * modules/vsnprintf (Makefile.am): Likewise.
6754         * modules/xalloc (Makefile.am): Likewise.
6755         * modules/xgetcwd (Makefile.am): Likewise.
6756         * modules/xnanosleep (Makefile.am): Likewise.
6757         * modules/xreadlink (Makefile.am): Likewise.
6758         * modules/xstrtod (Makefile.am): Likewise.
6759         * modules/xstrtol (Makefile.am): Likewise.
6760         * modules/xstrtold (Makefile.am): Likewise.
6761         * modules/yesno (Makefile.am): Likewise.
6762         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
6763
6764 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
6765
6766         * modules/error (Makefile.am): Distribute files through
6767         EXTRA_DIST, not lib_SOURCES.
6768
6769 2006-10-12  Eric Blake  <ebb9@byu.net>
6770
6771         * modules/error (Makefile.am): Distribute files in /lib.
6772         * modules/obstack (Makefile.am): Likewise.
6773
6774 2006-10-12  Bruno Haible  <bruno@clisp.org>
6775
6776         * modules/acl (Makefile.am): Distribute all files in lib/ through
6777         EXTRA_DIST.
6778         * modules/arcfour (Makefile.am): Likewise.
6779         * modules/arctwo (Makefile.am): Likewise.
6780         * modules/argmatch (Makefile.am): Likewise.
6781         * modules/argz (Makefile.am): Likewise.
6782         * modules/atexit (Makefile.am): Likewise.
6783         * modules/backupfile (Makefile.am): Likewise.
6784         * modules/c-strtod (Makefile.am): Likewise.
6785         * modules/c-strtold (Makefile.am): Likewise.
6786         * modules/calloc (Makefile.am): Likewise.
6787         * modules/canon-host (Makefile.am): Likewise.
6788         * modules/canonicalize (Makefile.am): Likewise.
6789         * modules/chdir-long (Makefile.am): Likewise.
6790         * modules/chdir-safer (Makefile.am): Likewise.
6791         * modules/check-version (Makefile.am): Likewise.
6792         * modules/chown (Makefile.am): Likewise.
6793         * modules/cloexec (Makefile.am): Likewise.
6794         * modules/close-stream (Makefile.am): Likewise.
6795         * modules/closeout (Makefile.am): Likewise.
6796         * modules/crc (Makefile.am): Likewise.
6797         * modules/cycle-check (Makefile.am): Likewise.
6798         * modules/des (Makefile.am): Likewise.
6799         * modules/dirfd (Makefile.am): Likewise.
6800         * modules/dirname (Makefile.am): Likewise.
6801         * modules/dup2 (Makefile.am): Likewise.
6802         * modules/euidaccess (Makefile.am): Likewise.
6803         * modules/exclude (Makefile.am): Likewise.
6804         * modules/exitfail (Makefile.am): Likewise.
6805         * modules/fcntl-safer (Makefile.am): Likewise.
6806         * modules/file-type (Makefile.am): Likewise.
6807         * modules/fileblocks (Makefile.am): Likewise.
6808         * modules/filemode (Makefile.am): Likewise.
6809         * modules/filenamecat (Makefile.am): Likewise.
6810         * modules/fnmatch (Makefile.am): Likewise.
6811         * modules/fopen-safer (Makefile.am): Likewise.
6812         * modules/fpending (Makefile.am): Likewise.
6813         * modules/fprintftime (Makefile.am): Likewise.
6814         * modules/free (Makefile.am): Likewise.
6815         * modules/fsusage (Makefile.am): Likewise.
6816         * modules/ftruncate (Makefile.am): Likewise.
6817         * modules/fts (Makefile.am): Likewise.
6818         * modules/gc (Makefile.am): Likewise.
6819         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
6820         * modules/getaddrinfo (Makefile.am): Likewise.
6821         * modules/getcwd (Makefile.am): Likewise.
6822         * modules/getdelim (Makefile.am): Likewise.
6823         * modules/getdomainname (Makefile.am): Likewise.
6824         * modules/getgroups (Makefile.am): Likewise.
6825         * modules/gethostname (Makefile.am): Likewise.
6826         * modules/gethrxtime (Makefile.am): Likewise.
6827         * modules/getline (Makefile.am): Likewise.
6828         * modules/getloadavg (Makefile.am): Likewise.
6829         * modules/getlogin_r (Makefile.am): Likewise.
6830         * modules/getopt (Makefile.am): Likewise.
6831         * modules/getpass (Makefile.am): Likewise.
6832         * modules/getpass-gnu (Makefile.am): Likewise.
6833         * modules/getsubopt (Makefile.am): Likewise.
6834         * modules/gettime (Makefile.am): Likewise.
6835         * modules/gettimeofday (Makefile.am): Likewise.
6836         * modules/getugroups (Makefile.am): Likewise.
6837         * modules/getusershell (Makefile.am): Likewise.
6838         * modules/glob (Makefile.am): Likewise.
6839         * modules/group-member (Makefile.am): Likewise.
6840         * modules/hard-locale (Makefile.am): Likewise.
6841         * modules/hash (Makefile.am): Likewise.
6842         * modules/hmac-md5 (Makefile.am): Likewise.
6843         * modules/hmac-sha1 (Makefile.am): Likewise.
6844         * modules/human (Makefile.am): Likewise.
6845         * modules/idcache (Makefile.am): Likewise.
6846         * modules/imaxabs (Makefile.am): Likewise.
6847         * modules/imaxdiv (Makefile.am): Likewise.
6848         * modules/inet_ntop (Makefile.am): Likewise.
6849         * modules/inet_pton (Makefile.am): Likewise.
6850         * modules/inttostr (Makefile.am): Likewise.
6851         * modules/isapipe (Makefile.am): Likewise.
6852         * modules/lchown (Makefile.am): Likewise.
6853         * modules/long-options (Makefile.am): Likewise.
6854         * modules/lstat (Makefile.am): Likewise.
6855         * modules/malloc (Makefile.am): Likewise.
6856         * modules/mathl (Makefile.am): Likewise.
6857         * modules/mbchar (Makefile.am): Likewise.
6858         * modules/md2 (Makefile.am): Likewise.
6859         * modules/md4 (Makefile.am): Likewise.
6860         * modules/md5 (Makefile.am): Likewise.
6861         * modules/memcasecmp (Makefile.am): Likewise.
6862         * modules/memchr (Makefile.am): Likewise.
6863         * modules/memcmp (Makefile.am): Likewise.
6864         * modules/memcoll (Makefile.am): Likewise.
6865         * modules/memcpy (Makefile.am): Likewise.
6866         * modules/memmem (Makefile.am): Likewise.
6867         * modules/memmove (Makefile.am): Likewise.
6868         * modules/mempcpy (Makefile.am): Likewise.
6869         * modules/memrchr (Makefile.am): Likewise.
6870         * modules/memset (Makefile.am): Likewise.
6871         * modules/memxor (Makefile.am): Likewise.
6872         * modules/mkancesdirs (Makefile.am): Likewise.
6873         * modules/mkdir (Makefile.am): Likewise.
6874         * modules/mkdir-p (Makefile.am): Likewise.
6875         * modules/mkdtemp (Makefile.am): Likewise.
6876         * modules/mkstemp (Makefile.am): Likewise.
6877         * modules/mktime (Makefile.am): Likewise.
6878         * modules/modechange (Makefile.am): Likewise.
6879         * modules/mountlist (Makefile.am): Likewise.
6880         * modules/nanosleep (Makefile.am): Likewise.
6881         * modules/openat (Makefile.am): Likewise.
6882         * modules/pagealign_alloc (Makefile.am): Likewise.
6883         * modules/physmem (Makefile.am): Likewise.
6884         * modules/poll (Makefile.am): Likewise.
6885         * modules/posixtm (Makefile.am): Likewise.
6886         * modules/posixver (Makefile.am): Likewise.
6887         * modules/putenv (Makefile.am): Likewise.
6888         * modules/quote (Makefile.am): Likewise.
6889         * modules/quotearg (Makefile.am): Likewise.
6890         * modules/raise (Makefile.am): Likewise.
6891         * modules/read-file (Makefile.am): Likewise.
6892         * modules/readline (Makefile.am): Likewise.
6893         * modules/readlink (Makefile.am): Likewise.
6894         * modules/readtokens (Makefile.am): Likewise.
6895         * modules/readutmp (Makefile.am): Likewise.
6896         * modules/realloc (Makefile.am): Likewise.
6897         * modules/regex (Makefile.am): Likewise.
6898         * modules/rename (Makefile.am): Likewise.
6899         * modules/rename-dest-slash (Makefile.am): Likewise.
6900         * modules/rijndael (Makefile.am): Likewise.
6901         * modules/rmdir (Makefile.am): Likewise.
6902         * modules/rpmatch (Makefile.am): Likewise.
6903         * modules/safe-read (Makefile.am): Likewise.
6904         * modules/safe-write (Makefile.am): Likewise.
6905         * modules/same (Makefile.am): Likewise.
6906         * modules/save-cwd (Makefile.am): Likewise.
6907         * modules/savedir (Makefile.am): Likewise.
6908         * modules/setenv (Makefile.am): Likewise.
6909         * modules/settime (Makefile.am): Likewise.
6910         * modules/sha1 (Makefile.am): Likewise.
6911         * modules/sig2str (Makefile.am): Likewise.
6912         * modules/snprintf (Makefile.am): Likewise.
6913         * modules/stdlib-safer (Makefile.am): Likewise.
6914         * modules/stpcpy (Makefile.am): Likewise.
6915         * modules/stpncpy (Makefile.am): Likewise.
6916         * modules/strcase (Makefile.am): Likewise.
6917         * modules/strcasestr (Makefile.am): Likewise.
6918         * modules/strchrnul (Makefile.am): Likewise.
6919         * modules/strcspn (Makefile.am): Likewise.
6920         * modules/strdup (Makefile.am): Likewise.
6921         * modules/strerror (Makefile.am): Likewise.
6922         * modules/strftime (Makefile.am): Likewise.
6923         * modules/strndup (Makefile.am): Likewise.
6924         * modules/strnlen (Makefile.am): Likewise.
6925         * modules/strpbrk (Makefile.am): Likewise.
6926         * modules/strsep (Makefile.am): Likewise.
6927         * modules/strstr (Makefile.am): Likewise.
6928         * modules/strtod (Makefile.am): Likewise.
6929         * modules/strtoimax (Makefile.am): Likewise.
6930         * modules/strtok_r (Makefile.am): Likewise.
6931         * modules/strtol (Makefile.am): Likewise.
6932         * modules/strtoll (Makefile.am): Likewise.
6933         * modules/strtoul (Makefile.am): Likewise.
6934         * modules/strtoull (Makefile.am): Likewise.
6935         * modules/strtoumax (Makefile.am): Likewise.
6936         * modules/strverscmp (Makefile.am): Likewise.
6937         * modules/time_r (Makefile.am): Likewise.
6938         * modules/timegm (Makefile.am): Likewise.
6939         * modules/tmpfile-safer (Makefile.am): Likewise.
6940         * modules/unistd-safer (Makefile.am): Likewise.
6941         * modules/unlinkdir (Makefile.am): Likewise.
6942         * modules/userspec (Makefile.am): Likewise.
6943         * modules/utime (Makefile.am): Likewise.
6944         * modules/utimecmp (Makefile.am): Likewise.
6945         * modules/utimens (Makefile.am): Likewise.
6946         * modules/vasnprintf (Makefile.am): Likewise.
6947         * modules/vasprintf (Makefile.am): Likewise.
6948         * modules/vsnprintf (Makefile.am): Likewise.
6949         * modules/xalloc (Makefile.am): Likewise.
6950         * modules/xgetcwd (Makefile.am): Likewise.
6951         * modules/xnanosleep (Makefile.am): Likewise.
6952         * modules/xreadlink (Makefile.am): Likewise.
6953         * modules/xstrtod (Makefile.am): Likewise.
6954         * modules/xstrtol (Makefile.am): Likewise.
6955         * modules/xstrtold (Makefile.am): Likewise.
6956         * modules/yesno (Makefile.am): Likewise.
6957
6958 2006-10-12  Jim Meyering  <jim@meyering.net>
6959
6960         * m4/getloadavg.m4: Revert the change below.
6961
6962         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
6963         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
6964         fail with a symlink, which is what coreutils' ./bootstrap now
6965         creates by default.
6966
6967 2006-10-12  Bruno Haible  <bruno@clisp.org>
6968
6969         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
6970         mingw.
6971         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
6972         MSVC and mingw explicitly.
6973
6974 2006-10-11  Simon Josefsson  <jas@extundo.com>
6975             Bruno Haible  <bruno@clisp.org>
6976
6977         Add support for multiple gnulib-tool invocations in the scope of a
6978         single configure.ac file.
6979         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
6980         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
6981         with the same contents as the _LIBADD variable.
6982         (func_emit_initmacro_start, func_emit_initmacro_end,
6983         func_emit_initmacro_done): New functions.
6984         (func_import, func_create_testdir): Invoke them. Allow the identifiers
6985         gl_LIBOBJS and gl_LTLIBOBJS.
6986
6987 2006-10-11  Bruno Haible  <bruno@clisp.org>
6988
6989         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
6990         (func_create_testdir): Don't create po/Makefile.am, don't invoke
6991         autoreconf. Instead, invoke autopoint explicitly but move back the
6992         *.m4 files from gnulib.
6993
6994 2006-10-11  Bruno Haible  <bruno@clisp.org>
6995
6996         * gnulib-tool (func_usage): Make module names after --create-testdir
6997         optional.
6998         (func_create_testdir): If no module was specified, use nearly all
6999         modules.
7000
7001 2006-10-12  Jim Meyering  <jim@meyering.net>
7002
7003         Big performance improvement for fts-based tools that use FTS_NOSTAT.
7004         Avoid spurious inode-mismatch problems on non-POSIX file systems.
7005         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
7006         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
7007         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
7008         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
7009         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
7010         (fts_set_stat_required): New function.
7011         (fts_open): Defer the calls to fts_stat, if possible or requested.
7012         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
7013         into fts_stat itself.
7014         (fts_read): Perform any required (deferred) fts_stat call.
7015         (fts_build): Likewise, for the directory we're about to open and read.
7016         In the readdir loop, carefully decide whether each entry will require
7017         an eventual call to fts_stat, using dirent.d_type info if available.
7018         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
7019         a command line argument into this function.  Update all callers.
7020         Map a return value of FTS_DOT to FTS_D for a command line argument.
7021         * modules/fts (Depends-on): Add d-type.  Alphabetize.
7022         Thanks to Miklos Szeredi for his tenacity and for the initial
7023         bug report about "find" failing on a FUSE-based file system.
7024
7025         * lib/fts.c (fts_open): Use consistent indentation.
7026
7027 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
7028
7029         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
7030         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
7031         reported by Jim Meyering.  All uses of cache variables renamed
7032         to match Autoconf's.
7033         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
7034         the other one.
7035
7036         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
7037         Fix misspelling in diagnostic.
7038
7039 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
7040
7041         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
7042         defined.  Problem reported by Matthew Woehlke.
7043
7044         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
7045         Add support for Tandem NonStop R series.
7046         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
7047         Use new macro.
7048
7049         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
7050         (has_trailing_slash): Omit size arg; all callers changed.
7051         Omit 'inline', since it doesn't help performance and we'd
7052         need to configure it.
7053         Don't count //, ///, etc. as having a trailing slash.
7054         As a side effect, this removes a C99ism reported by Matthew Woehlke.
7055         (rpl_rename_dest_slash): On failure, use rename's errno rather
7056         than (in some cases) an incorrect or junk errno.
7057         Simplify code by removing need to compute length; this does
7058         cause it to make two passes instead of one over the file name,
7059         but it's worth it.
7060
7061         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
7062         change, since Autoconf's version may no longer be appropriate now
7063         that we are using CVS Autoconf's version.  Add support for Tandem.
7064
7065 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
7066             Bruno Haible  <bruno@clisp.org>
7067
7068         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
7069         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
7070         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
7071         gl_AC_TYPE_LONG_LONG.
7072
7073         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
7074         instead of HAVE_LONG_LONG.
7075         * lib/printf-args.c (printf_fetchargs): Likewise.
7076         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
7077         * lib/vasnprintf.c (VASNPRINTF): Likewise.
7078         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
7079         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
7080         gl_AC_TYPE_LONG_LONG.
7081
7082 2006-10-11  Bruno Haible  <bruno@clisp.org>
7083
7084         * m4/longlong.m4: Add comments.
7085         * m4/ulonglong.m4: Likewise.
7086
7087 2006-10-10  Bruno Haible  <bruno@clisp.org>
7088
7089         Make it possible to #define stpcpy, strdup to aliases.
7090         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
7091         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
7092
7093 2006-10-10  Bruno Haible  <bruno@clisp.org>
7094
7095         Make it possible to #define gcd to an alias.
7096         * lib/gcd.c: Include config.h.
7097
7098 2006-10-10  Bruno Haible  <bruno@clisp.org>
7099
7100         Make it possible to #define c_isascii to an alias.
7101         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
7102         defined. Undefine the macros before defining them, to avoid gcc
7103         warnings.
7104         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
7105         define NO_C_CTYPE_MACROS early.
7106
7107 2006-10-10  Bruno Haible  <bruno@clisp.org>
7108
7109         Make it possible to #define set_program_name to an alias.
7110         * lib/progname.c: Don't undefine set_program_name; instead, undefine
7111         ENABLE_RELOCATABLE early.
7112
7113 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
7114
7115         Port to Tandem NSK OSS, which has 64-bit signed int but at most
7116         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
7117         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
7118         More generally, don't assume that 64-bit signed int is available
7119         if unsigned int is, and vice versa.
7120         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
7121         unsigned symbols, not on their signed counterparts.
7122         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
7123         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
7124         (UINT64_C, UINTMAX_C):
7125         Likewise.
7126         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
7127         unsigned counterparts.
7128         (Have_long_long, Unsigned): New macros.
7129         (Int): Renamed from INT.
7130         (strtoimax): Use the new macros.
7131         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
7132         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
7133         * modules/inttypes (inttypes.h): Substitute
7134         HAVE_UNSIGNED_LONG_LONG_INT.
7135         * modules/stdint (stdint.h): Likewise.
7136         (Files): Add m4/ulonglong.m4.
7137
7138 2006-10-10  Bruno Haible  <bruno@clisp.org>
7139
7140         Fix a gcc -Wshadow warning.
7141         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
7142         to 'bucket'.
7143         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
7144         gl_linked_indexof_from_to): Likewise.
7145         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
7146         Likewise.
7147         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
7148         Likewise.
7149         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
7150         Reported by Eric Blake.
7151
7152 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
7153
7154         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
7155         for NetBSD.  Problem reported by Bruno Haible.
7156
7157 2006-10-09  Jim Meyering  <jim@meyering.net>
7158
7159         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
7160         Patch from Bruno Haible.
7161
7162 2006-10-09  Jim Meyering  <jim@meyering.net>
7163
7164         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
7165         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
7166         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
7167
7168 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7169
7170         Don't include <config.h> twice; this doesn't work in some cases,
7171         e.g., when config.h has "#define intmax_t long long int" and
7172         we include <config.h>, <inttypes.h>, <config.h> in that order.
7173         Problem reported by Matthew Woehlke in:
7174         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
7175         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
7176         * lib/fts-cycle.c: Don't include config.h.
7177         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
7178         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
7179         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
7180         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
7181         inttypes.h.
7182         * lib/xstrtoumax.c: Likewise.
7183         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
7184         __strtol and the like, so that this module is more like its siblings.
7185         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
7186         Remove; no longer needed now that we assume gnulib inttypes.h.
7187
7188 2006-10-08  Bruno Haible  <bruno@clisp.org>
7189
7190         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
7191         option.
7192
7193 2006-10-07  Jim Meyering  <jim@meyering.net>
7194
7195         * modules/inttypes (inttypes.h): Revert what seems to have been
7196         an inadvertent part of today's change: use "|", not "/" in the
7197         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
7198
7199 2006-10-07  Bruno Haible  <bruno@clisp.org>
7200
7201         * modules/sublist: New file.
7202
7203 2006-10-07  Bruno Haible  <bruno@clisp.org>
7204
7205         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
7206         * modules/argz (argz.h): Likewise.
7207         * modules/arpa_inet (arpa/inet.h): Likewise.
7208         * modules/byteswap (byteswap.h): Likewise.
7209         * modules/configmake (configmake.h): Likewise.
7210         * modules/fcntl (fcntl.h): Likewise.
7211         * modules/fnmatch (fnmatch.h): Likewise.
7212         * modules/getopt (getopt.h): Likewise.
7213         * modules/glob (glob.h): Likewise.
7214         * modules/inttypes (inttypes.h): Likewise.
7215         * modules/netinet_in (netinet/in.h): Likewise.
7216         * modules/poll (poll.h): Likewise.
7217         * modules/stdbool (stdbool.h): Likewise.
7218         * modules/stdint (stdint.h): Likewise.
7219         * modules/sys_select (sys/select.h): Likewise.
7220         * modules/sys_socket (sys/socket.h): Likewise.
7221         * modules/sys_stat (sys/stat.h): Likewise.
7222         * modules/sysexits (sysexits.h): Likewise.
7223         * modules/unistd (unistd.h): Likewise.
7224         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7225         Add a "DO NOT EDIT" comment to the generated file.
7226         (func_import): Likewise for gnulib-comp.m4.
7227
7228 2006-10-07  Bruno Haible  <bruno@clisp.org>
7229
7230         * lib/gl_sublist.h: New file.
7231         * lib/gl_sublist.c: New file.
7232
7233 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
7234
7235         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
7236         name (relative to the original working directory) and the file
7237         name component (relative to the temporary working directory).  All
7238         callers changed.
7239         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
7240         * lib/mkdir-p.c (make_dir_parents): Likewise.
7241         * lib/mkdir-p.h (make_dir_parents): Likewise.
7242
7243 2006-10-06  Eric Blake  <ebb9@byu.net>
7244
7245         Define several macros for use by the clean-temp module.
7246         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
7247         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
7248         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
7249
7250         * lib/clean-temp.h (close_stream_temp): New declaration.
7251         * lib/clean-temp.c (includes): Pull in headers according to what
7252         other modules are in use.
7253         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
7254
7255 2006-10-06  Bruno Haible  <bruno@clisp.org>
7256
7257         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
7258         instead of fopen, fwriteerror.
7259
7260 2006-10-06  Bruno Haible  <bruno@clisp.org>
7261
7262         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
7263         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
7264         int.
7265         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
7266         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
7267         Return an error indicator.
7268         Suggested by Eric Blake.
7269
7270 2006-10-06  Bruno Haible  <bruno@clisp.org>
7271
7272         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
7273         Reported by Eric Blake.
7274
7275 2006-10-06  Bruno Haible  <bruno@clisp.org>
7276
7277         * modules/closeout (Description): Mention stderr too.
7278
7279 2006-10-06  Bruno Haible  <bruno@clisp.org>
7280         and Paul Eggert  <eggert@cs.ucla.edu>
7281
7282         * lib/closeout.c (close_stdout): Also close stderr.
7283         * lib/closeout.h: Update comment.
7284
7285 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7286
7287         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
7288         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
7289         * lib/dirchownmod.c: Include lchown.h.
7290         * lib/lchown.c: Don't include files that lchown.h now includes.
7291         Don't declare chown, since lchown.h now does that.
7292         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
7293         (lchown): Define to rpl_chown if lchown is declared but
7294         does not exist.  Declare using a prototype if lchown is not
7295         declared.  Add a copyright notice.
7296         * lib/mkstemp.h: Include <unistd.h>.
7297         * lib/openat.c: Include lchown.h.
7298
7299         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
7300         we now test for that separately.
7301         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
7302         rather than O_NOFOLLOW, when testing whether it's possible to
7303         avoid a race condition reliably.
7304         * lib/savewd.c (savewd_chdir): Likewise.
7305
7306         Remove macros that are no longer needed now that stdint.h is
7307         reliable.
7308         * lib/fsusage.c (UINTMAX_MAX): Remove.
7309         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
7310         * lib/utimecmp.c (SIZE_MAX): Remove.
7311
7312         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
7313
7314         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
7315         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
7316         O_NOATIME works.
7317
7318 2006-10-05  Bruno Haible  <bruno@clisp.org>
7319
7320         * lib/gl_list.h (gl_sortedlist_search_from_to,
7321         gl_sortedlist_indexof_from_to): New declarations.
7322         (gl_list_implementation): New fields sortedlist_search_from_to,
7323         sortedlist_indexof_from_to.
7324         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
7325         inline functions.
7326         * lib/gl_list.c (gl_sortedlist_search_from_to,
7327         gl_sortedlist_indexof_from_to): New functions.
7328         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
7329         function.
7330         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
7331         (gl_array_sortedlist_search_from_to): New function.
7332         (gl_array_list_implementation): Update.
7333         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
7334         function.
7335         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
7336         (gl_carray_sortedlist_search_from_to): New function.
7337         (gl_carray_list_implementation): Update.
7338         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
7339         gl_linked_sortedlist_indexof_from_to): New functions.
7340         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
7341         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
7342         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
7343         gl_tree_sortedlist_indexof_from_to): New functions.
7344         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
7345         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
7346         Update.
7347         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
7348         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
7349         Update.
7350
7351 2006-10-05  Bruno Haible  <bruno@clisp.org>
7352
7353         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
7354         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
7355         (struct gl_list_implementation): Add fields search_from_to,
7356         indexof_from_to. Remove fields search, indexof.
7357         (gl_list_search): Use the search_from_to method.
7358         (gl_list_search_from, gl_list_search_from_to): New functions.
7359         (gl_list_indexof): Use the indexof_from_to method.
7360         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
7361         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
7362         (gl_list_search_from, gl_list_search_from_to): New functions.
7363         (gl_list_indexof): Use the indexof_from_to method.
7364         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
7365         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
7366         gl_array_indexof. Add start_index, end_index arguments.
7367         (gl_array_search_from_to): Renamed from gl_array_search. Add
7368         start_index, end_index arguments.
7369         (gl_array_remove, gl_array_list_implementation): Update.
7370         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
7371         gl_carray_indexof. Add start_index, end_index arguments.
7372         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
7373         start_index, end_index arguments.
7374         (gl_carray_remove, gl_carray_list_implementation): Update.
7375         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
7376         gl_linked_search. Add start_index, end_index arguments.
7377         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
7378         start_index, end_index arguments.
7379         (gl_linked_remove): Update.
7380         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
7381         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
7382         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
7383         field to 'size_t'.
7384         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
7385         gl_tree_search. Add start_index, end_index arguments.
7386         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
7387         start_index, end_index arguments.
7388         (gl_tree_remove): Update.
7389         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
7390         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
7391         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
7392         function.
7393         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
7394         gl_tree_search. Add start_index, end_index arguments.
7395         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
7396         start_index, end_index arguments.
7397         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
7398         Update.
7399         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
7400
7401 2006-10-05  Bruno Haible  <bruno@clisp.org>
7402
7403         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
7404
7405         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
7406         fwriteerror_temp): New declarations.
7407         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
7408         (descriptors): New variable.
7409         (cleanup): First, close the descriptors.
7410         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
7411         fclose_temp, fwriteerror_temp): New functions.
7412
7413 2006-10-04  Jim Meyering  <jim@meyering.net>
7414
7415         * lib/fts.c (fts_open): Tiny comment change.
7416
7417 2006-10-04  Bruno Haible  <bruno@clisp.org>
7418
7419         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
7420         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
7421         gl_LOCK_BODY.
7422         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
7423         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
7424         gl_LOCK_EARLY_BODY.
7425         (gl_LOCK): Require gl_LOCK_BODY.
7426
7427 2006-10-04  Bruno Haible  <bruno@clisp.org>
7428
7429         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
7430         (gl_oset_search_atleast): New declaration.
7431         (struct gl_oset_implementation): Add field 'search_atleast'.
7432         (gl_oset_search_atleast): New inline function.
7433         * lib/gl_oset.c (gl_oset_search_atleast): New function.
7434         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
7435         (gl_array_oset_implementation): Update.
7436         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
7437         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
7438         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
7439
7440 2006-10-04  Bruno Haible  <bruno@clisp.org>
7441
7442         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
7443
7444 2006-10-03  Bruno Haible  <bruno@clisp.org>
7445
7446         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
7447         from gl_avltreehash_list_implementation.
7448
7449 2006-10-03  Bruno Haible  <bruno@clisp.org>
7450
7451         * lib/gl_oset.c (gl_oset_add): Fix return type.
7452
7453 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
7454
7455         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
7456
7457 2006-10-02  Eric Blake  <ebb9@byu.net>
7458
7459         * modules/strnlen (Depends-on): Add extensions.
7460
7461 2006-10-02  Eric Blake  <ebb9@byu.net>
7462
7463         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
7464         definition in 2.60+.
7465
7466 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
7467
7468         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
7469         checks.
7470
7471 2006-10-02  Bruno Haible  <bruno@clisp.org>
7472
7473         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
7474         to the AUTOMAKE_OPTIONS.
7475         Reported by Jim Meyering.
7476
7477 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
7478
7479         Work around bug in Solaris 10 /proc file system:
7480         /proc/self/fd/NNN/.. isn't the parent directory of
7481         the directory whose file descriptor is NNN.  This needs to
7482         be worked around at run time, not compile time, since a
7483         program might be built on Solaris 8, where things work, and
7484         run on Solaris 10.
7485         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
7486         to use the following interface instead:
7487         (OPENAT_BUFFER_SIZE): New macro.
7488         (openat_proc_name): New function.
7489         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
7490         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
7491         Likewise.
7492         * lib/openat-proc.c: New file.
7493         * modules/openat (Files): Add lib/openat-proc.c.
7494         (Depends-on): Add same-inode, stdbool.
7495         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
7496
7497 2006-09-29  Bruno Haible  <bruno@clisp.org>
7498
7499         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
7500         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
7501         argument. Set stdout_closed before testing for ferror, not after.
7502         (fwriteerror, fwriteerror_no_ebadf): New functions.
7503
7504 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7505
7506         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
7507
7508 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
7509
7510         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
7511         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
7512
7513 2006-09-28  Jim Meyering  <jim@meyering.net>
7514
7515         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
7516         Include <unistd.h>.
7517
7518 2006-09-28  Bruno Haible  <bruno@clisp.org>
7519
7520         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
7521         * modules/linkedhash-list (Depends-on): Likewise.
7522         * modules/rbtreehash-list (Depends-on): Likewise.
7523
7524 2006-09-28  Bruno Haible  <bruno@clisp.org>
7525
7526         * lib/strndup.h: Simplify the redefinition of strndup.
7527         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
7528         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
7529
7530 2006-09-28  Bruno Haible  <bruno@clisp.org>
7531
7532         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
7533         * lib/gl_linkedhash_list.c: Likewise.
7534         * lib/gl_rbtreehash_list.c: Likewise.
7535
7536 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
7537
7538         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
7539         getaddrinfo.
7540
7541         * lib/__fpending.h: Don't include <stdio_ext.h> unless
7542         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
7543         it causes <stdio_ext.h> to cause a compile-time error.
7544         Problem reported by Nelson H. F. Beebe.
7545         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
7546         of HAVE_DECL___PENDING.
7547
7548         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
7549         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
7550         declaration.
7551
7552 2006-09-27  Jim Meyering  <jim@meyering.net>
7553
7554         This file could end up with a definition for a function
7555         named __strndup, rather than rpl_strndup on a system with
7556         incomplete weak_alias support.
7557         * lib/strndup.c (strndup): Rename from __strndup.
7558         Remove #defines that used to map __strndup to strndup.
7559         Don't use K&R prototypes.
7560         Remove LIBC-related code, since this file is not sync'd with glibc.
7561         * lib/strndup.h: Revamp, accordingly.
7562         * m4/strndup.m4: Modernize.
7563
7564 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
7565
7566         * modules/savewd (Depends-on): Add 'raise'.
7567         * lib/savewd.c: Include <signal.h>, for 'raise'.
7568
7569 2006-09-26  Jim Meyering  <jim@meyering.net>
7570
7571         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
7572         when we detect Darwin 8.7.0's acl_get_file bug.
7573         Rearrange to perform the new (below) run-test while $LIBS
7574         contains any acl-related library.  Set USE_ACL at the end.
7575         (gl_ACL_GET_FILE): New function.
7576
7577 2006-09-26  Eric Blake  <ebb9@byu.net>
7578
7579         * lib/verror.c: Include <config.h> unconditionally.
7580
7581 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
7582
7583         * modules/clock-time (Maintainer): Add self.
7584         * modules/getlogin_r (Depends-on): Add extensions.
7585
7586 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7587
7588         * modules/clock-time: New module.
7589         * modules/nanosleep (Depends-on): Add clock-time.
7590         * modules/gethrxtime (Depends-on): Likewise.
7591         * modules/gettime (Depends-on): Likewise.
7592         * modules/settime (Depends-on): Likewise.
7593
7594         * modules/fts-lgpl: Depend on openat.
7595         * modules/mkancesdirs: Depend on savewd.
7596         * modules/mkdir-p: Likewise.
7597
7598 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7599
7600         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
7601
7602         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
7603         `gl_have_arbitrary_file_name_length_limit' to
7604         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
7605         actually works between configure runs.
7606
7607 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7608             Bruno Haible  <bruno@clisp.org>
7609
7610         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
7611
7612 2006-09-25  Jim Meyering  <jim@meyering.net>
7613
7614         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
7615         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
7616
7617 2006-09-25  Eric Blake  <ebb9@byu.net>
7618
7619         * gnulib-tool (func_import, func_create_testdir): Fix typos in
7620         exec's in 2006-09-18 patch when shuffling fds.
7621
7622 2006-09-25  Bruno Haible  <bruno@clisp.org>
7623
7624         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
7625         Reported by Jim Meyering.
7626
7627 2006-09-24  Jim Meyering  <jim@meyering.net>
7628
7629         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
7630         compare a pointer against a literal "0".  That caused failures with
7631         at least HP-UX's hpcc.
7632
7633 2006-09-22  Simon Josefsson  <jas@extundo.com>
7634
7635         * modules/gc-sha1:
7636         * modules/gc-md4:
7637         * modules/gc-hmac-sha1:
7638         * modules/gc-hmac-md5:
7639         * modules/gc-des:
7640         * modules/gc-arcfour: Distribute more files.
7641
7642 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7643
7644         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
7645         (gl_linked_iterator_from_to): Initialize struct completely.
7646         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
7647         (gl_tree_iterator_from_to): Likewise
7648         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
7649         * lib/gl_array_list.c [lint] (gl_array_iterator)
7650         (gl_array_iterator_from_to): Likewise.
7651         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
7652         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
7653         (gl_carray_iterator_from_to): Likewise.
7654
7655         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
7656         * lib/md4.c (md4_process_block): Remove unused variable.
7657         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
7658         parentheses for clarity.
7659
7660 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7661
7662         * modules/bison-i18n (Depends-on): Add gettext.
7663
7664 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7665
7666         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
7667         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
7668         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
7669         also add missing comma that caused broken test.
7670         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
7671         stdlib.h, for `abort'.
7672         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
7673         variables.
7674         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
7675         include unistd.h if present, for `rmdir'.
7676         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
7677         variables.
7678         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
7679         in the process include standard headers for prototypes.
7680         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
7681         gets declared on GNU/Linux.
7682         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
7683         unistd.h, for `rmdir'.
7684         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
7685
7686         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
7687         always true.
7688         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
7689
7690         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
7691
7692 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7693
7694         * gnulib-tool (func_version): Create output all at once.  This
7695         may help avoid triggering unnecessary SIGPIPEs, and at any
7696         rate it doesn't hurt.
7697
7698 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7699             Bruno Haible  <bruno@clisp.org>
7700
7701         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
7702         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
7703         * m4/signed.m4 (bh_C_SIGNED): Likewise.
7704
7705         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
7706         (gl_FUNC_VASPRINTF): Invoke it.
7707
7708 2006-09-22  Bruno Haible  <bruno@clisp.org>
7709
7710         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
7711         getloadavg.c as first argument.
7712
7713 2006-09-22  Bruno Haible  <bruno@clisp.org>
7714
7715         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
7716         at the beginning of the gl_INIT macro.
7717         * modules/getloadavg (configure.ac): Pass $gl_source_base to
7718         gl_GETLOADAVG.
7719
7720 2006-09-22  Bruno Haible  <bruno@clisp.org>
7721
7722         * gnulib-tool (func_create_megatestdir): Don't include the config-h
7723         module.
7724         Suggested by Ralf Wildenhues.
7725
7726 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
7727
7728         Import this patch from libc:
7729
7730         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
7731
7732         * lib/regex_internal.c (re_string_reconstruct): Handle
7733         offset < pstr->valid_raw_len && pstr->offsets_needed case.
7734         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
7735         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
7736         re_string_context_at.
7737
7738         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
7739         now requires it.
7740         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
7741         gl_REGEX now does it for us.
7742         (gl_REGEX): Add test taken from
7743         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
7744
7745         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
7746         Check that large offsets work.  Modernize Autoconf usages.
7747         Prefer "yes" to mean a good thing rather than a bad.
7748         Don't put "#define mkstemp" in config.h, as this might interfere
7749         with standard system headers that "#define mkstemp mkstemp64".
7750
7751         * modules/mkstemp (Depends-on): Add extensions, so that
7752         mkstemp is visible on some platforms.
7753         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
7754         (Include): Change to "mkstemp.h" from <stdlib.h>.
7755         (Files): Add mkstemp.h.
7756
7757         * lib/mkstemp.h: New file, since some standard headers
7758         #define mkstemp.
7759         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
7760         Include "mkstemp.h".
7761         Make the _LIBC code resemble glibc original more,
7762         e.g., use K&R style.
7763         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
7764         (mkstemp): Remove, since mkstemp.h does this for us.
7765         * lib/stdlib--.h: Include mkstemp.h.
7766
7767         Import this patch from libc:
7768
7769         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
7770
7771         * lib/tempname.c (__gen_tempname): Change attempts_min
7772         into a macro.  Use preprocessor to decide how to initialize
7773         attempts [Coverity CID 67].
7774
7775 2006-09-20  Bruno Haible  <bruno@clisp.org>
7776
7777         * lib/mkdtemp.c: Import from libc.
7778         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
7779                 * sysdeps/posix/tempname.c (__gen_tempname): Change
7780                 attempts_min into a macro.  Use preprocessor to decide how to
7781                 initialize attempts [Coverity CID 67].
7782         2001-11-27  Paul Eggert  <eggert@twinsun.com>
7783                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
7784                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
7785
7786 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7787
7788         * gnulib-tool (func_exit): New function, to allow to pass the
7789         exit status portably through the trap.  Use everywhere.
7790         (--help, --version): Signal a write error.
7791         (trap): catch SIGPIPE, for write errors.
7792         Exit at the end of the trap, with the correct exit status.
7793
7794 2006-09-19  Karl Berry  <karl@gnu.org>
7795
7796         * doc/gnulib.texi: note about the license texinfo files.
7797
7798 2006-09-19  Eric Blake  <ebb9@byu.net>
7799
7800         * gnulib-tool: Avoid space-tab.
7801
7802 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7803
7804         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
7805         that prevented coreutils 6.1 from building.  Problem reported
7806         by Petter Reinholdtsen.
7807
7808 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7809
7810         * gnulib-tool (avoidlist): Fix typo that broke options like
7811         --avoid=lock that are used by coreutils bootstrap.
7812
7813 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
7814
7815         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
7816         more systematically.
7817
7818 2006-09-18  Jim Meyering  <jim@meyering.net>
7819
7820         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
7821
7822 2006-09-18  Bruno Haible  <bruno@clisp.org>
7823
7824         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
7825
7826 2006-09-18  Bruno Haible  <bruno@clisp.org>
7827
7828         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
7829         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
7830         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
7831         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
7832         * m4/gettext.m4: Require autoconf >= 2.52.
7833         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
7834         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
7835         of gl_cv_header_inttypes_h.
7836
7837 2006-09-18  Bruno Haible  <bruno@clisp.org>
7838
7839         * lib/javaversion.c: Include configmake.h.
7840
7841 2006-09-18  Bruno Haible  <bruno@clisp.org>
7842
7843         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
7844         avoid that the while loops be executed in a subshell.
7845
7846 2006-09-18  Bruno Haible  <bruno@clisp.org>
7847
7848         * MODULES.html.sh (func_module): Break long lines.
7849         Suggested by Bruce Korb <bkorb@gnu.org>.
7850
7851 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7852
7853         Speed up by a factor of 1.12.
7854         * gnulib-tool (nl): New variable.
7855         (func_import): Rewrite include directive extraction to only read each
7856         directive once.
7857
7858 2006-09-17  Bruno Haible  <bruno@clisp.org>
7859
7860         * modules/javaversion (Makefile.am): Remove DEFS setting.
7861         (Depends-on): Add configmake, for PKGDATADIR definition.
7862
7863 2006-09-17  Bruno Haible  <bruno@clisp.org>
7864
7865         * gnulib-tool (func_create_testdir): Rewrite all files at once.
7866
7867 2006-09-17  Bruno Haible  <bruno@clisp.org>
7868
7869         * gnulib-tool (func_append): New function, stolen from libtool.m4.
7870         (func_modules_transitive_closure, func_modules_add_dummy,
7871         func_modules_to_filelist, func_import, func_create_testdir,
7872         func_create_megatestdir, ...): Use it wherever possible.
7873         Suggested by Ralf Wildenhues.
7874
7875 2006-09-16  Karl Berry  <karl@gnu.org>
7876
7877         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
7878         to avoid sectioning errors.
7879         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
7880         [ifinfo]: blank line after @center-ed titles.
7881         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
7882         Spell FSF address consistently with others.
7883         (These changes approved by rms.)
7884
7885 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7886
7887         Speed up by a factor of 1.61.
7888         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
7889         already checked module names again.
7890
7891 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7892
7893         Speed up by a factor of 1.13.
7894         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
7895         for new_files, and the input to func_add_or_update.
7896
7897 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7898
7899         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
7900         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
7901
7902 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
7903
7904         * modules/mkancesdirs (Depends-on): Add fcntl.
7905         * modules/savewd: New file.
7906         * MODULES.html.sh (File system functions): Add savewd.
7907
7908         * modules/configmake (Makefile.am): Add support for the
7909         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
7910
7911 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
7912
7913         * m4/savewd.m4: New file.
7914
7915 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
7916
7917         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
7918         (dirchownmod): New arg FD.  All callers changed.
7919         Use FD rather than opening the directory ourself, as opening is
7920         now the caller's responsibility.
7921         * lib/dirchownmod.h: Likewise.
7922         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
7923         hosts that require <sys/types.h> before <sys/stat.h>.  Include
7924         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
7925         (test_dir): Remove.
7926         (mkancesdirs): Return length of prefix of FILE that has already
7927         been made, or -2 if there is a child doing the work.  Redo
7928         algorithm so that it is O(N) rather than O(N**2).  Optimize away
7929         ".", and treat ".." specially since it might stray back into
7930         already-created areas.  Use a subprocess if necessary.  New arg
7931         WD; all users changed.  MAKE_DIR function should now return 1
7932         if it creates a directory that is not readable.  Return -2 if
7933         a child process is spun off.
7934         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
7935         Adjust signature to match code.
7936         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
7937         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
7938         all users changed.
7939         * lib/savewd.c, lib/savewd.h: New files.
7940
7941 2006-09-15  Jim Meyering  <jim@meyering.net>
7942
7943         * modules/rename-dest-slash: New module.
7944         * MODULES.html.sh (posix_compat): Add it here.
7945
7946         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
7947
7948 2006-09-15  Jim Meyering  <jim@meyering.net>
7949
7950         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
7951         file.
7952
7953         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
7954
7955 2006-09-15  Jim Meyering  <jim@meyering.net>
7956
7957         * lib/rename-dest-slash.c (has_trailing_slash): Use
7958         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
7959         (rpl_rename_dest_slash): Perform the cheaper trailing slash
7960         test before testing whether SRC is a directory.
7961         Suggestions from Bruno Haible.
7962
7963         Avoid a warning about an unused variable.
7964         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
7965         into the #ifdef block where it's used.
7966
7967         * lib/rename-dest-slash.c: New file.
7968
7969 2006-09-14  Bruno Haible  <bruno@clisp.org>
7970
7971         * lib/allocsa.c: Include <config.h> unconditionally.
7972         * lib/asnprintf.c: Likewise.
7973         * lib/asprintf.c: Likewise.
7974         * lib/c-strcasecmp.c: Likewise.
7975         * lib/c-strcasestr.c: Likewise.
7976         * lib/c-strncasecmp.c: Likewise.
7977         * lib/c-strstr.c: Likewise.
7978         * lib/classpath.c: Likewise.
7979         * lib/clean-temp.c: Likewise.
7980         * lib/concatpath.c: Likewise.
7981         * lib/copy-file.c: Likewise.
7982         * lib/csharpcomp.c: Likewise.
7983         * lib/csharpexec.c: Likewise.
7984         * lib/execute.c: Likewise.
7985         * lib/fatal-signal.c: Likewise.
7986         * lib/findprog.c: Likewise.
7987         * lib/fwriteerror.c: Likewise.
7988         * lib/gl_array_list.c: Likewise.
7989         * lib/gl_array_oset.c: Likewise.
7990         * lib/gl_avltree_list.c: Likewise.
7991         * lib/gl_avltree_oset.c: Likewise.
7992         * lib/gl_avltreehash_list.c: Likewise.
7993         * lib/gl_carray_list.c: Likewise.
7994         * lib/gl_linked_list.c: Likewise.
7995         * lib/gl_linkedhash_list.c: Likewise.
7996         * lib/gl_list.c: Likewise.
7997         * lib/gl_oset.c: Likewise.
7998         * lib/gl_rbtree_list.c: Likewise.
7999         * lib/gl_rbtree_oset.c: Likewise.
8000         * lib/gl_rbtreehash_list.c: Likewise.
8001         * lib/imaxabs.c: Likewise.
8002         * lib/imaxdiv.c: Likewise.
8003         * lib/javacomp.c: Likewise.
8004         * lib/javaexec.c: Likewise.
8005         * lib/javaversion.c: Likewise.
8006         * lib/linebreak.c: Likewise.
8007         * lib/localcharset.c: Likewise.
8008         * lib/lock.c: Likewise.
8009         * lib/mbchar.c: Likewise.
8010         * lib/mbswidth.c: Likewise.
8011         * lib/mkdtemp.c: Likewise.
8012         * lib/pipe.c: Likewise.
8013         * lib/printf-args.c: Likewise.
8014         * lib/printf-parse.c: Likewise.
8015         * lib/progname.c: Likewise.
8016         * lib/progreloc.c: Likewise.
8017         * lib/readlink.c: Likewise.
8018         * lib/sh-quote.c: Likewise.
8019         * lib/stpcpy.c: Likewise.
8020         * lib/stpncpy.c: Likewise.
8021         * lib/strcasecmp.c: Likewise.
8022         * lib/strcasestr.c: Likewise.
8023         * lib/strcspn.c: Likewise.
8024         * lib/striconv.c: Likewise.
8025         * lib/strncasecmp.c: Likewise.
8026         * lib/strnlen1.c: Likewise.
8027         * lib/strstr.c: Likewise.
8028         * lib/strtok_r.c: Likewise.
8029         * lib/tls.c: Likewise.
8030         * lib/tmpdir.c: Likewise.
8031         * lib/unicodeio.c: Likewise.
8032         * lib/unsetenv.c: Likewise.
8033         * lib/vasnprintf.c: Likewise.
8034         * lib/vasprintf.c: Likewise.
8035         * lib/wait-process.c: Likewise.
8036         * lib/xallocsa.c: Likewise.
8037         * lib/xsetenv.c: Likewise.
8038         * lib/xstriconv.c: Likewise.
8039
8040 2006-09-13  Simon Josefsson  <jas@extundo.com>
8041
8042         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
8043         that internally, suggested by Ralf Wildenhues
8044         <Ralf.Wildenhues@gmx.de>.
8045
8046 2006-09-13  Simon Josefsson  <jas@extundo.com>
8047
8048         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
8049         @LIBOBJS@.
8050         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8051
8052 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8053
8054         * lib/_fpending.c: Include <config.h> unconditionally, since we no
8055         longer worry about uses that don't define HAVE_CONFIG_H.
8056         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
8057         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
8058         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
8059         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
8060         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
8061         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
8062         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
8063         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
8064         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
8065         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
8066         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
8067         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
8068         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
8069         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
8070         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
8071         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
8072         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
8073         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
8074         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
8075         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
8076         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
8077         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
8078         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
8079         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
8080         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
8081         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
8082         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
8083         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
8084         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
8085         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
8086         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
8087         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
8088         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
8089         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
8090         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
8091         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
8092         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
8093         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
8094         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
8095         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
8096         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
8097         Likewise.
8098
8099 2006-09-13  Eric Blake  <ebb9@byu.net>
8100
8101         * lib/getopt.c: Fix typo in last commit.
8102
8103 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
8104
8105         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
8106         dgettext.
8107
8108 2006-09-12  Jim Meyering  <jim@meyering.net>
8109
8110         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
8111         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
8112         Reported by Nelson H. F. Beebe.
8113
8114 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
8115
8116         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
8117         program_invocation_name and program_invocation_short_name are
8118         initialized.
8119         * lib/argp-namefrob.h: Move declarations of program_invocation_name
8120         and program_invocation_short_name to argp.h, so they are visible
8121         to user programs.
8122         * lib/argp.h: Likewise
8123
8124 2006-09-10  Bruno Haible  <bruno@clisp.org>
8125
8126         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
8127         m4/inttypes_h.m4, m4/uintmax_t.m4.
8128
8129 2006-09-10  Bruno Haible  <bruno@clisp.org>
8130
8131         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
8132         gl_AC_TYPE_UINTMAX_T.
8133
8134 2006-09-10  Bruno Haible  <bruno@clisp.org>
8135
8136         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
8137
8138 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
8139
8140         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
8141         convention.  Text proposed by Bruno Haible.
8142         (struct argp_option): Document the use of N_() wrappers.
8143
8144         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
8145         '\v', and translate the two parts separately, instead of feeding
8146         the whole string to gettext.  This allows to exclude
8147         '\v' from the strings visible to the translator by writing doc
8148         strings as N_("..") "\v" N_("..").
8149
8150 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
8151
8152         * config/srclist.txt: Undo latest change; the bug was fixed.
8153
8154 2006-09-09  Bruno Haible  <bruno@clisp.org>
8155
8156         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
8157         assignments if building a library without libtool.
8158         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
8159         in func_emit_lib_Makefile_am.
8160         (func_import): When building a static library libfoo.a, arrange to
8161         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
8162         (func_create_testdir): Likewise.
8163         * modules/gc (configure.ac, Makefile.am): If building statically,
8164         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
8165         * modules/iconvme (configure.ac, Makefile.am): Likewise.
8166         * modules/striconv (configure.ac, Makefile.am): Likewise.
8167         Based on a suggestion by Ralf Wildenhues.
8168
8169 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8170
8171         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
8172         Check for unistd.h too, since Autoconf doesn't assume POSIX.
8173         Also:
8174
8175         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8176         Add year_2050_test to catch glibc bug 2821
8177         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
8178
8179         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
8180         Prefer #ifdef to #if.
8181
8182         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
8183         Return from 'main' instead of calling 'exit'.
8184
8185 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8186
8187         * lib/mktime.c (guess_time_tm): Fix bug where mktime
8188         returned the maximum time_t value rather than (time_t) -1.
8189         Problem originally reported by William Bardwell
8190         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
8191
8192         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
8193         Moved to here ...
8194         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
8195         ... from here.
8196
8197 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8198
8199         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
8200         2821 is fixed.
8201
8202 2006-09-08  Jim Meyering  <jim@meyering.net>
8203
8204         Don't make generated files read-only.  That would bother too many
8205         people.  However, do retain the ability to work when targets are
8206         read-only: remove the destination and temporary files before writing
8207         them (when generated via sed or echo), or by using the -f option for
8208         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
8209         * modules/alloca-opt, modules/argz, modules/arpa_inet:
8210         * modules/byteswap, modules/configmake, modules/fcntl:
8211         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
8212         * modules/localcharset, modules/netinet_in, modules/poll:
8213         * modules/stdbool, modules/stdint, modules/sys_select:
8214         * modules/sys_socket, modules/sys_stat, modules/sysexits:
8215
8216 2006-09-08  Jim Meyering  <jim@meyering.net>
8217
8218         Avoid new build failure on FreeBSD 6.0.
8219         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
8220         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
8221         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
8222
8223 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8224
8225         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
8226
8227 2006-09-07  Jim Meyering  <jim@meyering.net>
8228
8229         Fix global typo in last change: use chmod u-w, not chmod u-x.
8230         Spotted by Paul Eggert and Bruce Korb.
8231         * modules/alloca-opt, modules/argz, modules/arpa_inet:
8232         * modules/byteswap, modules/configmake, modules/fcntl:
8233         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
8234         * modules/localcharset, modules/netinet_in, modules/poll:
8235         * modules/stdbool, modules/stdint, modules/sys_select:
8236         * modules/sys_socket, modules/sys_stat, modules/sysexits:
8237
8238 2006-09-06  Jim Meyering  <jim@meyering.net>
8239
8240         Make generated files be read-only.
8241         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
8242         Ensure that each generated file is now read-only.
8243         * modules/argz: Likewise.
8244         * modules/arpa_inet: Likewise.
8245         * modules/byteswap: Likewise.
8246         * modules/configmake: Likewise.
8247         * modules/fcntl: Likewise.
8248         * modules/fnmatch: Likewise.
8249         * modules/getopt: Likewise.
8250         * modules/glob: Likewise.
8251         * modules/inttypes: Likewise.
8252         * modules/netinet_in: Likewise.
8253         * modules/poll: Likewise.
8254         * modules/stdbool: Likewise.
8255         * modules/stdint: Likewise.
8256         * modules/sys_select: Likewise.
8257         * modules/sys_socket: Likewise.
8258         * modules/sys_stat: Likewise.
8259         * modules/sysexits: Likewise.
8260         * modules/localcharset: Same as above, but continue using temporary
8261         file named "t-$@" (why different?) rather than the "$@-t" used
8262         everywhere else.
8263
8264         * modules/sysexits (Makefile.am): Replace literal occurrences
8265         of "sysexit.h" more readable, and more consistent, "$@".
8266
8267 2006-09-06  Bruno Haible  <bruno@clisp.org>
8268
8269         * modules/striconv: New file.
8270         * modules/xstriconv: New file.
8271         * MODULES.html.sh (Internationalization functions): Add striconv,
8272         xstriconv.
8273
8274 2006-09-06  Bruno Haible  <bruno@clisp.org>
8275
8276         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
8277         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
8278         not using libtool correctly.
8279
8280 2006-09-06  Bruno Haible  <bruno@clisp.org>
8281
8282         * lib/striconv.h: New file.
8283         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
8284         iconvstring.c.
8285         * lib/xstriconv.h: New file.
8286         * lib/xstriconv.c: New file.
8287
8288 2006-09-06  Bruno Haible  <bruno@clisp.org>
8289
8290         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
8291         lib_..._LDFLAGS.
8292
8293 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8294
8295         * lib/argz_.h: Sync from Libtool.
8296
8297         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
8298                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8299
8300         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
8301
8302 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
8303
8304         * modules/trim: New file.
8305
8306 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
8307
8308         * lib/trim.h: New file.
8309         * lib/trim.c: New file.
8310
8311 2006-09-05  Bruno Haible  <bruno@clisp.org>
8312
8313         * MODULES.html.sh (String handling): Add trim.
8314
8315 2006-09-04  Karl Berry  <karl@gnu.org>
8316
8317         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
8318         until next release.
8319
8320 2006-09-03  Bruno Haible  <bruno@clisp.org>
8321
8322         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
8323         correctly.
8324
8325 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8326
8327         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
8328         not gl_GETLOADAVG.  Omit unneeded semicolons.
8329         Problems reported by Ralf Wildenhues in
8330         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
8331         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
8332         at the end, which is the usual gnulib style.
8333
8334         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
8335         of doing all the work ourselves.
8336         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
8337         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
8338
8339 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8340
8341         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
8342         Problem reported by Ralf Wildenhues in
8343         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
8344
8345         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
8346         HAVE_STRUCT_STATFS_F_FSTYPENAME.
8347
8348 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8349
8350         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
8351         yesterday's patch by changing test -n to test -z.
8352
8353 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8354
8355         * modules/getloadavg (Files): Add m4/getloadavg.m4.
8356         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
8357         the former is now obsolescent.
8358
8359         * modules/chdir-long (Depends-on): Add fcntl.
8360
8361 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8362
8363         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
8364         obsolescent, and programs should use gnulib instead.
8365         * m4/getloadavg.m4: New file, with contents taken from Autoconf
8366         but with prefixes changed.
8367
8368 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8369
8370         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
8371         or stdbool.h, because they might not exist while configuring.
8372
8373         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
8374         Don't include unistd.h or limits.h; not needed, since chdir-long.h
8375         does that for us.
8376         (O_DIRECTORY): Remove.
8377
8378 2006-08-31  Eric Blake  <ebb9@byu.net>
8379
8380         * gnulib-tool: Don't let emacs change spaces to TAB.
8381
8382 2006-08-31  Bruno Haible  <bruno@clisp.org>
8383
8384         * gnulib-tool: When calling func_import more than once, do it in a
8385         subshell.
8386         Reported by Eric Blake <ebb9@byu.net>.
8387
8388 2006-08-31  Bruno Haible  <bruno@clisp.org>
8389
8390         * gnulib-tool (nl): Remove variable.
8391         (sed_transform_lib_file): Use more robust test for config-h module.
8392         (func_import): Fix typo in 2006-08-25 patch.
8393
8394 2006-08-31  Bruno Haible  <bruno@clisp.org>
8395
8396         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
8397         specified, augment Makefile.am variables instead of assigning them.
8398
8399 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8400
8401         Work around a bug in both the Linux and SunOS 64-bit kernels:
8402         nanosleep mishandles sleeps for longer than 2**31 seconds.
8403         Problem reported by Frank v Waveren in
8404         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
8405         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
8406         Check for nanosleep bug.
8407         (LIB_NANOSLEEP): Append clock_gettime library if needed.
8408
8409 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8410
8411         Work around a bug in both the Linux and SunOS 64-bit kernels:
8412         nanosleep mishandles sleeps for longer than 2**31 seconds.
8413         Problem reported by Frank v Waveren in
8414         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
8415         * lib/nanosleep.c (BILLION): New constant.
8416         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
8417         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
8418         implementation.
8419
8420 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8421
8422         * modules/nanosleep (Depends-on): Add gettime.
8423
8424 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8425         and Simon Josefsson  <jas@extundo.com>
8426         and Oskar Liljeblad  <oskar@osk.mine.nu>
8427
8428         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
8429         * gnulib-tool (func_import): New license type 'unmodifiable license
8430         text'.
8431         * modules/fdl: Use it.  Longer description.
8432         * module/gpl, module/lgpl: New files.
8433
8434 2006-08-30  Jim Meyering  <jim@meyering.net>
8435
8436         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
8437         shadowing the parameter.
8438
8439 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8440
8441         Sync from Libtool:
8442
8443         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8444
8445         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
8446         sharing with gnulib.  Report by Eric Blake.
8447
8448 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
8449
8450         * modules/isapipe: New file.
8451         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
8452
8453 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
8454
8455         * modules/configmake (Makefile.am): Add a comment, and omit
8456         the CONFIGMAKE_ prefix from generated macro names.  Suggested
8457         by Bruno Haible.
8458
8459 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
8460
8461         * m4/isapipe.m4: New file.
8462
8463 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
8464
8465         * lib/isapipe.c, lib/isapipe.h: New files.
8466
8467 2006-08-29  Jim Meyering  <jim@meyering.net>
8468
8469         * modules/configmake (Makefile.am): Make configmake.h depend on
8470         Makefile.  Otherwise, a stale configmake.h could hang around.
8471
8472 2006-08-29  Eric Blake  <ebb9@byu.net>
8473
8474         * lib/error.c (error_at_line, print_errno_message): Match libc, after
8475         resolution of upstream bug 3044.
8476
8477 2006-08-29  Bruno Haible  <bruno@clisp.org>
8478
8479         * modules/localcharset (Depends-on): Add configmake.
8480         (Makefile.am): Remove setting of LIBDIR through DEFS.
8481
8482 2006-08-29  Bruno Haible  <bruno@clisp.org>
8483
8484         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
8485         defined.
8486
8487 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
8488
8489         * modules/fcntl: New file.
8490         * modules/chdir-safer (Depends-on): Add fcntl.
8491         * modules/fts: Likewise.
8492         * modules/mkdir-p: Likewise.
8493
8494         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
8495         This undoes the most recent change, since we're now addressing the
8496         problem in a different way.
8497
8498         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
8499         into output, since the output might be called Makefile.am even
8500         if $makefile_name is something different.
8501         (func_import): Use $makefile_am rather than
8502         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
8503         empty.
8504
8505         * modules/inttypes (Files): Add m4/inttypes-h.m4.
8506
8507 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
8508
8509         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
8510         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
8511         recent change to stdint.m4, since we're now addressing the problem in a
8512         different way.
8513
8514 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
8515
8516         * m4/fcntl_h.m4: New file.
8517
8518 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
8519
8520         * lib/fcntl_.h: New file.
8521         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
8522         the fcntl module.
8523         * lib/dirchownmod.c: Likewise.
8524         * lib/fts.c: Likewise.
8525
8526         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
8527         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
8528         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
8529         just before including <inttypes.h>, to avoid circular inclusion.
8530
8531 2006-08-28  Jim Meyering  <jim@meyering.net>
8532
8533         * doc/visibility.texi: Actually read and correct the grammar of the
8534         sentence affected by yesterday's change.
8535
8536 2006-08-28  Eric Blake  <ebb9@byu.net>
8537
8538         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
8539         needs wrapper.
8540
8541 2006-08-28  Eric Blake  <ebb9@byu.net>
8542
8543         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
8544
8545 2006-08-28  Eric Blake  <ebb9@byu.net>
8546
8547         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
8548
8549 2006-08-28  Bruno Haible  <bruno@clisp.org>
8550
8551         * modules/c-strstr: New file, from GNU gettext.
8552         * MODULES.html.sh (String handling): Add c-strstr.
8553
8554 2006-08-28  Bruno Haible  <bruno@clisp.org>
8555
8556         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
8557         macros.
8558         Reported by Eric Blake.
8559
8560 2006-08-28  Bruno Haible  <bruno@clisp.org>
8561
8562         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
8563         (VASNPRINTF): Return a string of length > INT_MAX without failing.
8564         * lib/vasprintf.c: Include errno.h, limits.h.
8565         (EOVERFLOW): New fallback definition.
8566         (vasprintf): Test here whether the string length is > INT_MAX.
8567         * lib/vsnprintf.c: Include errno.h, limits.h.
8568         (EOVERFLOW): New fallback definition.
8569         (vsnprintf): Fix bug when generated string was too long for the buffer.
8570         Test here whether the string length is > INT_MAX.
8571
8572 2006-08-28  Bruno Haible  <bruno@clisp.org>
8573
8574         * lib/inttypes_.h (SCNX*): Remove definitions.
8575         Reported by Eric Blake.
8576
8577 2006-08-28  Bruno Haible  <bruno@clisp.org>
8578
8579         * lib/c-strstr.h: New file, from GNU gettext.
8580         * lib/c-strstr.c: New file, from GNU gettext.
8581
8582 2006-08-28  Bruno Haible  <bruno@clisp.org>
8583
8584         * gnulib-tool: Reorder some statements.
8585
8586 2006-08-28  Bruno Haible  <bruno@clisp.org>
8587
8588         * gnulib-tool: New option --makefile-name.
8589         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
8590         $makefile_name.
8591         (func_import): Write $makefile_name to the cache file, and read it from
8592         there unless explicitly specified. Use $makefile_name as file name
8593         instead of Makefile.am. Adjust the recommendations accordingly.
8594
8595 2006-08-28  Bruno Haible  <bruno@clisp.org>
8596
8597         * gnulib-tool (func_verify_module): Check against misapplying patch.
8598
8599 2006-08-28  Bruno Haible  <bruno@clisp.org>
8600
8601         * gnulib-tool (func_relativize, func_relconcat): New functions.
8602         Give an error if --local-dir is given with --update.
8603         Remove trailing slashes from $local_gnulib_dir.
8604         (func_import): Store the relativized $local_gnulib_dir in
8605         gnulib-cache.m4, and read it from there if not specified explicitly.
8606
8607 2006-08-28  Bruno Haible  <bruno@clisp.org>
8608
8609         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
8610         is the current directory. Respect also $local_gnulib_dir.
8611
8612 2006-08-28  Bruno Haible  <bruno@clisp.org>
8613             Simon Josefsson  <jas@extundo.com>
8614
8615         BeOS portability.
8616         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
8617
8618 2006-08-27  Jim Meyering  <jim@meyering.net>
8619
8620         * doc/visibility.texi: Remove duplicate word: "pointer".
8621
8622 2006-08-26  Bruno Haible  <bruno@clisp.org>
8623
8624         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
8625         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
8626         (Makefile.am): Create inttypes.h from inttypes_.h.
8627         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
8628
8629         * modules/imaxabs: New file.
8630
8631         * modules/imaxdiv: New file.
8632
8633 2006-08-26  Bruno Haible  <bruno@clisp.org>
8634
8635         * m4/inttypes.m4: New file.
8636         * m4/_inttypes_h.m4: Remove file.
8637         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
8638         PRI_MACROS_BROKEN.
8639         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
8640
8641         * m4/imaxabs.m4: New file.
8642
8643         * m4/imaxdiv.m4: New file.
8644
8645 2006-08-26  Bruno Haible  <bruno@clisp.org>
8646
8647         * lib/inttypes_.h: New file.
8648         * lib/inttypes.h: Remove file.
8649         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
8650
8651         * lib/imaxabs.c: New file.
8652
8653         * lib/imaxdiv.c: New file.
8654
8655 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8656
8657         New config-h module, so that "make" output needn't be cluttered
8658         by -DHAVE_CONFIG_H.
8659         * MODULES.html.sh (Support for building libraries and executables):
8660         Add config-h.
8661         * modules/config-h: New file.
8662         * gnulib-tool (nl, sed_transform_lib_file): New vars.
8663         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
8664         the config-h module is used.
8665
8666         New configmake module, so that "make" output needn't be cluttered
8667         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
8668         * MODULES.html.sh (Support for building libraries and executables):
8669         Add configmake.
8670         * modules/configmake: New file.
8671
8672 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8673
8674         * m4/config-h.m4: New file.
8675
8676 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8677
8678         * config/srclist.txt: Add elisp-comp.
8679
8680 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8681
8682         * MODULES.html.sh (Support for building libraries and executables):
8683         Add elisp-comp.
8684         * build-aux/elisp-comp: New file.
8685         * modules/elisp-comp: New file.
8686
8687 2006-08-24  Bruno Haible  <bruno@clisp.org>
8688
8689         * gnulib-tool (func_create_testdir): Use non-default values of
8690         sourcebase and m4base.
8691
8692 2006-08-24  Bruno Haible  <bruno@clisp.org>
8693
8694         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
8695         HTML structure.
8696
8697 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8698
8699         * modules/openat (Depends-on): Add lchown.
8700
8701 2006-08-23  Bruno Haible  <bruno@clisp.org>
8702
8703         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
8704         of gl_LOCK_EARLY instead of gl_LOCK.
8705
8706 2006-08-23  Bruno Haible  <bruno@clisp.org>
8707
8708         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
8709         on OSF/1 to no.
8710         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
8711
8712 2006-08-23  Bruno Haible  <bruno@clisp.org>
8713
8714         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
8715         as unusable.
8716
8717         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
8718         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
8719         (gl_LOCK): New macro.
8720
8721 2006-08-22  Simon Josefsson  <jas@extundo.com>
8722
8723         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
8724         to md5 module.
8725
8726 2006-08-22  Simon Josefsson  <jas@extundo.com>
8727
8728         * MODULES.html.sh: Add "Support for maintaining and release
8729         projects".
8730
8731         * build-aux/gnupload: New file, from coreutils.
8732
8733 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
8734
8735         Avoid the need for AC_LIBSOURCES in m4 macros.
8736         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
8737         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
8738         * modules/check-version (EXTRA_DIST): Add check-version.h.
8739         * modules/crc (EXTRA_DIST): Add crc.h.
8740         * modules/des (EXTRA_DIST): Add des.h.
8741         * modules/gc (EXTRA_DIST): Add gc.h.
8742         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
8743         * modules/getline (EXTRA_DIST): Add getline.h.
8744         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
8745         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
8746         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
8747         * modules/md2 (EXTRA_DIST): Add md2.h.
8748         * modules/md4 (EXTRA_DIST): Add md4.h.
8749         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
8750         * modules/read-file (EXTRA_DIST): Add read-file.h.
8751         * modules/readline (EXTRA_DIST): Add readline.h.
8752         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
8753         rijndael-api-fst.h.
8754
8755 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
8756
8757         * m4/rijndael.m4 (gl_ARCFOUR):
8758         * m4/arctwo.m4 (gl_ARCTWO):
8759         * m4/check-version.m4 (gl_CHECK_VERSION):
8760         * m4/crc.m4 (gl_CRC):
8761         * m4/des.m4 (gl_DES):
8762         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
8763         * m4/gc.m4 (gl_GC):
8764         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
8765         * m4/getline.m4 (gl_FUNC_GETLINE):
8766         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
8767         * m4/hmac-md5.m4 (gl_HMAC_MD5):
8768         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
8769         * m4/md2.m4 (gl_MD2):
8770         * m4/md4.m4 (gl_MD4):
8771         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
8772         * m4/read-file.m4 (gl_FUNC_READ_FILE):
8773         * m4/readline.m4 (gl_FUNC_READLINE):
8774         * m4/rijndael.m4 (gl_RIJNDAEL):
8775         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
8776         to get the necessary .h files and whatnot.
8777
8778 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
8779
8780         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
8781         gnulib rather than the other way around.
8782         * config/srclistvars.sh (COREUTILS): Remove.
8783
8784 2006-08-22  Jim Meyering  <jim@meyering.net>
8785
8786         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
8787
8788         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
8789
8790 2006-08-22  Eric Blake  <ebb9@byu.net>
8791
8792         * modules/regexprops-generic: New file.
8793         * MODULES.html.sh (Support for building documentation): List it.
8794
8795 2006-08-22  Eric Blake  <ebb9@byu.net>
8796
8797         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
8798         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
8799         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
8800         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
8801
8802 2006-08-22  Bruno Haible  <bruno@clisp.org>
8803
8804         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
8805         and lib_LTLIBRARIES like the other lib_* variables.
8806
8807 2006-08-22  Bruno Haible  <bruno@clisp.org>
8808
8809         * build-aux/x-to-1.in: New file, from GNU gettext.
8810
8811 2006-08-22  Bruno Haible  <bruno@clisp.org>
8812
8813         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
8814         <utmpx.h> exists.
8815
8816 2006-08-22  Bruno Haible  <bruno@clisp.org>
8817
8818         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
8819         <utmpx.h> exists.
8820
8821 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
8822
8823         BeOS portability.
8824         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
8825         exist.
8826         Problem reported by Bruno Haible.
8827
8828 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
8829
8830         Avoid the need for AC_LIBSOURCES in m4 macros.
8831         * modules/acl (EXTRA_DIST): Add acl.h.
8832         * modules/argmatch (Files): Add m4/argmatch.m4.
8833         (configure.ac): Add gl_ARGMATCH.
8834         (EXTRA_DIST): Renamed from lib_SOURCES, for
8835         consistency with the other modules.  Remove argmatch.c.
8836         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
8837         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
8838         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
8839         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
8840         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
8841         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
8842         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
8843         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
8844         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
8845         * modules/closeout (EXTRA_DIST): Add closeout.h.
8846         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
8847         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
8848         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
8849         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
8850         dirname.h; remove basename.c and stripslash.c.
8851         * modules/exclude (EXTRA_DIST): Add exclude.h.
8852         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
8853         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
8854         * modules/file-type (EXTRA_DIST): Add file-type.h.
8855         * modules/filemode (EXTRA_DIST): Add filemode.h.
8856         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
8857         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
8858         * modules/fpending (EXTRA_DIST): Add __fpending.h.
8859         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
8860         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
8861         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
8862         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
8863         * modules/getdate (EXTRA_DIST): Add getdate.c.
8864         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
8865         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
8866         * modules/getpass (EXTRA_DIST): Add getpass.h.
8867         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
8868         * modules/group-member (EXTRA_DIST): Add group-member.h.
8869         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
8870         * modules/hash (EXTRA_DIST): Add hash.h.
8871         * modules/human (EXTRA_DIST): Add human.h.
8872         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
8873         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
8874         * modules/lchown (EXTRA_DIST): Add lchown.h.
8875         * modules/long-options (EXTRA_DIST): Add long-options.h.
8876         * modules/lstat (EXTRA_DIST): Add lstat.h.
8877         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
8878         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
8879         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
8880         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
8881         * modules/memxor (EXTRA_DIST): Add memxor.h.
8882         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
8883         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
8884         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
8885         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
8886         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
8887         * modules/physmem (EXTRA_DIST): Add physmem.h.
8888         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
8889         * modules/posixver (EXTRA_DIST): Add posixver.h.
8890         * modules/quote (EXTRA_DIST): Add quote.h.
8891         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
8892         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
8893         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
8894         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
8895         regex_internal.h regexec.c.
8896         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
8897         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
8898         * modules/same (EXTRA_DIST): Add same.h.
8899         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
8900         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
8901         * modules/savedir (EXTRA_DIST): Add savedir.h.
8902         * modules/sha1 (EXTRA_DIST): Add sha1.h.
8903         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
8904         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
8905         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
8906         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
8907         * modules/strdup (EXTRA_DIST): Add strdup.h.
8908         * modules/strftime (EXTRA_DIST): Add strftime.h.
8909         * modules/strndup (EXTRA_DIST): Add strndup.h.
8910         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
8911         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
8912         * modules/time_r (EXTRA_DIST): Add time_r.h.
8913         * modules/timespec (EXTRA_DIST): Add timespec.h.
8914         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
8915         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
8916         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
8917         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
8918         * modules/userspec (EXTRA_DIST): Add userspec.h.
8919         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
8920         * modules/utimens (EXTRA_DIST): Add utimens.h.
8921         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
8922         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
8923         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
8924         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
8925         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
8926         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
8927         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
8928         * modules/yesno (EXTRA_DIST): Add yesno.h.
8929
8930 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
8931
8932         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
8933
8934         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
8935         * m4/dev-ino.m4, same-inode.m4: Remove.
8936
8937         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
8938         * m4/acl.m4 (AC_FUNC_ACL):
8939         * m4/backupfile.m4 (gl_BACKUPFILE):
8940         * m4/c-strtod.m4 (gl_C99_STRTOLD):
8941         * m4/canon-host.m4 (gl_CANON_HOST):
8942         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
8943         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
8944         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
8945         * m4/cloexec.m4 (gl_CLOEXEC):
8946         * m4/close-stream.m4 (gl_CLOSE_STREAM):
8947         * m4/closeout.m4 (gl_CLOSEOUT):
8948         * m4/dirfd.m4 (gl_FUNC_DIRFD):
8949         * m4/dirname.m4 (gl_DIRNAME):
8950         * m4/exclude.m4 (gl_EXCLUDE):
8951         * m4/exitfail.m4 (gl_EXITFAIL):
8952         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
8953         * m4/file-type.m4 (gl_FILE_TYPE):
8954         * m4/filemode.m4 (gl_FILEMODE):
8955         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
8956         * m4/fpending.m4 (gl_FUNC_FPENDING):
8957         * m4/fprintftime.m4 (gl_FPRINTFTIME):
8958         * m4/fts.m4 (gl_FUNC_FTS):
8959         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
8960         * m4/getdate.m4 (gl_GETDATE):
8961         * m4/gethrxtime.m4 (gl_GETHRXTIME):
8962         * m4/getpagesize.m4 (gl_GETPAGESIZE):
8963         * m4/getpass.m4 (gl_FUNC_GETPASS):
8964         * m4/gettime.m4 (gl_GETTIME):
8965         * m4/getugroups.m4 (gl_GETUGROUPS):
8966         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
8967         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
8968         * m4/hard-locale.m4 (gl_HARD_LOCALE):
8969         * m4/hash.m4 (gl_HASH):
8970         * m4/idcache.m4 (gl_IDCACHE):
8971         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
8972         * m4/lchown.m4 (gl_FUNC_LCHOWN):
8973         * m4/long-options.m4 (gl_LONG_OPTIONS):
8974         * m4/lstat.m4 (gl_FUNC_LSTAT):
8975         * m4/md5.m4 (gl_MD5):
8976         * m4/memcasecmp.m4 (gl_MEMCASECMP):
8977         * m4/memcoll.m4 (gl_MEMCOLL):
8978         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
8979         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
8980         * m4/memxor.m4 (gl_MEMXOR):
8981         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
8982         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
8983         * m4/modechange.m4 (gl_MODECHANGE):
8984         * m4/mountlist.m4 (gl_MOUNTLIST):
8985         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
8986         * m4/openat.m4 (gl_FUNC_OPENAT):
8987         * m4/pathmax.m4 (gl_PATHMAX):
8988         * m4/physmem.m4 (gl_PHYSMEM):
8989         * m4/posixtm.m4 (gl_POSIXTM):
8990         * m4/posixver.m4 (gl_POSIXVER):
8991         * m4/quote.m4 (gl_QUOTE):
8992         * m4/quotearg.m4 (gl_QUOTEARG):
8993         * m4/readtokens.m4 (gl_READTOKENS):
8994         * m4/readutmp.m4 (gl_READUTMP):
8995         * m4/regex.m4 (gl_REGEX):
8996         * m4/safe-read.m4 (gl_SAFE_READ):
8997         * m4/safe-write.m4 (gl_SAFE_WRITE):
8998         * m4/same.m4 (gl_SAME):
8999         * m4/save-cwd.m4 (gl_SAVE_CWD):
9000         * m4/savedir.m4 (gl_SAVEDIR):
9001         * m4/settime.m4 (gl_SETTIME):
9002         * m4/sha1.m4 (gl_SHA1):
9003         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
9004         * m4/stat-macros.m4 (gl_STAT_MACROS):
9005         * m4/stat-time.m4 (gl_STAT_TIME):
9006         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
9007         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
9008         * m4/strdup.m4 (gl_FUNC_STRDUP):
9009         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
9010         * m4/strndup.m4 (gl_FUNC_STRNDUP):
9011         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
9012         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
9013         * m4/time_r.m4 (gl_TIME_R):
9014         * m4/timespec.m4 (gl_TIMESPEC):
9015         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
9016         * m4/unlinkdir.m4 (gl_UNLINKDIR):
9017         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
9018         * m4/userspec.m4 (gl_USERSPEC):
9019         * m4/utimecmp.m4 (gl_UTIMECMP):
9020         * m4/utimens.m4 (gl_UTIMENS):
9021         * m4/xalloc.m4 (gl_XALLOC):
9022         * m4/xgetcwd.m4 (gl_XGETCWD):
9023         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
9024         * m4/xreadlink.m4 (gl_XREADLINK):
9025         * m4/xstrtod.m4 (gl_XSTRTOD):
9026         * m4/yesno.m4 (gl_YESNO):
9027         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
9028         to get the necessary .h files and whatnot.
9029
9030 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
9031             Bruno Haible  <bruno@clisp.org>
9032
9033         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
9034         /bin/sh understanding of '!' conditional negation.
9035
9036 2006-08-21  Jim Meyering  <jim@meyering.net>
9037
9038         * modules/openat (Depends-on): Really alphabetize.
9039
9040         * modules/acl (Depends-on): Add error and quote.
9041
9042         * check-module (find_included_lib_files): Add at-func.c to the
9043         ok-to-include-more-than-once white list.
9044
9045         * modules/openat (Depends-on): Add lstat.  Alphabetize.
9046
9047 2006-08-21  Bruno Haible  <bruno@clisp.org>
9048
9049         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9050         Emit a pkgdata_DATA variable only if some snippets add contents to it.
9051         Reported by Martin Lambers <marlam@marlam.de>.
9052
9053 2006-08-21  Bruno Haible  <bruno@clisp.org>
9054
9055         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
9056         specify an installation location, don't emit a noinst_LIBRARIES or
9057         noinst_LTLIBRARIES assignment.
9058
9059 2006-08-21  Bruno Haible  <bruno@clisp.org>
9060
9061         BeOS portability.
9062         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
9063         BeOS has mbrtowc() but no <wctype.h>.
9064
9065 2006-08-21  Bruno Haible  <bruno@clisp.org>
9066
9067         BeOS portability.
9068         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
9069         exist.
9070
9071 2006-08-21  Bruno Haible  <bruno@clisp.org>
9072
9073         BeOS portability.
9074         * lib/mbchar.h: Include <wctype.h> only if it exists.
9075
9076 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
9077
9078         Remove files that are no longer needed by their respective modules.
9079         * m4/obstack.m4: Remove.
9080         * m4/strerror_r.m4: Remove.
9081         * m4/uint32_t.m4: Remove.
9082         * m4/uintptr_t.m4: Remove.
9083         * m4/ullong_max.m4: Remove.
9084         * m4/xstrtoimax.m4: Remove.
9085         * m4/xstrtoumax.m4: Remove.
9086
9087         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
9088         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
9089         dependencies now capture this.
9090
9091         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
9092         Do not use AC_LIBSOURCES, since gnulib modules now do this.
9093         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
9094         * m4/human.m4 (gl_HUMAN): Likewise.
9095         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
9096         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
9097
9098         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
9099
9100         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
9101         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
9102         stdint.
9103         * m4/human.m4 (gl_HUMAN): Likewise.
9104         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
9105         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
9106         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
9107         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
9108         * m4/xstrtol (gl_XSTRTOL): Likewise.
9109
9110         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
9111         AC_TYPE_LONG_LONG_INT.
9112         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
9113         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
9114         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
9115         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
9116
9117         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
9118         on stdbool.
9119
9120         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
9121         (gl_PREREQ_XSTRTOUL): Remove.
9122
9123         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
9124
9125         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
9126         mode.
9127
9128 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
9129
9130         Add and change modules to make it easier for coreutils to use
9131         gnulib-tool.
9132         * modules/backupfile (Files): Remove m4/d-ino.m4.
9133         (Depends-on): Add d-ino.
9134         * modules/cycle-check (Depends-on): Add stdint.
9135         (lib_SOURCES): Add cycle-check.h.
9136         * modules/d-ino: New module.
9137         * modules/d-type: New module.
9138         * modules/error (Files): Remove m4/strerror_r.m4.
9139         * modules/filemode (Files): Add m4/st_dm_mode.m4.
9140         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
9141         m4/inttypes_h.m4, m4/uintmax_t.m4.
9142         (Depends-on): Add stdint.
9143         (lib_SOURCES): Add fsusage.h.
9144         * modules/getcwd (Files): Remove d-ino.m4.
9145         (Depends-on): Add d-ino.
9146         * modules/getndelim2 (Depends-on): Add stdint.
9147         * modules/glob (Files): Remove m4/d-type.m4.
9148         (Depends-on): Add d-type.
9149         * modules/host-os: New module.
9150         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
9151         m4/inttypes_h.m4, m4/uintmax_t.m4.
9152         * Depends-on: Add stdint.
9153         (lib_SOURCES): Add human.h.
9154         * modules/inttostr (Files): Remove m4/intmax_t.m4,
9155         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
9156         m4/uintmax_t.m4, m4/ulonglong.m4.
9157         (Depends-on): Add stdint.
9158         (EXTRA_DIST): Add inttostr.h.
9159         * modules/lchmod: New module.
9160         * modules/link-follow: New module.
9161         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
9162         (Depends-on): Add lchmod.
9163         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
9164         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
9165         (Depends-on): Add stdint.
9166         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
9167         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
9168         (Depends-on): Add stdint.
9169         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
9170         * modules/perl: New module.
9171         * modules/regex (Depends-on): Add stdint.
9172         * modules/rmdir-errno: New module.
9173         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
9174         m4/intmax_t.m4.
9175         (Depends-on): Add stdint.
9176         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
9177         m4/uintmax_t.m4.
9178         (Depends-on): Add stdint.
9179         * modules/unlink-busy: New module.
9180         * modules/utimecmp (Depends-on): Add stdint.
9181         * modules/uptime: New module.
9182         * modules/winsz-ioctl: New module.
9183         * modules/winsz-termios: New module.
9184         * modules/xnanosleep (Depends-on): Add nanosleep.
9185         * modules/ullong_max: Remove.
9186         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
9187         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
9188         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
9189         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
9190         (Depends-on): Add inttypes.
9191         (lib_SOURCES): Add xstrtol.h.
9192         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
9193         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
9194         * MODULES.html.sh: Move 'assert' into the assert section.
9195         Move 'dummy' into the linking section.
9196         Remove ullong_max.
9197         Add section for compatibility checks for POSIX:2001 functions,
9198         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
9199         winsz-ioctl, and winsz-termios into it.
9200         Add lchmod.
9201         Add top-level Misc section and put host-os, perl, and uptime
9202         into it.
9203
9204 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
9205
9206         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
9207         now assume the stdint module.  Do not include inttypes.h.
9208         * lib/fsusage.h: Likewise.
9209         * lib/getndelim2.c: Likewise.
9210         * lib/human.h: Likewise.
9211         * lib/inttostr.h: Likewise.
9212         * lib/obstack.c: Likewise.
9213         * lib/regex_internal.h: Likewise.
9214         * lib/tempname.c: Likewise.
9215         * lib/utimecmp.c: Likewise.
9216         * lib/xstrtol.h: Likewise.
9217
9218         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
9219
9220         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
9221         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
9222         * lib/xtime.h: Likewise.
9223
9224 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
9225
9226         * modules/openat (Files): Add lib/fchmodat.c.
9227         Fixes problem reported by Jay Youngman.
9228
9229 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
9230
9231         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
9232         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
9233
9234 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
9235             Bruno Haible  <bruno@clisp.org>
9236
9237         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
9238         and is a script that invokes bison. Tighten the code. Add comments.
9239
9240 2006-08-18  Jim Meyering  <jim@meyering.net>
9241
9242         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
9243         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
9244         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
9245         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
9246
9247 2006-08-18  Bruno Haible  <bruno@clisp.org>
9248
9249         * modules/bison-i18n: New file.
9250         * MODULES.html.sh (Internationalization functions): Add it.
9251
9252 2006-08-18  Bruno Haible  <bruno@clisp.org>
9253
9254         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
9255         sys/statvfs.h. When getmntinfo was found, check its declaration and
9256         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
9257
9258 2006-08-18  Bruno Haible  <bruno@clisp.org>
9259
9260         * m4/bison-i18n.m4: New file, from bison.
9261
9262 2006-08-18  Bruno Haible  <bruno@clisp.org>
9263
9264         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
9265         (ME_DUMMY): Treat "kernfs" as a dummy.
9266         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
9267
9268 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
9269
9270         Update from coreutils.
9271
9272         2006-08-15  Jim Meyering  <jim@meyering.net>
9273
9274         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
9275
9276         2006-01-17  Jim Meyering  <jim@meyering.net>
9277
9278         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
9279
9280         2006-01-11  Jim Meyering  <jim@meyering.net>
9281
9282         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
9283         Check for the lchmod function.
9284
9285 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
9286
9287         Update from coreutils.
9288
9289         * lib/__fpending.h: Add copyright notice.
9290         * lib/fprintftime.h: Likewise.
9291         * lib/savedir.c: Use (C) in copyright notice.
9292         * lib/savedir.h: Likewise.
9293
9294         2006-08-15  Jim Meyering  <jim@meyering.net>
9295
9296         * lib/at-func.c: New file, with the logic of all emulated at-functions.
9297         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
9298         in support of the EXPECTED_ERRNO macro.
9299         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
9300         definitions.  Instead, define the appropriate symbols and include
9301         "at-func.c".
9302         * lib/mkdirat.c (mkdirat): Likewise.
9303         * lib/fchmodat.c (fchmodat): Likewise.
9304         (ENOSYS): Remove definition.
9305         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
9306         it.  Don't include "unistd--.h" -- it wasn't ever used.
9307
9308         2006-01-17  Jim Meyering  <jim@meyering.net>
9309
9310         Rewrite fts.c not to change the current working directory,
9311         by using openat, fstatat, fdopendir, etc..
9312
9313         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
9314         (HAVE_OPENAT_SUPPORT): Define.
9315         [_LIBC] (fchdir): Don't undef or define; no longer used.
9316         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
9317         Now, this `function' always succeeds, and consumes its file descriptor
9318         parameter -- so callers must not close such FDs.  Update callers.
9319         (diropen_fd, opendirat, cwd_advance_fd): New functions.
9320         (diropen): Add parameter, SP.  Adjust all callers.
9321         Implement using diropen_fd, rather than open.
9322         (fts_open): Initialize new member, fts_cwd_fd.
9323         Remove fts_rft-setting code.
9324         (fts_close): Close fts_cwd_fd, if necessary.
9325         (__opendir2): Define in terms of opendir or opendirat,
9326         depending on whether the FST_NOCHDIR flag is set.
9327         (fts_build): Since fts_safe_changedir consumes its FD, and since
9328         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
9329         and close the dup'd file descriptor upon failure.
9330         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
9331         (fts_safe_changedir): Tweak semantics to reflect that this function
9332         now calls cwd_advance_fd and hence consumes its FD argument.
9333         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
9334         [struct FTS] (fts_rft): Remove now-unused member.
9335         [struct FTS] (fts_cycle.state): Improve comment.
9336
9337         * lib/openat.c (openat_needs_fchdir): New function.
9338         * lib/openat.h (openat_needs_fchdir): Declare it.
9339
9340 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
9341
9342         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
9343         Problem and fix reported by Pádraig Brady in
9344         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
9345
9346 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
9347
9348         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
9349
9350 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
9351
9352         * lib/memcoll.c (memcoll): Optimize for the common case where the
9353         arguments are bytewise equal.
9354
9355 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
9356
9357         * doc/regexprops-generic.texi: Add a copyright notice.
9358
9359 2006-08-15  Bruno Haible  <bruno@clisp.org>
9360
9361         * modules/tmpdir (License): Change to LGPL.
9362
9363 2006-08-15  Bruno Haible  <bruno@clisp.org>
9364
9365         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
9366         module.
9367
9368 2006-08-14  Simon Josefsson  <jas@extundo.com>
9369
9370         * config/srclist.txt: Add gnupload.
9371
9372 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
9373
9374         Change copyright notice from LGPL 2 to GPL 2, since that's the
9375         standard form used in the gnulib repository.
9376         * tests/test-lock.c: Likewise.
9377         * tests/test-stdint.c: Likewise.
9378         * tests/test-tls.c: Likewise.
9379
9380         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
9381         prelude-manager.  User shorter URLs for GNU projects, without '?'.
9382         Add copyright notice.
9383
9384         * check-module: Add copyright notice.  Output a copyright
9385         notice if "--version" is specified.
9386         * modules/COPYING: New file.
9387         * tests/test-getaddrinfo.c: Add copyright notice.
9388         * tests/test-verify.c: Likewise.
9389
9390 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
9391
9392         Change copyright notice from LGPL 2 to GPL 2, since that's the
9393         standard form used in the gnulib repository.
9394         * lib/lock.c: LGPL -> GPL.
9395         * lib/lock.h: Likewise.
9396         * lib/strnlen1.c: Likewise.
9397         * lib/strnlen1.h: Likewise.
9398         * lib/tls.c: Likewise.
9399         * lib/tls.h: Likewise.
9400         * lib/tmpdir.c: Likewise.
9401
9402         * lib/TODO: Remove; this belongs only in coreutils.
9403
9404 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
9405
9406         Add copyright notices to long-enough files that lack them, since
9407         otherwise the files aren't clearly free.  Use the same notice that
9408         getdate.texi already uses.
9409         * doc/alloca-opt.texi: Add copyright notice.
9410         * doc/alloca.texi: Likewise.
9411         * doc/ctime.texi: Likewise.
9412         * doc/functions.texi: Likewise.
9413         * doc/gcd.texi: Likewise.
9414         * doc/gnulib-tool.texi: Likewise.
9415         * doc/inet_ntoa.texi: Likewise.
9416         * doc/visibility.texi: Likewise.
9417
9418         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
9419         * doc/quote.texi: Add copyright notice.
9420
9421         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
9422         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
9423         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
9424         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
9425         is now obsolete, and give a pointer to the Sun list.
9426         Add copyright notice.
9427
9428 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
9429
9430         * config/srclistvars.sh: Add copyright notice.
9431
9432 2006-08-14  Eric Blake  <ebb9@byu.net>
9433
9434         Import the following change from libc:
9435
9436         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
9437
9438         Upstream bug 2997.
9439         * lib/misc/error.c: Add space between program name and message if file
9440         name is missing.
9441
9442 2006-08-12  Karl Berry  <karl@gnu.org>
9443
9444         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
9445         remove, these originate in gnulib now.
9446
9447 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9448
9449         * doc/Makefile (standards.info standards.html standards.dvi):
9450         Also depend on make-stds.texi.
9451
9452 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
9453
9454         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
9455         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
9456
9457         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
9458         in wchar_t.  Problem reported by Eric Blake.
9459
9460         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
9461         LEN is smaller than SIZE.  Suggested by Bruno Haible.
9462         Also, help the compiler to keep LEN in a register.
9463
9464 2006-08-11  Eric Blake  <ebb9@byu.net>
9465
9466         * users.txt: Sort.  Add tar.
9467
9468 2006-08-11  Bruno Haible  <bruno@clisp.org>
9469
9470         * users.txt: New file.
9471
9472 2006-08-11  Bruno Haible  <bruno@clisp.org>
9473
9474         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
9475         before <wchar.h>. Needed for OSF/1 and BSD/OS.
9476
9477 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9478
9479         * modules/snprintf (Depends-on): Remove minmax.
9480         (Maintainer): Add self and Bruno.
9481
9482 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9483
9484         * lib/.cppi-disable: Add snprintf.h, socket_.h.
9485         * lib/snprintf.c: Include <errno.h> and <limits.h>.
9486         (EOVERFLOW): Define if the system does not.
9487         Do not include "minmax.h"; it wasn't used.
9488         (snprintf): Don't assume size_t promotes to an unsigned type.
9489         Fix bug when generated string was too long for the buffer: the
9490         buffer's contents are supposed to be the initial prefix of the
9491         output.  Don't assume vasnprintf returns EOVERFLOW if the size
9492         exceeds INT_MAX; do the check ourselves.
9493
9494         Import the following changes from libc:
9495
9496         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
9497
9498         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
9499         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
9500         set wc to the byte which couldn't be converted.
9501         (re_string_reconstruct): Don't clear valid_raw_len before calling
9502         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
9503         tip_context using re_string_context_at.
9504
9505         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
9506
9507         * lib/posix/regex.h: g++ still cannot handled [restrict].
9508
9509         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
9510
9511         * lib/posix/regex.h: Remove special handling for VMS.
9512
9513 2006-08-10  Jim Meyering  <jim@meyering.net>
9514
9515         * modules/same-inode: New module.
9516         * modules/dev-ino: New module.
9517         * modules/cycle-check: Depend on these modules, rather than simply
9518         including their .h files.
9519         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
9520         required via m4/cycle-check.m4.
9521         * modules/same: Depend on new same-inode module, rather than
9522         including same-inode.h.
9523         * modules/chdir-safer: New file.
9524
9525         * modules/chown (Depends-on): Add stat-macros.
9526
9527 2006-08-10  Jim Meyering  <jim@meyering.net>
9528
9529         * m4/cycle-check.m4: New file.
9530         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
9531         * m4/dev-ino.m4, m4/same-inode.m4: New files.
9532
9533 2006-08-10  Eric Blake  <ebb9@byu.net>
9534
9535         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
9536         in from original proposal.
9537
9538 2006-08-10  Eric Blake  <ebb9@byu.net>
9539         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9540
9541         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
9542         namespace.
9543
9544 2006-08-10  Bruno Haible  <bruno@clisp.org>
9545
9546         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
9547         as well.
9548
9549 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
9550
9551         Sync from coreutils.
9552
9553         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
9554
9555         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
9556         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
9557
9558 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
9559
9560         * modules/restrict: Remove; no longer needed now that we assume
9561         Autoconf 2.59 or later.
9562         * MODULES.html.sh: Remove 'restrict'.
9563         * modules/argp (Depends-on): Remove 'restrict'.
9564         * modules/base64 (Depends-on): Likewise.
9565         * modules/gc (Depends-on): Likewise.
9566         * modules/getaddrinfo (Depends-on): Likewise.
9567         * modules/glob (Depends-on): Likewise.
9568         * modules/inet_ntop (Depends-on): Likewise.
9569         * modules/inet_pton (Depends-on): Likewise.
9570         * modules/memxor (Depends-on): Likewise.
9571         * modules/regex (Depends-on): Likewise.
9572         * modules/strtok_r (Depends-on): Likewise.
9573         * modules/time_r (Depends-on): Likewise.
9574
9575 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
9576
9577         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
9578         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
9579         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
9580         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
9581         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
9582         * m4/memxor.m4 (gl_MEMXOR): Likewise.
9583         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
9584         gl_C_RESTRICT replaced by AC_C_RESTRICT.
9585
9586         Merge from coreutils.
9587         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
9588         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
9589         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
9590         * m4/time_r.m4 (gl_TIME_R): Likewise.
9591
9592 2006-08-09  Karl Berry  <karl@gnu.org>
9593
9594         * config/srclist.txt: no more gettext-tools, per Bruno.
9595
9596 2006-08-08  Eric Blake  <ebb9@byu.net>
9597
9598         * modules/verror: New module.
9599         * MODULES.html.sh: Document it.
9600
9601 2006-08-08  Eric Blake  <ebb9@byu.net>
9602
9603         * lib/verror.h, lib/verror.c: New files.
9604
9605 2006-08-08  Eric Blake  <ebb9@byu.net>
9606
9607         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
9608         verror_at_line output complies with GNU Coding Standards even when
9609         file is NULL.
9610
9611 2006-08-07  Bruno Haible  <bruno@clisp.org>
9612
9613         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
9614         versions of AIX.
9615         Reported by Ralf Wildenhues.
9616
9617 2006-08-07  Bruno Haible  <bruno@clisp.org>
9618
9619         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
9620         in an AC_DEFUN. Needed so that the autoconf snippets can use
9621         AC_REQUIRE.
9622
9623 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9624
9625         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9626         Initialize pkgdata_DATA.
9627         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
9628         overriding it.
9629
9630 2006-08-06  Eric Blake  <ebb9@byu.net>
9631
9632         * lib/error.h: Fold in some upstream changes from glibc.
9633         * lib/error.c: Likewise.
9634
9635 2006-08-04  Bruno Haible  <bruno@clisp.org>
9636
9637         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9638         Make the mostlyclean-local rule depend on mostlyclean-generic.
9639         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
9640
9641 2006-07-31  Bruno Haible  <bruno@clisp.org>
9642
9643         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
9644         <stdlib.h>, <string.h>.
9645
9646 2006-07-30  Bruno Haible  <bruno@clisp.org>
9647
9648         * modules/readlink (License): Change to LGPL.
9649
9650 2006-07-30  Bruno Haible  <bruno@clisp.org>
9651
9652         * modules/javaversion (Makefile.am): Distribute javaversion.java and
9653         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
9654         set PKGDATADIR to point to it.
9655
9656 2006-07-30  Bruno Haible  <bruno@clisp.org>
9657
9658         * modules/csharpexec (configure.ac): Comment out macro invocation.
9659         * modules/javaexec (configure.ac): Likewise.
9660         * modules/javacomp-script (configure.ac): Likewise.
9661
9662         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
9663
9664 2006-07-30  Bruno Haible  <bruno@clisp.org>
9665
9666         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
9667         linked-list.
9668
9669 2006-07-30  Bruno Haible  <bruno@clisp.org>
9670
9671         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
9672
9673 2006-07-30  Bruno Haible  <bruno@clisp.org>
9674
9675         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9676         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
9677         get removed.
9678
9679 2006-07-29  Bruno Haible  <bruno@clisp.org>
9680
9681         Make it possible for gnulib-tool to work with locally modified or
9682         augmented gnulib repositories.
9683         * gnulib-tool (func_usage): Document --local-dir option.
9684         (local_gnulib_dir): New variable.
9685         Handle --local-dir option.
9686         (func_lookup_file): New function.
9687         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
9688         (func_get_description, func_get_filelist, func_get_description,
9689         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
9690         func_get_automake_snippet, func_get_include_directive,
9691         func_get_license, func_get_maintainer): Use func_lookup_file.
9692         (func_import, func_create_testdir): Use func_lookup_file.
9693
9694 2006-07-29  Bruno Haible  <bruno@clisp.org>
9695
9696         * modules/setenv (Depends-on): Add unistd.
9697
9698 2006-07-29  Bruno Haible  <bruno@clisp.org>
9699
9700         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
9701
9702 2006-07-29  Bruno Haible  <bruno@clisp.org>
9703
9704         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
9705
9706 2006-07-29  Bruno Haible  <bruno@clisp.org>
9707
9708         * gnulib-tool (import, update): If there is no Makefile.am, look at
9709         aclocal.m4, instead of bailing out.
9710
9711 2006-07-29  Bruno Haible  <bruno@clisp.org>
9712
9713         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
9714         Categorize the options by when they are useful.
9715
9716 2006-07-29  Bruno Haible  <bruno@clisp.org>
9717
9718         * gnulib-tool (func_usage): Document option --no-libtool.
9719         Handle option --no-libtool.
9720         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
9721         for changed semantics of $libtool variable.
9722         (func_import): Likewise. If libtool is not used, show this through
9723         an option --no-libtool.
9724         (func_create_testdir): Update.
9725
9726 2006-07-29  Bruno Haible  <bruno@clisp.org>
9727
9728         * gnulib-tool (func_import): Extend error message about missing
9729         --doc-base.
9730
9731 2006-07-29  Bruno Haible  <bruno@clisp.org>
9732
9733         * gnulib-tool (func_import): Don't create the $docbase directory if
9734         there is no file to store there.
9735
9736 2006-07-29  Bruno Haible  <bruno@clisp.org>
9737
9738         * gnulib-tool (autoconf_minversion): If a --dir option is given and
9739         relevant, look for configure.ac there, not in the current directory.
9740         Also use a simple search for AC_PREREQ, not "autoconf --trace".
9741
9742 2006-07-29  Bruno Haible  <bruno@clisp.org>
9743
9744         * gnulib-tool (SORT): New variable.
9745         (func_usage): Undocument --assume-autoconf option.
9746         Remove --assume-autoconf option handling.
9747         (autoconf_minversion): Determine from the contents of configure.ac.
9748         (func_import): Remove autoconf_minversion handling.
9749         Suggested by Eric Blake.
9750
9751 2006-07-29  Bruno Haible  <bruno@clisp.org>
9752
9753         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
9754
9755 2006-07-29  Bruno Haible  <bruno@clisp.org>
9756
9757         * config/srclist.txt (*setenv.[ch]): Remove rules.
9758
9759 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9760
9761         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
9762
9763 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9764
9765         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
9766         arpa/inet.h.
9767
9768 2006-07-28  Simon Josefsson  <jas@extundo.com>
9769
9770         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
9771         * modules/inet_pton (Depends-on): Likewise.
9772
9773 2006-07-28  Simon Josefsson  <jas@extundo.com>
9774
9775         * m4/netinet_in_h.m4: New file.
9776
9777 2006-07-28  Simon Josefsson  <jas@extundo.com>
9778
9779         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
9780         #include's.
9781
9782 2006-07-28  Simon Josefsson  <jas@extundo.com>
9783
9784         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
9785         #include's.
9786
9787 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
9788
9789         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
9790         setgid on directories only if they set these bits.
9791         * lib/modechange.h: Remove obsolete comment about masks.
9792
9793 2006-07-28  Eric Blake  <ebb9@byu.net>
9794
9795         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
9796         macro expansion.
9797
9798 2006-07-28  Bruno Haible  <bruno@clisp.org>
9799
9800         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
9801
9802 2006-07-28  Bruno Haible  <bruno@clisp.org>
9803
9804         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
9805
9806 2006-07-28  Bruno Haible  <bruno@clisp.org>
9807
9808         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
9809         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
9810         Define fallbacks.
9811         Avoids link error on FreeBSD 4.x.
9812         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
9813
9814         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
9815         encoding.
9816         * lib/mbswidth.c (iswcntrl): Likewise.
9817
9818 2006-07-27  Bruno Haible  <bruno@clisp.org>
9819
9820         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
9821         test.
9822
9823 2006-07-27  Bruno Haible  <bruno@clisp.org>
9824
9825         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
9826         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
9827         defined.
9828
9829 2006-07-26  Eric Blake  <ebb9@byu.net>
9830
9831         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
9832
9833 2006-07-26  Eric Blake  <ebb9@byu.net>
9834
9835         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
9836         like mingw that lack mkstemp.
9837         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
9838         avoid compilation warning on mingw.
9839
9840 2006-07-26  Bruno Haible  <bruno@clisp.org>
9841
9842         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
9843         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
9844         INT_FAST*_MIN, INTPTR_MIN.
9845
9846 2006-07-25  Bruno Haible  <bruno@clisp.org>
9847
9848         * modules/version-etc (Depends-on): Add stdarg.
9849
9850 2006-07-25  Bruno Haible  <bruno@clisp.org>
9851
9852         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
9853         complex commands.
9854
9855 2006-07-25  Bruno Haible  <bruno@clisp.org>
9856
9857         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
9858         defined in <stdarg.h> or config.h.
9859
9860 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9861
9862         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
9863         (gl_STDIO_SAFER): Remove.
9864
9865 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9866
9867         * MODULES.html.sh (File stream based Input/Output):
9868         Add fopen-safer, tmpfile-safer; remove stdio-safer.
9869         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
9870         * modules/fopen-safer, modules/tmpfile-safer: New files.
9871         * modules/stdio-safer: Remove.
9872
9873 2006-07-24  Bruno Haible  <bruno@clisp.org>
9874
9875         * modules/tmpdir: New file.
9876         * MODULES.html.sh (File system functions): Add it.
9877
9878 2006-07-24  Bruno Haible  <bruno@clisp.org>
9879
9880         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
9881         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
9882
9883 2006-07-24  Bruno Haible  <bruno@clisp.org>
9884
9885         * modules/clean-temp: New file.
9886
9887 2006-07-24  Bruno Haible  <bruno@clisp.org>
9888
9889         * m4/tmpdir.m4: New file, from GNU gettext.
9890
9891 2006-07-24  Bruno Haible  <bruno@clisp.org>
9892
9893         * lib/tmpdir.h: New file, from GNU gettext.
9894         * lib/tmpdir.c: New file, from GNU gettext.
9895
9896 2006-07-24  Bruno Haible  <bruno@clisp.org>
9897
9898         * lib/clean-temp.h: New file, from GNU gettext.
9899         * lib/clean-temp.c: New file, from GNU gettext.
9900
9901 2006-07-23  Eric Blake  <ebb9@byu.net>
9902
9903         * modules/stdio-safer (Files): Add tmpfile-safer.c.
9904         (Depends-on): Add binary-io.
9905
9906 2006-07-23  Eric Blake  <ebb9@byu.net>
9907
9908         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
9909
9910 2006-07-23  Eric Blake  <ebb9@byu.net>
9911
9912         * lib/tmpfile-safer.c: New file.
9913         * lib/stdio-safer.h (fopen_safer): Add prototype.
9914         * lib/stdio--.h (tmpfile): Make safer.
9915
9916 2006-07-23  Bruno Haible  <bruno@clisp.org>
9917
9918         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
9919         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
9920         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
9921         gl_linked_remove_at): Use it.
9922
9923 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9924         and Simon Josefsson <jas@extundo.com>
9925
9926         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
9927
9928         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
9929
9930 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9931
9932         * modules/close-stream: New file.
9933         * modules/closeout (Description): Make it clear that it exits
9934         with a diagnostic on error.
9935         (Depends-on): Add close-stream.  Remove fpending, stdbool.
9936         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
9937
9938 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9939
9940         * m4/close-stream.m4: New file.
9941
9942 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9943
9944         * lib/close-stream.c, lib/close-stream.h: New files.
9945
9946 2006-07-22  Bruno Haible  <bruno@clisp.org>
9947
9948         Merge from GNU gettext 0.15.
9949
9950         2006-05-01  Bruno Haible  <bruno@clisp.org>
9951
9952                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
9953
9954         2006-07-22  Bruno Haible  <bruno@clisp.org>
9955
9956                 * modules/javaversion: New file.
9957                 * MODULES.html.sh (Java): Add javaversion.
9958
9959         2006-03-12  Bruno Haible  <bruno@clisp.org>
9960
9961                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
9962
9963         2005-12-04  Bruno Haible  <bruno@clisp.org>
9964
9965                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
9966                 (untested).
9967
9968         2006-06-21  Bruno Haible  <bruno@clisp.org>
9969
9970                 Avoid warnings from recent versions of mcs.
9971                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
9972                 -o, -L, -r any more. Use options documented since mcs-1.0
9973                 instead. Similarly for -g.
9974
9975         2005-12-04  Bruno Haible  <bruno@clisp.org>
9976
9977                 * build-aux/csharpcomp.sh.in: Suffix for resources is
9978                 .resources, not .resource.
9979
9980         2005-07-09  Bruno Haible  <bruno@clisp.org>
9981
9982                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
9983                 add a .dll suffix.
9984                 Reported by Mark Junker <mjscod@gmx.de>.
9985
9986         2006-07-22  Bruno Haible  <bruno@clisp.org>
9987
9988                 * modules/gettext: Upgrade to gettext-0.15.
9989                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
9990                 m4/visibility.m4.
9991                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
9992
9993 2006-07-22  Bruno Haible  <bruno@clisp.org>
9994
9995         Merge from GNU gettext 0.15.
9996
9997         2006-03-25  Bruno Haible  <bruno@clisp.org>
9998
9999                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
10000
10001         2006-07-21  Bruno Haible  <bruno@clisp.org>
10002
10003                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
10004                 "1.1".
10005
10006         2006-05-09  Bruno Haible  <bruno@clisp.org>
10007
10008                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
10009                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
10010                 for the conftestver execution.
10011
10012         2006-05-01  Bruno Haible  <bruno@clisp.org>
10013
10014                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
10015                 optional target-version argument. Verify that the compiler
10016                 groks source of the specified source-version, or add -source
10017                 option as necessary. Verify that the compiler produces
10018                 bytecode in the specified target-version, or add -target and
10019                 -source options as necessary. Make the result of the test
10020                 available as variable CONF_JAVAC. Also log error output in
10021                 config.log.
10022
10023         2006-03-11  Bruno Haible  <bruno@clisp.org>
10024
10025                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
10026
10027         2006-05-09  Bruno Haible  <bruno@clisp.org>
10028
10029                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
10030                 CLASSPATH_SEPARATOR to a semicolon.
10031
10032         2006-03-12  Bruno Haible  <bruno@clisp.org>
10033
10034                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
10035                 available as variable CONF_JAVA, for subsequent autoconf
10036                 tests. Also log error output in config.log.
10037
10038         2006-07-19  Bruno Haible  <bruno@clisp.org>
10039
10040                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
10041                 that getline works on glibc2 systems. Needed to avoid trouble
10042                 in relocatable.c.
10043                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
10044
10045         2005-12-04  Bruno Haible  <bruno@clisp.org>
10046
10047                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
10048                 launcher (untested).
10049
10050         2005-12-04  Bruno Haible  <bruno@clisp.org>
10051
10052                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
10053
10054         2006-07-22  Bruno Haible  <bruno@clisp.org>
10055
10056                 * gettext.m4: Update from GNU gettext-0.15.
10057                 * nls.m4: Likewise.
10058                 * po.m4: Likewise.
10059                 * inttypes-pri.m4: Likewise.
10060                 * inttypes-h.m4: Renamed from inttypes.m4.
10061                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
10062
10063 2006-07-22  Bruno Haible  <bruno@clisp.org>
10064
10065         Merge from GNU gettext 0.15.
10066
10067         2005-07-05  Bruno Haible  <bruno@clisp.org>
10068
10069                 * printf-args.c (printf_fetchargs): Work around broken
10070                 definition of wint_t on mingw.
10071
10072         2005-02-12  Bruno Haible  <bruno@clisp.org>
10073
10074                 * xallocsa.h: Add extern "C" for C++.
10075
10076         2006-05-17  Bruno Haible  <bruno@clisp.org>
10077
10078                 Cygwin portability.
10079                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
10080
10081         2006-04-30  Bruno Haible  <bruno@clisp.org>
10082
10083                 * progreloc.c: Include <mach-o/dyld.h> if available.
10084                 (find_executable): Use _NSGetExecutablePath when possible.
10085
10086         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
10087
10088                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
10089                 function.
10090
10091         2005-12-29  Bruno Haible  <bruno@clisp.org>
10092
10093                 * progreloc.c (set_program_name_and_installdir): Fix
10094                 compilation error.
10095
10096         2005-12-04  Bruno Haible  <bruno@clisp.org>
10097
10098                 Cygwin portability.
10099                 * progreloc.c: Include <windows.h> also on Cygwin.
10100                 (find_executable): Add support for Cygwin.
10101                 (set_program_name_and_installdir): Handle also platforms with
10102                 nonempty EXEEXT.
10103
10104         2006-07-11  Bruno Haible  <bruno@clisp.org>
10105
10106                 * javacomp.c: Fix a comment.
10107                 Reported by Jim Meyering.
10108
10109         2006-04-30  Bruno Haible  <bruno@clisp.org>
10110
10111                 * javacomp.h (compile_java_class): Add source_version,
10112                 target_version arguments.
10113                 * javacomp.c: Rewritten to choose only a compiler that
10114                 respects the specified source_version and target_version.
10115
10116         2006-06-27  Bruno Haible  <bruno@clisp.org>
10117
10118                 Assume correct S_ISDIR macro.
10119                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
10120
10121         2006-07-22  Bruno Haible  <bruno@clisp.org>
10122
10123                 * javaversion.h: New file, from GNU gettext.
10124                 * javaversion.c: New file, from GNU gettext.
10125                 * javaversion.java: New file, from GNU gettext.
10126                 * javaversion.class: New file, from GNU gettext.
10127
10128         2006-05-17  Bruno Haible  <bruno@clisp.org>
10129
10130                 Cygwin portability.
10131                 * javaexec.c (execute_java_class): Test for jview program
10132                 also on Cygwin.
10133
10134         2006-04-09  Bruno Haible  <bruno@clisp.org>
10135
10136                 * fatal-signal.c: Don't include string.h.
10137                 (at_fatal_signal): Use a copying loop instead of memcpy.
10138
10139         2005-12-04  Bruno Haible  <bruno@clisp.org>
10140
10141                 * csharpexec.c: Add support for 'clix' launcher (untested).
10142                 (execute_csharp_using_sscli): New function.
10143                 (execute_csharp_program): Call it.
10144
10145         2006-06-21  Bruno Haible  <bruno@clisp.org>
10146
10147                 Avoid warnings from recent versions of mcs.
10148                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
10149                 -o, -L, -r any more. Use options documented since mcs-1.0
10150                 instead. Similarly for -g.
10151
10152         2005-07-09  Bruno Haible  <bruno@clisp.org>
10153
10154                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
10155                 add a .dll suffix.
10156                 Reported by Mark Junker <mjscod@gmx.de>.
10157
10158         2006-06-17  Bruno Haible  <bruno@clisp.org>
10159
10160                 * config.charset: Update for NetBSD 3.0.
10161
10162         2006-05-17  Bruno Haible  <bruno@clisp.org>
10163
10164                 Cygwin portability.
10165                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
10166
10167         2006-05-16  Bruno Haible  <bruno@clisp.org>
10168
10169                 * localcharset.c [CYGWIN]: Include <windows.h>.
10170                 (get_charset_aliases): For Cygwin, return the same CPxxx
10171                 aliases list as under WIN32.
10172                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
10173                 the environment variables. Fall back to GetACP().
10174
10175         2006-04-05  Bruno Haible  <bruno@clisp.org>
10176
10177                 * config.charset: Update Juan Manuel Guerrero's address.
10178
10179         2005-02-12  Bruno Haible  <bruno@clisp.org>
10180
10181                 * allocsa.h: Add extern "C" for C++.
10182
10183         2005-02-10  Bruno Haible  <bruno@clisp.org>
10184
10185                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
10186                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
10187
10188         2006-07-22  Bruno Haible  <bruno@clisp.org>
10189
10190                 * gettext.h: Update to GNU gettext-0.15.
10191
10192 2006-07-22  Bruno Haible  <bruno@clisp.org>
10193
10194         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
10195         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
10196         lib-prefix.m4, longdouble.m4, ssize_t.m4.
10197
10198 2006-07-21  Eric Blake  <ebb9@byu.net>
10199
10200         * modules/stdlib-safer: New file.
10201         * MODULES.html.sh (File stream based Input/Output): Add
10202         stdlib-safer.
10203
10204 2006-07-21  Eric Blake  <ebb9@byu.net>
10205
10206         * lib/stdlib-safer.h: New file from coreutils, required by
10207         stdlib--.h.
10208
10209 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
10210
10211         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
10212
10213 2006-07-20  Bruno Haible  <bruno@clisp.org>
10214
10215         * gnulib-tool: Recognize new option --assume-autoconf.
10216         (autoconf_minversion): New variable.
10217         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
10218
10219 2006-07-20  Bruno Haible  <bruno@clisp.org>
10220
10221         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
10222
10223 2006-07-19  Derek R. Price  <derek@ximbiot.com>
10224
10225         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
10226         Reindent and repaginate.
10227
10228 2006-07-19  Derek Price  <derek@ximbiot.com>
10229
10230         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
10231         Correct grammar.
10232
10233 2006-07-17  Bruno Haible  <bruno@clisp.org>
10234
10235         * modules/list: New file.
10236         * modules/array-list: New file.
10237         * modules/carray-list, modules/carray-list-tests: New files.
10238         * modules/linked-list, modules/linked-list-tests: New files.
10239         * modules/avltree-list, modules/avltree-list-tests: New files.
10240         * modules/rbtree-list, modules/rbtree-list-tests: New files.
10241         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
10242         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
10243         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
10244         * modules/oset: New file.
10245         * modules/array-oset: New file.
10246         * modules/avltree-oset, modules/avltree-oset-tests: New files.
10247         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
10248         * tests/test-carray_list.c: New file.
10249         * tests/test-linked_list.c: New file.
10250         * tests/test-avltree_list.c: New file.
10251         * tests/test-rbtree_list.c: New file.
10252         * tests/test-linkedhash_list.c: New file.
10253         * tests/test-avltreehash_list.c: New file.
10254         * tests/test-rbtreehash_list.c: New file.
10255         * tests/test-avltree_oset.c: New file.
10256         * tests/test-rbtree_oset.c: New file.
10257         * MODULES.html.sh (Container data structures): New section.
10258
10259 2006-07-17  Bruno Haible  <bruno@clisp.org>
10260
10261         * m4/gl_list.m4: New file.
10262
10263 2006-07-17  Bruno Haible  <bruno@clisp.org>
10264
10265         * lib/gl_list.h: New file.
10266         * lib/gl_list.c: New file.
10267         * lib/gl_array_list.h: New file.
10268         * lib/gl_array_list.c: New file.
10269         * lib/gl_carray_list.h: New file.
10270         * lib/gl_carray_list.c: New file.
10271         * lib/gl_linked_list.h: New file.
10272         * lib/gl_linked_list.c: New file.
10273         * lib/gl_anylinked_list1.h: New file.
10274         * lib/gl_anylinked_list2.h: New file.
10275         * lib/gl_avltree_list.h: New file.
10276         * lib/gl_avltree_list.c: New file.
10277         * lib/gl_anyavltree_list1.h: New file.
10278         * lib/gl_anyavltree_list2.h: New file.
10279         * lib/gl_rbtree_list.h: New file.
10280         * lib/gl_rbtree_list.c: New file.
10281         * lib/gl_anyrbtree_list1.h: New file.
10282         * lib/gl_anyrbtree_list2.h: New file.
10283         * lib/gl_anytree_list1.h: New file.
10284         * lib/gl_anytree_list2.h: New file.
10285         * lib/gl_linkedhash_list.h: New file.
10286         * lib/gl_linkedhash_list.c: New file.
10287         * lib/gl_anyhash_list1.h: New file.
10288         * lib/gl_anyhash_list2.h: New file.
10289         * lib/gl_avltreehash_list.h: New file.
10290         * lib/gl_avltreehash_list.c: New file.
10291         * lib/gl_rbtreehash_list.h: New file.
10292         * lib/gl_rbtreehash_list.c: New file.
10293         * lib/gl_anytreehash_list1.h: New file.
10294         * lib/gl_anytreehash_list2.h: New file.
10295
10296         * lib/gl_oset.h: New file.
10297         * lib/gl_oset.c: New file.
10298         * lib/gl_array_oset.h: New file.
10299         * lib/gl_array_oset.c: New file.
10300         * lib/gl_avltree_oset.h: New file.
10301         * lib/gl_avltree_oset.c: New file.
10302         * lib/gl_rbtree_oset.h: New file.
10303         * lib/gl_rbtree_oset.c: New file.
10304         * lib/gl_anytree_oset.h: New file.
10305
10306 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
10307
10308         * m4/mkancesdirs.m4: New file.
10309         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
10310         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
10311         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
10312         it.
10313
10314 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
10315
10316         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
10317         * lib/mkancesdirs.h: New files.
10318         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
10319         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
10320         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
10321         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
10322         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
10323         callers changed.  Revamp internals significantly, by not
10324         attempting to create directories that are temporarily more
10325         permissive than the final results.  Do not attempt to use
10326         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
10327         This removes some race conditions, fixes some bugs, and simplifies
10328         things.  Use new dirchownmod function to do owner and mode changes.
10329         * lib/mkdir-p.h: Likewise.
10330         * lib/modechange.c (octal_to_mode): New function.
10331         (struct mode_change): New member mentioned.
10332         (make_node_op_equals): New arg mentioned.  All callers changed.
10333         (mode_compile): Keep track of which mode bits the user has explicitly
10334         mentioned.
10335         (mode_adjust): New arg DIR, so that we implement the X op correctly.
10336         New arg PMODE_BITS, to keep track of which mode bits the user
10337         mentioned; it treats S_ISUID and S_ISGID speciall.
10338         All callers changed.
10339         * lib/modechange.h: Likewise.
10340
10341 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
10342
10343         * MODULES.html.sh: Add mkancestors.
10344         * modules/mkancesdirs: New module.
10345         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
10346         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
10347         The chdir-safer and afs files are now orphans; I'll remove them
10348         unless someone speaks up.
10349         Add lib/dirchownmod.c, lib/dirchownmod.h.
10350         (Depends-on): Remove alloca, chown, save-cwd, dirname.
10351         Add lchown, mkancesdirs.
10352         (Maintainer): Add self.
10353
10354 2006-07-15  Karl Berry  <karl@gnu.org>
10355
10356         * gnulib-tool: help message wording/arrangement.
10357
10358 2006-07-14  Simon Josefsson  <jas@extundo.com>
10359
10360         * doc/gnulib.texi (Libtool and Windows): New section.
10361
10362 2006-07-12  Simon Josefsson  <jas@extundo.com>
10363
10364         * modules/gendocs (License): Fix license, approved by Karl.
10365
10366 2006-07-12  Eric Blake  <ebb9@byu.net>
10367
10368         * MODULES.html.sh: Add gendocs.
10369
10370 2006-07-11  Eric Blake  <ebb9@byu.net>
10371
10372         * modules/fdl: New module, to install doc/fdl.texi.
10373         * MODULES.html.sh: Add new section for documentation modules.
10374         * gnulib-tool: Avoid space-tab.
10375         (--doc-base): New option, to manage files from doc.
10376
10377 2006-07-11  Eric Blake  <ebb9@byu.net>
10378
10379         * m4/absolute-header.m4: Fix comments to match recent change.
10380
10381 2006-07-11  Eric Blake  <ebb9@byu.net>
10382
10383         * gnulib-tool: List --doc-base before --tests-base.
10384
10385 2006-07-11  Derek R. Price  <derek@ximbiot.com>
10386
10387         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
10388
10389 2006-07-11  Bruno Haible  <bruno@clisp.org>
10390
10391         * README: Mention where to put documentation.
10392
10393 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10394
10395         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
10396
10397 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
10398
10399         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
10400         to stdint.m4.
10401
10402 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
10403
10404         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
10405         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
10406         "no/such/file/stdint.h" when there is no such file, so that
10407         the resulting C code can be parsed by dodgy compilers.
10408         Problems reported by Bob Proulx.
10409
10410 2006-07-10  Derek R. Price  <derek@ximbiot.com>
10411
10412         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
10413         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
10414         macros into the GNU _D_EXACT_NAMLEN.
10415         * lib/savedir.c:  Likewise.
10416         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
10417
10418 2006-07-10  Derek R. Price  <derek@ximbiot.com>
10419         and Paul Eggert  <eggert@cs.ucla.edu>
10420
10421         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
10422         * m4/savedir.m4:
10423         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
10424         macros into the GNU _D_EXACT_NAMLEN.
10425
10426 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10427
10428         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
10429         around the absolute name, to work around a problem with the HP-UX
10430         11.23 native C compiler, reported by Bob Proulx.
10431
10432 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10433
10434         * doc/maintain.texi, make-stds.texi: Sync from
10435         <http://savannah.gnu.org/projects/gnustandards>.
10436
10437 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10438
10439         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
10440
10441 2006-07-09  Jim Meyering  <jim@meyering.net>
10442
10443         * m4/glob.m4: Remove a doubled word in a comment.
10444
10445 2006-07-09  Jim Meyering  <jim@meyering.net>
10446
10447         * lib/argp-pv.c: Remove a doubled word in a comment.
10448         * lib/check-version.c (check_version): Likewise.
10449         * lib/javacomp.c (compile_java_class): Likewise.
10450
10451 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10452
10453         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
10454         for the benefit of people using Autoconf 2.60.  If you want to
10455         support older Autoconf versions you can copy m4/onceonly_2_57.m4
10456         (or m4/onceonly.m4, if pre-2.57) manually.
10457
10458 2006-07-08  Jim Meyering  <jim@meyering.net>
10459
10460         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
10461         comment.
10462         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
10463         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
10464         comment.
10465
10466 2006-07-08  Jim Meyering  <jim@meyering.net>
10467
10468         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
10469
10470 2006-07-07  Simon Josefsson  <jas@extundo.com>
10471
10472         * tests/test-crc.c: Change expected crc value, the test vector
10473         were probably computed using the old broken crc.c?
10474
10475 2006-07-06  Simon Josefsson  <jas@extundo.com>
10476
10477         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
10478         now the canonical place for the M4 file).
10479
10480         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
10481         from the sys_socket dependency now.
10482
10483         * modules/inet_pton (Files): Ditto.
10484
10485         * modules/inet_ntop (Files): Ditto.
10486
10487 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10488
10489         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
10490         not gl_PREREQ_GETUSERSHELL.
10491
10492 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10493
10494         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
10495         with only one argument, for Autoconf 2.60.
10496         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
10497         expand to nothing, so add a shell command to avoid syntax error.
10498         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
10499
10500 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10501
10502         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
10503
10504 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10505
10506         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
10507         no longer needed.  Check for isblank decl.
10508         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
10509         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
10510         of existence.
10511
10512 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10513
10514         * lib/getloadavg.c: Use __VMS, not VMS.
10515         * lib/getopt.c: Likewise.
10516         * lib/getpagesize.h: Likewise.
10517         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
10518         and probably does not work.
10519
10520 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10521
10522         * lib/.cppi-disable: Add wcwidth.
10523         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
10524         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
10525         (ISGRAPH): Remove.  All uses changed to isgraph.
10526         (FOLD) [!defined _LIBC]: Remove special case.
10527         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
10528         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
10529         HAVE_ISBLANK.
10530         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
10531         case.
10532
10533 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
10534
10535         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
10536         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
10537         brackets.  Other minor changes to suppress some compiler
10538         warnings.
10539
10540 2006-07-06  Derek R. Price  <derek@ximbiot.com>
10541         and Paul Eggert  <eggert@cs.ucla.edu>
10542
10543         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
10544         of invoking obsolescent AC_HEADER_DIRENT macro.
10545         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
10546         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
10547         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10548         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
10549         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
10550         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
10551         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
10552         * m4/readdir.m4: Remove; no longer needed.
10553
10554 2006-07-06  Derek R. Price  <derek@ximbiot.com>
10555         and Paul Eggert  <eggert@cs.ucla.edu>
10556
10557         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
10558         Don't worry about this obsolete case any more.
10559         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
10560         directories.
10561         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
10562         worry about this obsolete case any more.
10563         * lib/fts.c: Likewise.
10564         * lib/getcwd.c: Likewise.
10565         * lib/glob.h: Likewise.
10566         * lib/savedir.c: Likewise.
10567
10568 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10569
10570         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
10571         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
10572         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
10573         needed.
10574         All uses removed.
10575         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
10576         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
10577         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
10578         needed.
10579         * m4/getdate.m4 (gl_GETDATE): Likewise.
10580         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
10581         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
10582         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
10583         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
10584         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
10585         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
10586         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
10587         needed.
10588
10589 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10590
10591         * lib/memcasecmp.c: Include <limits.h>.
10592         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
10593         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
10594         Don't assume isdigit succeeds only on '0' through '9'.
10595
10596 2006-07-05  Eric Blake  <ebb9@byu.net>
10597
10598         * modules/getaddrinfo (Depends-on): Add snprintf.
10599
10600 2006-07-05  Eric Blake  <ebb9@byu.net>
10601
10602         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
10603         to avoid 'header present but could not be compiled' on cygwin.
10604
10605 2006-07-05  Eric Blake  <ebb9@byu.net>
10606
10607         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
10608         missing from netdb.h.
10609         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
10610
10611 2006-07-05  Derek R. Price  <derek@ximbiot.com>
10612
10613         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
10614         no longer needed.
10615         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
10616         * m4/getdate.m4 (gl_GETDATE): Likewise.
10617         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
10618         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
10619         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
10620         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
10621         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
10622
10623 2006-07-05  Derek R. Price  <derek@ximbiot.com>
10624
10625         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
10626         All uses of is_space replaced by isspace.
10627         * lib/exit.h: Don't talk about STDC_HEADERS.
10628         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
10629         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
10630         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
10631         replaced by isprint etc.
10632         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
10633         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
10634         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
10635         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
10636         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
10637         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
10638
10639 2006-07-05  Bruno Haible  <bruno@clisp.org>
10640
10641         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
10642         the function exists, before testing against AIX.
10643         Reported by Martin Lambers <marlam@marlam.de>.
10644
10645 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
10646
10647         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
10648         From Mark D. Baushke.
10649
10650 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
10651
10652         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
10653         to the absolute name, not just one, to bypass Sun C 5.8's
10654         "warning: #include of /usr/include/... may be non-portable".
10655
10656 2006-07-04  Eric Blake  <ebb9@byu.net>
10657
10658         * modules/dirname-tests: New test module.
10659         * tests/test-dirname.c: New file, replacing dirname.c
10660         TEST_DIRNAME section that was recently deleted.
10661
10662 2006-07-04  Bruno Haible  <bruno@clisp.org>
10663
10664         Assume ANSI C header files and <ctype.h> functions.
10665         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
10666         (mbsnwidth): Use isprint, iscntrl instead.
10667
10668 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10669
10670         Merge from coreutils.
10671         * MODULES.html.sh: Add xstrtold.
10672         * modules/xstrtold: New file.
10673         * modules/cycle-check (Files): Add lib/same-inode.h.
10674         * modules/dirname (Files): Add m4/double-slash-root.m4.
10675         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
10676         * modules/mkdir-p (Files): Add lib/same-inode.h.
10677         * modules/same (Files): Add lib/same-inode.h.
10678
10679 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10680
10681         * m4/absolute-header.m4: Renamed from full-header-path.m4.
10682         This is to keep the terminology clean; POSIX talks about
10683         "absolute pathnames", not "full pathnames", but the GNU
10684         Coding Standards say to use "path" for something else;
10685         so use "absolute" to keep both sides happy.
10686         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
10687         Set gl_absolute_header, not gl_full_header_path.
10688         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
10689         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
10690         All uses changed.
10691
10692         Merge from coreutils.
10693
10694         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10695
10696         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
10697         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
10698         want to require the building of c-strtod.o.
10699         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
10700         needs -lm directly.
10701         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
10702
10703         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
10704
10705         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
10706         --as-needed option if available.  Problem reported by Albert Chin in
10707         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
10708         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
10709         cc merely issues a bunch of annoying warnings for --as-needed
10710         (this problem was reported by Bob Proulx).  Also, try linking with
10711         -lm to detect a bug in binutils 2.16 (this problem was reported
10712         by Ralf Wildenhues).
10713
10714         2006-06-18  Jim Meyering  <jim@meyering.net>
10715
10716         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
10717         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
10718         macro.
10719         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
10720         also check for glibc-2.4's abort-inducing bug.
10721
10722         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
10723         Low-probability clean-up should be to use rmdir to get rid of
10724         the just-created directory, not unlink.
10725
10726         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
10727         configure fail, and request a bug report to inform us about it.
10728         Add a comment that, barring reports to the contrary, in 2007 we'll
10729         assume ftruncate is universally available.
10730
10731         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
10732
10733         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
10734
10735         2006-03-12  Jim Meyering  <jim@meyering.net>
10736
10737         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
10738         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
10739         * m4/same.m4 (gl_SAME): Likewise.
10740         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
10741
10742         2006-03-11  Eric Blake  <ebb9@byu.net>
10743
10744         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
10745         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
10746         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
10747         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
10748
10749 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10750
10751         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
10752         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
10753         reported by Mark D. Baushke, one in
10754         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
10755
10756         Merge from coreutils.
10757
10758         * lib/.cppi-disable: Add stdint_.h.
10759         * lib/.cvsignore: Add stdint.h.
10760
10761         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10762
10763         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
10764         both double and long double versions.
10765         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
10766         * lib/xstrtold.c: New file.
10767         * lib/xstrtod.h (xstrtold): New decl.
10768
10769         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
10770
10771         * lib/filemode.c (setst): Remove.
10772         (strmode): Rewrite to avoid setst.  This makes the code shorter,
10773         (arguably) clearer, and the generated code is a bit smaller on my
10774         Debian GNU/Linux stable x86 host.
10775
10776         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
10777
10778         * lib/filemode.c: Include "filemode.h" first, to test the interface.
10779         Assume that filemode.h includes sys/types.h and sys/stat.h.
10780         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
10781         (ftypelet): Reorder to put common cases first, for efficiency.
10782         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
10783         to do 'M'.
10784         (strmode): Renamed from mode_string, and now stores 12 bytes instead
10785         of 10, for compatibility with FreeBSD.  All callers changed.
10786         (filemodestring): Now stores 12 bytes instead of 10, and sets file
10787         types that can't be deduced solely from st_mode.  First arg is now a
10788         const pointer.
10789         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
10790         (strmode): Renamed from mode_string.
10791         (filemodestring): New decl.
10792         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
10793         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
10794         needed.
10795         (S_ISPORT, S_ISWHT): New macros, if not already defined.
10796
10797         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
10798
10799         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
10800         fsusage.h now does that.  Include fsusage.h first, to test interface.
10801         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
10802         at most one method (the old code could have generated decls that
10803         didn't conform to C89, not that this was ever exercised).
10804         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
10805
10806         2006-03-19  Jim Meyering  <jim@meyering.net>
10807
10808         Work even in a chroot where d_ino values for entries in "/"
10809         don't match the stat.st_ino values for the same names.
10810         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
10811         number, iterate through all entries again, using lstat instead.
10812         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
10813         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
10814
10815         * lib/getcwd.c (__getcwd): Clarify a comment.
10816         Use memcpy in place of a call to strcpy.
10817
10818         2006-03-12  Jim Meyering  <jim@meyering.net>
10819
10820         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
10821         matches that of the current directory (which we're about to chdir ".."
10822         out of), then save the dev-ino of the parent, instead.
10823
10824         * lib/same-inode.h (SAME_INODE): New file/macro.
10825         * lib/chdir-safer.c (SAME_INODE): Remove definition.
10826         Include "same-inode.h", instead.
10827         * lib/same.c: Likewise.
10828         * lib/cycle-check.h: Include "same-inode.h".
10829         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
10830         * lib/cycle-check.c (SAME_INODE): Remove definition.
10831         * lib/root-dev-ino.h: Include "same-inode.h".
10832
10833         2006-03-11  Eric Blake  <ebb9@byu.net>
10834
10835         * lib/same.c (same_name): s/base_name/last_component/
10836         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
10837         * lib/filenamecat.c (file_name_concat): Likewise.
10838
10839         2006-03-11  Eric Blake  <ebb9@byu.net>,
10840                     Paul Eggert  <eggert@cs.ucla.edu>
10841
10842         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
10843         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
10844         drive prefix.
10845         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
10846         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
10847         (last_component): New method.
10848         * lib/dirname.c (dir_len): Determine when drive letters need a
10849         subsequent slash.  Preserve // when it is special.
10850         (dir_name): Don't append dot when drive letter is absolute.
10851         [TEST_DIRNAME]: Move into a full-blown gnulib test.
10852         * lib/basename.c (base_name): New semantics - malloc the result.
10853         Preserve // when it is special.  Preserve relative files that look
10854         like drive letters.
10855         (base_len): Preserve // when it is special.
10856         (last_component): New method, similar to old base_name semantics.
10857         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
10858         base_name.  Strip redundant slashes from ///.
10859
10860 2006-07-03  Jim Meyering  <jim@meyering.net>
10861
10862         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
10863         macro is used before the first cycle_check call.
10864
10865 2006-07-03  Eric Blake  <ebb9@byu.net>
10866
10867         * modules/dirname (Depends-on): Add xstrndup.
10868
10869 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
10870
10871         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
10872         test cases, so that config.log is a bit easier to follow.
10873
10874 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
10875
10876         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
10877         both are 64 bits, since this seems to be the tradition, and this
10878         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
10879         we ever run into a host that prefers long long to long in this
10880         case, we'll need another configure-time test.  Problem reported by
10881         Jim Meyering.
10882
10883 2006-07-02  Eric Blake  <ebb9@byu.net>
10884
10885         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
10886
10887 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
10888
10889         * modules/inttypes (Depends-on): No longer depends on stdint.
10890         * modules/stdint (Description): Say more about assumptions.
10891         Say that the fast types might differ.  Say macros are used.
10892         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
10893         (Makefile.am): Revise list of substituted symbols to match
10894         new stdint.m4.
10895         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
10896         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
10897         * tests/test-stdint.c (verify_same_types)
10898         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
10899         the code conforms to C99/C89.
10900         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
10901         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
10902
10903 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
10904
10905         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
10906         but fix a bug, by requiring at least 64 bits.
10907         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
10908         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
10909         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
10910         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
10911
10912         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
10913         changes.  Make 2.59 a prerequisite.  Check and substitute for
10914         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
10915         inttypes.h.  Do not use special include files; just use the
10916         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
10917         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
10918         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
10919         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
10920         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
10921         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
10922         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
10923         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
10924         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
10925         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
10926         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
10927         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
10928         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
10929         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
10930         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
10931         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
10932         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
10933         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
10934         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
10935         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
10936         WINT_MAX.  Check for C99 conformance more strictly, by detecting
10937         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
10938         not check for things that C99 does not require, e.g., int8_t.  If
10939         a test isn't needed unless <stdint.h> isn't working, and is
10940         unlikely to be needed for any other reason, then don't do it
10941         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
10942         size_t, since we assume C89 freestanding at least.  Do not check
10943         for sig_atomic_t, wchar_t, or wint_t, since the code now does
10944         the right thing even if the types are not defined.  Instead use:
10945         (gl_STDINT_TYPE_PROPERTIES): New macro.
10946         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
10947         testing whether <sys/types.h> clashes, as Autoconf does this for
10948         us now.  All uses removed.
10949         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
10950         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
10951         (gl_CHECK_TYPE_SAME):
10952         Remove; no longer needed.
10953         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
10954         exists, since we'll return 0 anyway in that case.
10955         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
10956
10957 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
10958
10959         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
10960         possible collision with system files.
10961         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
10962         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
10963         WCHAR_MIN and WCHAR_MAX in this case.
10964         (<stddef.h>): Do not include; no longer needed.
10965         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
10966         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
10967         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
10968         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
10969         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
10970         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
10971         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
10972         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
10973         !defined(__c99))]: Include in this case too, since it's harmless
10974         now.
10975         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
10976         dangerous to do so.
10977         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
10978         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
10979         (_STDINT_MIN, _STDINT_MAX): New macros.
10980         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
10981         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
10982         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
10983         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
10984         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
10985         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
10986         macros, not typedefs; this simplifies things quite a bit.
10987         Use long int for all types narrower than int64_t.
10988         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
10989         Define in terms of long long int or int64_t or long int,
10990         not int64_t or int32_t.  This saves some compile-time testing.
10991         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
10992         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
10993         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
10994         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
10995         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
10996         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
10997         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
10998         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
10999         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
11000         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
11001         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
11002         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
11003         undef any previous version and define our own version, for
11004         simplicity and consistency with the new macros for types.
11005         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
11006         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
11007         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
11008         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
11009         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
11010         @WINT_T_SUFFIX@ to keep things simple here.
11011         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
11012         Simplify by assuming typical 8/16/32/64 host, since we're
11013         already doing that elsewhere anyway.
11014         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
11015         and assume long long int is 64 bits if available.  This
11016         speeds up 'configure'.
11017
11018 2006-07-01  Eric Blake  <ebb9@byu.net>
11019
11020         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
11021         Reported by Andreas Buening.
11022
11023 2006-07-01  Eric Blake  <ebb9@byu.net>
11024
11025         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
11026
11027 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
11028
11029         * lib/getaddrinfo.c: fixed typo
11030
11031 2006-06-29  Jim Meyering  <jim@meyering.net>
11032
11033         * modules/strftime (Maintainer): Add my name, since with the
11034         FPRINTFTIME changes strftime.c has forked from glibc.
11035
11036 2006-06-29  Eric Blake  <ebb9@byu.net>
11037
11038         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
11039
11040 2006-06-29  Eric Blake  <ebb9@byu.net>
11041
11042         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
11043
11044 2006-06-29  Eric Blake  <ebb9@byu.net>
11045
11046         * lib/stat_.h: New file.
11047
11048 2006-06-29  Eric Blake  <ebb9@byu.net>
11049
11050         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
11051         unused static function.
11052
11053 2006-06-29  Eric Blake  <ebb9@byu.net>
11054
11055         * doc/functions.texi (Function Portability): Document missing lstat
11056         on mingw.
11057
11058 2006-06-29  Eric Blake  <ebb9@byu.net>
11059
11060         * MODULES.html.sh: Add sys_stat.
11061         * modules/sys_stat: New module.
11062         * modules/mkstemp (Depends-on): Add sys_stat.
11063
11064 2006-06-29  Derek R. Price  <derek@ximbiot.com>
11065
11066         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
11067
11068 2006-06-29  Derek R. Price  <derek@ximbiot.com>
11069
11070         * m4/c-bs-a.m4: Removed.
11071
11072 2006-06-29  Derek R. Price  <derek@ximbiot.com>
11073
11074         * lib/strftime.c: Assume strftime() exists.
11075
11076 2006-06-29  Derek Price  <derek@ximbiot.com>
11077
11078         * modules/c-bs-a: Removed - \a is C89.
11079         * MODULES.html.sh: Remove c-bs-a.
11080
11081 2006-06-29  Bruno Haible  <bruno@clisp.org>
11082
11083         * modules/wcwidth (License): Change to LGPL.
11084
11085 2006-06-28  Simon Josefsson  <jas@extundo.com>
11086
11087         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
11088         on _WIN32.
11089
11090         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
11091         getnameinfo.
11092
11093 2006-06-28  Simon Josefsson  <jas@extundo.com>
11094
11095         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
11096
11097 2006-06-28  Simon Josefsson  <jas@extundo.com>
11098
11099         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
11100         functions there.  It will succeed on Windows XP, but on Windows
11101         2000 and (presumably) earlier, it will fail, and use the internal
11102         re-implementation.
11103         (use_win32_p): New function.
11104         (getaddrinfo): Use strtoul on servname, to support numeric ports.
11105         Support AI_NUMERICSERV to disable getservbyname.
11106         (getnameinfo): New function, only supports
11107         NI_NUMERICHOST|NI_NUMERICSERV for now.
11108
11109         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
11110         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
11111         getnameinfo.
11112
11113 2006-06-28  Eric Blake  <ebb9@byu.net>
11114
11115         * modules/wcwidth: New file.
11116         * modules/mbchar (Depends-on): Add wcwidth.
11117         * modules/mbswidth (Depends-on): Add wcwidth.
11118         * MODULES.html.sh: Add wcwidth.
11119
11120 2006-06-28  Eric Blake  <ebb9@byu.net>
11121
11122         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
11123         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
11124
11125 2006-06-28  Eric Blake  <ebb9@byu.net>
11126
11127         * lib/xvasprintf.h: Fix comments.
11128
11129 2006-06-28  Eric Blake  <ebb9@byu.net>
11130
11131         * lib/mbchar.h (wcwidth): Include wcwidth.h.
11132         * lib/mbswidth.c (wcwidth): Move from here...
11133         * lib/wcwidth.h: ...to this new file.
11134
11135 2006-06-28  Derek R. Price  <derek@ximbiot.com>
11136
11137         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
11138
11139         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
11140         it's obsolete.
11141         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
11142
11143 2006-06-28  Derek R. Price  <derek@ximbiot.com>
11144
11145         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
11146         Autoconf 2.60 says this stuff was obsolete.
11147
11148 2006-06-28  Bruno Haible  <bruno@clisp.org>
11149
11150         * modules/wcwidth (Files): Add m4/wchar_t.m4.
11151
11152 2006-06-28  Bruno Haible  <bruno@clisp.org>
11153
11154         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
11155         gt_TYPE_WCHAR_T.
11156
11157 2006-06-28  Bruno Haible  <bruno@clisp.org>
11158
11159         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
11160         declaration for wcwidth.
11161         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
11162
11163 2006-06-28  Bruno Haible  <bruno@clisp.org>
11164
11165         * lib/mkdtemp.c [MINGW]: Include <io.h>.
11166         (mkdir): Define using _mkdir.
11167
11168 2006-06-28  Bruno Haible  <bruno@clisp.org>
11169
11170         * lib/getaddrinfo.h: Fix POSIX URL.
11171         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
11172         _WIN32.
11173         (use_win32_p): Make static.
11174         (getaddrinfo): Reject service name if it is empty or does not consist
11175         solely of decimal digits, or if its value is > 65535.
11176         (getnameinfo): Remove useless casts.
11177
11178 2006-06-27  Simon Josefsson  <jas@extundo.com>
11179
11180         * modules/sys_select: New file, suggested by Bruno Haible, Paul
11181         Eggert and Martin Lambers.
11182
11183 2006-06-27  Simon Josefsson  <jas@extundo.com>
11184
11185         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
11186         Eggert and Martin Lambers.
11187
11188 2006-06-27  Bruno Haible  <bruno@clisp.org>
11189
11190         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
11191         result to 0, not to empty.
11192         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
11193
11194 2006-06-27  Bruno Haible  <bruno@clisp.org>
11195
11196         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
11197
11198 2006-06-26  Simon Josefsson  <jas@extundo.com>
11199
11200         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
11201         present.
11202
11203 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
11204
11205         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
11206         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
11207         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
11208
11209 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
11210
11211         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
11212
11213 2006-06-26  Bruno Haible  <bruno@clisp.org>
11214
11215         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
11216
11217 2006-06-26  Bruno Haible  <bruno@clisp.org>
11218
11219         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
11220
11221 2006-06-26  Bruno Haible  <bruno@clisp.org>
11222
11223         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
11224         SGI C compiler in pre-C99 mode.
11225         Suggested by Mark D. Baushke and Larry Jones.
11226
11227 2006-06-26  Bruno Haible  <bruno@clisp.org>
11228
11229         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
11230         WCHAR_MAX.
11231         Reported by Mark D. Baushke and Larry Jones.
11232
11233 2006-06-26  Bruno Haible  <bruno@clisp.org>
11234
11235         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
11236         in pre-C99 mode.
11237         Suggested by Mark D. Baushke and Larry Jones.
11238
11239 2006-06-23  Simon Josefsson  <jas@extundo.com>
11240             Bruno Haible  <bruno@clisp.org>
11241
11242         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
11243         Emit mostlyclean-local rule.
11244         (func_emit_tests_Makefile_am): Likewise.
11245         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
11246
11247 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
11248
11249         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
11250
11251 2006-06-23  Bruno Haible  <bruno@clisp.org>
11252
11253         * tests/test-stdint.c: Update to match ISO C 99 Technical
11254         Corrigendum 1.
11255
11256 2006-06-23  Bruno Haible  <bruno@clisp.org>
11257
11258         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
11259
11260 2006-06-23  Bruno Haible  <bruno@clisp.org>
11261
11262         * lib/stdint_.h: Treat IRIX like OpenBSD.
11263
11264 2006-06-23  Bruno Haible  <bruno@clisp.org>
11265
11266         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
11267         ISO C 99 Technical Corrigendum 1.
11268
11269 2006-06-22  Simon Josefsson  <jas@extundo.com>
11270
11271         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
11272         MinGW.
11273
11274 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
11275
11276         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
11277         needed.  Some compiler complained about some of them.  Problem reported
11278         by Larry Jones in
11279         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
11280
11281 2006-06-21  Simon Josefsson  <jas@extundo.com>
11282
11283         * tests/test-getaddrinfo.c: New file.
11284
11285         * modules/getaddrinfo-tests: New file.
11286
11287         * MODULES.html.sh: Add inet_pton.
11288
11289         * modules/inet_pton: New file.
11290
11291 2006-06-21  Simon Josefsson  <jas@extundo.com>
11292
11293         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
11294         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
11295         of using the (limited) gnulib implementation on Windows XP.
11296
11297         * m4/inet_pton.m4: New file.
11298
11299 2006-06-21  Simon Josefsson  <jas@extundo.com>
11300
11301         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
11302         variable.
11303
11304         * lib/socket_.h: Don't define WINVER.
11305
11306         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
11307         slightly modified to work in gnulib.
11308
11309 2006-06-21  Simon Josefsson  <jas@extundo.com>
11310
11311         * doc/gnulib.texi (Windows sockets): Add.
11312
11313 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
11314
11315         * lib/read-file.c (fread_file): Start with buffer allocation of
11316         0 bytes rather than 1 byte; this simplifies the code.
11317         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
11318         code to free buffer and save/restore errno.
11319         (internal_read_file): Remove unused local.
11320
11321 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
11322
11323         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
11324         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
11325         Problem reported by Denis Excoffier in
11326         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
11327
11328 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11329
11330         * modules/sys_socket, modules/socklen: Include sys/types since
11331         FreeBSD 4.x's sys/socket.h needs it.
11332
11333 2006-06-19  Simon Josefsson  <jas@extundo.com>
11334
11335         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
11336
11337 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
11338
11339         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
11340
11341 2006-06-19  Bruno Haible  <bruno@clisp.org>
11342
11343         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
11344         and FULL_PATH_INTTYPES_H in angle brackets.
11345         Reported by Mark D. Baushke <mdb@gnu.org>.
11346
11347 2006-06-17  Eric Blake  <ebb9@byu.net>
11348
11349         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
11350         errno.
11351
11352 2006-06-17  Bruno Haible  <bruno@clisp.org>
11353
11354         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
11355         <sys/inttypes.h>.
11356
11357 2006-06-17  Bruno Haible  <bruno@clisp.org>
11358
11359         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
11360         whether errno is declared. Assume <errno.h> declares errno.
11361
11362 2006-06-17  Bruno Haible  <bruno@clisp.org>
11363
11364         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
11365
11366 2006-06-17  Bruno Haible  <bruno@clisp.org>
11367
11368         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
11369         problem on Solaris 2.5.1.
11370
11371 2006-06-16  Eric Blake  <ebb9@byu.net>
11372
11373         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
11374         * lib/unicodeio.c [!defined errno]: Likewise.
11375         * lib/strtol.c [!defined errno]: Likewise.
11376         * lib/strtod.c [!defined errno]: Likewise.
11377
11378 2006-06-15  Eric Blake  <ebb9@byu.net>
11379
11380         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
11381
11382 2006-06-15  Eric Blake  <ebb9@byu.net>
11383
11384         * config/srclist.txt (ssize_t.m4): Lose sync.
11385
11386 2006-06-15  Bruno Haible  <bruno@clisp.org>
11387
11388         * modules/stdint (Files): Include m4/full-header-path.m4,
11389         m4/size_max.m4, m4/wchar_t.m4.
11390         (Makefile.am): Many more substitutions.
11391         * modules/stdint-tests: New file.
11392         * tests/test-stdint.c: New file.
11393
11394 2006-06-15  Bruno Haible  <bruno@clisp.org>
11395
11396         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
11397         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
11398         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
11399         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
11400         gl_CHECK_TYPE_SAME): New macros.
11401
11402 2006-06-15  Bruno Haible  <bruno@clisp.org>
11403
11404         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
11405
11406 2006-06-15  Bruno Haible  <bruno@clisp.org>
11407
11408         * lib/stdint_.h: Rewritten to be fully auto-configured.
11409         Fixes bug on HP-UX/IA64.
11410
11411 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
11412
11413         * lib/getdate.y (__attribute__): Don't define if already defined.
11414         Problem reported by Larry Jones.
11415         * lib/utimens.c (__attribute__): Likewise.
11416
11417 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
11418
11419         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
11420         reported by Andreas Schwab.
11421
11422 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11423             Bruno Haible  <bruno@clisp.org>
11424
11425         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
11426         check for the declaration of strnlen and a run test that exposes the
11427         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
11428         rpl_strndup.
11429
11430 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11431             Bruno Haible  <bruno@clisp.org>
11432
11433         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
11434
11435 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11436
11437         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
11438         compile test, for Tru64 4.0D.
11439
11440 2006-05-28  Karl Berry  <karl@gnu.org>
11441
11442         * config/srclist.txt (printf-args.c): lose sync.
11443
11444 2006-05-26  Martin Lambers  <marlam@marlam.de>
11445
11446         * lib/getpass.c: Updates the test for the native W32 API, and adds
11447         missing includes, thus fixing compilation warnings.
11448
11449 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
11450
11451         * lib/exclude.c (exclude_fnmatch): New function.
11452         (excluded_file_name): Call exclude_fnmatch.
11453         * lib/exclude.h (excluded_file_name): New prototype
11454
11455 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
11456
11457         * lib/tempname.c (small_open, large_open): New macros.
11458         (__open, __open64) [!_LIBC]: Remove.
11459         (__gen_tempname): Use small_open and large_open instead of __open
11460         and __open64.  This fixes a portability bug on HP-UX 11.11i
11461         reported by Simon Wing-Tang in
11462         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
11463
11464 2006-05-24  Bruno Haible  <bruno@clisp.org>
11465
11466         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
11467         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
11468         Reported by Thorsten Maerz <torte@netztorte.de> via
11469         Aaron Stone <aaron@serendipity.cx>.
11470
11471 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
11472
11473         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
11474         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
11475         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
11476         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
11477         not really conditional on the cache.
11478         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
11479
11480 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
11481
11482         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
11483         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
11484         (my_usleep): Don't mishandle maximum value.
11485
11486 2006-05-19  Jim Meyering  <jim@meyering.net>
11487
11488         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
11489
11490 2006-05-17  Bruno Haible  <bruno@clisp.org>
11491
11492         Cygwin portability.
11493         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
11494
11495 2006-05-17  Bruno Haible  <bruno@clisp.org>
11496
11497         * lib/stdint_.h: Fix recognition of Cygwin.
11498
11499 2006-05-15  Bruno Haible  <bruno@clisp.org>
11500
11501         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
11502         on libtool patch by Ralf Wildenhues.
11503
11504 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11505
11506         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
11507         test for C99 conformance; (bool) 0.5 is an integer constant
11508         expression, but (bool) -0.5 is not.  Problem reported by Fedor
11509         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
11510
11511 2006-05-11  Simon Josefsson  <jas@extundo.com>
11512
11513         * m4/xvasprintf.m4: Fix obvious typo.
11514
11515 2006-05-11  Jim Meyering  <jim@meyering.net>
11516
11517         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
11518         James Lemley.
11519
11520 2006-05-10  Simon Josefsson  <jas@extundo.com>
11521
11522         * lib/md4.c: Typo fix, update copyright years.
11523         (K1, K2): Don't use L because it turn computations into 64-bit on
11524         64-bit platforms.
11525
11526 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
11527
11528         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
11529         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
11530         unwanted sign propagation, e.g., on hosts with 64-bit int.
11531         There still are some problems with reeelly weird theoretical hosts
11532         (e.g., 33-bit int) but it's not worth worrying about now.
11533         * lib/sha1.c (rol): Likewise.
11534         (K1, K2, K3, K4): Remove unnecessary L suffix.
11535
11536 2006-05-10  Bruno Haible  <bruno@clisp.org>
11537
11538         * lib/des.c: Cast to avoid warnings.
11539
11540 2006-05-09  Bruno Haible  <bruno@clisp.org>
11541
11542         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
11543         (Depends-on): Depend also on xsize, stdarg.
11544         (configure.ac): Add gl_XVASPRINTF.
11545
11546 2006-05-09  Bruno Haible  <bruno@clisp.org>
11547
11548         * m4/xvasprintf.m4: New file.
11549
11550 2006-05-09  Bruno Haible  <bruno@clisp.org>
11551
11552         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
11553         (EOVERFLOW): Define fallback value.
11554         (xstrcat): New function.
11555         (xvasprintf): Recognize the special case of a string concatenation.
11556
11557 2006-05-08  Eric Blake  <ebb9@byu.net>
11558
11559         * gnulib-tool (func_version): Base copyright year on CVS date.
11560         (func_emit_copyright_notice): New function.
11561         (func_emit_lib_Makefile_am): Use it.
11562         (func_emit_tests_Makefile_am): Likewise.
11563         (func_import): Likewise.
11564
11565 2006-05-08  Bruno Haible  <bruno@clisp.org>
11566
11567         * modules/stdarg: New file.
11568         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
11569
11570 2006-05-08  Bruno Haible  <bruno@clisp.org>
11571
11572         * m4/stdarg.m4: New file, from GNU gettext.
11573
11574 2006-05-08  Bruno Haible  <bruno@clisp.org>
11575
11576         * config/srclist.txt (build-aux/config.rpath): different from latest
11577         release.
11578
11579 2006-05-08  Bruno Haible  <bruno@clisp.org>
11580
11581         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
11582
11583 2006-05-05  Jim Meyering  <jim@meyering.net>
11584
11585         * m4/warning.m4: New file, derived from bison's file by the same name.
11586
11587 2006-05-03  Bruno Haible  <bruno@clisp.org>
11588
11589         * lib/stdint_.h: Shorter URL.
11590         * lib/inttypes.h: Likewise.
11591
11592 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
11593
11594         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
11595
11596 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
11597
11598         * lib/verify.h: Document the internals better.  Most of this change
11599         was written by Bruno Haible.
11600
11601 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
11602
11603         * doc/verify.texi: New file, partly based on a proposal by
11604         Bruno Haible.
11605
11606 2006-05-02  Bruno Haible  <bruno@clisp.org>
11607
11608         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
11609         test from here...
11610         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
11611
11612 2006-04-29  Bruno Haible  <bruno@clisp.org>
11613
11614         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
11615         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
11616
11617 2006-04-29  Bruno Haible  <bruno@clisp.org>
11618
11619         * gnulib-tool: Make --update option actually work.
11620
11621 2006-04-29  Bruno Haible  <bruno@clisp.org>
11622
11623         * doc/gcd.texi: New file.
11624         * doc/gnulib.texi: Include it.
11625
11626 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11627
11628         * lib/getdate.y (get_date): When adding relative date, start with the
11629         initial time, not with the result of the first mktime call.
11630
11631 2006-04-25  Bruno Haible  <bruno@clisp.org>
11632
11633         * gnulib-tool (func_import): Output the include directives in three
11634         blocks, sorted separately.
11635         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11636
11637 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11638
11639         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
11640         to define main with arguments, for C++.  Reported by Eric Blake.
11641         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
11642         Prefer 'int main ()' to 'int main (void)', for C++.
11643         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11644         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
11645         for 'main', for C99 and C++.
11646
11647 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11648
11649         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
11650         Don't assume that exit status -1 is valid.
11651         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11652         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
11653         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
11654         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
11655         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
11656         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
11657         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
11658         functions can be used without declaring them, or that you can
11659         exit with status -1.
11660         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
11661
11662 2006-04-24  Karl Berry  <karl@gnu.org>
11663
11664         * config/srclist.txt (longdouble.m4): sync lost.
11665
11666 2006-04-24  Eric Blake  <ebb9@byu.net>
11667
11668         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
11669
11670 2006-04-24  Bruno Haible  <bruno@clisp.org>
11671
11672         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
11673         poll() implementation in AIX.
11674         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11675
11676 2006-04-24  Bruno Haible  <bruno@clisp.org>
11677
11678         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
11679         assigned exactly once.
11680
11681 2006-04-23  Claudio Fontana  <claudio@gnu.org>
11682             Bruno Haible  <bruno@clisp.org>
11683
11684         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
11685         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
11686         for AM_CPPFLAGS.
11687
11688 2006-04-23  Bruno Haible  <bruno@clisp.org>
11689
11690         * modules/copy-file: Depend on unistd.
11691         * modules/execute: Likewise.
11692         * modules/fatal-signal: Likewise.
11693         * modules/findprog: Likewise.
11694         * modules/mkdtemp : Likewise.
11695         * modules/pipe: Likewise.
11696         * modules/wait-process: Likewise.
11697
11698 2006-04-23  Bruno Haible  <bruno@clisp.org>
11699
11700         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
11701         condition was already detected.
11702         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11703
11704 2006-04-23  Bruno Haible  <bruno@clisp.org>
11705
11706         * lib/copy-file.c: Include <unistd.h> unconditionally.
11707         * lib/execute.c: Likewise.
11708         * lib/fatal-signal.c: Likewise.
11709         * lib/findprog.c: Likewise.
11710         * lib/mkdtemp.c: Likewise.
11711         * lib/pipe.h: Likewise.
11712         * lib/pipe.c: Likewise.
11713         * lib/wait-process.h: Likewise.
11714
11715 2006-04-23  Bruno Haible  <bruno@clisp.org>
11716
11717         * gnulib-tool (func_usage): Fix --import description. Document
11718         --update.
11719         (func_import): Create temporary file in a temporary directory, if
11720         --dry-run is specified. Silence errors from 'grep' when there are no
11721         m4 files in $m4dir.
11722         (func_create_testdir): Silence errors from 'grep' when there are no
11723         m4 files in $m4dir.
11724         Reported by Karl Berry <karl@freefriends.org>.
11725
11726 2006-04-20  Bruno Haible  <bruno@clisp.org>
11727
11728         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
11729         one argument, so that the code will be portable to Autoconf 2.60.
11730         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
11731         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
11732         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
11733
11734 2006-04-19  Derek Price  <derek@ximbiot.com>
11735             Eric Blake  <ebb9@byu.net>
11736
11737         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
11738         rather than "/full/path.h".  Update comment to match.  Shorten &
11739         generalize m4_translit call via AS_TR_CPP.
11740
11741 2006-04-19  Derek Price  <derek@ximbiot.com>
11742             Eric Blake  <ebb9@byu.net>
11743
11744         * lib/inttypes.h: Correct grammar in comment.
11745
11746 2006-04-18  Derek Price  <derek@ximbiot.com>
11747             Paul Eggert  <eggert@cs.ucla.edu>
11748
11749         * modules/inttypes: New file.
11750         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
11751
11752 2006-04-18  Derek Price  <derek@ximbiot.com>
11753             Paul Eggert  <eggert@cs.ucla.edu>
11754
11755         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
11756         New files.
11757
11758 2006-04-18  Derek Price  <derek@ximbiot.com>
11759             Paul Eggert  <eggert@cs.ucla.edu>
11760
11761         * lib/inttypes.h: New file.
11762         * lib/strtoimax.c: Assume <inttypes.h>.
11763
11764 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
11765
11766         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
11767         isn't mounted.  Problem reported by Kir Kolyshkin.
11768
11769 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11770
11771         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
11772         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
11773         Derek R. Price.
11774         * lib/regex.h (RE_DUP_MAX): Update comment to match current
11775         implementation.
11776
11777 2006-04-12  Eric Blake  <ebb9@byu.net>
11778
11779         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
11780         is now done automatically by the corresponding Autoconf macro.
11781
11782 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11783
11784         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
11785         time_r.h.
11786
11787 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11788
11789         Merge regex changes from libc, removing some of our
11790         POSIX-conformance changes that were rejected and redoing them in a
11791         less-intrusive way.
11792
11793         * lib/regcomp.c (re_compile_internal, init_dfa):
11794         Length arg is now size_t, not Idx.  All uses changed.
11795         (peek_token): Forward decl now says internal_function.
11796         (__re_error_msgid, __re_error_msgid_idx):
11797         Now static rather than extern with attribute_hidden.
11798         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
11799         For some reason libc prefers K&R style defns for external functions.
11800         (regerror) [!defined _LIBC]: Likewise.
11801         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
11802         (seek_collating_symbol_entry, lookup_collation_sequence_value):
11803         (build_range_exp, build_collating_symbol):
11804         Use K&R-style defn.
11805         (re_compile_fastmap): Use '\0' to memset, not 0.
11806         (utf8_sb_map): Make the calculations more obvious.
11807         (init_dfa, parse_bracket_exp, build_charclass_op):
11808         Call calloc and cast result, as glibc does.
11809         (init_word_char, fetch_token, peek_token, peek_token_bracket):
11810         (build_range_exp, build_collating_symbol):
11811         Now internal functions.
11812
11813         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
11814
11815         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
11816         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
11817         Don't depend on VMS; depend on __VMS instead, for POSIX
11818         namespace cleanness.
11819         (regoff_t): Define to ssize_t, not long int.
11820
11821         Remove the REG_ macros named below.  Instead, make the old names
11822         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
11823         __USE_GNU_REGEX.
11824         (REG_BACKSLASH_ESCAPE_IN_LISTS):
11825         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
11826         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
11827         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
11828         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
11829         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
11830         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
11831         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
11832         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
11833         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
11834         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
11835         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
11836         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
11837         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
11838         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
11839         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
11840         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
11841         (REG_NREGS):
11842         Remove.  All uses replaced by the old RE_* names.
11843         (RE_BACKSLASH_ESCAPE_IN_LISTS):
11844         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
11845         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
11846         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
11847         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
11848         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
11849         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
11850         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
11851         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
11852         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
11853         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
11854         Don't bother having these macros be independent of each others'
11855         values, since they no longer exist in the POSIX name space.
11856
11857         Rename the following member names back to their old names,
11858         unless !__USE_GNU_REGEX.  All uses changed back.
11859         (buffer): Renamed from re_buffer.
11860         (allocated): Renamed from re_allocated.
11861         (used): Renamed from re_used.
11862         (syntax): Renamed from re_syntax.
11863         (fastmap): Renamed from re_fastmap.
11864         (translate): Renamed from re_translate.
11865         (can_be_null): Renamed from re_can_be_null.
11866         (regs_allocated): Renamed from re_regs_allocated.
11867         (fastmap_accurate): Renamed from re_fastmap_accurate.
11868         (no_sub): Renamed from re_no_sub.
11869         (not_bol): Renamed from re_not_bol.
11870         (not_eol): Renamed from re_not_eol.
11871         (newline_anchor): Renamed from re_newline_anchor.
11872         (num_regs): Renamed from rm_num_regs.
11873         (start): Renamed from rm_start.
11874         (end): Renamed from rm_end.
11875
11876         (free_state): Move up a bit.
11877
11878         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
11879         #define to be empty.
11880         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
11881         when that is what is intended.
11882         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
11883         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
11884         (MAX): New macro.
11885         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
11886         All uses changed back to re_malloc, etc.  It's now the caller's
11887         responsibility to check for overflow; all callers changed.
11888         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
11889         (re_x2nrealloc): Remove.
11890         (free_state): Remove decl.
11891
11892         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
11893         (re_set_registers, re_exec):
11894         Use K&R-style defn.
11895
11896         2006-01-31  Roland McGrath  <roland@redhat.com>
11897
11898         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
11899         Reported by Mike Frysinger <vapier@gentoo.org>.
11900
11901         2006-01-15  Andreas Jaeger  <aj@suse.de>
11902
11903         [BZ #1950]
11904         * lib/regex_internal.c (re_string_reconstruct): Adjust for
11905         build_wcs_upper_buffer change.
11906         (build_wcs_upper_buffer): Change return type.
11907
11908         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
11909
11910         * lib/regex_internal.h: Include <stdint.h> if available.
11911
11912         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
11913
11914         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
11915
11916         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
11917
11918         * lib/regcomp.c: Adjust for changed secondary hash function.
11919
11920         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
11921
11922         * lib/regex.h: Pretty printing.
11923         Clean up namespace a bit.
11924
11925         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
11926
11927         * lib/regexec.c (update_cur_sifted_state, check_arrival,
11928         check_arrival_add_next_nodes): Avoid using uninitialized variable.
11929
11930         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
11931                     Ulrich Drepper  <drepper@redhat.com>
11932
11933         [BZ #1302]
11934         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
11935         changed.
11936         (bitset_word_t): Renamed from bitset_word.  All uses changed.
11937
11938         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
11939
11940         [BZ #281]
11941         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
11942         * lib/regcomp.c: Remove unnecessary uses of
11943         unsigned RE_TRANSLATE_TYPE.
11944         * lib/regex_internal.h: Likewise.
11945         * lib/regex_internal.c: Likewise.
11946         * lib/regexec.c: Likewise.
11947         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
11948
11949         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
11950
11951         * lib/regexec.c (find_recover_state): Remove unnecessary
11952         initialization.
11953         (transit_state_bkref): Make DFA a const pointer.
11954         (get_subexp): Likewise.
11955         (check_arrival): Likewise.
11956         (update_cur_sifted_state): Likewise.
11957         (re_search_internal): Likewise.
11958         (prune_impossible_nodes): Likewise.
11959         (acquire_init_state_context): Likewise.
11960         (proceed_next_node): Likewise.
11961         (set_regs): Likewise.
11962         (free_fail_stack_return): Likewise.
11963         (check_arrival_expand_ecl): Mark DFA parameter as const.
11964         (check_arrival_expand_ecl_sub): Likewise.
11965         (check_subexp_limits): Likewise.
11966         (sub_epsilon_src_nodes):  Likewise.
11967         (add_epsilon_src_nodes):  Likewise.
11968         (merge_state_array): Likewise.
11969         (update_regs): Likewise.
11970         (build_trtable): Likewise.
11971         (sift_states_backward): Mark MCTX parameter as const.
11972         (build_sifted_states): Likewise.
11973         (update_cur_sifted_state): Likewise.
11974         (sift_states_mkref): Likewise.
11975         (check_arrival_expand_ecl): Mark eclosure as const.
11976         (check_dst_limits_calc_pos_1): Likewise.
11977         * lib/regex_internal.h (re_match_context_t): Make dfa a const
11978         pointer.
11979
11980         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
11981
11982         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
11983         (transit_state_sb): Likewise.
11984         (transit_state_mb): Likewise.
11985         (sift_states_iter_mb): Likewise.
11986         (check_arrival_add_next_nodes): Likewise.
11987         (check_node_accept_bytes): Change first parameter to pointer-to-const.
11988         [_LIBC] (re_search_2_stub): Use mempcpy.
11989
11990         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
11991         mbrtowc for very simple UTF-8 case.
11992
11993         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
11994         a pointer-to-const.
11995         (re_acquire_state_context): Likewise.
11996         * lib/regex_internal.h: Adjust prototypes.
11997
11998         * lib/regex.c: Prevent using C++ compilers.
11999
12000         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
12001         (re_acquire_state_context): Likewise.
12002
12003 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
12004
12005         * modules/regex (Depends-on): Add ssize_t.
12006
12007 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
12008
12009         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
12010         translation table.
12011
12012 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
12013
12014         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
12015
12016 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
12017             Bruno Haible  <bruno@clisp.org>
12018
12019         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
12020         <sys/types.h> and <inttypes.h>.
12021
12022 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12023
12024         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
12025         `__error_t_defined', so argp.h will not typedef the former.
12026
12027 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
12028
12029         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
12030         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
12031         glibc names.  Even if glibc is changed to conform to POSIX, the
12032         traditional names will be available anyway, since regex depends on
12033         the extensions module.  Also, fix a longstanding typo in the
12034         implementation of Spencer ERE test #75 from grep 2.3.  Problems
12035         reported by Emanuele Giaquinta.  Also, change sense of cached
12036         variable, so that the message makes sense.
12037
12038 2006-03-24  Simon Josefsson  <jas@extundo.com>
12039
12040         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
12041         including some doc fixes.
12042         (base64_encode_alloc): Fix +1 bug on allocation failures.
12043
12044 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12045
12046         * lib/base64.c (base64_encode): Do not read past end of array with
12047         unsanitized input on systems with CHAR_BIT > 8.
12048
12049 2006-03-24  Eric Blake  <ebb9@byu.net>
12050
12051         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
12052
12053 2006-03-22  Karl Berry  <karl@gnu.org>
12054
12055         * config/srclist.txt (*setenv.[ch]): get from coreutils.
12056         * config/srclistvars.sh (COREUTILS): new var.
12057
12058 2006-03-17  Jim Meyering  <jim@meyering.net>
12059
12060         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
12061         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
12062
12063 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
12064
12065         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
12066         no longer needs it.  Instead, check that regoff_t is as least
12067         as wide as ptrdiff_t.
12068
12069         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
12070         so that our regex.h stays compatible with the installed regex.
12071         This is helpful for installers who configure --without-included-regex.
12072         Problem reported by Emanuele Giaquinta.
12073
12074 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
12075
12076         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
12077         Typedef to long int, not to off_, as POSIX will likely change
12078         in that direction.
12079
12080 2006-03-15  Eric Blake  <ebb9@byu.net>
12081
12082         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
12083
12084 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
12085
12086         * lib/argp-help.c (validate_uparams): Fix typo
12087         * lib/argp-parse.c (argp_default_options): Consistently begin help
12088         messages with a lowercase letter.
12089
12090 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
12091
12092         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
12093         overrun buffers and shouldn't be used (much as gets shouldn't be
12094         used).
12095         * lib/time_r.c (asctime_r, ctime_r): Likewise.
12096
12097 2006-03-08  Simon Josefsson  <jas@extundo.com>
12098
12099         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
12100         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12101
12102 2006-03-08  Simon Josefsson  <jas@extundo.com>
12103
12104         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
12105         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12106
12107 2006-03-08  Simon Josefsson  <jas@extundo.com>
12108
12109         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
12110         signal that configure disabled the device.
12111
12112 2006-03-08  Simon Josefsson  <jas@extundo.com>
12113
12114         * build-aux/maint.mk: Fix refresh-po, to handle no translated
12115         languages.
12116
12117 2006-03-07  Simon Josefsson  <jas@extundo.com>
12118
12119         * modules/getopt (Depends-on): Add unistd.
12120
12121         * modules/unistd: New file.
12122
12123 2006-03-07  Simon Josefsson  <jas@extundo.com>
12124
12125         * modules/gc-random: New file.
12126
12127 2006-03-07  Simon Josefsson  <jas@extundo.com>
12128
12129         * m4/unistd_h.m4: New file.
12130
12131 2006-03-07  Simon Josefsson  <jas@extundo.com>
12132
12133         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
12134         test to be side-effect free by storing the result in the cache
12135         variable gl_cv_lib_readline, and moving the assignment of
12136         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
12137         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12138
12139 2006-03-07  Simon Josefsson  <jas@extundo.com>
12140
12141         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
12142         error on missing devices (the functions will return an error).
12143
12144         * m4/gc.m4: Move random stuff to gc-random.m4
12145
12146 2006-03-07  Simon Josefsson  <jas@extundo.com>
12147
12148         * lib/unistd_.h: New file.
12149
12150 2006-03-07  Simon Josefsson  <jas@extundo.com>
12151
12152         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
12153
12154 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
12155
12156         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
12157         Problem reported by Juan Manuel Guerrero.
12158
12159 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
12160
12161         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
12162         the unistd module.
12163         * lib/getlogin_r.c: Likewise.
12164         * lib/getlogin_r.h: Likewise.
12165         * lib/glob.c: Likewise.
12166         * lib/pagealign_alloc.c: Likewise.
12167         * lib/unistd_.h: Remove; no longer needed.
12168
12169 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
12170
12171         * MODULES.html.sh (Support for systems lacking POSIX:2001):
12172         Add unistd.
12173         * modules/c-stack (Depends-on): Add unistd.
12174         * modules/getlogin_r: Likewise.
12175         * modules/glob: Likewise.
12176         * modules/pagealign_alloc: Likewise.
12177         * modules/unistd (Files): Remove lib/unistd_.h.
12178         (EXTRA_DIST): Remove.
12179         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
12180         need unistd_.h.
12181         (MOSTLYCLEANFILES): Remove unistd.h-t.
12182
12183 2006-03-03  Simon Josefsson  <jas@extundo.com>
12184
12185         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
12186
12187 2006-03-03  Simon Josefsson  <jas@extundo.com>
12188
12189         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
12190         libidn and bison.
12191
12192 2006-03-03  Simon Josefsson  <jas@extundo.com>
12193
12194         * build-aux/maint.mk: Add indent target.
12195
12196 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
12197
12198         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
12199         our replacement poll.h in any case, to avoid a differing
12200         declaration from a system header.  Seen on AIX.
12201
12202 2006-03-01  Simon Josefsson  <jas@extundo.com>
12203
12204         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
12205         <kasal@ucw.cz>.
12206
12207 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12208
12209         * modules/gettime (Depends-on): Add extensions module.
12210         * modules/nanosleep (Depends-on): Likewise.
12211         * modules/settime (Depends-on): Likewise.
12212
12213 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12214
12215         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
12216         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
12217         pedantically.
12218         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12219         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
12220
12221         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
12222         not "==".  Reported by Ralf Wildenhues.
12223
12224 2006-03-01  Karl Berry  <karl@gnu.org>
12225
12226         * doc/Copyright/request-*: new files, synced from gnuorg.
12227
12228 2006-03-01  Karl Berry  <karl@gnu.org>
12229
12230         * config/srclist.txt (Copyright/*): new entries.
12231
12232 2006-02-28  Simon Josefsson  <jas@extundo.com>
12233
12234         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
12235
12236 2006-02-27  Simon Josefsson  <jas@extundo.com>
12237
12238         * lib/base64.h: Indent #define's.  From Jim Meyering
12239         <jim@meyering.net>.
12240
12241 2006-02-27  Jim Meyering  <jim@meyering.net>
12242
12243         Revert the change of 2006-02-24, so these files can continue
12244         to be sync'd from gettext.
12245         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
12246         of `config.h'.
12247
12248 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
12249
12250         * modules/intprops: New file.
12251         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
12252         Add intprops.
12253         * modules/getloadavg (Files): Remove lib/intprops.h.
12254         (Depends-on): Add intprops.
12255         * modules/human: Likewise.
12256         * modules/inttostr: Likewise.
12257         * modules/openat: Likewise.
12258         * modules/sig2str: Likewise.
12259         * modules/userspec: Likewise.
12260         * modules/utimecmp: Likewise.
12261         * modules/xnanosleep: Likewise.
12262         * modules/xstrtol: Likewise.
12263
12264 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
12265
12266         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
12267         * modules/lock-tests (TESTS): Use $(EXEEXT).
12268         * modules/tls-tests: Likewise.
12269         * modules/argp-tests: Likewise.
12270         (check_PROGRAMS): New var, replacing...
12271         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
12272
12273 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12274
12275         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
12276         `config.h'.
12277
12278 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
12279
12280         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
12281
12282 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12283
12284         Sync from coreutils.
12285         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
12286         gl_CHDIR_SAFER.
12287
12288 2006-02-22  Jim Meyering  <jim@meyering.net>
12289
12290         Sync from coreutils.
12291         * m4/chdir-safer.m4: New file.
12292
12293 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
12294
12295         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
12296         AT_FDCWD exceeds INT_MAX.
12297         * lib/openat.h (AT_FDCWD): Likewise.
12298
12299 2006-02-17  Eric Blake  <address@hidden>
12300
12301         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
12302
12303 2006-02-16  Simon Josefsson  <jas@extundo.com>
12304
12305         * modules/getaddrinfo (Depends-on): Add sys_socket.
12306
12307 2006-02-15  Simon Josefsson  <jas@extundo.com>
12308
12309         * build-aux/maint.mk: Add dsyntax-check rule.
12310
12311 2006-02-15  Eric Blake  <ebb9@byu.net>
12312
12313         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
12314         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
12315         'present but cannot compile' warnings on cygwin.
12316         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
12317         use ws2tcpip.h if sys/socket.h works.
12318         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
12319         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
12320
12321 2006-02-14  Simon Josefsson  <jas@extundo.com>
12322
12323         * modules/maintainer-makefile (Files): Rename.
12324
12325         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
12326         and (the local) Makefile.cfg to maint-cfg.mk.
12327
12328         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
12329         to the latter.
12330
12331         * modules/maintainer-makefile: New module.
12332
12333         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
12334         severaly stripped to make it possible to build it up from scratch
12335         with reliable tests.
12336
12337         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
12338         fixes to permit overriding the default actions when configure and
12339         makefile are not available.
12340
12341 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
12342
12343         Sync from coreutils.
12344         * modules/lstat (Depends-on): Don't depend on xalloc.
12345         (License): Change from GPL to LGPL, since this is now simply a
12346         replacement for a libc function.
12347
12348 2006-02-14  Jim Meyering  <jim@meyering.net>
12349
12350         Sync from coreutils.
12351
12352         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
12353         failure on deficient systems, and simplify gnulib lgpl dependencies.
12354         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
12355         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
12356
12357         * lib/xalloc-die.c: Remove unused definition of N_.
12358
12359 2006-02-14  Jim Meyering  <jim@meyering.net>
12360
12361         Sync from coreutils.
12362         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
12363         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
12364         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
12365         double-quote uses of that variable, to accommodate the rare case in
12366         which getmntent is available in none of the libraries checked.  This
12367         happens at least on FreeBSD 5.0.
12368
12369 2006-02-13  Simon Josefsson  <jas@extundo.com>
12370
12371         * gnulib-tool (Usage): Fix --import, from
12372         karl@freefriends.org (Karl Berry).
12373
12374 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
12375
12376         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
12377
12378 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
12379
12380         * lib/argp-namefrob.h: Restore changes accidentally lost during the
12381         "autoupdate" on 2005-12-12.
12382
12383 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
12384
12385         * modules/closeout (Depends-on): Remove atexit.
12386
12387 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
12388
12389         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
12390         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
12391
12392 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
12393
12394         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
12395         __EXTENSIONS__ if this causes compilation to fail.  Problem
12396         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
12397         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
12398
12399 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
12400
12401         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
12402         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
12403         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
12404         All uses changed.
12405
12406 2006-01-26  Simon Josefsson  <jas@extundo.com>
12407
12408         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
12409         prototype is visible on mingw32.
12410
12411         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
12412         for mingw32.
12413
12414         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
12415         mingw32).
12416
12417 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
12418
12419         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
12420         attempt to open for write; this always fails, at least on POSIX
12421         hosts.  This reinstates the 2006-01-09 change, which was
12422         inadvertently removed.
12423
12424 2006-01-26  Bruno Haible  <bruno@clisp.org>
12425
12426         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
12427         Reported by Paul Eggert.
12428
12429 2006-01-26  Bruno Haible  <bruno@clisp.org>
12430             Paul Eggert  <eggert@cs.ucla.edu>
12431
12432         * lib/stdbool_.h (_Bool)
12433         [(! (defined __cplusplus || defined __BEOS__)
12434           && !defined __GNUC__
12435           && !(defined __HP_cc || defined __xlc__
12436                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
12437                || defined __sgi))]:
12438         #define to signed char in these cases too; this simplifies
12439         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
12440         etc., separately) and makes it more conservative.
12441
12442 2006-01-25  Simon Josefsson  <jas@extundo.com>
12443
12444         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
12445         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
12446         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
12447
12448 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
12449
12450         * lib/argp-namefrob.h: Bugfix. Remove stray #
12451
12452 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
12453
12454         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
12455         so that we test the test.
12456         Check for yet another HP-UX cc bug involving *bool |= bool.
12457
12458 2006-01-25  Karl Berry  <karl@gnu.org>
12459
12460         * config/srclist.txt (vasnprintf.c): sync lost.
12461
12462 2006-01-25  Jim Meyering  <jim@meyering.net>
12463
12464         Sync from the stable (b5) branch of coreutils:
12465
12466         * lib/fts.c (fts_children): Don't let close() clobber errno from
12467         failed fchdir().
12468
12469         * lib/fts.c (fts_stat): When following a symlink-to-directory,
12470         don't necessarily interpret stat-fails+lstat-succeeds as indicating
12471         a dangling symlink.  That can also happen at least for ELOOP.
12472         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
12473         FYI, this bug predates the inclusion of fts.c in coreutils.
12474
12475         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
12476         in their own block, so pre-c99 compilers don't object.
12477
12478         Avoid the double-free (first in fts_read, second in fts_close) that
12479         would occur when an `active' directory is made inaccessible (e.g.,
12480         via chmod a-x) during a traversal.
12481         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
12482         before returning.  Reproduce this failure by
12483         mkdir -p a/b; cd a; chmod a-x . b
12484         Reported by Stavros Passas.
12485
12486 2006-01-25  Jim Meyering  <jim@meyering.net>
12487
12488         * lib/fileblocks.c: Remove more useless parentheses.
12489         * lib/readutmp.h: Likewise.
12490
12491 2006-01-25  Bruno Haible  <bruno@clisp.org>
12492
12493         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
12494         warnings.
12495         Reported by Paul Eggert.
12496
12497 2006-01-25  Bruno Haible  <bruno@clisp.org>
12498
12499         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
12500         rid of a trap command. For Solaris sh.
12501         Reported by Mark D. Baushke <mdb@gnu.org>.
12502
12503 2006-01-24  Simon Josefsson  <jas@extundo.com>
12504
12505         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
12506         Bruno.
12507
12508 2006-01-24  Karl Berry  <karl@gnu.org>
12509
12510         * config/srclist.txt (argp-namefrob.h): sync lost.
12511
12512 2006-01-24  Jim Meyering  <jim@meyering.net>
12513
12514         * modules/openat (Files): Add lib/intprops.h.
12515         From Mark D. Baushke.
12516
12517 2006-01-24  Jim Meyering  <jim@meyering.net>
12518
12519         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
12520         Reported by Mark D. Baushke.
12521
12522 2006-01-24  Jim Meyering  <jim@meyering.net>
12523
12524         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
12525
12526 2006-01-24  Bruno Haible  <bruno@clisp.org>
12527
12528         * modules/strnlen (Maintainer): Change from glibc to all.
12529
12530 2006-01-24  Bruno Haible  <bruno@clisp.org>
12531
12532         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
12533         Patch by Paul Eggert.
12534
12535 2006-01-24  Bruno Haible  <bruno@clisp.org>
12536
12537         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
12538         already has it.
12539         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
12540         2005-11-26.
12541
12542         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
12543         'signed char' to avoid problems with the built-in _Bool type.
12544         Reported by Paul Eggert on 2005-11-26.
12545
12546 2006-01-24  Bruno Haible  <bruno@clisp.org>
12547
12548         * gnulib-tool (func_import): Avoid constructing complicated sed
12549         expressions inside backquote.
12550         Report and solution by Mark D. Baushke <mdb@gnu.org>.
12551
12552 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
12553
12554         These changes imported from libc.
12555         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
12556         test and two separate function calls.
12557         * lib/strndup.c (__strndup): Add libc_hidden_def.
12558
12559 2006-01-23  Simon Josefsson  <jas@extundo.com>
12560
12561         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
12562         Remove the test_*_SOURCES variable: automake infers it by default.
12563         * modules/tls-tests: Likewise.
12564
12565 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12566
12567         Work around porting bugs reported by Dieter in
12568         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
12569         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
12570         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
12571         Include "getopt.h" first, to check interface.
12572         (getenv): Declare only if defined HAVE_DECL_GETENV &&
12573         !HAVE_DECL_GETENV.
12574         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
12575         (__strndup): Revert to K&R-style function dfns, the glibc style.
12576         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
12577         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
12578         Include strnlen.h first, to get prototype properly.
12579         (strnlen): Renamed from __strnlen.
12580         Remove weak alias.
12581
12582 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12583
12584         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
12585
12586 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12587
12588         * config/srclist.txt: Adjust to reflect glibc reorganization.
12589         This affects only comments.
12590
12591 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12592
12593          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
12594          Reported by Bruce Korb <bkorb@gnu.org>.
12595
12596 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
12597
12598         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
12599         to pacify gcc -Wswitch-default.
12600
12601 2006-01-22  Bruno Haible  <bruno@clisp.org>
12602
12603         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
12604         temporary buffer for sprintf, take into account the precision also
12605         for 'd', 'i', 'u', 'o', 'x', 'X'.
12606
12607 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
12608
12609         * modules/argp-tests: New module
12610         * tests/test-argp.c: New file
12611         * tests/test-argp-2.sh: New file
12612
12613 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
12614
12615         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
12616         (__argp_base_name): Removed
12617         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
12618         typo.
12619         (__argp_base_name): Provide macro definition or extern declaration
12620         depending on the configuration
12621
12622 2006-01-20  Simon Josefsson  <jas@extundo.com>
12623
12624         * modules/inet_ntop (Depends-on): Depend on sys_socket.
12625
12626 2006-01-20  Simon Josefsson  <jas@extundo.com>
12627
12628         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
12629
12630 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12631
12632         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
12633         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
12634         Suggested by Bruno Haible.
12635
12636 2006-01-20  Karl Berry  <karl@gnu.org>
12637
12638         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
12639         until changes propagate, I guess.
12640
12641 2006-01-19  Simon Josefsson  <jas@extundo.com>
12642
12643         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
12644
12645 2006-01-19  Simon Josefsson  <jas@extundo.com>
12646
12647         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
12648
12649 2006-01-19  Simon Josefsson  <jas@extundo.com>
12650
12651         * gnulib-tool: Set check_PROGRAMS.
12652
12653         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
12654         modules/des-tests, modules/gc-arcfour-tests,
12655         modules/gc-arctwo-tests, modules/gc-des-tests,
12656         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
12657         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
12658         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
12659         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
12660         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
12661         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
12662         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
12663         test_*_SOURCES.
12664
12665 2006-01-18  Simon Josefsson  <jas@extundo.com>
12666
12667         * modules/socklen (Depends-on): Depend on sys_socket.
12668
12669 2006-01-18  Simon Josefsson  <jas@extundo.com>
12670
12671         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
12672         modules/des-tests, modules/gc-arcfour-tests,
12673         modules/gc-arctwo-tests, modules/gc-des-tests,
12674         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
12675         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
12676         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
12677         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
12678         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
12679         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
12680         $(EXEEXT) to automake TESTS variable, for mingw32.
12681
12682 2006-01-17  Simon Josefsson  <jas@extundo.com>
12683
12684         * modules/socklen (Include): Need sys/socket.h.
12685
12686 2006-01-17  Bruno Haible  <bruno@clisp.org>
12687
12688         * modules/ssize_t (Include): Add <sys/types.h>.
12689
12690 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
12691
12692         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
12693         it's not portable and it doesn't work with cross-compiles.
12694         Problem reported by Bruno Haible.  Fix missing-$ typo in
12695         'test "gl_cv_ignore_unused_libraries" ...' that prevented
12696         -zignore from being used with Sun's C compiler.
12697
12698 2006-01-12  Simon Josefsson  <jas@extundo.com>
12699
12700         * lib/base64.c: Fix warning, reported by Bruno Haible
12701         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
12702
12703 2006-01-12  Bruno Haible  <bruno@clisp.org>
12704
12705         * modules/ldd: New file.
12706         * build-aux/ldd.sh.in: New file.
12707         * MODULES.html.sh (Support for building libraries and executables): Add
12708         ldd.
12709
12710 2006-01-12  Bruno Haible  <bruno@clisp.org>
12711
12712         * m4/ldd.m4: New file.
12713
12714 2006-01-12  Bruno Haible  <bruno@clisp.org>
12715
12716         * gnulib-tool (func_import, func_create_testdir): Don't go into an
12717         endless loop while replacing $auxdir with build-aux.
12718
12719 2006-01-11  Simon Josefsson  <jas@extundo.com>
12720
12721         * lib/stdint_.h (SIZE_MAX): Add missing (.
12722
12723 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
12724
12725         Sync from coreutils.
12726         * lib/md5.c: Fix commentary typos.
12727         (alignof, UNALIGNED_P): No need for a GCC-specific version.
12728         * lib/md5.h (__attribute__): Remove; unused.
12729         * lib/sha1.c: Fix commentary to match md5 better.
12730         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
12731         so that we don't need to worry about alignment.  All uses changed.
12732         This merges the 2005-10-28 md5 change into sha1.
12733
12734 2006-01-11  Jim Meyering  <jim@meyering.net>
12735
12736         Sync from coreutils.
12737         * lib/md5.c (OP): Fix spacing.
12738
12739 2006-01-11  Bruno Haible  <bruno@clisp.org>
12740
12741         Ensure automatic ordering between gl_LOCK and gl_ARGP.
12742         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
12743         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
12744
12745 2006-01-11  Bruno Haible  <bruno@clisp.org>
12746
12747         Ensure automatic ordering between gl_LOCK and gl_ARGP.
12748         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
12749         the "early" section as well.
12750
12751 2006-01-11  Bruno Haible  <bruno@clisp.org>
12752
12753         Avoid "ar: no archive members specified" error on MacOS X.
12754         * gnulib-tool (func_modules_add_dummy): New function.
12755         (func_import, func_create_testdir): Invoke it.
12756
12757 2006-01-11  Bruno Haible  <bruno@clisp.org>
12758
12759         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
12760         with $auxdir in AC_CONFIG_FILES statements.
12761
12762 2006-01-11  Bruno Haible  <bruno@clisp.org>
12763
12764         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12765         Initialize also noinst_HEADERS to empty.
12766
12767 2006-01-11  Bruno Haible  <bruno@clisp.org>
12768
12769         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
12770         variables.
12771         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
12772         autoreconf.
12773
12774 2006-01-11  Bruno Haible  <bruno@clisp.org>
12775
12776         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
12777         overridable by the user.
12778         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12779
12780 2006-01-10  Simon Josefsson  <jas@extundo.com>
12781
12782         * modules/sys_socket: New file.
12783
12784 2006-01-10  Simon Josefsson  <jas@extundo.com>
12785
12786         * m4/sys_socket_h.m4: New file.
12787
12788 2006-01-10  Simon Josefsson  <jas@extundo.com>
12789
12790         * lib/socket_.h: New file.
12791
12792 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
12793
12794         * modules/readutmp (Maintainer): Add myself.
12795
12796 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
12797
12798         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
12799         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
12800         People who are still concerned with buggy memcmp implementations
12801         can invoke gl_FUNC_MEMCMP themselves.
12802
12803 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
12804
12805         * lib/regex_internal.h (BITSET_WORD_BITS):
12806         Work around a bug in 64-bit PGC (before version 6.1-2), where the
12807         preprocessor mishandles large unsigned values as if they were signed.
12808         Problem reported by Claudio Fontana in
12809         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
12810
12811 2006-01-10  Jim Meyering  <jim@meyering.net>
12812
12813         Avoid the double-free (first in fts_read, second in fts_close) that
12814         would occur when an `active' directory is made inaccessible (e.g.,
12815         via chmod a-x) during a traversal.
12816         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
12817         before returning.  Reproduce this failure by
12818         mkdir -p a/b; cd a; chmod a-x . b
12819         Reported by Stavros Passas.
12820
12821         Sync from coreutils.
12822         * lib/sha1.c: Tweak grammar in a comment.
12823
12824 2006-01-10  Jim Meyering  <jim@meyering.net>
12825
12826         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
12827         Patch by Joerg Sonnenberger.
12828
12829 2006-01-10  Bruno Haible  <bruno@clisp.org>
12830
12831         * modules/readutmp: Depend on module free.
12832         * modules/strtok_r: Depend on module restrict.
12833
12834 2006-01-10  Bruno Haible  <bruno@clisp.org>
12835
12836         * modules/gettext (configure.ac): Add an invocation of
12837         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
12838
12839 2006-01-10  Bruno Haible  <bruno@clisp.org>
12840
12841         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
12842         Reported by Werner Lemberg <wl@gnu.org>.
12843
12844 2006-01-10  Bruno Haible  <bruno@clisp.org>
12845
12846         * lib/localcharset.c: Update from GNU gettext.
12847
12848 2006-01-10  Bruno Haible  <bruno@clisp.org>
12849
12850         * lib/argp.h (__const): Remove macro. Use const instead.
12851         * lib/argp-fmtstream.h (__const): Likewise.
12852         * lib/glob_.h (__const): Remove macro.
12853         * lib/glob-libc.h: Use const instead of __const.
12854
12855 2006-01-10  Bruno Haible  <bruno@clisp.org>
12856
12857         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
12858         variable.
12859         Needed to avoid an automake error regarding the 'gettext' module.
12860
12861 2006-01-09  Simon Josefsson  <jas@extundo.com>
12862
12863         * modules/inet_ntop (Depends-on): Add restrict.
12864
12865 2006-01-09  Simon Josefsson  <jas@extundo.com>
12866
12867         * modules/gc-rijndael-tests (License): Put under LGPL.
12868
12869         * modules/gc-des-tests (License): Likewise.
12870
12871         * modules/gc-arcfour-tests (License): Likewise.
12872
12873         * modules/gc-arctwo-tests (License): Likewise.
12874
12875         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
12876
12877         * modules/gc-hmac-sha1-tests (Files): Likewise.
12878
12879         * modules/gc-hmac-md5-tests (License): Likewise.
12880
12881         * modules/gc-sha1-tests (License): Likewise.
12882
12883         * modules/gc-md5-tests (License): Likewise.
12884
12885         * modules/gc-md4-tests (License): Likewise.
12886
12887         * modules/gc-md2-tests (License): Likewise.
12888
12889         * modules/gc-tests (License): Likewise.
12890
12891         * modules/des-tests (License): Likewise.
12892
12893         * modules/md4-tests (License): Likewise.
12894
12895         * modules/md2-tests (License): Likewise.
12896
12897 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
12898
12899         Sync from coreutils:
12900
12901         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
12902         * modules/lib-ignore: New file.
12903         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
12904         chdir-safer.m4, lchmod.m4.
12905         * modules/openat: Add mkdirat.c, openat-priv.h.
12906
12907 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
12908
12909         Sync from coreutils.
12910         * m4/lib-ignore.m4: New file.
12911         * m4/lchmod.m4: New file.
12912
12913 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
12914
12915         Sync from coreutils.
12916         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
12917         for write access: POSIX says that must fail.
12918         * lib/fts.c (diropen): Likewise.
12919         * lib/save-cwd.c (save_cwd): Likewise.
12920         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
12921         well, for minor improvements on hosts that lack O_DIRECTORY.
12922         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
12923         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
12924         Fall back on chown if open failed with EACCES.
12925
12926         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
12927         Report an error at compile-time if only a 1-second nominal clock
12928         resolution is found.
12929
12930         * lib/lchmod.h: New file.
12931         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
12932         (make_dir_parents): Use lchown rather than chown, and
12933         lchmod rather than chmod.
12934
12935         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
12936         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
12937         "proc" reported by n0dalus.
12938
12939         * lib/mountlist.c: Include <limits.h>.
12940         (dev_from_mount_options)
12941         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
12942         New function.  It no longer assumes "dev=" has the System V meaning
12943         on Linux (since it doesn't).  It also parses "dev=" more carefully.
12944         (read_file_system_list)
12945         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
12946         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
12947         dev= in that case.
12948
12949         * lib/posixtm.h (PDS_PRE_2000): New macro.
12950         * lib/posixtm.c (year): Arg is now syntax_bits rather than
12951         allow_century.  All usages changed.  Reject dates outside the range
12952         1969-1999 if PDS_PRE_2000 is used.
12953
12954 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
12955
12956         Sync from coreutils.
12957         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
12958         (Time of day items): Mention the possibility of leap seconds.
12959         Problem reported by Dr. David Alan Gilbert.
12960
12961 2006-01-09  Jim Meyering  <jim@meyering.net>
12962
12963         Sync from coreutils.
12964
12965         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
12966
12967         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
12968
12969         * lib/modechange.c (mode_compile): Reject an invalid mode string
12970         that starts with an octal digit.  From Andreas Gruenbacher.
12971
12972         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
12973         and dup to open_safer and dup_safer, respectively.
12974         (openat_permissive): Fix typo in comment.
12975
12976         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
12977         "gettext.h"; either no longer needed or are guaranteed by openat.h.
12978         (_): Remove; no longer needed.
12979         (openat): Renamed from rpl_openat; no need for rpl_openat
12980         since openat.h renames openat for us.
12981         Replace most of the body with a call to openat_permissive,
12982         to avoid duplicate code.
12983         Port to (probably hypothetical) environments were mode_t is
12984         wider than int.
12985         (openat_permissive): Require mode arg, so that we can check
12986         types better.  Put it just after flags.  Change cwd failure
12987         indicator from pointer-to-bool to pointer-to-errno-value.
12988         All callers changed.
12989         Invoke openat_save_fail and/or openat_restore_fail if
12990         cwd_errno is null, so that openat can call us.
12991         (openat_permissive, fdopendir, fstatat, unlinkat):
12992         Simplify errno handling to avoid some duplicate code,
12993         as it's OK to set errno on success.
12994         * lib/openat.h: Revamp code so that function macros depend on
12995         __OPENAT_PREFIX only, not also on AT_FDCWD.
12996         (openat_ro): Remove.  Caller changed to use openat_permissive.
12997         (openat_permissive): Now a macro, if not a function.
12998         (openat_restore_fail, openat_save_fail): Now always functions,
12999         since mkdirat needs them even if __OPENAT_PREFIX is defined.
13000
13001         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
13002         and openat.c.
13003         * lib/mkdirat.c: Include openat-priv.h.
13004         Remove definitions of macros defined therein.
13005         * lib/openat.c: Likewise.
13006
13007         * lib/mkdirat.c (mkdirat): New file and function.
13008         * lib/openat.h (mkdirat): Declare.
13009
13010         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
13011
13012         * lib/openat.h (openat_permissive): Declare.
13013         (openat_ro): Define.
13014
13015         * lib/openat.c (EXPECTED_ERRNO): New macro.
13016         (openat_permissive): New function -- used in remove.c rewrite.
13017         (all functions): Set errno just before returning, only if there
13018         was an actual failure.
13019         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
13020
13021         Emulate openat-family functions using Linux's procfs, if possible.
13022         Idea and some code based on Ulrich Drepper's glibc changes.
13023
13024         * lib/openat.c: (BUILD_PROC_NAME): New macro.
13025         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
13026         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
13027         before falling back on save_cwd and restore_cwd.
13028         (fdopendir, fstatat, unlinkat): Likewise.
13029
13030         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
13031         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
13032
13033         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
13034         as second argument to va_arg.  Otherwise, some versions of gcc
13035         warn that `if this code is reached, the program will abort'.
13036
13037 2006-01-09  Jim Meyering  <jim@meyering.net>
13038
13039         Sync from coreutils.
13040         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
13041         Require openat-priv.h.
13042
13043 2006-01-09  Bruno Haible  <bruno@clisp.org>
13044
13045         * modules/strnlen (Include): Use strnlen.h.
13046
13047 2006-01-09  Bruno Haible  <bruno@clisp.org>
13048
13049         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
13050
13051 2006-01-09  Bruno Haible  <bruno@clisp.org>
13052
13053         * lib/sysexit_.h (EX_OK): New macro.
13054         Suggested by Martin Lambers <marlam@marlam.de>.
13055
13056 2006-01-09  Bruno Haible  <bruno@clisp.org>
13057
13058         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
13059         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
13060
13061 2006-01-09  Bruno Haible  <bruno@clisp.org>
13062
13063         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
13064         numbers.
13065
13066 2006-01-09  Bruno Haible  <bruno@clisp.org>
13067
13068         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
13069         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
13070         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
13071         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
13072
13073 2006-01-09  Bruno Haible  <bruno@clisp.org>
13074
13075         * build-aux/javacomp.sh.in: New file, moved from lib/.
13076         * modules/javacomp-script (Files): Update.
13077         (configure.ac): Add AC_CONFIG_FILES invocation.
13078         (EXTRA_DIST): Remove variable.
13079
13080         * build-aux/javaexec.sh.in: New file, moved from lib/.
13081         * modules/javaexec (Files): Update.
13082         (configure.ac): Add AC_CONFIG_FILES invocation.
13083         (EXTRA_DIST): Remove javaexec.sh.in.
13084
13085         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
13086         * modules/csharpcomp-script (Files): Update.
13087         (configure.ac): Add AC_CONFIG_FILES invocation.
13088         (EXTRA_DIST): Remove variable.
13089
13090         * build-aux/csharpexec.sh.in: New file, moved from lib/.
13091         * modules/csharpexec (Files): Update.
13092         (configure.ac): Add AC_CONFIG_FILES invocation.
13093         (EXTRA_DIST): Remove csharpexec.sh.in.
13094
13095 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
13096
13097         Sync from coreutils.
13098
13099         Add POSIX ACL support
13100         * lib/acl.h (copy_acl, set_acl): Add declarations.
13101         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
13102         systems other than Linux.
13103         (chmod_or_fchmod): New function: use fchmod when possible,
13104         and chmod otherwise.
13105         (file_has_acl): Add a POSIX ACL implementation, with a
13106         Linux-specific subcase.
13107         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
13108         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
13109         acls are unsupported.
13110         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
13111         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
13112         are unsupported.
13113
13114 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
13115
13116         Sync from coreutils.
13117         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
13118
13119 2006-01-07  Bruno Haible  <bruno@clisp.org>
13120
13121         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
13122         gl_EARLY.
13123
13124 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
13125
13126         * lib/strftime.c (tzname): Don't declare if it is already #defined.
13127         Problem reported for Mingw by Mark Junker.
13128
13129 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
13130
13131         * README: Gnulib normally doesn't generate a tarball.
13132
13133 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
13134
13135         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
13136         long int, not int, for nanosecond counts, so that people who are
13137         used to POSIX struct timespec won't be surprised.  Reported by Jim
13138         Meyering.
13139
13140 2005-12-28  Bruno Haible  <bruno@clisp.org>
13141
13142         * build-aux/config.rpath: Update from GNU gettext.
13143
13144 2005-12-16  Jim Meyering  <jim@meyering.net>
13145
13146         * modules/fprintftime: New module.
13147         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
13148
13149 2005-12-16  Jim Meyering  <jim@meyering.net>
13150
13151         * m4/fprintftime.m4: New file.
13152
13153 2005-12-16  Jim Meyering  <jim@meyering.net>
13154
13155         * lib/fprintftime.c, lib/fprintftime.h: New files.
13156
13157 2005-12-15  Simon Josefsson  <jas@extundo.com>
13158
13159         * modules/socklen (configure.ac): Fix M4 macro name, to align with
13160         new m4/socklen.m4.
13161
13162 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
13163
13164         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
13165         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
13166
13167 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
13168
13169         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
13170         * lib/argp-help.c (fill_in_uparams): Check if the constructed
13171         struct uparams is valid. Fall back to the default values if it is
13172         not.
13173
13174 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13175
13176         * modules/argp (Files): Add argp-pin.c
13177         (Depends-on): dirname
13178         (lib_SOURCES): Add argp-pin.c
13179
13180 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13181
13182         * m4/argp.m4:  Check if program_invocation_name and
13183         program_invocation_short_name are declared and define appropriate
13184         macros if they are not.
13185
13186 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13187
13188         * lib/argp-help.c (__argp_base_name): New function
13189         (__argp_short_program_name): Rewrite using __argp_base_name
13190         * lib/argp-namefrob.h: Define program_invocation_name and
13191         program_invocation_short_name if requested
13192         (__argp_base_name): Add prototype
13193         * lib/argp-parse.c (argp_def): Use gettext wrappers
13194         (argp_default_parser): Use __argp_base_name
13195         * lib/argp-pin.c: New file. Defines program_invocation_name and
13196         program_invocation_short_name on systems that lack them.
13197
13198 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
13199
13200         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
13201         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
13202         porting problem reported by Georg Schwarz in
13203         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
13204
13205 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
13206
13207         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
13208         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
13209         porting problem reported by Georg Schwarz in
13210         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
13211
13212 2005-12-05  Bruno Haible  <bruno@clisp.org>
13213
13214         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
13215         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
13216         Reported by Mark Junker <mjscod@gmx.de>.
13217
13218 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
13219
13220         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
13221         Use implementation from Albert Chin, with some
13222         comments/corrections by Stepan Kasal and myself.
13223
13224 2005-12-02  Bruno Haible  <bruno@clisp.org>
13225
13226         * gnulib-tool (func_import): Accept GPLed build tool modules when
13227         --lgpl is given.
13228         * modules/csharpcomp-script: New file.
13229         * modules/csharpcomp: Depend on it.
13230         * modules/javacomp-script: New file.
13231         * modules/javacomp: Depend on it.
13232         Suggested by Simon Josefsson.
13233
13234 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
13235
13236         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
13237         statement, to work around an HP-UX 10.20 compiler bug reported by
13238         Peter O'Gorman.
13239
13240 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
13241
13242         * modules/savedir (Depends-on): Add openat.
13243
13244 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
13245
13246         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
13247         (uintmax_t) [defined uintmax_t]: Do not declare.
13248         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
13249         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
13250         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
13251         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
13252         sake of portability to weird hosts that C allows (though we don't
13253         know of any practical examples).
13254
13255         * lib/savedir.h (fdsavedir): New decl.
13256         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
13257         contains most of the former guts of savedir.
13258         (savedir): Use savedirstream.
13259         Include "openat.h".
13260
13261 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
13262
13263         * modules/obstack (Files): Add m4/ulonglong.m4.
13264         Problem reported by Davide Angelocola.
13265
13266 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
13267
13268         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
13269         coreutils no longer futzes with rounding modes.
13270
13271 2005-11-14  Jim Meyering  <jim@meyering.net>
13272
13273         * lib/mkstemp-safer.c: Include <config.h>, required for possible
13274         replacement of mkstemp.
13275
13276 2005-11-10  Simon Josefsson  <jas@extundo.com>
13277
13278         * lib/readline.c: Remove EOL.
13279
13280 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13281
13282         * modules/gethrxtime (Depends-on): Add gettime.
13283
13284 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13285
13286         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
13287         or gettimeofday; no longer needed.
13288
13289 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13290
13291         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
13292         time business.
13293         (gethrxtime) [! (HAVE_NANOUPTIME
13294         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
13295         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
13296         our own approximation.
13297
13298 2005-11-08  Eric Blake  <ebb9@byu.net>
13299
13300         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
13301
13302 2005-11-08  Eric Blake  <ebb9@byu.net>
13303
13304         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
13305
13306 2005-11-04  Bruno Haible  <bruno@clisp.org>
13307
13308         * gnulib-tool: Implement --update mode.
13309
13310 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
13311
13312         Fix porting problem reported by Theodoros V. Kalamatianos.
13313         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
13314         Don't assume that futimes failing means we must fail.
13315
13316 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
13317
13318         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
13319         variables to suggest the intended function of the PATH_MAX check.
13320
13321 2005-10-30  Kean Johnston  <jkj@sco.com>
13322
13323         Trivial changes to support SCO systems.
13324         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
13325         as PATH_MAX.
13326         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
13327         where __ptr is null when no I/O is pending.
13328
13329 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13330
13331         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
13332         leave errno alone.  Problem reported by Dmitry V. Levin.
13333
13334 2005-10-28  Simon Josefsson  <jas@extundo.com>
13335
13336         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
13337         Test more.
13338
13339         * tests/test-gc-md2.c, tests/test-md2.c: New files.
13340
13341         * modules/md2, modules/md2-tests: New files.
13342
13343 2005-10-28  Simon Josefsson  <jas@extundo.com>
13344
13345         * m4/inet_ntop.m4: More tests.
13346
13347         * m4/gc-md2.m4, md2.m4: New file.
13348
13349 2005-10-28  Simon Josefsson  <jas@extundo.com>
13350
13351         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
13352         "restrict" keywords, as per POSIX.  Protect the function
13353         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
13354         Don't use K&R prototypes.  Check the sprintf return values.
13355         Re-define EAFNOSUPPORT if not present.  Indent.
13356
13357         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
13358         suggested by Bruno Haible <bruno@clisp.org>.
13359
13360         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
13361
13362         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
13363
13364         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
13365         libgcrypt).
13366
13367         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
13368
13369         * lib/md2.h, lib/md2.c: New files.
13370
13371 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
13372
13373         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
13374         errno alone.  Problem reported by Frederic Jolliton.
13375
13376 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
13377
13378         * modules/verify (License): Change from GPL to LGPL.  This is a
13379         tiny module and there are apparently near-equivalents that are
13380         under the BSD license.
13381
13382 2005-10-24  Simon Josefsson  <jas@extundo.com>
13383
13384         * modules/sha1: Relicense to LGPL.
13385
13386 2005-10-24  Simon Josefsson  <jas@extundo.com>
13387
13388         * lib/md4.h: Shrink buffer size, now that we changed the type.
13389
13390 2005-10-23  Simon Josefsson  <jas@extundo.com>
13391
13392         * gnulib-tool (func_import): Fix --tests-base.
13393
13394 2005-10-22  Simon Josefsson  <jas@extundo.com>
13395
13396         * modules/arcfour (Depends-on): Need stdint.
13397
13398 2005-10-22  Simon Josefsson  <jas@extundo.com>
13399
13400         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
13401         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
13402
13403 2005-10-22  Simon Josefsson  <jas@extundo.com>
13404
13405         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
13406         suggested by Bruno Haible <bruno@clisp.org>.
13407
13408 2005-10-22  Simon Josefsson  <jas@extundo.com>
13409
13410         * lib/crc.h: Include stddef.h, for size_t.
13411
13412 2005-10-22  Simon Josefsson  <jas@extundo.com>
13413
13414         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
13415         arcfour_context struct (simplify test vector testing in GNU
13416         Shishi).
13417
13418 2005-10-21  Simon Josefsson  <jas@extundo.com>
13419
13420         * modules/des, modules/des-tests: New files.
13421
13422         * modules/gc-des, modules/gc-des-tests: New files.
13423
13424         * tests/test-des.c, tests/test-gc-des.c: New file.
13425
13426 2005-10-21  Simon Josefsson  <jas@extundo.com>
13427
13428         * modules/arctwo, modules/arctwo-tests: New files.
13429
13430         * tests/test-arctwo.c: New file.
13431
13432         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
13433
13434         * tests/test-gc-arctwo.c: New file.
13435
13436 2005-10-21  Simon Josefsson  <jas@extundo.com>
13437
13438         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
13439         Bruno Haible <bruno@clisp.org>.
13440
13441         * m4/gc-des.m4: New file.
13442
13443 2005-10-21  Simon Josefsson  <jas@extundo.com>
13444
13445         * m4/arctwo.m4: New file.
13446
13447         * m4/gc-arctwo.m4: New file.
13448
13449 2005-10-21  Simon Josefsson  <jas@extundo.com>
13450
13451         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
13452         block.
13453
13454 2005-10-21  Simon Josefsson  <jas@extundo.com>
13455
13456         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
13457         <bruno@clisp.org>.
13458
13459         * lib/hmac-sha1.c (hmac_sha1): Likewise.
13460
13461         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
13462         Bruno Haible <bruno@clisp.org>.
13463
13464         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
13465         <bruno@clisp.org>.
13466
13467 2005-10-21  Simon Josefsson  <jas@extundo.com>
13468
13469         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
13470
13471 2005-10-21  Simon Josefsson  <jas@extundo.com>
13472
13473         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
13474
13475 2005-10-21  Simon Josefsson  <jas@extundo.com>
13476
13477         * lib/des.h, lib/des.c: New files.
13478
13479         * lib/gc-gnulib.c: Support DES.c
13480
13481 2005-10-21  Simon Josefsson  <jas@extundo.com>
13482
13483         * lib/arctwo.h, lib/arctwo.c: New files.
13484
13485         * lib/gc-gnulib.c: Support ARCTWO.
13486
13487 2005-10-21  Simon Josefsson  <jas@extundo.com>
13488
13489         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
13490         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13491
13492 2005-10-21  Simon Josefsson  <jas@extundo.com>
13493
13494         * gnulib-tool (func_import, func_create_testdir): Define automake
13495         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
13496         Makefile.am snippet),
13497         suggested by Bruno Haible <bruno@clisp.org>.
13498
13499         * modules/gc (Makefile.am): Use it.
13500
13501 2005-10-21  Bruno Haible  <bruno@clisp.org>
13502
13503         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
13504         patch.
13505
13506 2005-10-19  Simon Josefsson  <jas@extundo.com>
13507
13508         * tests/test-gc-rijndael.c: New file.
13509
13510         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
13511
13512 2005-10-19  Simon Josefsson  <jas@extundo.com>
13513
13514         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
13515         interface too.
13516
13517 2005-10-19  Simon Josefsson  <jas@extundo.com>
13518
13519         * tests/test-gc-arcfour.c: New file.
13520
13521         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
13522
13523 2005-10-19  Simon Josefsson  <jas@extundo.com>
13524
13525         * modules/gc-md4, modules/gc-md4-tests: New file.
13526
13527         * tests/test-gc-md4.c: New file.
13528
13529 2005-10-19  Simon Josefsson  <jas@extundo.com>
13530
13531         * m4/gc-md4.m4: New file.
13532
13533 2005-10-19  Simon Josefsson  <jas@extundo.com>
13534
13535         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
13536         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
13537         <kasal@ucw.cz>.
13538
13539 2005-10-19  Simon Josefsson  <jas@extundo.com>
13540
13541         * m4/gc-arcfour.m4: New file.
13542
13543         * m4/gc-rijndael.m4: New file.
13544
13545 2005-10-19  Simon Josefsson  <jas@extundo.com>
13546
13547         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
13548
13549 2005-10-19  Simon Josefsson  <jas@extundo.com>
13550
13551         * lib/gc-gnulib.c: Support ARCFOUR.
13552
13553 2005-10-19  Simon Josefsson  <jas@extundo.com>
13554
13555         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
13556         support.
13557
13558         * lib/gc.h: Add ECB enum type.
13559
13560         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
13561
13562 2005-10-18  Simon Josefsson  <jas@extundo.com>
13563
13564         * tests/test-md5.c: New file.
13565
13566         * modules/md5-tests: New file.
13567
13568 2005-10-18  Simon Josefsson  <jas@extundo.com>
13569
13570         * tests/test-md4.c: New file.
13571
13572         * modules/md4, modules/md4-tests: New files.
13573
13574 2005-10-18  Simon Josefsson  <jas@extundo.com>
13575
13576         * m4/md4.m4: New file.
13577
13578 2005-10-18  Simon Josefsson  <jas@extundo.com>
13579
13580         * lib/md4.h, lib/md4.c: New files, based on md5.?.
13581
13582 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
13583
13584         * gnulib-tool (func_create_testdir): Omit the second check whether
13585         BUILT_SOURCES in nonempty.
13586
13587 2005-10-17  Simon Josefsson  <jas@extundo.com>
13588
13589         * tests/test-rijndael.c: New file.
13590
13591 2005-10-17  Simon Josefsson  <jas@extundo.com>
13592
13593         * modules/sha1: Depend on stdint instead of md5.
13594
13595         * modules/md5: Depend on stdint, remove uint32_t.
13596
13597 2005-10-17  Simon Josefsson  <jas@extundo.com>
13598
13599         * modules/gc-sha1-tests: New file.
13600
13601         * tests/test-gc-sha1.c: New file.
13602
13603 2005-10-17  Simon Josefsson  <jas@extundo.com>
13604
13605         * m4/md5.m4: Remove call to uint32_t.m4.
13606
13607 2005-10-17  Simon Josefsson  <jas@extundo.com>
13608
13609         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
13610
13611         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
13612         md5.h.
13613
13614         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
13615
13616         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
13617
13618 2005-10-17  Simon Josefsson  <jas@extundo.com>
13619
13620         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
13621
13622 2005-10-17  Simon Josefsson  <jas@extundo.com>
13623
13624         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
13625
13626 2005-10-17  Simon Josefsson  <jas@extundo.com>
13627
13628         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
13629
13630         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
13631
13632 2005-10-17  Bruno Haible  <bruno@clisp.org>
13633
13634         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
13635         that it can also be used in a test.
13636
13637 2005-10-16  Bruno Haible  <bruno@clisp.org>
13638
13639         * gnulib-tool (func_emit_tests_Makefile_am): Also define
13640         TESTS_ENVIRONMENT, so that individual tests can augment it.
13641
13642         * gnulib-tool (func_create_testdir): Use an intermediate target for
13643         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
13644         macros, like $(ALLOCA_H), which cannot be passed through the command
13645         line.
13646
13647 2005-10-15  Simon Josefsson  <jas@extundo.com>
13648
13649         * modules/rijndael-tests: New file.
13650
13651         * modules/rijndael: New file.
13652
13653 2005-10-15  Simon Josefsson  <jas@extundo.com>
13654
13655         * m4/rijndael.m4: New file.
13656
13657 2005-10-15  Simon Josefsson  <jas@extundo.com>
13658
13659         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
13660
13661         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
13662
13663 2005-10-14  Simon Josefsson  <jas@extundo.com>
13664
13665         * tests/test-arcfour.c: New file.
13666
13667         * modules/arcfour, modules/arcfour-tests: New files.
13668
13669 2005-10-14  Simon Josefsson  <jas@extundo.com>
13670
13671         * m4/arcfour.m4: New file.
13672
13673 2005-10-14  Simon Josefsson  <jas@extundo.com>
13674
13675         * lib/arcfour.h, lib/arcfour.c: New files.
13676
13677 2005-10-14  Roland McGrath  <roland@redhat.com>
13678
13679         Import from libc.  [BZ #1331]
13680         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
13681         macro argument.
13682         Reported by Matej Vela <vela@debian.org>.
13683
13684 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
13685
13686         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
13687         include <wchar.h>; no longer needed.
13688
13689 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
13690
13691         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
13692
13693 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
13694         and  Ulrich Drepper  <drepper@redhat.com>
13695
13696         Import from libc.
13697         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
13698         instead of inline stream orientation test and two separate
13699         function calls.  Pay no attention to USE_IN_LIBIO.
13700
13701 2005-10-13  Simon Josefsson  <jas@extundo.com>
13702
13703         * modules/gc-hmac-md5-tests: New file.
13704
13705         * tests/test-gc-hmac-sha1.c: New file.
13706
13707         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
13708
13709         * modules/gc-hmac-md5-tests: New file.
13710
13711         * tests/test-gc-md5.c: New file.
13712
13713         * modules/gc-md5-tests: New file.
13714
13715 2005-10-13  Simon Josefsson  <jas@extundo.com>
13716
13717         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
13718         Move memory allocation outside of loop.
13719
13720 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
13721
13722         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
13723         intermediate directory is in a read-only file system.  Problem
13724         reported by Eric Blake.
13725
13726 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
13727
13728         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
13729
13730 2005-10-12  Simon Josefsson  <jas@extundo.com>
13731
13732         * tests/test-hmac-sha1.c: New file.
13733
13734         * modules/hmac-sha1-tests: New file.
13735
13736         * modules/hmac-sha1: New file.
13737
13738 2005-10-12  Simon Josefsson  <jas@extundo.com>
13739
13740         * modules/gc-sha1: New file.
13741
13742 2005-10-12  Simon Josefsson  <jas@extundo.com>
13743
13744         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
13745
13746         * tests/test-gc-pbkdf2-sha1.c: New file.
13747
13748 2005-10-12  Simon Josefsson  <jas@extundo.com>
13749
13750         * modules/gc-md5, modules/gc-hmac-md5: New files.
13751
13752         * modules/gc (Files): Remove md5, memxor and hmac files.
13753
13754 2005-10-12  Simon Josefsson  <jas@extundo.com>
13755
13756         * m4/gc-pbkdf2-sha1.m4: New file.
13757
13758         * m4/gc-hmac-sha1.m4: New file.
13759
13760         * m4/gc-sha1: New file.
13761
13762         * m4/hmac-sha1.m4: New file.
13763
13764 2005-10-12  Simon Josefsson  <jas@extundo.com>
13765
13766         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
13767
13768         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
13769
13770 2005-10-12  Simon Josefsson  <jas@extundo.com>
13771
13772         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
13773         suggested by Bruno Haible <bruno@clisp.org>.
13774
13775 2005-10-12  Simon Josefsson  <jas@extundo.com>
13776
13777         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
13778
13779 2005-10-12  Simon Josefsson  <jas@extundo.com>
13780
13781         * lib/gc-pbkdf2-sha1.c: New file.
13782
13783         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
13784
13785 2005-10-12  Simon Josefsson  <jas@extundo.com>
13786
13787         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
13788
13789         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
13790
13791 2005-10-12  Simon Josefsson  <jas@extundo.com>
13792
13793         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
13794         GC_USE_HMAC_MD5, respectively.
13795
13796         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
13797         (gc_md5): Fix typo.
13798
13799         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
13800
13801         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
13802
13803         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
13804
13805 2005-10-12  Bruno Haible  <bruno@clisp.org>
13806
13807         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
13808         Reported by Stepan Kasal <kasal@ucw.cz>.
13809
13810 2005-10-11  Simon Josefsson  <jas@extundo.com>
13811
13812         * tests/test-crc.c: New file.
13813
13814         * modules/crc, modules/crc-tests: New files.
13815
13816 2005-10-11  Simon Josefsson  <jas@extundo.com>
13817
13818         * m4/crc.m4: New file.
13819
13820 2005-10-11  Simon Josefsson  <jas@extundo.com>
13821
13822         * lib/gc.h: Add gc_hash and gc_hash_buffer.
13823
13824         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
13825
13826         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
13827
13828 2005-10-11  Simon Josefsson  <jas@extundo.com>
13829
13830         * lib/crc.h, lib/crc.c: New files.
13831
13832         * lib/gc.h (gc_hash_buffer): Add doc.
13833
13834 2005-10-11  Bruno Haible  <bruno@clisp.org>
13835
13836         * modules/c-strcasestr: New file.
13837         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
13838
13839 2005-10-11  Bruno Haible  <bruno@clisp.org>
13840
13841         * modules/c-strcase: New file.
13842         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
13843
13844 2005-10-11  Bruno Haible  <bruno@clisp.org>
13845
13846         * lib/strcasecmp.c: Include limits.h.
13847         (strcasecmp): Avoid integer overflow on exotic platforms.
13848         * lib/strncasecmp.c: Include limits.h.
13849         (strncasecmp): Avoid integer overflow on exotic platforms.
13850         Reported by Paul Eggert.
13851
13852 2005-10-11  Bruno Haible  <bruno@clisp.org>
13853
13854         * lib/c-strcasestr.h: New file, from GNU gettext.
13855         * lib/c-strcasestr.c: New file, from GNU gettext.
13856
13857 2005-10-11  Bruno Haible  <bruno@clisp.org>
13858
13859         * lib/c-strcase.h: New file, from GNU gettext.
13860         * lib/c-strcasecmp.c: New file, from GNU gettext.
13861         * lib/c-strncasecmp.c: New file, from GNU gettext.
13862
13863 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13864
13865         * modules/mempcpy (License): GPL -> LGPL.
13866         * modules/strchrnul (License): Likewise.
13867         * modules/sysexits (License): Likewise.
13868
13869 2005-10-08  Simon Josefsson  <jas@extundo.com>
13870
13871         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
13872
13873 2005-10-07  Simon Josefsson  <jas@extundo.com>
13874
13875         * m4/memxor.m4: Remove gl_C_RESTRICT call.
13876
13877 2005-10-06  Simon Josefsson  <jas@extundo.com>
13878
13879         * tests/test-hmac-md5.c: New file.
13880
13881         * modules/hmac-md5-tests: New file.
13882
13883         * modules/hmac-md5: New file.
13884
13885 2005-10-06  Simon Josefsson  <jas@extundo.com>
13886
13887         * m4/hmac-md5.m4: New file.
13888
13889         * m4/memxor.m4: Require gl_C_RESTRICT.
13890
13891 2005-10-06  Simon Josefsson  <jas@extundo.com>
13892
13893         * lib/memxor.c (memxor): Avoid casts and warnings.
13894
13895 2005-10-06  Simon Josefsson  <jas@extundo.com>
13896
13897         * lib/hmac-md5.c: New file.
13898
13899         * lib/hmac.h: New file.
13900
13901 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
13902
13903         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
13904         promotes to int, not unsigned int, to catch the AIX 5.3
13905         compiler bug.
13906
13907 2005-10-05  Simon Josefsson  <jas@extundo.com>
13908
13909         * modules/memxor: New file.
13910
13911         * modules/iconv (Files): Move config.rpath to havelib, it is used
13912         there.
13913
13914         * modules/havelib (Files): Add config.rpath.
13915
13916 2005-10-05  Simon Josefsson  <jas@extundo.com>
13917
13918         * m4/memxor.m4: New file.
13919
13920 2005-10-05  Simon Josefsson  <jas@extundo.com>
13921
13922         * lib/memxor.c (memxor): Fix compiler error.
13923
13924         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
13925         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
13926
13927         * lib/memxor.h, lib/memxor.c: New files.
13928
13929         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
13930         we assume all systems have it, suggested by Jim Meyering
13931         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
13932         any systems lack sys/socket.h; mingw32 is known to lack it, but we
13933         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
13934         same reasons.
13935
13936 2005-10-05  Simon Josefsson  <jas@extundo.com>
13937
13938         * config/srclist.txt: Add glibc bug 1423 for md5.h.
13939
13940 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
13941
13942         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
13943         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
13944         needed, since the source code now assumes these .h files.
13945
13946 2005-10-05  Derek Price  <derek@ximbiot.com>
13947
13948         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
13949
13950 2005-10-05  Bruno Haible  <bruno@clisp.org>
13951
13952         * modules/stdint (License): Change to LGPL.
13953
13954 2005-10-04  Simon Josefsson  <jas@extundo.com>
13955
13956         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
13957         D. Baushke" <mdb@gnu.org>.
13958
13959 2005-10-04  Bruno Haible  <bruno@clisp.org>
13960
13961         * lib/verify.h (verify_true): Provide alternative definition for C++.
13962
13963 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
13964
13965         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
13966         (SSIZE_MAX): New macro, if not already defined.
13967         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
13968         than 2 GiB.
13969
13970 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
13971
13972         Sync from coreutils.
13973         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
13974         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
13975         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
13976         ULLONG_MAX doesn't work with 2.7.2.1.
13977
13978 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
13979
13980         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
13981         From Ben Pfaff.
13982
13983         * modules/exclude (Depends-on): Depend on verify.
13984         * modules/strtoimax (Depends-on): Likewise.
13985         * modules/utimecmp (Depends-on): Likewise.
13986
13987 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
13988
13989         * lib/exclude.c: Include verify.h.
13990         (verify): Remove.  All callers changed to use verify.h's version.
13991         * lib/strtoimax.c: Likewise.
13992         * lib/utimecmp.c: Likewis.e
13993
13994         Sync from coreutils.
13995         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
13996         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
13997         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
13998         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
13999         bother returning ENOSYS if settimeofday or stime fails; just let
14000         them return whatever errno they want to return.
14001         * lib/utimens.c: Include unistd.h, for dup2.
14002         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
14003         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
14004
14005 2005-10-02  Jim Meyering  <jim@meyering.net>
14006
14007         Sync from coreutils.
14008         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
14009         from glibc-2.2.5 that fails for read-only files.
14010
14011 2005-10-02  Jim Meyering  <jim@meyering.net>
14012
14013         Sync from coreutils.
14014         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
14015         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
14016         `#if HAVE_CONFIG_H'.
14017         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
14018         Remove AT_FDCWD test.
14019         Do not consume the fd unless successful.
14020         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
14021         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
14022         block, so that we don't even try to compile it if settimeofday is
14023         available.  This works around a compilation failure on OSF1 V5.1,
14024         due to stime requiring a `long int*' while tv_sec is `int'.
14025
14026 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
14027
14028         Sync from coreutils.
14029         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
14030         against `yes', rather than just testing for nonempty.
14031
14032 2005-10-01  Simon Josefsson  <jas@extundo.com>
14033
14034         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
14035         and Darwin.
14036
14037         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
14038         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
14039         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
14040         freeaddrinfo and gai_strerror are declared by the POSIX headers.
14041         Check if struct addrinfo is declared.
14042
14043 2005-10-01  Simon Josefsson  <jas@extundo.com>
14044
14045         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
14046         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
14047         AI_* and EAI_* definitions.  Protect function declarations.
14048
14049 2005-10-01  Jim Meyering  <jim@meyering.net>
14050
14051         Sync from coreutils.
14052
14053         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
14054         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
14055         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
14056         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
14057         in the inet and nsl libraries.  Required on Solaris 5.7.
14058
14059 2005-10-01  Jim Meyering  <jim@meyering.net>
14060
14061         Sync from coreutils.
14062         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
14063         in the inet and nsl libraries.  Required on Solaris 5.7.
14064
14065 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
14066
14067         * lib/getdelim.c (getdelim): Remove unused variables.
14068
14069 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
14070
14071         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
14072         so that the code works even with ancient cpp.  Portability problem
14073         with GCC 2.7.2.1 reported by Thomas M.Ott.
14074
14075 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
14076
14077         * modules/regex (Depends-on): Add strcase.
14078
14079         * modules/gethostname (Licence): Change from GPL to LGPL, since
14080         gethostname.c is a trivial implementation of a standard library
14081         function.
14082         * modules/poll (License): Change from GPL to LGPL, since it's
14083         derived from LGPL code.
14084
14085 2005-09-27  Jim Meyering  <jim@meyering.net>
14086
14087         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
14088         HAVE_CONFIG_H.
14089
14090         * lib/intprops.h (signed_type_or_expr__): Define.
14091         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
14092         for unsigned types.
14093
14094 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
14095
14096         * lib/verify.h (verify_expr): Remove, replacing with:
14097         (verify_true): New macro that returns true instead of void.
14098         (verify_type__): Remove.
14099         (verify): Use verify_true rather than verify_type__.
14100
14101 2005-09-26  Bruno Haible  <bruno@clisp.org>
14102
14103         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
14104         is necessary.
14105         (lib_SOURCES): Remove mbchar.c.
14106         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
14107         (Files): Add m4/mbrtowc.m4.
14108         * modules/mbiter: Likewise.
14109         * modules/mbuiter: Likewise.
14110
14111 2005-09-26  Bruno Haible  <bruno@clisp.org>
14112
14113         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
14114         compile mbchar.c if they are not both present.
14115         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
14116         * m4/mbiter.m4 (gl_MBITER): Likewise.
14117         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
14118         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
14119         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
14120
14121 2005-09-25  Jim Meyering  <jim@meyering.net>
14122
14123         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
14124         also uses socklen_t.
14125
14126 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
14127
14128         * lib/utimens.c (ENOSYS): Define if not already defined.
14129         (futimens): Support having a null PATH if the file descriptor
14130         is nonnegative.
14131
14132         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
14133         Remove.
14134         (__attribute): Define to empty unless GCC 3.1 or later.
14135         This works around a core dump on OpenBSD 3.4, which has GCC
14136         2.95.3, which dumps core when given __attribute__(()).  It also
14137         simplifies other tests, since we really don't want to bother with
14138         worrying about which ancient version of GCC supported what.
14139         Original problem reported by Yoann Vandoorselaere, with part of
14140         the fix suggested by Derek Price.
14141
14142 2005-09-24  Jim Meyering  <jim@meyering.net>
14143
14144         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
14145         so we can once again use a positive bitfield width of 1 -- now we
14146         don't have to explain why we were using a bitfield width of 2.
14147
14148 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
14149
14150         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
14151         and similarly for the other external symbols.  Problem reported
14152         by James Gallager.
14153
14154         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
14155         bug reported by Jim Meyering.
14156
14157         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
14158         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
14159         not needed, since socklen is a prerequisite module.
14160
14161 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
14162
14163         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
14164         Problem reported by Eric Blake.
14165         (getaddrinfo): Initialize se so that it's not garbage.
14166         Redo internal storage allocation so that it doesn't make unportable
14167         assumptions about alignment.
14168         Fix a memory leak.
14169
14170         * lib/utimens.c (futimens): Use futimesat if available.
14171         Prefer it to futimes since it doesn't have the futimes bug.
14172
14173         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
14174         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
14175         Instead, declare a function that returns a pointer to an array,
14176         and use verify_type__ to declare the size of the array.
14177         Problem and germ of a solution reported by Bruno Haible.
14178         (verify_type__): Use 2, not 1, for bitfield size, to avoid
14179         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
14180
14181 2005-09-23  Jim Meyering  <jim@meyering.net>
14182
14183         Sync from coreutils.
14184         Correct build failure (socklen_t not defined) on at least
14185         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
14186         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
14187
14188 2005-09-23  Jim Meyering  <jim@meyering.net>
14189
14190         * modules/getaddrinfo (Depends-on): Add socklen.
14191
14192 2005-09-23  Bruno Haible  <bruno@clisp.org>
14193
14194         * tests/test-verify.c: New file.
14195
14196 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
14197
14198         Sync from coreutils.
14199
14200         * modules/argmatch (Depends-on): Add verify.
14201         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
14202         unistd-safer.
14203         * modules/save-cwd (Depends-on): Likewise.
14204
14205         * modules/openat (Files): Add lib/openat-die.c.
14206         (Depends-on): Remove error, exitfail.
14207         Add dirname.
14208
14209         * modules/verify: New file.
14210         * MODULES.html.sh (Diagnostics <assert.h>): New section,
14211         with "verify" module.
14212
14213 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
14214
14215         Sync from coreutils.
14216
14217         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
14218         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
14219         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
14220         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
14221         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
14222         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
14223         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
14224         Don't bother checking for string.h, stdlib.h, unistd.h.
14225         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
14226         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
14227         module's job.
14228         * m4/jm-macros.m4 (gl_MACROS): Likewise.
14229         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
14230
14231         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
14232         (gl_GETDATE): Use it.
14233
14234         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
14235
14236 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
14237
14238         Sync from coreutils.
14239
14240         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
14241         stat-time.h.
14242         * lib/argmatch.h: Include verify.h
14243         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
14244         (ARGMATCH_ASSERT): Remove; unused.
14245         * lib/canonicalize.c: Assume STDC_HEADERS.
14246         * lib/exclude.c: Include "strcase.h".
14247         * lib/regex_internal.h [!defined _LIBC]: Likewise.
14248         * lib/getusershell.c: Include stdio--.h rather than stdio.h
14249         and stdio-safer.h.
14250         (getusershell): Call fopen, not fopen_safer.
14251         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
14252         Do not include unistd-safer.h.
14253         (save_cwd): Don't call fd_safer; no longer needed
14254         now that we include fcntl--.h.
14255
14256         * lib/getdate.y (relative_time): New type.
14257         (RELATIVE_TIME_0): New constant.
14258         (parser_control): Use relative_time instead of doing it ourselves.
14259         (%union): Add new relative_time rel member.
14260         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
14261         Now typeless.
14262         (relunit, relunit_snumber): Now of type rel.
14263         (zone, rel, relunit, get_date): Adjust to above changes.
14264
14265         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
14266         Do not include unistd-safer.h.
14267         (getloadavg): Don't call fd_safer; no longer needed
14268         now that we include fcntl--.h.
14269
14270         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
14271         (make_dir_parents): Treat ENOSYS like EEXIST.
14272
14273         Improve quality of diagnostics on restore_cwd failure.
14274         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
14275         (make_dir_parents): Last arg is now int * (for errno), not bool *.
14276         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
14277         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
14278         each time through the loop.  Do not diagnose restore_cwd failure;
14279         that is the caller's job (and perhaps the caller does not care).
14280
14281         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
14282         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
14283         If the file already exists but is not a directory, don't bother
14284         to try to make its parents.
14285         Close potential file descriptor leak if we can't chdir("/") (!).
14286         Don't always return true if chdir($PWD) fails; return true only
14287         if the requested action was done successfully (except for the
14288         chdir($PWD)).
14289         Don't log final directory unless we actually made it.
14290         Refactor to avoid duplicate code to fix up permissions.
14291         Don't attempt to fix up parent permissions if chdir($PWD) fails.
14292
14293         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
14294         to make it a bit faster and (I hope) clearer.
14295         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
14296         Fix bug in formats like %2N.
14297
14298         * lib/verify.h: New file.
14299
14300 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
14301
14302         Sync from coreutils.
14303         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
14304
14305 2005-09-22  Jim Meyering  <jim@meyering.net>
14306
14307         Sync from coreutils.
14308
14309         * m4/lstat.m4 (gl_FUNC_LSTAT):
14310         Use AC_LIBSOURCES to require lstat.c and lstat.h.
14311         Remove obsolete comment.
14312         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
14313         * m4/xstrtod.m4: Likewise.
14314
14315         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
14316
14317 2005-09-22  Jim Meyering  <jim@meyering.net>
14318
14319         Sync from coreutils.
14320
14321         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
14322
14323         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
14324         the .tm_year member, since otherwise gcc-4.0 would now warn about
14325         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
14326
14327         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
14328         order to avoid an unsuppressible warning from gcc on 64-bit systems.
14329
14330         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
14331         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
14332         when run in a time zone for which daylight savings time is in effect
14333         for the starting date.
14334
14335         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
14336         stop us from restricting permissions of just-created absolute-named
14337         directories.
14338         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
14339         to restore initial working directory.
14340         * lib/mkdir-p.c (make_dir_parents): New parameter:
14341         different_working_dir, to tell caller if/when we change the working
14342         directory and are unable to return to the initial one.
14343         * lib/mkdir-p.h (make_dir_parents): Update prototype.
14344         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
14345         `return false'.  This fixes a bug introduced on 2004-07-30.
14346
14347         * lib/openat.c (fdopendir): Be sure to close the supplied
14348         file descriptor before returning.  This makes our replacement
14349         implementation a little closer to Solaris's, where fdopendir
14350         ties the file descriptor to the returned DIR* pointer.
14351         * lib/openat.c (unlinkat): New function.
14352         * lib/openat.h (unlinkat): Add prototype.
14353         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
14354         (openat_restore_fail): Rename from openat_restore_die.
14355         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
14356
14357         Provide an alternative to exiting immediately upon save_cwd or
14358         restore_cwd failure.  Now, an application can arrange e.g.,
14359         to perform a longjump in that case.
14360         * lib/openat.c: Include dirname.h.
14361         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
14362         (rpl_openat, fdopendir, fstatat): Call openat_save_die
14363         and openat_restore_die rather than calling error directly.
14364         Don't include "error.h" or "exitfail.h"; they're no longer needed.
14365
14366         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
14367         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
14368         define.
14369
14370         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
14371         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
14372                             int utc, int nanoseconds);
14373         Background:
14374         date should not have to allocate a megabyte of virtual memory to
14375         handle a format argument like +%1048575T.  When implemented with
14376         strftime, it must allocate such a buffer, use strftime to fill it
14377         in, print it, then free it.
14378         With fprintftime, it simply prints everything and exits.
14379         With no need for memory allocation, that's one fewer way to fail.
14380         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
14381         optional field width, not before, so we accept %9:z, not %:9z.
14382         (my_strftime): Be sure to use L_('x') for literals.
14383
14384         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
14385         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
14386         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
14387         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
14388         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
14389         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
14390         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
14391         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
14392         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
14393         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
14394         * lib/xgethostname.c, lib/xreadlink.c:
14395         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
14396
14397         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
14398         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
14399         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
14400         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
14401         and don't include <sys/file.h>).
14402
14403 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
14404
14405         Sync from coreutils.
14406
14407         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
14408         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
14409         [!LDAV_DONE]: Avoid unused variable warning.
14410
14411 2005-09-21  Bruno Haible  <bruno@clisp.org>
14412
14413         * lib/unicodeio.h (unicode_to_mb): New declaration.
14414
14415 2005-09-20  Derek Price  <derek@ximbiot.com>
14416
14417         * lib/getaddrinfo.c: Don't include <netdb.h> included from
14418         getaddrinfo.h.
14419
14420 2005-09-20  Bruno Haible  <bruno@clisp.org>
14421
14422         * gnulib-tool: Remove trailing slashes from the values specified for
14423         --source-base, --m4-base, --tests-base, --aux-dir.
14424         Suggested by Simon Josefsson <jas@extundo.com>.
14425
14426 2005-09-20  Bruno Haible  <bruno@clisp.org>
14427
14428         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
14429         func_modules_to_filelist, func_import, func_create_testdir): Make all
14430         sorting results locale-independent, so that gnulib-cache.m4 doesn't
14431         change when gnulib-tool is invoked in a different locale.
14432
14433 2005-09-19  Simon Josefsson  <jas@extundo.com>
14434
14435         * m4/socklen.m4: Fix typo.
14436
14437 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14438
14439         Use a consistent style for including <config.h>.
14440         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
14441         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
14442         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
14443         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
14444         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
14445         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
14446         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
14447         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
14448         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
14449         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
14450         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
14451         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
14452         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
14453         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
14454         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
14455         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
14456         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
14457         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
14458         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
14459         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
14460         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
14461         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
14462         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
14463         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
14464         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
14465         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
14466         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
14467         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
14468         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
14469         lib/xstrtoumax.c, lib/yesno.c:
14470         Standardize inclusion of config.h.
14471         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
14472         lib/inttostr.h:  Removed inclusion of config.h from header files.
14473         * lib/inttostr.c:  Adjusted in-tree users.
14474         * lib/timespec.h: Remove superfluous warning to include config.h.
14475         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
14476         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
14477         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
14478         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
14479         config.h with HAVE_CONFIG_H.
14480
14481 2005-09-19  Jim Meyering  <jim@meyering.net>
14482
14483         * modules/pathmax (License): Change to LGPL.
14484
14485 2005-09-19  Derek Price  <derek@ximbiot.com>
14486
14487         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
14488
14489 2005-09-19  Bruno Haible  <bruno@clisp.org>
14490
14491         * gnulib-tool (import): Provide default for --tests-base.
14492
14493 2005-09-19  Bruno Haible  <bruno@clisp.org>
14494
14495         * doc/quote.texi: New file, extracted from gnulib.texi.
14496         * doc/ctime.texi: New file, extracted from gnulib.texi.
14497         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
14498         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
14499         * doc/gnulib.texi: Include them.
14500
14501 2005-09-18  Bruno Haible  <bruno@clisp.org>
14502
14503         Portability fix.
14504         * gnulib-tool (func_readlink): New function.
14505         (func_ln_if_changed): Use it.
14506
14507 2005-09-18  Bruno Haible  <bruno@clisp.org>
14508
14509         * gnulib-tool: Support --with-tests also with --import.
14510         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
14511         (func_import): Use variables $testsbase and $inctests. Emit a
14512         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
14513         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
14514         SUBDIRS += $testsdir.
14515         (func_create_testdir): Update.
14516
14517 2005-09-18  Bruno Haible  <bruno@clisp.org>
14518
14519         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
14520         instead of $dry_run.
14521         (func_cp_if_changed, func_mv_if_changed): Remove functions.
14522         (func_ln_if_changed): Don't handle dry-run here.
14523         (func_import): In dry-run mode, detect more precisely which actions
14524         would be performed, and don't use "...ing" verbs.
14525
14526 2005-09-18  Bruno Haible  <bruno@clisp.org>
14527
14528         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
14529         (func_import): Use join on two temporary files instead of three nested
14530         loops, in order to determine which files are new or old.
14531
14532 2005-09-18  Bruno Haible  <bruno@clisp.org>
14533
14534         * gnulib-tool (func_import): Comment out code that spits out the
14535         new files with --dry-run.
14536
14537 2005-09-18  Bruno Haible  <bruno@clisp.org>
14538
14539         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
14540
14541 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
14542
14543         * lib/stat-time.h: New file.
14544         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
14545         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
14546         in a different way.
14547         (timespec_cmp): New function.
14548         * lib/utimecmp.c: Include stat-time.h.
14549         (SYSCALL_RESOLUTION): Depend on whether various struct stat
14550         members exist, not on the obsolescent ST_MTIM_NSEC.
14551         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
14552
14553 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
14554
14555         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
14556
14557 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
14558
14559         * MODULES.html.sh (File system functions): Add stat-time.
14560         * modules/stat-time: New file.
14561         * modules/timespec (Files): Remove m4/st_mtim.m4; this
14562         is now done in a different way, by the stat-time module.
14563         * modules/utimecmp (Depends-on): Add stat-time.
14564
14565 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
14566
14567         * m4/st_mtim.m4: Remove.  Superseded by...
14568         * m4/stat-time.m4: New file.
14569         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
14570         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
14571
14572 2005-09-15  Derek Price  <derek@ximbiot.com>
14573
14574         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
14575
14576 2005-09-15  Derek Price  <derek@ximbiot.com>
14577
14578         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
14579         * lib/regex_internal.c: Ditto, using this...
14580         (__GNUC_PREREQ): ...new macro.
14581         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
14582         using...
14583         (__GNUC_PREREQ): ...this new macro.
14584
14585         * lib/strstr.h: Include string.h. Define strstr as a macro here.
14586
14587 2005-09-15  Derek Price  <derek@ximbiot.com>
14588             Paul Eggert  <eggert@cs.ucla.edu>
14589
14590         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
14591         changes, consolidating in...
14592         * lib/regex_internal.h: ...this file.
14593
14594 2005-09-13  Jim Meyering  <jim@meyering.net>
14595
14596         * lib/canon-host.c: Filter through gnu indent and reword comments
14597         slightly.
14598         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
14599
14600 2005-09-13  Derek Price  <derek@ximbiot.com>
14601
14602         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
14603         failure.
14604         Reported by Jim Meyering  <jim@meyering.net>.
14605
14606 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
14607
14608         * lib/base64.c: Typo.
14609         (base64_encode): Put b64str in initialized data section.
14610
14611 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
14612
14613         Merge glibc and coreutils changes into gnulib, plus a few
14614         extra fixes.
14615         * lib/md5.c: Use #error rather than a string.
14616         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
14617         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
14618         (__attribute__): Define to empty for non recent-GCC.
14619         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
14620         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
14621         Renamed from their non-__ counterparts, with new macros replacing
14622         them if not _LIBC.  Add __THROW attribute.
14623         (rol): Remove.
14624         (struct md5_ctx): Align buffer if using GCC.
14625         * lib/sha1.h (struct sha1_ctx): Likewise.
14626         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
14627         The old name was backwards.
14628         (NOTSWAP): Remove; not used.
14629         (rol): New macro, moved here from md5.h.
14630         (sha1_process_block): Remove a FIXME that doesn't make sense.
14631
14632 2005-09-12  Derek Price  <derek@ximbiot.com>
14633
14634         Return usable errors from canon-host.
14635         * lib/canon-host.h: New file.
14636         * lib/canon-host.c (canon_host): Wrap...
14637         (canon_host_r): ...this new function, which now relies exclusively on
14638         getaddrinfo.
14639         (ch_strerror): New function.
14640         (last_cherror): New global.
14641         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
14642         interface.
14643         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
14644         void *.
14645         (freeaddrinfo): Free ai->ai_canonname when set.
14646
14647 2005-09-12  Derek Price  <derek@ximbiot.com>
14648
14649         Make canon-host require getaddrinfo.
14650         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
14651         AC_LIBSOURCE canon-host.h.  Call...
14652         (gl_PREREQ_CANON_HOST): ...this new function, which requires
14653         gl_GETADDRINFO.
14654         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
14655
14656 2005-09-12  Derek Price  <derek@ximbiot.com>
14657
14658         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
14659         LGPL.
14660         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
14661
14662 2005-09-12  Derek Price  <derek@ximbiot.com>
14663
14664         * lib/gai_strerror.c: Include config.h when available.  Include
14665         getaddrinfo.h before other headers to test interface.
14666         Reported by Larry Jones <lawrence.jones@ugs.com>.
14667
14668 2005-09-12  Derek Price  <derek@ximbiot.com>
14669             Paul Eggert  <eggert@cs.ucla.edu>
14670
14671         * modules/glob (Files): Add glob-libc.h.
14672
14673 2005-09-12  Derek Price  <derek@ximbiot.com>
14674             Paul Eggert  <eggert@cs.ucla.edu>
14675
14676         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
14677         glob_.h, glob-libc.h.
14678         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
14679
14680 2005-09-12  Derek Price  <derek@ximbiot.com>
14681             Paul Eggert  <eggert@cs.ucla.edu>
14682
14683         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
14684         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
14685         protecting things that should be done only in gnulib contexts.
14686         * lib/glob_.h: New file, containing only the glob things needed for
14687         gnulib.
14688         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
14689         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
14690         (glob, globfree, glob_pattern_p): Now defined simply in terms of
14691         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
14692         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
14693         and to respect the namespace rules better.
14694
14695 2005-09-08  Simon Josefsson  <jas@extundo.com>
14696
14697         * modules/socklen: New file.
14698
14699 2005-09-08  Simon Josefsson  <jas@extundo.com>
14700
14701         * m4/socklen.m4: New file.
14702
14703 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
14704
14705         * modules/utimens (Files): Add m4/utimbuf.m4, since
14706         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
14707         Reported by Sergey Poznyakoff.
14708
14709 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
14710
14711         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
14712         definitions, since that's the preferred style in glibc.
14713         Fix a minor spacing issue, and update copyright notice to match
14714         glibc's.
14715
14716 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
14717
14718         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
14719
14720 2005-09-06  Simon Josefsson  <jas@extundo.com>
14721
14722         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
14723         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
14724
14725 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
14726
14727         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
14728         warning.
14729
14730 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
14731
14732         * config/srclist.txt: Add glibc bug 1302.
14733
14734 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14735
14736         Change bitset word type from unsigned int to unsigned long int,
14737         as this has better performance on typical 64-bit hosts.
14738         Port bitset code to hosts with unusual word sizes.
14739         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
14740         (build_collating_symbol):
14741         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
14742         argument is a bitset.  This is merely a style issue, but it makes
14743         it clearer that an entire array is expected.
14744         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
14745         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
14746         Port to the case where bitset_word is not the same as unsigned int.
14747         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
14748         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
14749         Likewise.
14750         * lib/regexec.c (check_dst_limits_calc_pos_1,
14751         check_subexp_matching_top):
14752         (build_trtable, group_nodes_into_DFAstates):
14753         Likewise.
14754         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
14755         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
14756         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
14757         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
14758         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
14759         * lib/regcomp.c (optimize_subexps, lower_subexp):
14760         Work even if bitset_word has holes in its bitwise representation.
14761         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
14762         * lib/regexec.c (check_dst_limits_calc_pos_1,
14763         check_subexp_matching_top):
14764         Likewise.
14765         * lib/regex_internal.c (re_string_reconstruct):
14766         Don't assume UCHAR_MAX == 255.
14767         * lib/regex_internal.h (bitset_set_all): Likewise.
14768         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
14769         All uses changed.
14770         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
14771         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
14772         All uses changed.
14773         (BITSET_WORD_MAX): New macro.
14774         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
14775         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
14776         (bitset_empty, bitset_copy):
14777         Prefer sizeof (bitset) to multiplying it out ourselves.
14778         (bitset_not_merge): Remove; unused.
14779         (bitset_contain): Return bool, not unsigned int with one bit on.
14780         All callers changed.
14781         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
14782         alignment than re_node_set; do this by defining a new internal
14783         type struct dests_alloc and using it to allocate memory.
14784
14785 2005-09-05  Bruno Haible  <bruno@clisp.org>
14786
14787         * gnulib-tool (func_import): Fix comparison in handling of symbolic
14788         links.
14789
14790 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
14791
14792         * modules/size_max (Makefile.am): Add size_max.h
14793
14794 2005-09-04  Derek Price  <derek@ximbiot.com>
14795
14796         * gnulib-tool (func_import): Fix reversed $symbolic logic.
14797
14798 2005-09-03  Simon Josefsson  <jas@extundo.com>
14799
14800         * gnulib-tool: Fix typo.
14801
14802 2005-09-03  Simon Josefsson  <jas@extundo.com>
14803
14804         * config/srclist.txt: Add glibc bug 1293.
14805
14806 2005-09-03  Derek Price  <derek@ximbiot.com>
14807
14808         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
14809         From Larry Jones <lawrence.jones@ugs.com>.
14810
14811 2005-09-02  Simon Josefsson  <jas@extundo.com>
14812
14813         * modules/socklen: New file.
14814
14815 2005-09-02  Simon Josefsson  <jas@extundo.com>
14816
14817         * modules/havelib: New module.
14818
14819         * modules/gettext, modules/iconv, modules/lock, modules/readline:
14820         Use havelib.
14821
14822 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
14823
14824         Check for arithmetic overflow when calculating sizes, to prevent
14825         some buffer-overflow issues.  These patches are conservative, in the
14826         sense that when I couldn't determine whether an overflow was possible,
14827         I inserted a run-time check.
14828         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
14829         macros.
14830         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
14831         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
14832         (re_xnrealloc, re_x2nrealloc): New inline functions.
14833         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
14834         parse_bracket_exp):
14835         (build_equiv_class, build_charclass): Check for arithmetic overflow
14836         in size expression calculations.
14837         * lib/regex_internal.c (re_string_realloc_buffers):
14838         (build_wcs_upper_buffer, re_node_set_add_intersect):
14839         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
14840         (re_dfa_add_node, register_state): Likewise.
14841         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
14842         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
14843         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
14844         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
14845
14846 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
14847
14848         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
14849         m4/ulonglong.m4.  Problem reported by Martin Lambers.
14850
14851 2005-09-02  Bruno Haible  <bruno@clisp.org>
14852
14853         Support for lib vs. lib64 distinction on biarch platforms.
14854         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
14855         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
14856         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
14857
14858 2005-09-02  Bruno Haible  <bruno@clisp.org>
14859
14860         * gnulib-tool (import): In the other first-use case, provide defaults
14861         as well.
14862
14863 2005-09-02  Bruno Haible  <bruno@clisp.org>
14864
14865         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
14866         patches not yet found in the latest gettext release.
14867
14868 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14869
14870         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
14871         to avoid a collision with bits/local_lim.h in glibc.
14872         All uses changed.  Problem reported by Dmitry V. Levin in
14873         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
14874
14875         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
14876         bugs in int versus size_t comparisons.
14877         (re_string_context_at): Fix bug where the code assumed that
14878         Idx is signed.
14879
14880         Use bool where appropriate.
14881         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
14882         All callers changed.
14883         (calc_eclosure_iter): Likewise, for ROOT arg.
14884         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
14885         (build_charclass_op): Likewise, for NON_MATCH arg.
14886         * lib/regex_internal.c (re_string_allocate, re_string_construct):
14887         (re_string_construct_common): Likewise, for ICASE arg.
14888         * lib/regexec.c (re_search_2_stub, re_search_stub):
14889         Likewise, for RET_LEN arg.
14890         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
14891         (set_regs): Likewise, for FL_BACKTRACK arg.
14892         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
14893         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
14894         (calc_eclosure_iter, parse_bracket_exp):
14895         Use bool for internal variables that are booleans.
14896         * lib/regexec.c (re_search_internal, check_matching,
14897         proceed_next_node):
14898         (set_regs, build_sifted_states, sift_states_bkref):
14899         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
14900         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
14901         (find_collation_sequence_value):
14902         Likewise.
14903         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
14904         (re_node_set_compare):
14905         Return bool, not int. All callers changed.
14906         * lib/regexec.c (check_halt_node_context, check_dst_limits):
14907         (build_trtable, check_node_accept): Likewise.
14908         * lib/regex_internal.h: Include stdbool.h.
14909
14910         Fix bugs uncovered when converting to bool.
14911         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
14912         failure instead of charging ahead blindly.
14913         * lib/regex_internal.c (register_state): Likewise.
14914         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
14915         for freeing internal storage.
14916         (group_nodes_into_DFA_states): Use unsigned int, not int, for
14917         bitset pieces used as boolean, to avoid undefined behavior
14918         on hosts that do int overflow checking.
14919
14920 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14921
14922         * config/srclist.txt: Add glibc bugs 1285-1287.
14923
14924 2005-09-01  Jim Meyering  <jim@meyering.net>
14925
14926         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
14927         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
14928         Require gl_STAT_MACROS, too.
14929
14930 2005-09-01  Bruno Haible  <bruno@clisp.org>
14931
14932         * gnulib-tool (import): In the first-use case, provide defaults.
14933
14934 2005-09-01  Bruno Haible  <bruno@clisp.org>
14935
14936         * gnulib-tool (func_import): Remove the .tmp files.
14937
14938 2005-09-01  Bruno Haible  <bruno@clisp.org>
14939
14940         * gnulib-tool (func_import): Fix handling of symbolic links.
14941
14942 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
14943
14944         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
14945         old glibc regex code mishandles strings longer than 2**31 bytes.
14946         This patch fixes this when the regex code is used in gnulib
14947         (i.e., outside glibc).
14948
14949         This patch should not affect the use of the regex code inside
14950         glibc.  No doubt this problem also needs to be handled for glibc
14951         as well, but the result will be an incompatible change to the
14952         glibc ABI, and the old ABI will have to be supported too.  That
14953         can be the the subject for another patch.
14954
14955         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
14956         governing whether the rest of this patch is active.  By default,
14957         the macro is disabled and the patch has no effect.
14958         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
14959         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
14960         (struct re_pattern_buffer, re_search, re_search_2, re_match):
14961         (re_match_2, re_set_registers): Use the new types.
14962         * lib/regex_internal.h (Idx, re_hashval_t): New types.
14963         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
14964         New macros.
14965         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
14966         (re_string_context_at, bin_tree_t, re_dfastate_t):
14967         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
14968         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
14969         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
14970         (re_string_char_size_at, re_string_wchar_at):
14971         (re_string_elem_size_at):
14972         Use the new types and macros to port to 64-bit hosts.
14973         Use unsigned types for internal values, so that the code
14974         mostly works even for arrays larger than SSIZE_MAX.
14975         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
14976         (search_duplicated_node, calc_eclosure_iter, fetch_number):
14977         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
14978         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
14979         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
14980         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
14981         (calc_inveclosure, parse_dup_op, build_range_exp):
14982         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
14983         (fetch_number, create_token_tree, mark_opt_subexp):
14984         Likewise.
14985         * lib/regex_internal.c (re_string_construct_common,
14986         create_ci_newstate):
14987         (create_cd_newstate, re_string_allocate, re_string_construct):
14988         (re_string_realloc_buffers, build_wcs_upper_buffer):
14989         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
14990         (re_string_reconstruct, re_string_peek_byte_case):
14991         (re_string_fetch_byte_case, re_string_context_at):
14992         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
14993         (re_node_set_init_copy, re_node_set_add_intersect):
14994         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
14995         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
14996         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
14997         (re_acquire_state, re_acquire_state_context, register_state):
14998         Likewise.
14999         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
15000         search_cur_bkref_entry):
15001         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
15002         (re_search_internal, re_search_2_stub, re_search_stub)
15003         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
15004         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
15005         (update_cur_sifted_state, check_dst_limits):
15006         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
15007         (check_subexp_limits, sift_states_bkref, merge_state_array):
15008         (check_subexp_matching_top, get_subexp, get_subexp_sub):
15009         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
15010         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
15011         (expand_bkref_cache, check_node_accept_bytes):
15012         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
15013         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
15014         (acquire_init_state_context, check_halt_node_context):
15015         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
15016         (sift_states_backward, clean_state_log_if_needed):
15017         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
15018         (find_recover_state, transit_state_sb, transit_state_mb):
15019         (transit_state_bkref, build_trtable, match_ctx_clean):
15020         Likewise.
15021         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
15022         to work around an assumption that REG_MISSING is negative.
15023
15024         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
15025         (seek_collating_symbol_entry) [defined _LIBC]:
15026         (lookup_collation_sequence_value) [defined _LIBC]:
15027         (build_range_exp, build_collating_symbol) [defined _LIBC]:
15028         Use prototypes rather than old-style function definitions.
15029         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
15030         (transit_state_sb) [0]:
15031         (find_collation_sequence_value) [defined _LIBC]: Likewise.
15032
15033         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
15034         rm_eo.
15035
15036         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
15037         (optimize_subexps, lower_subexp):
15038         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
15039         since the signed shift might overflow.  Use 1u<<31 instead.
15040         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
15041         Likewise.
15042         * lib/regexec.c (check_dst_limits_calc_pos_1,
15043         check_subexp_matching_top): Likewise.
15044
15045         * lib/regcomp.c (optimize_subexps, lower_subexp):
15046         Use CHAR_BIT rather than 8, for clarity.
15047         * lib/regexec.c (check_dst_limits_calc_pos_1):
15048         (check_subexp_matching_top): Likewise.
15049         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
15050         have to worry about portability issues when shifting it left.
15051         Remove no-longer-needed test for table_size > 0.
15052         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
15053         in a word, as the resulting behavior is undefined.
15054         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
15055         in one case, a <= should have been an <, and in another case the
15056         whole test was missing.
15057         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
15058         the standard name CHAR_BIT.
15059         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
15060         this is not true on one's complement and signed-magnitude hosts.
15061
15062         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
15063         next_last_offset.
15064         (struct re_dfa_t): Remove unused member states_alloc.
15065         * lib/regcomp.c (init_dfa): Don't initialize unused members.
15066
15067 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15068
15069         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
15070         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
15071         and large-file glibc and in 32-bit large-file Solaris.
15072
15073 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15074
15075         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
15076         lengths fit in regoff_t; this isn't true if regoff_t is the same
15077         width as size_t.
15078         * lib/regex.c (re_search_internal): 5th arg is LAST_START
15079         (= START + RANGE) instead of RANGE.  This avoids overflow
15080         problems when regoff_t is the same width as size_t.
15081         All callers changed.
15082         (re_search_2_stub): Check for overflow when adding the
15083         sizes of the two strings.
15084         (re_search_stub): Check for overflow when adding START
15085         to RANGE; if it occurs, substitute the extreme value.
15086
15087 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15088
15089         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
15090
15091 2005-08-31  Jim Meyering  <jim@meyering.net>
15092
15093         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
15094         a pointer-to-const.
15095         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
15096         (register_state): Likewise.
15097         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
15098         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
15099         (group_nodes_into_DFAstates): Likewise.
15100
15101 2005-08-31  Jim Meyering  <jim@meyering.net>
15102
15103         * check-module: Add a FIXME comment.
15104
15105 2005-08-31  Eric Blake  <ebb9@byu.net>
15106
15107         * modules/unistd-safer (Files): Add unistd--.h.
15108         * modules/stdio-safer (Files): Add stdio--.h.
15109
15110 2005-08-31  Derek Price  <derek@ximbiot.com>
15111
15112         * lib/getdelim.c (getdelim): Return EOF on EOF.
15113         Reported by Larry Jones <lawrence.jones@ugs.com>.
15114
15115 2005-08-31  Bruno Haible  <bruno@clisp.org>
15116
15117         Avoid unnecessary diffs in the generated lib/Makefile.am.
15118         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
15119         the generated files.
15120         (func_import): Don't set cmd.
15121
15122 2005-08-31  Bruno Haible  <bruno@clisp.org>
15123
15124         * lib/strstr.c: Include <stddef.h>, for NULL.
15125         * lib/strcasestr.c: Likewise.
15126         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
15127
15128 2005-08-31  Bruno Haible  <bruno@clisp.org>
15129
15130         * gnulib-tool: New option --macro-prefix.
15131         (func_import): Use macro_prefix.
15132         (import): Handle option --macro-prefix.
15133
15134 2005-08-31  Bruno Haible  <bruno@clisp.org>
15135
15136         * gnulib-tool (import): Rename most ac_* variables to cached_*.
15137         Also use new variables cached_lgpl, cached_libtool.
15138
15139 2005-08-31  Bruno Haible  <bruno@clisp.org>
15140
15141         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
15142         always instantiating them.
15143
15144 2005-08-31  Bruno Haible  <bruno@clisp.org>
15145
15146         * gnulib-tool (func_import): Read the previous cached settings
15147         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
15148         earlier added by gnulib but are now dropped. Warn when a gnulib file
15149         overwrites a non-gnulib file.
15150
15151 2005-08-31  Bruno Haible  <bruno@clisp.org>
15152
15153         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
15154         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
15155         projects that don't keep autogenerated files in CVS. Put into
15156         actioncmd only the specified modules, not the transitive closure.
15157
15158 2005-08-31  Bruno Haible  <bruno@clisp.org>
15159
15160         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
15161         Create directories that shall be filled.
15162         (import): Don't look for gl_* macros in configure.ac. Recurse across
15163         all directories containing a gnulib-cache.m4 files, if meaningful.
15164
15165 2005-08-31  Bruno Haible  <bruno@clisp.org>
15166
15167         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
15168         (import): Set seen_libtool when we see gl_LIBTOOL.
15169
15170 2005-08-31  Bruno Haible  <bruno@clisp.org>
15171
15172         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
15173         declaration macro definitions from generated gnulib.m4.
15174
15175 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
15176
15177         * lib/iconvme.h: Add prototype for iconv_alloc.
15178
15179 2005-08-29  Simon Josefsson  <jas@extundo.com>
15180
15181         * lib/iconvme.c: Fix errno.
15182
15183 2005-08-29  Bruno Haible  <bruno@clisp.org>
15184
15185         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
15186         that it works when the directory contains spaces.
15187
15188 2005-08-29  Bruno Haible  <bruno@clisp.org>
15189
15190         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
15191
15192 2005-08-29  Bruno Haible  <bruno@clisp.org>
15193
15194         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
15195         Emit more advice.
15196
15197 2005-08-29  Bruno Haible  <bruno@clisp.org>
15198         and Stepan Kasal  <kasal@ucw.cz>
15199
15200         * check-module: If more parameters are given, check each of them
15201         separately; add more exceptions, as noted by Jim Meyering.
15202         (check_module): New procedure.
15203         (%exempt_header): Now contains all exceptions.
15204
15205 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
15206
15207         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
15208
15209 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
15210
15211         * lib/iconvme.c: Split iconv_string into iconv_alloc.
15212
15213 2005-08-28  Bruno Haible  <bruno@clisp.org>
15214
15215         * m4/gnulib-tool.m4: New file.
15216
15217 2005-08-27  Jim Meyering  <jim@meyering.net>
15218
15219         * modules/unistd-safer (Files): Add pipe-safer.c.
15220         * modules/fcntl-safer (Files): Add creat-safer.c.
15221
15222 2005-08-27  Jim Meyering  <jim@meyering.net>
15223
15224         * m4/stdlib-safer.m4: New file.  From coreutils.
15225         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
15226         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
15227         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
15228         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
15229         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
15230
15231 2005-08-27  Jim Meyering  <jim@meyering.net>
15232
15233         * lib/fopen-safer.c: Merge minor changes from coreutils.
15234         * lib/dup-safer.c: Likewise.
15235         * lib/fd-safer.c: Likewise.
15236
15237         Merge from coreutils.
15238         * lib/stdio--.h: New file.
15239         * lib/stdlib--.h: New file.
15240         * lib/mkstemp-safer.c: New file.
15241
15242         GNU tar needs these.
15243         * lib/pipe-safer.c: New file.
15244         * lib/creat-safer.c: New file.
15245         * lib/fcntl--.h (creat): Define to creat_safer.
15246         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
15247         * lib/unistd--.h (pipe): Define to pipe_safer.
15248         * lib/unistd-safer.h: Declare pipe_safer.
15249
15250 2005-08-26  Simon Josefsson  <jas@extundo.com>
15251
15252         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
15253         Haible <bruno@clisp.org>.
15254
15255 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
15256
15257         * lib/regex_internal.h: Remove all references to
15258         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
15259         or better.
15260         (bitset_not, bitset_merge, bitset_not_merge):
15261         (bitset_mask, re_string_allocate, re_string_construct):
15262         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
15263         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
15264         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
15265         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
15266         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
15267         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
15268         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
15269         (re_acquire_state_context):
15270         Remove unnecessary forward decls.
15271         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
15272         Put __attribute at function definition,
15273         now that the function decl has been removed.
15274         * lib/regex_internal.c (re_string_peek_byte_case):
15275         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
15276         Likewise.
15277
15278 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
15279
15280         * m4/regex.m4: Add AC_PREREQ(2.50).
15281         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
15282
15283 2005-08-25  Simon Josefsson  <jas@extundo.com>
15284
15285         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
15286         __fsetlocking.
15287
15288 2005-08-25  Simon Josefsson  <jas@extundo.com>
15289
15290         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
15291         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
15292         GLIBC specific code.
15293
15294 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15295
15296         Make regex safe for g++.  This fixes one real bug (an "err"
15297         that should have been "*err").  g++ problem reported by
15298         Sam Steingold.
15299         * lib/regex_internal.h (re_calloc): New macro, consistent with
15300         re_malloc etc.  All callers of calloc changed to use re_calloc.
15301         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
15302         not int.  All callers changed.
15303         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
15304         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
15305         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
15306         (find_recover_state): Change "err" to "*err"; this fixes what
15307         appears to be a real bug.
15308         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
15309         versus int.
15310
15311 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15312
15313         * modules/regex (Depends-on): Add malloc, since the code
15314         assumes that !malloc(0) means failure.
15315
15316 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15317
15318         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
15319
15320         alloca modernization/simplification for regex.
15321         * lib/regex.c: Remove portability cruft for alloca.  This no longer
15322         needs to be at the start of the file, and can be moved into
15323         regex_internal.h and simplified.
15324         * lib/regex_internal.h: Include <alloca.h>.
15325         (__libc_use_alloca) [!defined _LIBC]: New macro.
15326         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
15327         now works outside glibc.
15328
15329 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15330
15331         * config/srclist.txt: Add glibc bugs 1241, 1245.
15332
15333 2005-08-25  Jim Meyering  <jim@meyering.net>
15334
15335         * lib/open-safer.c: Include <config.h>.
15336         Otherwise, we'd lose LARGEFILE support in any file using
15337         e.g. "fcntl--.h"
15338
15339 2005-08-25  Bruno Haible  <bruno@clisp.org>
15340
15341         * m4/minmax.m4: Require autoconf 2.52.
15342         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
15343         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
15344         alternatives of translit over the alphabet.
15345         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
15346
15347 2005-08-24  Simon Josefsson  <jas@extundo.com>
15348
15349         * tests/test-getpass.c: New file.
15350
15351 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15352
15353         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
15354         for GNU regex features.
15355
15356 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15357
15358         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
15359         * lib/regex.h (regerror): Likewise.
15360
15361         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
15362         requires this.  (The code never needed it.)
15363
15364         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
15365         All uses of recently-renamed identifiers changed to use the new,
15366         POSIX-compliant names.  The code will build and run just fine
15367         without these changes, but it's better to eat our own dog food
15368         and use the standard-conforming names.
15369
15370         * lib/regex.h: Fix a multitude of POSIX name space violations.
15371         These changes have an effect only for programs that define
15372         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
15373         do not change anything for programs compiled in the normal way.
15374         Also, there is no effect on the ABI.
15375
15376         (_REGEX_SOURCE): New macro.
15377         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
15378         defined and _GNU_SOURCE is not; this fixes a name space violation.
15379
15380         Rename the following macros to obey POSIX requirements.
15381         The old names are still visible as macros if _REGEX_SOURCE is defined.
15382         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
15383         RE_BACKSLASH_ESCAPE_IN_LISTS.
15384         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
15385         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
15386         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
15387         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
15388         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
15389         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
15390         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
15391         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
15392         (REG_INTERVALS): renamed from RE_INTERVALS.
15393         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
15394         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
15395         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
15396         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
15397         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
15398         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
15399         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
15400         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
15401         RE_UNMATCHED_RIGHT_PAREN_ORD.
15402         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
15403         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
15404         (REG_DEBUG): renamed from RE_DEBUG.
15405         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
15406         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
15407         unusual, since we can't clash with the POSIX REG_ICASE.
15408         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
15409         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
15410         (REG_NO_SUB): renamed from RE_NO_SUB.
15411         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
15412         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
15413         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
15414         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
15415         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
15416         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
15417         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
15418         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
15419         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
15420         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
15421         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
15422         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
15423         RE_SYNTAX_POSIX_MINIMAL_BASIC.
15424         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
15425         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
15426         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
15427         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
15428         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
15429         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
15430         (REG_FIXED): Renamed from REGS_FIXED.
15431         (REG_NREGS): Renamed from RE_NREGS.
15432
15433         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
15434         of other REG_* macros, since POSIX says the user is allowed to
15435         #undef these macros selectively.
15436
15437         (reg_errcode_t): Update comment stating what other tables need
15438         to be consistent.
15439
15440         Rename the following enum values to obey POSIX requirements.
15441         The old names are still visible as macros.
15442         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
15443         is not defined, since GNU is supposed to be a superset of POSIX as
15444         much as possible, and since we want reg_errcode_t to be a signed
15445         type for implementation consistency.
15446         (_REG_NOERROR): Renamed from REG_NOERROR.
15447         (_REG_NOMATCH): Renamed from REG_NOMATCH.
15448         (_REG_BADPAT): Renamed from REG_BADPAT.
15449         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
15450         (_REG_ECTYPE): Renamed from REG_ECTYPE.
15451         (_REG_EESCAPE): Renamed from REG_EESCAPE.
15452         (_REG_ESUBREG): Renamed from REG_ESUBREG.
15453         (_REG_EBRACK): Renamed from REG_EBRACK.
15454         (_REG_EPAREN): Renamed from REG_EPAREN.
15455         (_REG_EBRACE): Renamed from REG_EBRACE.
15456         (_REG_BADBR): Renamed from REG_BADBR.
15457         (_REG_ERANGE): Renamed from REG_ERANGE.
15458         (_REG_ESPACE): Renamed from REG_ESPACE.
15459         (_REG_BADRPT): Renamed from REG_BADRPT.
15460         (_REG_EEND): Renamed from REG_EEND.
15461         (_REG_ESIZE): Renamed from REG_ESIZE.
15462         (_REG_ERPAREN): Renamed from REG_ERPAREN.
15463         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
15464         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
15465         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
15466         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
15467
15468         (_REG_RE_NAME, _REG_RM_NAME): New macros.
15469         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
15470         changed.  But support the old name if the new one is not defined
15471         and if _REGEX_SOURCE.
15472
15473         Change the following member names in struct re_pattern_buffer.
15474         The old names are still supported if !_REGEX_SOURCE.
15475         The new names are always supported, regardless of _REGEX_SOURCE.
15476         (re_buffer): Renamed from buffer.
15477         (re_allocated): Renamed from allocated.
15478         (re_used): Renamed from used.
15479         (re_syntax): Renamed from syntax.
15480         (re_fastmap): Renamed from fastmap.
15481         (re_translate): Renamed from translate.
15482         (re_can_be_null): Renamed from can_be_null.
15483         (re_regs_allocated): Renamed from regs_allocated.
15484         (re_fastmap_accurate): Renamed from fastmap_accurate.
15485         (re_no_sub): Renamed from no_sub.
15486         (re_not_bol): Renamed from not_bol.
15487         (re_not_eol): Renamed from not_eol.
15488         (re_newline_anchor): Renamed from newline_anchor.
15489
15490         Change the following member names in struct re_registers.
15491         The old names are still supported if !_REGEX_SOURCE.
15492         The new names are always supported, regardless of _REGEX_SOURCE.
15493         (rm_num_regs): Renamed from num_regs.
15494         (rm_start): Renamed from start.
15495         (rm_end): Renamed from end.
15496
15497         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
15498         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
15499         Prepend __ to parameter names.
15500
15501         Undo yesterday's changes.
15502
15503 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15504
15505         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
15506         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
15507         lib/regex.c.
15508
15509 2005-08-24  Jim Meyering  <jim@meyering.net>
15510
15511         Sync from coreutils.
15512         * m4/fcntl-safer.m4: New file.
15513
15514         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
15515         and object files for this module.
15516
15517 2005-08-24  Jim Meyering  <jim@meyering.net>
15518
15519         Sync from coreutils.
15520         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
15521
15522 2005-08-24  Jim Meyering  <jim@meyering.net>
15523
15524         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
15525         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
15526
15527 2005-08-24  Jim Meyering  <jim@meyering.net>
15528
15529         * modules/fcntl-safer: New module.
15530         * modules/fts (Depends-on): Add fcntl-safer.
15531         * MODULES.html.sh (File descriptor based Input/Output):
15532         Add fcntl-safer.
15533
15534 2005-08-24  Bruno Haible  <bruno@clisp.org>
15535
15536         Support for unit test modules.
15537         * modules/README: Mention tests modules.
15538         * modules/TEMPLATE-TESTS: New file.
15539         * gnulib-tool: New options --extract-tests-module, --with-tests and
15540         --tests-base (unused for the moment).
15541         (testsbase, inctests): New variables.
15542         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
15543         (func_verify_module): Exclude TEMPLATE-TESTS.
15544         (func_verify_nontests_module, func_verify_tests_module): New functions.
15545         (func_get_dependencies): Add implicit dependency for tests modules.
15546         (func_get_tests_module): New function.
15547         (func_modules_transitive_closure): When --with-tests was specified,
15548         include the unit tests as well, unless explicitly avoided.
15549         (func_emit_lib_Makefile_am): Ignore the tests modules here.
15550         (func_emit_tests_Makefile_am): New function.
15551         (func_create_testdir): When --with-tests was specified, emit a
15552         tests/ directory.
15553         * MODULES.html.sh (Future developments): Update.
15554
15555 2005-08-24  Bruno Haible  <bruno@clisp.org>
15556
15557         * modules/tls-tests: New file.
15558         * tests/test-tls.c: New file, from GNU gettext.
15559
15560 2005-08-24  Bruno Haible  <bruno@clisp.org>
15561
15562         * modules/lock-tests: New file.
15563         * tests/test-lock.c: New file, from GNU gettext.
15564
15565 2005-08-24  Bruno Haible  <bruno@clisp.org>
15566
15567         * lib/lock.h: Add multiple inclusion guard.
15568         * lib/tls.h: Add multiple inclusion guard.
15569
15570 2005-08-24  Bruno Haible  <bruno@clisp.org>
15571
15572         * gnulib-tool: Add support for the --aux-dir option to
15573         --create-testdir, --create-megatestdir, --test, --megatest.
15574         (func_create_testdir, func_create_megatestdir): Optionally emit a
15575         AC_CONFIG_AUX_DIR directive.
15576         (create-testdir, create-megatestdir, test, megatest): Provide a
15577         default value for $auxdir.
15578
15579 2005-08-24  Bruno Haible  <bruno@clisp.org>
15580
15581         * gnulib-tool (import): Use compound statement instead of subshell
15582         where possible.
15583
15584 2005-08-24  Bruno Haible  <bruno@clisp.org>
15585
15586         * gnulib-tool (import): Change --aux-dir default to "build-aux".
15587
15588 2005-08-24  Bruno Haible  <bruno@clisp.org>
15589
15590         * gnulib-tool (func_version): Update.
15591
15592 2005-08-24  Bruno Haible  <bruno@clisp.org>
15593
15594         * gnulib-tool (func_import, func_create_testdir,
15595         func_create_megatestdir): Quote all autoconf macro arguments.
15596
15597 2005-08-24  Bruno Haible  <bruno@clisp.org>
15598
15599         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
15600         option --force, because --force causes the aclocal.m4 of each
15601         subdirectory to be newer than the corresponding config.h.in.
15602
15603 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15604
15605         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
15606         All contents moved to gl_REGEX.
15607         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
15608         assume that it does.
15609
15610 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15611
15612         * lib/regex.h (REG_NOSYS)
15613         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
15614         Define, since POSIX requires it as of 2001.
15615         (_REG_ENOSYS)
15616         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
15617         New private symbol, used to keep the enum signed in all cases.
15618         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
15619         Youngman in
15620         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
15621
15622         * lib/regex_internal.c (re_string_skip_chars, register_state):
15623         (calc_state_hash):
15624         Remove forward decls; no longer needed now that we use prototypes.
15625         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
15626         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
15627         (clean_state_log_if_needed): Likewise.
15628
15629 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15630
15631         * config/srclist.txt: Add glibc bugs 1231-1233.
15632
15633 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
15634
15635         Fix problems reported by Sam Steingold in
15636         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
15637         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
15638         assumed that reg_errcode_t is a signed type, which is not
15639         necessarily true if _XOPEN_SOURCE is not defined.
15640         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
15641         since some compilers warn about it otherwise.
15642
15643 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
15644
15645         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
15646         (init_word_char, create_initial_state, duplicate_node_closure):
15647         (fetch_token, peek_token_bracket, build_range_exp):
15648         (build_collating_symbol): Remove forward decls; no longer needed
15649         now that we use prototypes.
15650
15651         * lib/regcomp.c:
15652         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
15653         (re_compile_fastmap_iter, regcomp, regerror, regfree):
15654         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
15655         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
15656         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
15657         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
15658         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
15659         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
15660         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
15661         (build_range_exp, build_collating_symbol, parse_bracket_exp):
15662         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
15663         (build_charclass, build_charclass_op, fetch_number, create_tree):
15664         (create_token_tree, mark_opt_subexp, duplicate_tree):
15665         Use prototypes rather than old-style definitions.
15666
15667         * lib/regex_internal.c:
15668         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
15669         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
15670         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
15671         (re_string_reconstruct, re_string_peek_byte_case):
15672         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
15673         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
15674         (re_node_set_init_copy, re_node_set_add_intersect):
15675         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
15676         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
15677         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
15678         (re_acquire_state, re_acquire_state_context, register_state):
15679         (create_ci_newstate, create_cd_newstate, free_state):
15680         Likewise.
15681         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
15682         re_search_2):
15683         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
15684         (re_search_internal, prune_impossible_nodes):
15685         (acquire_init_state_context, check_matching, static):
15686         (check_halt_node_context, check_halt_state_context, proceed_next_node):
15687         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
15688         (update_regs, sift_states_backward, build_sifted_states):
15689         (clean_state_log_if_needed, merge_state_array):
15690         (update_cur_sifted_state, add_epsilon_src_nodes):
15691         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
15692         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
15693         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
15694         (find_recover_state, check_subexp_matching_top, transit_state_mb):
15695         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
15696         (check_arrival, check_arrival_add_next_nodes):
15697         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
15698         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
15699         (check_node_accept_bytes, check_node_accept, extend_buffers):
15700         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
15701         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
15702         (sift_ctx_init):
15703         Likewise.
15704
15705         * lib/regex_internal.h:
15706         (re_string_allocate, re_string_construct, re_string_reconstruct):
15707         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
15708         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
15709         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
15710         (re_string_context_at, re_string_peek_byte_case):
15711         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
15712         is defined, since we now use prototypes always.
15713
15714         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
15715         C89 or better.  All uses removed.
15716
15717 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
15718
15719         * config/srclist.txt: Add glibc bugs 1220-1227.
15720
15721 2005-08-20  Jim Meyering  <jim@meyering.net>
15722
15723         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
15724         of unused local, dfa.
15725
15726 2005-08-20  Bruno Haible  <bruno@clisp.org>
15727
15728         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
15729
15730 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15731
15732         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
15733         (re_node_set_insert_last, re_dfa_add_node):
15734         Rename local variables to avoid GCC shadowing warnings.
15735
15736 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15737
15738         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
15739         [defined lint]: Suppress bogus uninitialized-variable warnings.
15740
15741         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
15742         and let the caller return REG_ESPACE if out of space.  This
15743         removes an uninitialied-variable warning with GCC 4.0.1, and also
15744         avoids taking the address of a local variable.  All callers
15745         changed.
15746
15747 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15748
15749         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
15750         $LIBCSRC/posix/regexec.c.
15751         Add glibc bug 1217 for regcomp.c.
15752
15753 2005-08-19  Jim Meyering  <jim@meyering.net>
15754
15755         * lib/regexec.c (proceed_next_node): Redo local variables to
15756         avoid GCC shadowing warnings.
15757
15758 2005-08-18  Bruno Haible  <bruno@clisp.org>
15759
15760         * lib/strstr.c (strstr): Fix return value in multibyte case.
15761         * lib/strcasestr.c (strcasestr): Likewise.
15762
15763 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15764
15765         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
15766
15767 2005-08-17  Jim Meyering  <jim@meyering.net>
15768
15769         Make the %s format (seconds since the epoch) work for a negative
15770         number and when used with a zero-padded field width, e.g. %015s.
15771
15772         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
15773         label so that it precedes the code to set `digits'.  Otherwise,
15774         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
15775         print `00-22'.  Now, it prints `-0022', as it should.
15776
15777 2005-08-17  Bruno Haible  <bruno@clisp.org>
15778
15779         * modules/strstr (Files): Add m4/mbrtowc.m4.
15780         (Depends-on): Add mbuiter.
15781
15782 2005-08-17  Bruno Haible  <bruno@clisp.org>
15783
15784         * modules/strcasestr: New file.
15785         * MODULES.html.sh (String handling, based on ANSI C 89): Add
15786         strcasestr.
15787
15788 2005-08-17  Bruno Haible  <bruno@clisp.org>
15789
15790         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
15791
15792 2005-08-17  Bruno Haible  <bruno@clisp.org>
15793
15794         * modules/mbuiter: New file.
15795         * MODULES.html.sh (Extended multibyte and wide character utilities):
15796         Add mbuiter.
15797
15798 2005-08-17  Bruno Haible  <bruno@clisp.org>
15799
15800         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
15801         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
15802
15803 2005-08-17  Bruno Haible  <bruno@clisp.org>
15804
15805         * m4/strcasestr.m4: New file.
15806
15807 2005-08-17  Bruno Haible  <bruno@clisp.org>
15808
15809         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
15810         * lib/strstr.c: Completely rewritten, with multibyte locale support.
15811
15812 2005-08-17  Bruno Haible  <bruno@clisp.org>
15813
15814         * lib/strcasestr.h: New file.
15815         * lib/strcasestr.c: New file.
15816
15817 2005-08-17  Bruno Haible  <bruno@clisp.org>
15818
15819         * lib/strcasecmp.c: Use mbuiter.h.
15820
15821 2005-08-17  Bruno Haible  <bruno@clisp.org>
15822
15823         * lib/mbuiter.h: New file.
15824
15825 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
15826
15827         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
15828         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
15829         and gl_GETOPT are both invoked via different paths (as happens
15830         with GNU tar CVS because it uses both argp and getopt), the former
15831         wins.
15832
15833 2005-08-16  Bruno Haible  <bruno@clisp.org>
15834
15835         * modules/tls: New file.
15836         * MODULES.html.sh (Multithreading): Add tls.
15837
15838 2005-08-16  Bruno Haible  <bruno@clisp.org>
15839
15840         * modules/strnlen1: New file.
15841         * MODULES.html.sh (String handling): Add strnlen1.
15842
15843 2005-08-16  Bruno Haible  <bruno@clisp.org>
15844
15845         * modules/strcase (Files): Add m4/mbrtowc.m4.
15846         (Depends-on): Add strnlen1, mbchar.
15847
15848 2005-08-16  Bruno Haible  <bruno@clisp.org>
15849
15850         * modules/mbiter: New file.
15851         * MODULES.html.sh (Extended multibyte and wide character utilities):
15852         Add mbiter.
15853
15854 2005-08-16  Bruno Haible  <bruno@clisp.org>
15855
15856         * modules/mbfile: New file.
15857         * MODULES.html.sh (Extended multibyte and wide character utilities):
15858         Add mbfile.
15859
15860 2005-08-16  Bruno Haible  <bruno@clisp.org>
15861
15862         * modules/mbchar: New file.
15863         * MODULES.html.sh (Extended multibyte and wide character utilities):
15864         New section.
15865
15866 2005-08-16  Bruno Haible  <bruno@clisp.org>
15867
15868         * m4/tls.m4: New file, from GNU gettext.
15869
15870 2005-08-16  Bruno Haible  <bruno@clisp.org>
15871
15872         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
15873         always.
15874         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
15875
15876 2005-08-16  Bruno Haible  <bruno@clisp.org>
15877
15878         * m4/mbiter.m4: New file.
15879
15880 2005-08-16  Bruno Haible  <bruno@clisp.org>
15881
15882         * m4/mbfile.m4: New file.
15883
15884 2005-08-16  Bruno Haible  <bruno@clisp.org>
15885
15886         * m4/mbchar.m4: New file.
15887
15888 2005-08-16  Bruno Haible  <bruno@clisp.org>
15889
15890         * lib/tls.h: New file, from GNU gettext.
15891         * lib/tls.c: New file, from GNU gettext.
15892
15893 2005-08-16  Bruno Haible  <bruno@clisp.org>
15894
15895         * lib/strnlen1.h: New file.
15896         * lib/strnlen1.c: New file.
15897
15898 2005-08-16  Bruno Haible  <bruno@clisp.org>
15899
15900         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
15901         (mbi_init): Update.
15902         (mbi_avail, mbi_advance): Let the iteration end before the terminating
15903         NUL byte, not after it.
15904
15905 2005-08-16  Bruno Haible  <bruno@clisp.org>
15906
15907         * lib/strcase.h (strcasecmp): Add note in comments.
15908         * lib/strncasecmp.c: Use code from strcasecmp.c.
15909         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
15910         (strcasecmp): Work correctly in multibyte locales.
15911
15912 2005-08-16  Bruno Haible  <bruno@clisp.org>
15913
15914         * lib/mbiter.h: New file.
15915
15916 2005-08-16  Bruno Haible  <bruno@clisp.org>
15917
15918         * lib/mbfile.h: New file.
15919
15920 2005-08-16  Bruno Haible  <bruno@clisp.org>
15921
15922         * lib/mbchar.h: New file.
15923         * lib/mbchar.c: New file.
15924
15925 2005-08-16  Bruno Haible  <bruno@clisp.org>
15926
15927         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
15928         the valid ones. Makes the comparison operations transitive:
15929         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
15930         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
15931
15932 2005-08-15  Simon Josefsson  <jas@extundo.com>
15933
15934         * modules/ssize_t (License): Change to 'unlimited'.
15935
15936         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
15937
15938 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15939
15940         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
15941         Add comments for each pending glibc patch.
15942
15943 2005-08-15  Bruno Haible  <bruno@clisp.org>
15944
15945         * lib/regex.h (__restrict_arr): Don't define to __restrict if
15946         __cplusplus is defined.
15947
15948 2005-08-14  Jim Meyering  <jim@meyering.net>
15949
15950         Sync from coreutils.
15951
15952         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
15953         Use the hash-table-based cycle-detection code not just when
15954         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
15955         Reported by James Youngman in
15956         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
15957         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
15958         FTS_TIGHT_CYCLE_CHECK.
15959         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
15960         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
15961         once again.
15962         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
15963         * lib/fts.c (fd_safer): Remove decl.
15964         Include fcntl--.h rather than unistd-safer.h
15965         (fts_safe_changedir): Don't call fd_safer; no longer needed
15966         now that we include fcntl--.h.
15967
15968 2005-08-12  Simon Josefsson  <jas@extundo.com>
15969
15970         * modules/getndelim2: Use ssize_t module.
15971         * modules/getnline: Likewise.
15972         * modules/safe-read: Likewise.
15973         * modules/xreadlink: Likewise.
15974
15975         * modules/ssize_t: New file.
15976
15977 2005-08-12  Simon Josefsson  <jas@extundo.com>
15978
15979         * m4/readline.m4: Look for termcap, curses or ncurses if required.
15980
15981 2005-08-12  Simon Josefsson  <jas@extundo.com>
15982
15983         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15984         ssize_t.
15985
15986 2005-08-12  Simon Josefsson  <jas@extundo.com>
15987
15988         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
15989         readline, getdelim and check_version.
15990         (Support for systems lacking ISO C 99: Sizes of integer types):
15991         Add size_max.
15992
15993 2005-08-12  Bruno Haible  <bruno@clisp.org>
15994
15995         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
15996
15997 2005-08-11  Simon Josefsson  <jas@extundo.com>
15998
15999         * modules/readline: New file.
16000
16001         * modules/strnlen (Files): Add strnlen.h.
16002
16003 2005-08-11  Simon Josefsson  <jas@extundo.com>
16004
16005         * m4/readline.m4: New file.
16006
16007 2005-08-11  Simon Josefsson  <jas@extundo.com>
16008
16009         * lib/readline.h, readline.c: New file.
16010
16011 2005-08-11  Simon Josefsson  <jas@extundo.com>
16012
16013         * doc/gnulib.texi (Initial import, Finishing touches): Mention
16014         gl_AVOID.
16015
16016 2005-08-11  Bruno Haible  <bruno@clisp.org>
16017
16018         * lib/strnlen.h (strnlen): Change parameter name to match comment.
16019
16020 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
16021
16022         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
16023
16024 2005-08-10  Simon Josefsson  <jas@extundo.com>
16025
16026         * tests/test-iconvme.c: New file.
16027
16028 2005-08-10  Simon Josefsson  <jas@extundo.com>
16029
16030         * m4/strnlen.m4: New file.
16031
16032         * m4/strndup.m4: Don't check for strnlen declaration, done in
16033         strnlen.m4.
16034
16035 2005-08-10  Simon Josefsson  <jas@extundo.com>
16036
16037         * lib/strndup.c: Use strnlen.h.
16038
16039         * lib/strnlen.h: New file.
16040
16041 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
16042
16043         * README: Typos.
16044
16045 2005-08-02  Simon Josefsson  <jas@extundo.com>
16046
16047         * modules/readline: New file.
16048
16049 2005-08-02  Simon Josefsson  <jas@extundo.com>
16050
16051         * modules/getdelim: New file.
16052
16053         * modules/getline: Rewrite, don't use getndelim2.
16054
16055 2005-08-02  Simon Josefsson  <jas@extundo.com>
16056
16057         * m4/getline.m4: Separate out getdelim stuff into separate module.
16058
16059         * m4/getdelim.m4: New file.
16060
16061 2005-08-02  Simon Josefsson  <jas@extundo.com>
16062
16063         * lib/getline.h, getline.c: Rewrite.
16064
16065         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
16066
16067 2005-07-31  Bruno Haible  <bruno@clisp.org>
16068
16069         * lib/lock.h (gl_lock_initializer): New macro.
16070         (gl_lock_define_initialized): Use it.
16071         (gl_rwlock_initializer): New macro.
16072         (gl_rwlock_define_initialized): Use it.
16073         (gl_recursive_lock_initializer): New macro.
16074         (gl_recursive_lock_define_initialized): Use it.
16075
16076 2005-07-30  Karl Berry  <karl@gnu.org>
16077
16078         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
16079         Report from Ben Pfaff, regarding getopt.
16080
16081 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
16082
16083         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
16084         normal way.
16085         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
16086         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
16087         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
16088         (gl_GETOPT): Use the new macros.  Most of the implementation
16089         is moved to the new macros.  This is for programs like Emacs
16090         that don't want all the functionality of gl_GETOPT.
16091
16092 2005-07-26  Bruno Haible  <bruno@clisp.org>
16093
16094         * m4/lock.m4: Update from GNU gettext.
16095
16096 2005-07-26  Bruno Haible  <bruno@clisp.org>
16097
16098         * lib/lock.h: Update from GNU gettext.
16099         * lib/lock.c: Update from GNU gettext.
16100
16101 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
16102
16103         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
16104         obsolescent AC_TRY_RUN.  Include the default includes files, for
16105         'exit'.
16106
16107 2005-07-24  Bruno Haible  <bruno@clisp.org>
16108
16109         * modules/visibility: New file.
16110         * MODULES.html.sh (Misc): Add visibility.
16111
16112 2005-07-24  Bruno Haible  <bruno@clisp.org>
16113
16114         * m4/visibility.m4: New file.
16115
16116 2005-07-24  Bruno Haible  <bruno@clisp.org>
16117
16118         * doc/visibility.texi: New file.
16119
16120 2005-07-22  Bruno Haible  <bruno@clisp.org>
16121
16122         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
16123         $(ALLOCA_H), redundant through BUILT_SOURCES.
16124         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
16125         redundant through BUILT_SOURCES.
16126         * modules/byteswap (Makefile.am): Remove explicit dependency on
16127         $(BYTESWAP_H), redundant through BUILT_SOURCES.
16128         * modules/fnmatch (Makefile.am): Remove explicit dependency on
16129         $(FNMATCH_H), redundant through BUILT_SOURCES.
16130         * modules/getopt (Makefile.am): Remove explicit dependency on
16131         $(GETOPT_H), redundant through BUILT_SOURCES.
16132         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
16133         redundant through BUILT_SOURCES.
16134         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
16135         redundant through BUILT_SOURCES.
16136         * modules/stdbool (Makefile.am): Remove explicit dependency on
16137         $(STDBOOL_H), redundant through BUILT_SOURCES.
16138         * modules/stdint (Makefile.am): Remove explicit dependency on
16139         $(STDINT_H), redundant through BUILT_SOURCES.
16140         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
16141         Remove explicit dependency on $(SYSEXITS_H).
16142         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
16143
16144 2005-07-18  Simon Josefsson  <jas@extundo.com>
16145
16146         * lib/check-version.c (check_version): Accept identical versions too.
16147
16148 2005-07-18  Bruno Haible  <bruno@clisp.org>
16149
16150         * modules/lock: New file.
16151         * MODULES.html.sh (Multithreading): New section.
16152
16153 2005-07-18  Bruno Haible  <bruno@clisp.org>
16154
16155         * m4/lock.m4: New file, from GNU gettext.
16156
16157 2005-07-18  Bruno Haible  <bruno@clisp.org>
16158
16159         * lib/lock.h: New file, from GNU gettext.
16160         * lib/lock.c: New file, from GNU gettext.
16161
16162 2005-07-18  Bruno Haible  <bruno@clisp.org>
16163
16164         * lib/lock.h (gl_once_t): New type.
16165         (gl_once_define, gl_once): New macros.
16166         * lib/lock.c (fresh_once): New variable.
16167         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
16168         functions.
16169
16170 2005-07-16  Simon Josefsson  <jas@extundo.com>
16171
16172         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
16173         workaround, suggested by Bruno.
16174
16175 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
16176
16177         * modules/xalloc (Depends-on): Add xalloc-die.
16178         * modules/xvasprintf (Depends-on): Add xalloc-die.
16179
16180 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
16181
16182         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
16183         with a minor change.
16184
16185 2005-07-15  Bruno Haible  <bruno@clisp.org>
16186
16187         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
16188         When using lib/poll.c, define poll as rpl_poll.
16189
16190 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
16191
16192         * modules/argp (Depends-on): Remove unlocked-io.
16193
16194 2005-07-14  Derek Price  <derek@ximbiot.com>
16195
16196         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
16197         for glob symlink bug.
16198
16199 2005-07-14  Bruno Haible  <bruno@clisp.org>
16200
16201         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
16202         Instead, test for *_unlocked function declarations directly.
16203
16204 2005-07-11  Simon Josefsson  <jas@extundo.com>
16205
16206         * modules/size_max: New file.
16207
16208         * modules/xsize: Depend on size_max module for size_max.m4.
16209
16210 2005-07-11  Simon Josefsson  <jas@extundo.com>
16211
16212         * lib/size_max.h: New file.
16213
16214 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
16215
16216         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
16217         copyright symbol and the year.
16218         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
16219         (version_etc_va): Use parameterized copyright notice.
16220         Reword to conform to the current GNU coding standards.
16221
16222 2005-07-11  Karl Berry  <karl@gnu.org>
16223
16224         * doc/gnulib.texi (Quoting): new node.
16225         (Initial import): more info, from Patrice.
16226
16227 2005-07-11  Bruno Haible  <bruno@clisp.org>
16228
16229         * gnulib-tool (func_usage): Document option --avoid.
16230         (Command line options): Handle --avoid.
16231         (func_acceptable): New function.
16232         (func_modules_transitive_closure): Use it.
16233
16234 2005-07-11  Bruno Haible  <bruno@clisp.org>
16235
16236         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
16237         Reported by Jim Meyering.
16238
16239 2005-07-10  Bruno Haible  <bruno@clisp.org>
16240
16241         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
16242         Needed when size_t is smaller than 'unsigned int'.
16243         Reported by Paul Eggert.
16244
16245 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
16246
16247         * modules/argp (Depends-on): Add unlocked-io
16248
16249 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
16250
16251         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
16252         block of defines.
16253
16254 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16255
16256         * config/srclist.txt: Comment out regcomp.c, since we have a porting
16257         fix now.
16258
16259 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
16260         and Paul Eggert  <eggert@cs.ucla.edu>
16261
16262         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
16263         in wint_t, not wchar_t.  Remove now-unnecessary cast.
16264
16265 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
16266
16267         * modules/regex (Files): Add lib/regex_internal.c,
16268         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
16269         (Depends-on): Add extensions.
16270         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
16271
16272 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
16273
16274         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
16275         pathconf.
16276         * m4/same.m4 (gl_SAME): Likewise.
16277         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
16278
16279         * m4/regex.m4: Adjust to new libc regex implementation.
16280         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
16281         all the .c and .h parts of (the new) regex.
16282         Quote the m4 stuff better.
16283         Check for RE_ICASE bug of old gnulib.
16284         Check for REG_STARTEND of recent libc.
16285         Rename local variables from jm_* to gl_*.
16286         Quote operand of "test -f".
16287         Say "recent enough" version of libc, not "version 2".
16288         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
16289         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
16290         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
16291         Remove check for btowc, isascii.
16292         Require AM_LANGINFO_CODESET.
16293
16294 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
16295
16296         * lib/regex.c, regex.h: Sync from libc.
16297         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
16298         * lib/regexec.c:
16299         New files, synced from libc, except that regex_internal.h
16300         currently has a small porting fix.
16301
16302 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
16303
16304         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
16305         regex_internal.c, regexec.c.
16306         Add regex_internal.h too, but as a comment, since the libc version
16307         is currently broken in gnulib mode.
16308
16309 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16310
16311         Support programs like Emacs that use gnulib but not gettext.
16312         * MODULES.html.sh (Internationalization functions): Add gettext-h.
16313         * modules/gettext-h: New file.
16314         * modules/gettext (Files): Remove lib/gettext.h.
16315         (Depends-on): Add gettext-h.
16316         (Makefile.am): Remove lib_SOURCES.
16317         * modules/argmatch, modules/c-stack, modules/closeout:
16318         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
16319         * modules/execute, modules/file-type, modules/getaddrinfo:
16320         * modules/getopt, modules/human, modules/javacomp:
16321         * modules/javaexec, modules/mkdir-p, modules/obstack:
16322         * modules/openat, modules/pagealign_alloc, modules/pipe:
16323         * modules/quotearg, modules/regex, modules/rpmatch:
16324         * modules/unicodeio, modules/userspec, modules/version-etc:
16325         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
16326         * modules/xsetenv:
16327         Depend on gettext-h, not gettext.
16328
16329 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16330
16331         * gnulib-tool (func_import): Add support for 'public domain' license.
16332         * modules/alloca, modules/atexit, modules/memmove:
16333         Now public domain, not GPL.
16334         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
16335         * modules/realloc, modules/strerror, modules/strtod:
16336         Now LGPL, not GPL.
16337
16338 2005-07-05  Bruno Haible  <bruno@clisp.org>
16339
16340         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
16341         autoconf CVS. Needed for mingw.
16342
16343 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
16344
16345         Remove the dependency of the strftime module on the tzset module.
16346         * modules/strftime (Depends-on): Remove dependency on tzset.
16347
16348 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
16349
16350         Remove the dependency of the strftime module on the tzset module.
16351         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
16352         gl_FUNC_TZSET_CLOBBER.
16353
16354 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
16355
16356         Remove the dependency of the strftime module on the tzset module.
16357         * lib/strftime.c (my_strftime)
16358         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
16359         Copy the input structure, to work around some of the bug with
16360         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
16361         Solaris releases, you should also use the tzset module, but we won't
16362         require it as a dependency any more since we don't want LGPLed code
16363         to depend on GPLed code.
16364
16365 2005-07-02  Jim Meyering  <jim@meyering.net>
16366
16367         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
16368         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
16369         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
16370         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
16371
16372 2005-07-02  Jim Meyering  <jim@meyering.net>
16373
16374         * lib/backupfile.c (backup_args): Change a `0' to NULL.
16375
16376 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
16377
16378         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
16379         declares only 'struct timespec;' (!).
16380
16381 2005-07-01  Jim Meyering  <jim@meyering.net>
16382
16383         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
16384         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
16385         * lib/save-cwd.c, tempname.c:
16386         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
16387         and don't include <sys/file.h>).
16388
16389 2005-06-29  Jim Meyering  <jim@meyering.net>
16390
16391         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
16392         type name.  Use the variable name instead.
16393         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
16394         Likewise.
16395
16396 2005-06-28  Simon Josefsson  <jas@extundo.com>
16397
16398         * modules/check-version (Files): Add check-version.m4.
16399
16400 2005-06-28  Simon Josefsson  <jas@extundo.com>
16401
16402         * m4/check-version.m4: New file, suggested by Jim Meyering
16403         <jim@meyering.net>.
16404
16405 2005-06-28  Simon Josefsson  <jas@extundo.com>
16406
16407         * lib/check-version.h, lib/check-version.c: New files.
16408
16409 2005-06-28  Simon Josefsson  <jas@extundo.com>
16410
16411         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
16412         collision with global variable.  Better indentation.  Don't
16413         increment buffer pointer beyond buffer end.  Based on comments
16414         from Paul Eggert <eggert@cs.ucla.edu>.
16415
16416         * lib/base64.h: Indent.
16417
16418 2005-06-28  Simon Josefsson  <jas@extundo.com>
16419
16420         * doc/gnulib.texi (Library version handling): New section.
16421
16422 2005-06-28  Jim Meyering  <jim@meyering.net>
16423
16424         * check-module (find_included_lib_files): Hard-code another
16425         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
16426         but modules/fts-lgpl (correctly) does not list those files.
16427
16428         * modules/canonicalize (Files): Add lib/pathmax.h.
16429
16430 2005-06-25  Simon Josefsson  <jas@extundo.com>
16431
16432         * modules/check-version: New file.
16433
16434 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
16435
16436         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
16437         initializer of struct addrinfo, as an indication that we don't
16438         care how many members the structure has.
16439
16440 2005-06-24  Derek Price  <derek@ximbiot.com>
16441         and Bruno Haible  <bruno@clisp.org>
16442
16443         Remove stat module & update lstat.
16444         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
16445         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16446         * m4/stat.m4: Remove this file.
16447
16448 2005-06-24  Derek Price  <derek@ximbiot.com>
16449         and Bruno Haible  <bruno@clisp.org>
16450
16451         Remove stat module & update lstat.
16452         * lib/stat.c: Remove this file...
16453         (slash_aware_lstat): ...moving this content and its support...
16454         * lib/lstat.c (rpl_lstat): ...into here.
16455         * lib/lstat.h: New file.
16456
16457 2005-06-24  Derek Price  <derek@ximbiot.com>
16458         and Bruno Haible  <bruno@clisp.org>
16459
16460         Remove stat module & update lstat.
16461         * config/srclist.txt (libc sources): Remove stat.
16462
16463 2005-06-24  Derek Price  <derek@ximbiot.com>
16464         and Bruno Haible  <bruno@clisp.org>
16465
16466         Remove stat module & update lstat.
16467         * MODULES.html.sh (stat): Remove.
16468         * MODULES.html: Regenerated.
16469         * modules/lstat (Description): Correct function name.
16470         (Files): Add "lstat.h".
16471         (Depends-on): Remove stat, add xalloc, stat-macros.
16472         * modules/stat: Remove this file.
16473         (Include): Add "lstat.h", remove <sys/stat.h>.
16474
16475 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
16476
16477         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
16478         (ranged_convert): Don't save conversion in a temporary struct.
16479         This causes a warning with GCC 4.0.0, and anyway in the typical
16480         case it's not worth the extra 100 bytes or so of code.
16481         (ranged_convert, __mktime_internal): When calling a function via a
16482         pointer P, use P () rather than (*P) (), as we now assume C89 or
16483         better.
16484
16485 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16486
16487         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
16488         "who -r" failed to give output.  Problem reported by Tim Waugh.
16489
16490         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
16491         (xcalloc): Use it to avoid needless tests.
16492         Problem reported by Jim Meyering.
16493
16494 2005-06-20  Derek Price  <derek@ximbiot.com>
16495
16496         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
16497         unnecessary for Autoconfs > 2.59c.
16498
16499 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16500
16501         * lib/argp.h (__option_is_short): Check upper limit of
16502         __key. Isprint() requires its argument to have the value
16503         of an unsigned char or EOF.
16504
16505 2005-06-16  Jim Meyering  <jim@meyering.net>
16506
16507         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
16508         when either N or S is zero.
16509
16510 2005-06-16  Derek Price  <derek@ximbiot.com>
16511
16512         * m4/bison.m4: Declare YACC & YFLAGS precious.
16513
16514 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
16515
16516         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
16517         multibyte string or pattern, fall back on unibyte matching.
16518         Problem reported by James Youngman.
16519
16520 2005-06-08  Bruno Haible  <bruno@clisp.org>
16521
16522         * modules/csharpcomp: New file.
16523         * MODULES.html.sh (C#): Add csharpcomp.
16524
16525 2005-06-08  Bruno Haible  <bruno@clisp.org>
16526
16527         * m4/csharpcomp.m4: New file, from GNU gettext.
16528
16529 2005-06-08  Bruno Haible  <bruno@clisp.org>
16530
16531         * lib/csharpcomp.h: New file, from GNU gettext.
16532         * lib/csharpcomp.c: New file, from GNU gettext.
16533         * lib/csharpcomp.sh.in: New file, from GNU gettext.
16534
16535 2005-06-08  Bruno Haible  <bruno@clisp.org>
16536
16537         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
16538         warning on mingw.
16539
16540 2005-06-07  Derek Price  <derek@ximbiot.com>
16541
16542         Sync from CVS.
16543         * lib/glob_.h: Indent nested #ifdef.
16544
16545 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16546
16547         Sync from coreutils.
16548         Use "file name" when talking about file names, instead of "filename"
16549         or "path", as per the GNU coding standards.
16550         * lib/mkdir-p.c: Renamed from makepath.c.
16551         (make_dir_parents): Renamed from make_path.  All callers changed.
16552         * lib/mkdir-p.h: Likewise.  All includers changed.
16553         * lib/filenamecat.c: Renamed from path-concat.c.
16554         (file_name_concat): Renamed from path_concat.  All callers changed.
16555         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
16556         * lib/filenamecat.h: Likewise.  All includers changed.
16557         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
16558         in comments or local variable names.
16559         * lib/basename.c: Likewise.
16560         * lib/canonicalize.c, canonicalize.h: Likewise.
16561         * lib/dirname.c, dirname.h: Likewise.
16562         * lib/euidaccess.c: Likewise.
16563         * lib/exclude.c: Likewise
16564         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
16565         * lib/fsusage.c, fsuage.h: Likewise.
16566         * lib/fts.c, fts_.h: Likewise.
16567         * lib/getcwd.c: Likewise.
16568         * lib/getloadavg.c: Likewise.
16569         * lib/mkstemp.c: Likewise.
16570         * lib/mountlist.c, mountlist.h: Likewise.
16571         * lib/openat.c, openat.h: Likewise.
16572         * lib/readlink-stub.c: Likewise.
16573         * lib/readutmp.c, readutmp.h: Likewise.
16574         * lib/rename.c: Likewise.
16575         * lib/rmdir.c: Likewise.
16576         * lib/same.c: Likewise.
16577         * lib/savedir.c: Likewise.
16578         * lib/stripslash.c: Likewise.
16579         * lib/tempname.c: Likewise.
16580         * lib/xreadlink.c: Likewise.
16581         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
16582         All uses changed.
16583         * lib/exclude.h: Likewise.
16584
16585         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
16586         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
16587         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
16588         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
16589         * lib/pathmax.h: Include <limits.h> unconditionally, since other
16590         files have been getting away with it for years (MORE/BSD 4.3
16591         is extinct now).
16592         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
16593         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
16594
16595         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
16596         Define to 256, not 255, as per modern POSIX.
16597
16598 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16599
16600         Sync from coreutils.
16601         Use "file name" when talking about file names, instead of "filename"
16602         or "path", as per the GNU coding standards.
16603         * MODULES.html.sh: mkdir-p renamed from makepath.
16604         filenamecat renamed from path-concat.
16605         * modules/filenamecat: Renamed from modules/path-concat.
16606         (Files): filenamecat.h and filenamecat.c renamed from
16607         path-concat.h and path-concat.c.
16608         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
16609         (Include): filenamecat.h, not path-concat.h.
16610         * modules/mkdir-p: Renamed from modules/makepath.
16611         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
16612         makepath.c.
16613         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
16614         (Include): mkdir-p.h, not makepath.h.
16615
16616 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16617
16618         Sync from coreutils.
16619         * m4/mkdir-p.m4: Renamed from makepath.m4.
16620         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
16621         Rename files from makepath.c to mkdir-p.c, and from
16622         makepath.h to mkdir-p.h.
16623         * m4/filenamecat.m4: Renamed from path-concat.m4.
16624         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
16625         Rename files from path-concat.c to filenamecat.c,
16626         and from path-concat.h to filenamecat.h.
16627         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
16628         "file name" in local variables or comments.
16629         * m4/rename.m4: Likewise.
16630
16631 2005-06-01  Bruno Haible  <bruno@clisp.org>
16632
16633         * modules/csharpexec: New file.
16634         * MODULES.html.sh (C#): New section.
16635
16636 2005-06-01  Bruno Haible  <bruno@clisp.org>
16637
16638         * m4/csharp.m4: New file, from GNU gettext.
16639         * m4/csharpexec.m4: New file, from GNU gettext.
16640
16641 2005-06-01  Bruno Haible  <bruno@clisp.org>
16642
16643         * lib/csharpexec.h: New file, from GNU gettext.
16644         * lib/csharpexec.c: New file, from GNU gettext.
16645         * lib/csharpexec.sh.in: New file, from GNU gettext.
16646
16647 2005-05-31  Derek Price  <derek@ximbiot.com>
16648             Paul Eggert  <eggert@cs.ucla.edu>
16649
16650         Sync from cvs.
16651         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
16652
16653 2005-05-31  Derek Price  <derek@ximbiot.com>
16654             Paul Eggert  <eggert@cs.ucla.edu>
16655
16656         Sync from cvs.
16657         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
16658
16659 2005-05-29  Derek Price  <derek@ximbiot.com>
16660
16661         * config/srclist.txt (glob_.h, glob.c): Add these files.
16662
16663 2005-05-29  Derek Price  <derek@ximbiot.com>
16664
16665         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
16666         * modules/glob: New file.
16667         * modules/getlogin_r: Add link to POSIX spec in description.
16668
16669 2005-05-29  Derek Price  <derek@ximbiot.com>
16670             Paul Eggert  <eggert@cs.ucla.edu>
16671
16672         * m4/glob.m4: New file.
16673
16674 2005-05-29  Derek Price  <derek@ximbiot.com>
16675             Paul Eggert  <eggert@cs.ucla.edu>
16676
16677         * lib/glob_.h, lib/glob.c: New files.
16678
16679 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
16680
16681         * modules/fts (Files): Remove m4/inttypes-pri.m4.
16682         * modules/fts-lgpl (Depends-on): Remove gettext.
16683
16684 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
16685
16686         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
16687         and don't require gt_INTTYPES_PRI.
16688
16689 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
16690
16691         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
16692
16693         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
16694         the configuration hassle isn't worth it.
16695         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
16696         (LONGEST_MODIFIER, PRIuMAX): Remove.
16697
16698 2005-05-27  Bruno Haible  <bruno@clisp.org>
16699
16700         * lib/getlogin_r.h: Remove second include of <stddef.h>.
16701
16702 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
16703
16704         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
16705         _POSIX_PTHREAD_SEMANTICS for Solaris.
16706
16707 2005-05-25  Derek Price  <derek@ximbiot.com>
16708
16709         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
16710
16711 2005-05-25  Derek Price  <derek@ximbiot.com>
16712             Paul Eggert  <eggert@cs.ucla.edu>
16713
16714         * modules/getlogin_r, m4/getlogin_r.m4: New files.
16715         * lib/getlogin_r.c, getlogin_r.h: New files.
16716
16717 2005-05-25  Bruno Haible  <bruno@clisp.org>
16718             Derek Price  <derek@ximbiot.com>
16719
16720         * lib/getlogin_r.h: Simplify API documentation.
16721
16722 2005-05-23  Derek Price  <derek@ximbiot.com>
16723
16724         * modules/minmax (Files): Add m4/minmax.m4.
16725         (configure.ac): Add gl_MINMAX.
16726
16727 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
16728
16729         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
16730         so that unistd-safer.h (GPL'ed code) need not be included.
16731
16732 2005-05-22  Bruno Haible  <bruno@clisp.org>
16733
16734         * m4/minmax.m4: New file.
16735         Based on a patch by Derek Price <derek@ximbiot.com>.
16736
16737 2005-05-22  Bruno Haible  <bruno@clisp.org>
16738
16739         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
16740         (INT64_MIN): Fix definition.
16741         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
16742
16743         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
16744         NEED_SIGNED_INT_TYPES.
16745
16746         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
16747         HAVE_SYSTEM_INTTYPES.
16748
16749 2005-05-22  Bruno Haible  <bruno@clisp.org>
16750
16751         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
16752         Also include <sys/param.h> if it defines MIN, MAX.
16753         Based on a patch by Derek Price <derek@ximbiot.com>.
16754
16755 2005-05-21  Jim Meyering  <jim@meyering.net>
16756
16757         * modules/fts (Files): Add m4/inttypes-pri.m4.
16758         (Depends-on): Add lstat and remove gettext.  Alphabetize.
16759
16760 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16761
16762         New fts module.
16763         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
16764         (setup_dir, free_dir): New functions.
16765         (enter_dir, leave_dir): Define trivial
16766         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
16767         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
16768         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
16769         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
16770         Move to fts-cycle.c.
16771         (fts_open): Use setup_dir.
16772         (fts_close): Use free_dir.
16773         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
16774         This adds a label and some gotos, but the alternatives were messier.
16775         Check for memory allocation failure when entering a dir.
16776         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
16777         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
16778         (FTS): New member fts_cycle, that is a union that contains the
16779         old active_dir_ht and cycle_state.  All uses changed to mention
16780         fts_cycle.ht and fts_cycle.state.
16781         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
16782         fts.c, with the following changes:
16783         (setup_dir, free_dir): New functions.
16784         (enter_dir): Now returns bool.  Return true if successful, false
16785         if memory exhausted.  All callers changed.
16786         Do not bother partly cleaning up on
16787         memory allocation failure; that is free_dir's job.
16788         However, free ad if hash_insert fails, to avoid memory leak.
16789         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
16790         fts->fts_options to see which union member to use.
16791
16792 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16793
16794         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
16795         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
16796
16797 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16798
16799         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
16800
16801 2005-05-20  Jim Meyering  <jim@meyering.net>
16802
16803         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
16804         Now a macro, to pacify GCC.
16805
16806 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
16807
16808         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
16809         of -1.
16810
16811 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
16812
16813         * lib/chown.c (rpl_chown): Return -1 on failure.
16814
16815 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
16816
16817         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
16818         Don't check for stddef.h.
16819         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
16820         don't use its results.
16821         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
16822         since we include them unconditionally.  Don't require
16823         AM_STDBOOL_H, since stdbool is a prerequisite.
16824         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
16825         since we assume C89 or better.
16826         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
16827         as we don't use their results.
16828         Don't check for fchdir, memmove, memset, strrchr, as we use
16829         them unconditionally.
16830         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
16831         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
16832
16833 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
16834
16835         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
16836         Include <stddef.h> unconditionally, since we assume C89 now.
16837         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
16838         * lib/fts.c: Include fts_.h first, to check interface.
16839         Do not include intprops.h; no longer needed.
16840         Include cycle-check.h and hash.h, since fts_.h no longer does.
16841         Remove unnecessary casts of closedir to void.
16842         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
16843         decide whether to decrement nlinks.
16844         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
16845         (FTS): Use struct hash_table * instead of Hash_table, so that
16846         we no longer need to include hash.h here.
16847
16848 2005-05-18  Jim Meyering  <jim@meyering.net>
16849
16850         * modules/dirfd (License): Change to LGPL.  Most of the code
16851         is already in the public domain.
16852
16853 2005-05-18  Jim Meyering  <jim@meyering.net>
16854
16855         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
16856         Reported by Yoann Vandoorselaere.
16857
16858 2005-05-17  Jim Meyering  <jim@meyering.net>
16859
16860         * m4/fts.m4: New file, from coreutils.
16861
16862 2005-05-17  Jim Meyering  <jim@meyering.net>
16863
16864         * lib/fts.c, lib/fts_.h: New files, from coreutils.
16865
16866 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
16867
16868         Sync from coreutils.
16869         * m4/unlinkdir.m4: New file.
16870
16871 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
16872
16873         Sync from coreutils.
16874         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
16875         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
16876         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
16877         White space changes only.
16878         * lib/makepath.c (make_path): Port to hosts where leading "//" is
16879         special.
16880         * lib/yesno.c: Include getline.h, not ctype.h.
16881         (yesno): Don't remove leading white space; POSIX doesn't allow it.
16882         Use getline to remove arbitrary restriction on response length.
16883
16884 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
16885
16886         * config/srclist-update: Spell out "Street" in FSF postal
16887         mail address; this is the style the FSF seems to prefer.
16888
16889         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
16890         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
16891         this updates FSF postal mail address.
16892
16893         Sync from coreutils.
16894         * modules/unlinkdir: New file.
16895         * modules/yesno (Depends-on): Add getline.
16896         * MODULES.html.sh (File system functions): Add unlinkdir.
16897
16898 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16899
16900         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
16901         lib/strsep.h:
16902         Change the initial comment to refer to GPL, not LGPL.
16903         gnulib-tool will change it to LGPL as needed.
16904
16905         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
16906         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
16907         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
16908         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
16909         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
16910         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
16911         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
16912         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
16913         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
16914         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
16915         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
16916         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
16917         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
16918         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
16919         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
16920         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
16921         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
16922         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
16923         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
16924         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
16925         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
16926         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
16927         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
16928         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
16929         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
16930         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
16931         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
16932         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
16933         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
16934         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
16935         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
16936         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
16937         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
16938         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
16939         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
16940         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
16941         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
16942         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
16943         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
16944         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
16945         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
16946         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
16947         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
16948         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
16949         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
16950         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
16951         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
16952         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
16953         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
16954         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
16955         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
16956         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
16957         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
16958         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
16959         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
16960         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
16961         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
16962         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
16963         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
16964         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
16965         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
16966         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
16967         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
16968         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
16969         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
16970         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
16971         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
16972         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
16973         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
16974         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
16975         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
16976         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
16977         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
16978         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
16979         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
16980         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
16981         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
16982         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
16983         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
16984         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
16985         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
16986         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
16987         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
16988         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
16989         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
16990         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
16991         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
16992         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
16993         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
16994         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
16995         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
16996         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
16997         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
16998         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
16999         lib/yesno.c, lib/yesno.h:
17000         Update FSF postal mail address.
17001
17002 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17003
17004         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
17005         tests/test-memmem.c, tests/test-stpncpy.c:
17006         Update FSF postal mail address.
17007
17008 2005-05-13  Bruno Haible  <bruno@clisp.org>
17009
17010         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
17011         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
17012         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
17013         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
17014         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
17015         Add support for 64-bit integers in the MSVC compiler.
17016
17017 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17018
17019         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
17020
17021 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
17022
17023         * gnulib-tool (func_import): Sort and uniquify recommended includes.
17024
17025 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
17026
17027         * doc/getdate.texi (General date syntax): Don't say that date
17028         date --iso-8601=ns generates acceptable dates; it doesn't yet.
17029         Problem reported by Nic Ferrier.
17030
17031 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17032
17033         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
17034         specified in ai_socktype. Fix invalid ai_protocol
17035         check. ai_protocol is usually set to 0 or depending on
17036         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
17037         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
17038         ai_socktype / ai_protocol in the returned addrinfo structure.
17039
17040 2005-05-10  Simon Josefsson  <jas@extundo.com>
17041
17042         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
17043         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17044
17045 2005-05-10  Karl Berry  <karl@gnu.org>
17046
17047         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
17048         (from http://www.gnu.org/licenses).
17049         * doc/COPYING.LIB: also rename to COPYING.LESSER.
17050         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
17051         fdl.texi suffices.
17052
17053 2005-05-10  Karl Berry  <karl@gnu.org>
17054
17055         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
17056         (COPYING.DOC): remove.
17057
17058         * config/srclist-update: new FSF address.
17059
17060 2005-05-10  Derek Price  <derek@ximbiot.com>
17061
17062         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
17063         possible.
17064
17065 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17066             Bruno Haible  <bruno@clisp.org>
17067
17068         * modules/inet_ntop: New file.
17069         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17070         inet_ntop.
17071
17072 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17073             Bruno Haible  <bruno@clisp.org>
17074
17075         * m4/inet_ntop.m4: New file.
17076
17077 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17078             Bruno Haible  <bruno@clisp.org>
17079
17080         * lib/inet_ntop.h: New file.
17081         * lib/inet_ntop.c: New file, from glibc with modifications.
17082
17083 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
17084
17085         * modules/time_r (License): Change to LGPL.
17086         * modules/extensions (License): Change to LGPL.  Actually,
17087         the license is more permissive than that, but currently gnulib-tool
17088         doesn't know how to handle more-permissive licenses.
17089
17090         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
17091         Problem reported by Dave Love.
17092
17093 2005-05-08  Jim Meyering  <jim@meyering.net>
17094
17095         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
17096         blank.
17097
17098 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
17099
17100         * modules/argmatch (Depends-on): Add stdbool.
17101         * modules/backupfile (Depends-on): Likewise.
17102         * modules/chdir-long (Depends-on): Likewise.
17103         * modules/closeout (Depends-on): Likewise.
17104         * modules/cycle-check (Depends-on): Likewise.
17105         * modules/dirname (Depends-on): Likewise.
17106         * modules/fnmatch (Depends-on): Likewise.
17107         * modules/fsusage (Depends-on): Likewise.
17108         * modules/fwriteerror (Depends-on): Likewise.
17109         * modules/getcwd (Depends-on): Likewise.
17110         * modules/getloadavg (Depends-on): Likewise.
17111         * modules/hard-locale (Depends-on): Likewise.
17112         * modules/makepath (Depends-on): Likewise.
17113         * modules/mountlist (Depends-on): Likewise.
17114         * modules/nanosleep (Depends-on): Likewise.
17115         * modules/posixtm (Depends-on): Likewise.
17116         * modules/quotearg (Depends-on): Likewise.
17117         * modules/readtokens (Depends-on): Likewise.
17118         * modules/readtokens0 (Depends-on): Likewise.
17119         * modules/readutmp (Depends-on): Likewise.
17120         * modules/save-cwd (Depends-on): Likewise.
17121         * modules/strftime (Depends-on): Likewise.
17122         * modules/userspec (Depends-on): Likewise.
17123         * modules/utimecmp (Depends-on): Likewise.
17124         * modules/xgetcwd (Depends-on): Likewise.
17125         * modules/xnanosleep (Depends-on): Likewise.
17126         * modules/xstrtod (Depends-on): Likewise.
17127         * modules/yesno (Depends-on): Likewise.
17128
17129 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17130
17131         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
17132         needless checks.
17133
17134 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
17135
17136         Merge from coreutils.  Among other things,
17137         add bulletproofing for cases where stdin, stdout, or stderr are closed.
17138         * lib/fd-safer.c: New file.
17139         * lib/fcntl-safer.h, open-safer.c: Remove.
17140         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
17141         * lib/dup-safer.c: Include unistd-safer.h first.
17142         Don't include errno.h.
17143         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
17144         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
17145         * lib/file-type.c: Rely on file-type.h change.
17146         * lib/getloadavg.c: Include unistd-safer.h.
17147         (getloadavg): Use safer open.
17148         * lib/getusershell.c: Include "stdio-safer.h".
17149         (getusershell): Use safer fopen.
17150         * lib/long-options.c (long_options): Use NULL rather than 0.
17151         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
17152         'free'.
17153         * lib/modechange.c: Likewise.
17154         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
17155         (MODE_DONE): New constant.
17156         (struct mode_change): Remove 'next' member.
17157         (make_node_op_equals): New function; like the old one of the
17158         same name, except it allocates an array.
17159         (mode_compile, mode_create_from_ref): Use it.
17160         (mode_compile): Allocate result as an array, not a linked list.
17161         Parse octal string ourself, so that we catch mistakes like "+0".
17162         (mode_adjust): Arg is an array, not a linked list.
17163         * lib/modechange.c: Include stat-macros.h, xalloc.h.
17164         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
17165         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
17166         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
17167         Remove.  This is now stat-macros.h's job.
17168         (talloc): Remove.  All callers replaced by xalloc, so that
17169         our invokers don't have to worry about reporting memory failures.
17170         (make_node_op_equals): Remove.
17171         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
17172         New constants.
17173         (struct mode_change): Moved here from modechange.h.
17174         (mode_append_entry): Remove.
17175         (mode_compile): Remove MASKED_OPS arg, since it encouraged
17176         apps to have incorrect behavior.  Use simpler algorithm for head
17177         and tail.  Don't futz with umask; that's now the job of mode_adjust.
17178         Detect more invalid usages rather than having somewhat-random behavior.
17179         Don't insert an "a=" action, as that leads to incorrect behavior.
17180         (mode_compile, mode_create_from_ref): Return NULL on error instead
17181         of an enum, since now there's only one way to have an error.  All
17182         callers changed.
17183         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
17184         at the correct time.  Simplify calculation of "+u" and its ilk.
17185         Don't mishandle "+X".
17186         (mode_free): Remove "register" and localize decls.
17187         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
17188         (struct mode_change): Move to modechange.c; callers don't
17189         need to see this stuff.
17190         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
17191         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
17192         (mode_change, mode_adjust): Reflect the new signatures noted above.
17193         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
17194         that might redefine system include files.
17195         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
17196         (my_usleep): Use NULL rather than (void *) 0.
17197         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
17198         Use siginterrupt to specify that system calls should be interrupted.
17199         (rpl_nanosleep): Move initialization of suspended closer to call of
17200         my_usleep.
17201         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
17202         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
17203         (desirable_utmp_entry): New function.
17204         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
17205         using x2nrealloc, to simplify logic.
17206         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
17207         size calculation.  Do not assume utmp file is a regular file.
17208         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
17209         (READ_UTMP_CHECK_PIDS): New constant.
17210         * lib/save-cwd.c: Include unistd-safer.h.
17211         (save_cwd): Use fd_safer.
17212         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
17213         [!_LIBC] Include "stat-macros.h" instead.
17214         * lib/unistd-safer.h (fd_safer): New decl.
17215
17216 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
17217
17218         * modules/getloadavg (Depends-on): Add unistd-safer.
17219         * modules/getusershell (Depends-on): Add stdio-safer.
17220         * modules/lstat (Depends-on): Remove xalloc.
17221         * modules/mkstemp (Depends-on): Add stat-macros.
17222         * modules/modechange (Depends-on): Remove xstrtol.
17223         Add stat-macros, xalloc.
17224         * modules/save-cwd (Depends-on): Add unistd-safer.
17225         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
17226         * modules/unistd-safer (Files): Add lib/fd-safer.c
17227         (Makefile.am): Remove lib_SOURCES.
17228
17229         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
17230         Remove fcntl-safer; unistd-safer supersedes it.
17231
17232 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
17233
17234         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
17235         AC_HEADER_STAT.
17236         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
17237         (gl_PREREQ_CHOWN): Remove.
17238         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
17239         it.  Don't require AC_HEADER_STAT.
17240         (gl_PREREQ_LSTAT): Remove.
17241         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
17242         Don't require AC_HEADER_STAT.
17243         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
17244         (gl_PREREQ_RMDIR): Remove.
17245         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
17246         mention stat-macros.h or AC_HEADER_STAT, since we'll make
17247         the stat-macros module a prerequisite.
17248         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
17249         * m4/filemode.m4 (gl_FILEMODE): Likewise.
17250         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
17251         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
17252         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
17253         variable names.
17254         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
17255         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
17256         variable prefixes.
17257         * m4/fcntl-safer.m4: Remove.
17258         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
17259         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
17260         Invoke gl_PREREQ_FD_SAFER.
17261         (gl_PREREQ_FD_SAFER): New macro.
17262         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
17263         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
17264         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
17265         Remove duplicate call to AC_LIBOBJ(readutmp).
17266         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
17267
17268         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
17269         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
17270
17271 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
17272
17273         * MODULES.html.sh (Misc): Add byteswap.
17274
17275 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
17276
17277         * modules/getcwd (Depends-on): Add extensions.
17278         * modules/openat (Depends-on): Likewise.
17279
17280 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
17281
17282         * modules/byteswap: New file.
17283
17284 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
17285
17286         * m4/byteswap.m4: New file.
17287
17288 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
17289
17290         * lib/byteswap_.h: New file.
17291
17292 2005-04-25  Karl Berry  <karl@gnu.org>
17293
17294         * m4/gettext.m4: Update from GNU gettext 0.14.4.
17295
17296 2005-04-25  Albert Chin  <china@thewrittenword.com>
17297
17298         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
17299         Toolkit C bug.
17300
17301 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
17302
17303         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
17304         (func_ln_if_changed) Remove forcibly for no error message
17305         in case file does not exist.
17306
17307 2005-04-19  Simon Josefsson  <jas@extundo.com>
17308
17309         * gnulib-tool (Options): Make --symlink mean --symbolic.
17310
17311 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
17312
17313         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
17314
17315 2005-04-16  Simon Josefsson  <jas@extundo.com>
17316
17317         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
17318
17319 2005-04-15  Simon Josefsson  <jas@extundo.com>
17320
17321         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
17322
17323 2005-04-15  Simon Josefsson  <jas@extundo.com>
17324
17325         * gnulib-tool: Rename --symlink to --symbolic.
17326
17327 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
17328
17329         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
17330         symbolic links to files instead of copying/moving.  Add --aux-dir,
17331         specifying directory relative --dir where auxiliary build tools
17332         are placed.
17333
17334 2005-04-14  Bruno Haible  <bruno@clisp.org>
17335
17336         * modules/allocsa (License): Change to LGPL.
17337         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
17338
17339 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
17340
17341         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
17342         that "UTC +1 second" continues to work.  Problem reported
17343         by Dmitry V. Levin.
17344         (relunit_snumber): New rule.
17345         (relunit): Use it.
17346
17347 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
17348
17349         * lib/getdate.y (universal_time_zone_table): New constant.
17350         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
17351         universal_time_zone_table.
17352         (lookup_zone): Prefer universal_time_zone_table to
17353         local_time_zone_table, so that "GMT" time stamps are allowed in
17354         London during the summer.  Problem reported by Ian Abbott.
17355
17356 2005-04-12  Jim Meyering  <jim@meyering.net>
17357
17358         * lib/human.c (humblock): Set *options even when returning due to
17359         xstrtoumax conversion failure.  Thanks to a used-uninitialized
17360         warning from gcc-4.
17361
17362 2005-04-09  Jim Meyering  <jim@meyering.net>
17363
17364         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
17365         -Wuninitialized: initialize tm0.tm_year.
17366
17367 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
17368
17369         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
17370         count, since there's no maximum.  All uses changed.
17371         Add member dsts_seen.
17372         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
17373         not being INT_MAX.
17374         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
17375         Use pc_rels_seen to decide whther a date is absolute.
17376
17377         * lib/getdate.y (number): Don't overwrite year.
17378         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
17379         check.
17380
17381 2005-04-02  Simon Josefsson  <jas@extundo.com>
17382
17383         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
17384         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
17385
17386 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
17387
17388         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
17389         where no absolute path name can be longer than PATH_MAX.
17390
17391 2005-03-27  Jim Meyering  <jim@meyering.net>
17392
17393         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
17394
17395 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
17396
17397         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
17398         "one's complement" -> "ones' complement" in comment, as per Knuth.
17399         "value of type" -> "type or expression" in comment.
17400         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
17401
17402 2005-03-26  Jim Meyering  <jim@meyering.net>
17403
17404         Comment nits.
17405         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
17406         Correct typos: s/or/of/.
17407
17408 2005-03-26  Jim Meyering  <jim@meyering.net>
17409
17410         * modules/check-include-files: Move to ../ and rename to...
17411         * check-module: ...this.
17412
17413 2005-03-25  Jim Meyering  <jim@meyering.net>
17414
17415         * modules/xvasprintf (Files): Add xalloc.h.
17416
17417 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
17418
17419         * modules/gettext (Files): config/config.rpath ->
17420         build-aux/config.rpath
17421         * modules/iconv (Files): Likewise.
17422         Problem reported by Oskar Liljeblad.
17423
17424 2005-03-23  Jim Meyering  <jim@meyering.net>
17425
17426         * modules/check-include-files: New script to check for
17427         missing dependencies, multiple includes, etc.
17428
17429         * modules/c-strtold (Depends-on): Add xalloc.
17430         * modules/c-strtod (Depends-on): Add xalloc.
17431         * modules/hash (Depends-on): Add xalloc.
17432         (Files): Remove lib/xalloc.h.
17433
17434         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
17435         * modules/userspec (Files): Add lib/inttostr.h.
17436
17437 2005-03-23  Jim Meyering  <jim@meyering.net>
17438
17439         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
17440
17441 2005-03-22  Jim Meyering  <jim@meyering.net>
17442
17443         * modules/stat-macros: New module.
17444         * modules/canonicalize, modules/euidaccess, modules/file-type,
17445         * modules/filemode, modules/lchown, modules/makepath,
17446         * modules/rmdir, modules/stat: Depend on new stat-macros module
17447         rather than listing lib/stat-macros.h manually.
17448         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
17449
17450 2005-03-22  Jim Meyering  <jim@meyering.net>
17451
17452         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
17453
17454 2005-03-22  Bruno Haible  <bruno@clisp.org>
17455
17456         * config/srclist.txt: Replace target directory 'config' with
17457         'build-aux'.
17458         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
17459         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
17460         ../build-aux/.
17461
17462 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
17463
17464         * modules/chdir-long (Depends-on): Add mempcpy.
17465
17466         * modules/acl, modules/backupfile, modules/c-strtod,
17467         modules/c-strtold, modules/canon-host, modules/canonicalize,
17468         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
17469         modules/exclude, modules/exitfail, modules/file-type,
17470         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
17471         modules/getdate, modules/getline, modules/getpagesize,
17472         modules/getpass, modules/getugroups, modules/group-member,
17473         modules/hard-locale, modules/hash, modules/human, modules/idcache,
17474         modules/inttostr, modules/long-options, modules/makepath,
17475         modules/md5, modules/memcasecmp, modules/memcoll,
17476         modules/modechange, modules/mountlist, modules/path-concat,
17477         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
17478         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
17479         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
17480         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
17481         modules/strftime, modules/strndup, modules/strverscmp,
17482         modules/timespec, modules/unlocked-io, modules/userspec,
17483         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
17484         modules/yesno:
17485         Remove lib_SOURCES line from Makefile.am section, as this is now
17486         done automatically by the corresponding Autoconf macro.
17487
17488 2005-03-21  Jim Meyering  <jim@meyering.net>
17489
17490         Changes imported from coreutils.
17491
17492         * lib/cycle-check.c: Don't include xalloc.h.
17493
17494         * lib/path-concat.c: Don't include assert.h.
17495         (path_concat): Remove assertion that would have triggered
17496         for ABASE starting with more than one slash.
17497         Reported by Andreas Schwab.
17498
17499         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
17500         properly when ABASE is an absolute file name.
17501         Correct the description of this function.
17502         Include <assert.h>.
17503         Add an assertion and a test driver.
17504         This fixes a bug introduced on 2004-07-02.
17505         Andreas Schwab reported the resulting failure of cp --parents:
17506         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
17507
17508 2005-03-21  Jim Meyering  <jim@meyering.net>
17509
17510         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
17511         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
17512
17513 2005-03-21  Jim Meyering  <jim@meyering.net>
17514         and  Paul Eggert  <eggert@cs.ucla.edu>
17515
17516         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
17517         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
17518         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
17519         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
17520         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
17521         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
17522         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
17523         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
17524         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
17525         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
17526         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
17527         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
17528         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
17529         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
17530         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
17531         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
17532         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
17533         for these modules.
17534
17535 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
17536
17537         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
17538         (which shouldn't happen), generate nothing instead of returning 0
17539         immediately, so that nstrftime (NULL, ...) doesn't return 0.
17540
17541 2005-03-16  Bruno Haible  <bruno@clisp.org>
17542
17543         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
17544         HAVE_LONGLONG_64BIT.
17545
17546 2005-03-16  Bruno Haible  <bruno@clisp.org>
17547
17548         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
17549         HAVE_LONGLONG_64BIT.
17550
17551 2005-03-16  Bruno Haible  <bruno@clisp.org>
17552
17553         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
17554         HAVE_LONGLONG_64BIT.
17555
17556 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
17557
17558         * lib/strftime.c (my_strftime): Prepend space to format so that we can
17559         reliably distinguish strftime failure from empty output on POSIX
17560         hosts.
17561
17562 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
17563
17564         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
17565         (iconv_string): Don't guess a size-zero buffer, as that might cause
17566         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
17567         result would be 'too large', where 'too large' is (heuristically)
17568         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
17569         overflow concerns.  This will prevent some unwanted malloc failures
17570         when the inputs are very large.
17571
17572 2005-03-15  Karl Berry  <karl@gnu.org>
17573
17574         * config/srclist.txt (config.rpath): from gettext.
17575         * config/config.rpath: update.
17576
17577 2005-03-15  Bruno Haible  <bruno@clisp.org>
17578
17579         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
17580         to 'negate'.
17581
17582         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
17583         variable.
17584
17585         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
17586         results.
17587
17588 2005-03-14  Simon Josefsson  <jas@extundo.com>
17589
17590         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
17591         <fx@gnu.org>.
17592
17593 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
17594
17595         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
17596         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
17597         intprops.h.
17598         * lib/strtol.c: Likewise.
17599
17600 2005-03-14  Jim Meyering  <jim@meyering.net>
17601
17602         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
17603         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
17604         to be nonzero so that we (and caller) can detect the difference
17605         between a valid zero-length expansion and an error return, even
17606         when the underlying strftime fails before writing anything into
17607         that location.
17608
17609 2005-03-14  Bruno Haible  <bruno@clisp.org>
17610
17611         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
17612         Update from GNU gettext 0.14.3.
17613
17614 2005-03-10  Jim Meyering  <jim@meyering.net>
17615
17616         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
17617
17618 2005-03-10  Jim Meyering  <jim@meyering.net>
17619
17620         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
17621         so that this module works on systems without fchdir.
17622
17623 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
17624
17625         Factor int-properties macros into a single file, except for
17626         glibc-related files.
17627         * lib/intprops.h: New file.
17628         * lib/getloadavg.c: Include it instead of limits.h.
17629         (INT_STRLEN_BOUND): Remove.
17630         * lib/human.c: Include intprops.h.
17631         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
17632         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
17633         302/1000.
17634         * lib/inttostr.h: Include intprops.h instead of limits.h.
17635         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
17636         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
17637         for consistency with intprops.h.
17638         (time_t_is_integer, twos_complement_arithmetic): Use them.
17639         * lib/sig2str.h: Include <signal.h>, intprops.h.
17640         (INT_STRLEN_BOUND): Remove.
17641         * lib/strftime.c (TYPE_SIGNED): Remove.
17642         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
17643         * lib/strtol.c: Adjust comments to match intprops.h.
17644         * lib/userspec.c: Include intprops.h.
17645         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
17646         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
17647         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
17648         instead of rolling our own expressions.
17649         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
17650
17651         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
17652         instead of int.
17653         (my_strftime): Do not mishandle years close to INT_MAX, by doing
17654         the right thing even if adding 1900 would overflow.  Similarly
17655         for tm_mon + 1 and tm_yday + 1.
17656         Make %Y always equivalent to %C%y, and similarly for %G and %g.
17657         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
17658         (DO_SIGNED_NUMBER): New macro.
17659         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
17660
17661 2005-03-07  Bruno Haible  <bruno@clisp.org>
17662
17663         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
17664
17665 2005-03-07  Bruno Haible  <bruno@clisp.org>
17666
17667         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
17668
17669 2005-03-04  Derek R. Price  <derek@ximbiot.com>
17670
17671         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
17672         (func_import): Only replace files via --import when they have actually
17673         changed.
17674
17675 2005-03-03  Derek R. Price  <derek@ximbiot.com>
17676
17677         * m4/mmap-anon.m4: New file.
17678         * m4/pagealign_alloc.m4: New file.
17679
17680 2005-03-03  Derek R. Price  <derek@ximbiot.com>
17681             Bruno Haible  <bruno@clisp.org>
17682
17683         * modules/pagealign_alloc: New file.
17684         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
17685
17686 2005-03-03  Derek R. Price  <derek@ximbiot.com>
17687             Bruno Haible  <bruno@clisp.org>
17688
17689         * lib/pagealign_alloc.h: New file.
17690         * lib/pagealign_alloc.c: New file.
17691
17692 2005-03-03  Bruno Haible  <bruno@clisp.org>
17693
17694         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
17695         Use an all-permissive copyright notice, recommended by RMS.
17696
17697 2005-03-02  Bruno Haible  <bruno@clisp.org>
17698
17699         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
17700         of AIX, the replacement has to be done only after <string.h> is
17701         included, therefore not in config.h. stpncpy.h does the replacement,
17702         and stpncpy.c uses it.
17703
17704 2005-03-02  Bruno Haible  <bruno@clisp.org>
17705
17706         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
17707         stpncpy.c uses it.
17708
17709 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
17710
17711         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
17712         The workaround isn't strictly needed for POSIX conformance, and
17713         it's too much of a pain to configure and maintain.  We'll ask
17714         people to fix their kernels instead.
17715         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
17716         (NANOSLEEP_BUG_WORKAROUND): Remove.
17717         (xnanosleep): Remove the workaround.
17718
17719 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
17720
17721         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
17722         Reported by Derek Price.
17723         (Include): Add "timespec.h".
17724
17725         * modules/xnanosleep (Depends-on): Remove gethrxtime.
17726
17727 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
17728
17729         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
17730         to detect nanosleep bug.
17731
17732 2005-03-01  Bruno Haible  <bruno@clisp.org>
17733
17734         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
17735
17736 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
17737
17738         * modules/gethrxtime: New file.
17739         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
17740         (Depends-on): Add gethrxtime.
17741         (configure.ac): Add gl_XNANOSLEEP.
17742         (Makefile.am): Remove lib_SOURCES line.
17743
17744 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17745
17746         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
17747         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
17748
17749 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17750
17751         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
17752         * lib/timespec.h (gettime): Return void, since it always
17753         succeeds now.  All uses changed.
17754         * lib/gettime.c (gettime) Likewise.
17755         [HAVE_NANOTIME]: Prefer nanotime.
17756         Assume gettimeofday succeeds, as POSIX requires.
17757         Assime time () succeeds, since other code already does.
17758         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
17759         (timespec_subtract): Remove.
17760         (NANOSLEEP_BUG_WORKAROUND): New constant.
17761         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
17762         things considerably.  Use it only on GNU/Linux hosts, since the
17763         workaround shouldn't be needed elsewhere.
17764
17765 2005-02-24  Bruno Haible  <bruno@clisp.org>
17766
17767         * modules/gettext (Files): Add m4/glibc2.m4.
17768
17769 2005-02-24  Bruno Haible  <bruno@clisp.org>
17770
17771         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
17772         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
17773         * m4/progtest.m4:
17774         Update from GNU gettext 0.14.2.
17775         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
17776
17777 2005-02-24  Bruno Haible  <bruno@clisp.org>
17778
17779         * lib/localcharset.c: Update from GNU gettext 0.14.2.
17780         * lib/config.charset: Update from GNU gettext 0.14.2.
17781
17782 2005-02-24  Bruno Haible  <bruno@clisp.org>
17783
17784         * lib/gettext.h: Update from GNU gettext 0.14.2.
17785
17786 2005-02-23  Simon Josefsson  <jas@extundo.com>
17787
17788         * m4/iconvme.m4: New file.
17789
17790 2005-02-23  Jim Meyering  <jim@meyering.net>
17791
17792         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
17793         change.
17794         Thanks to Bruno Haible for catching it.
17795
17796 2005-02-22  Simon Josefsson  <jas@extundo.com>
17797
17798         * modules/iconvme: New file.
17799
17800         * MODULES.html.sh: Add iconvme.
17801
17802 2005-02-22  Simon Josefsson  <jas@extundo.com>
17803
17804         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
17805
17806 2005-02-22  Simon Josefsson  <jas@extundo.com>
17807
17808         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
17809
17810 2005-02-22  Jim Meyering  <jim@meyering.net>
17811
17812         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
17813         s/ifndef/ifdef/.
17814
17815 2005-02-20  Neil Conway  <neilc@samurai.com>
17816
17817         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
17818         returned by OSX/Darwin if the specified buffer is not large
17819         enough for the hostname.
17820
17821 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17822
17823         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
17824         pass it to _help, otherwise the latter coredumps trying to
17825         dereference state.root_argp.
17826
17827 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
17828
17829         * modules/chdir-long (Depends-on): Add memrchr.
17830         * modules/memrchr (Files): Add lib/memrchr.h.
17831         (Include): "memrchr.h".
17832
17833 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
17834
17835         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
17836
17837 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
17838
17839         * lib/memrchr.h: New file.
17840         * lib/chdir-long.c: Include it.
17841         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
17842         Don't bother including stddef.h.
17843
17844 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
17845
17846         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
17847         inclusion.
17848         Include <sys/types.h>, for dev_t.
17849         (ME_DUMMY, ME_REMOTE): Move from here....
17850         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
17851         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
17852         Dmitry V. Levin.
17853         Include mountlist.h first, to test the interface.
17854
17855 2005-01-29  Bruno Haible  <bruno@clisp.org>
17856
17857         * lib/progname.c (program_name): Initialize.
17858         Needed when linking statically on MacOS X.
17859
17860 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
17861
17862         Sync from coreutils.
17863         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
17864         (Depends-on): Add c-strtod.
17865         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
17866
17867 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
17868
17869         Sync from coreutils.
17870         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
17871
17872         Remove files that are specific to coreutils.
17873         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
17874
17875 2005-01-28  Bruno Haible  <bruno@clisp.org>
17876
17877         * modules/javacomp: New file.
17878         * MODULES.html.sh (Java): Add javacomp.
17879
17880 2005-01-28  Bruno Haible  <bruno@clisp.org>
17881
17882         * m4/javacomp.m4: New file, from GNU gettext.
17883
17884 2005-01-28  Bruno Haible  <bruno@clisp.org>
17885
17886         * lib/javacomp.sh.in: New file, from GNU gettext.
17887         * lib/javacomp.h: New file, from GNU gettext.
17888         * lib/javacomp.c: New file, from GNU gettext.
17889
17890 2005-01-26  Simon Josefsson  <jas@extundo.com>
17891
17892         * lib/gai_strerror.c: Use GPL in header.
17893
17894 2005-01-26  Bruno Haible  <bruno@clisp.org>
17895
17896         * modules/javaexec: New file.
17897         * MODULES.html.sh (Java): Add javaexec.
17898
17899 2005-01-26  Bruno Haible  <bruno@clisp.org>
17900
17901         * m4/javaexec.m4: New file, from GNU gettext.
17902
17903 2005-01-26  Bruno Haible  <bruno@clisp.org>
17904
17905         * lib/javaexec.sh.in: New file, from GNU gettext.
17906         * lib/javaexec.h: New file, from GNU gettext.
17907         * lib/javaexec.c: New file, from GNU gettext.
17908
17909 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17910
17911         * modules/lchown (Depends-on): Remove lchown.h
17912
17913 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17914
17915         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
17916         must be defined if the header file was not found, in order
17917         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
17918
17919 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17920
17921         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
17922         initializers for struct pentry_state.
17923         (__argp_error): Check return value of __asprintf
17924         (__argp_failure): Translate error message
17925
17926         * lib/argp-parse.c: Removed braces around the expansion of N_()
17927
17928 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17929
17930         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
17931         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
17932         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
17933         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
17934         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
17935         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
17936         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
17937         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
17938         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
17939         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
17940         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
17941         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
17942         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
17943         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
17944         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
17945         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
17946         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
17947         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
17948         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
17949         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
17950         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
17951         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
17952         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
17953         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
17954         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
17955         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
17956         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
17957         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
17958         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
17959         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
17960         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
17961         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
17962         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
17963         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
17964         xstrtol.m4, xstrtoumax.m4, yesno.m4:
17965         Use an all-permissive copyright notice, recommended by RMS.
17966
17967 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
17968
17969         * modules/chdir-long (Depends-on): Remove mempcpy.
17970
17971 2005-01-21  Jim Meyering  <jim@meyering.net>
17972
17973         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
17974         same value as for Solaris 9.
17975
17976         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
17977         component length.  This included changing the parameter to be
17978         of type `char *' rather than `char const *'.
17979         * lib/chdir-long.h (chdir_long): Update prototype.
17980
17981         * lib/openat.c (fdopendir, fstatat): New functions.
17982         * lib/openat.h: Include headers required for use of DIR and struct
17983         stat.
17984         [AT_SYMLINK_NOFOLLOW]: Define.
17985         (fdopendir, fstatat): Add prototypes.
17986
17987 2005-01-21  Bruno Haible  <bruno@clisp.org>
17988
17989         * modules/classpath: New file.
17990         * MODULES.html.sh (Java): Add classpath.
17991
17992 2005-01-21  Bruno Haible  <bruno@clisp.org>
17993
17994         * lib/classpath.h: New file, from GNU gettext.
17995         * lib/classpath.c: New file, from GNU gettext.
17996
17997 2005-01-20  Simon Josefsson  <jas@extundo.com>
17998
17999         * modules/version-etc-fsf: New file.
18000
18001 2005-01-20  Simon Josefsson  <jas@extundo.com>
18002
18003         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
18004         * lib/version-etc.c: Remove version_etc_copyright.
18005         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
18006         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
18007
18008 2005-01-20  Simon Josefsson  <jas@extundo.com>
18009
18010         * lib/base64.h (isbase64): Add.
18011
18012         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
18013         using a unsigned prototype, don't inline.
18014         (base64_decode): Use it.
18015
18016 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
18017
18018         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
18019         it.
18020
18021 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
18022
18023         * lib/save-cwd.c (save_cwd): Remove code to support the case
18024         where fchdir is missing or flaky.
18025
18026 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
18027
18028         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
18029
18030 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
18031
18032         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
18033         AC_LIBSOURCES now does this.
18034         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
18035         with new ullong_max module.
18036
18037 2005-01-19  Bruno Haible  <bruno@clisp.org>
18038
18039         * modules/sh-quote: New file.
18040         * MODULES.html.sh (Executing programs): Add sh-quote.
18041
18042 2005-01-19  Bruno Haible  <bruno@clisp.org>
18043
18044         * lib/sh-quote.h: New file, from GNU gettext.
18045         * lib/sh-quote.c: New file, from GNU gettext.
18046
18047 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18048
18049         Merge from coreutils.
18050         * m4/ullong_max.m4: New file.
18051         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
18052         (gl_MACROS): Assume localeconv exists.
18053
18054 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18055
18056         Merge changes from coreutils, as described below in several
18057         changelogs dated today.
18058
18059         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
18060         (O_DIRECTORY): Remove; not needed here, since "." must be
18061         a directory.  All uses removed.
18062         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
18063         universal on Suns, and we also need to test for IRIX.
18064         Revamp code to use 'if' rather than '#if'.
18065         Avoid unnecessary comparison of cwd->desc to 0.
18066
18067         * lib/utimens.c (futimens): Robustify the previous patch, by checking
18068         for known valid error numbers rather than observed invalid ones.
18069
18070 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18071
18072         * modules/ullong_max: New file.
18073
18074         * modules/chdir-long, modules/openat: New files.
18075         * modules/save-cwd (Depends-on): Depend on chdir-long.
18076         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
18077
18078 2005-01-18  Jim Meyering  <jim@meyering.net>
18079
18080         Merge from coreutils.
18081         * m4/chdir-long.m4, m4/openat.m4: New files.
18082         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
18083         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
18084         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
18085         is sane and DOES follow symlinks.  Besides, testing 20 different
18086         systems found no broken chown implementations.
18087         Prompted by a change in rsync's copy of this macro.
18088         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
18089
18090         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
18091
18092         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
18093         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
18094         NULL-means-set-to-current-time semantics.
18095         Remove temporary file immediately, rather than waiting
18096         for configure's at-exit trap code to do it.
18097
18098 2005-01-18  Jim Meyering  <jim@meyering.net>
18099
18100         * lib/version-etc.c (version_etc_copyright): Update copyright date.
18101
18102         * lib/utimens.c (futimens): Account for the fact that futimes
18103         can also fail with errno == ENOSYS or errno == ENOENT.
18104         Patch from Dmitry V. Levin.
18105
18106         Change the name of the robust chdir function from chdir to chdir_long.
18107         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
18108         (restore_cwd): Use chdir_long, not chdir.
18109         * lib/chdir-long.c: Renamed from chdir.c.
18110         * lib/chdir-long.h: Renamed from chdir.h.
18111         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
18112         Hurd.
18113
18114 2005-01-18  Bruno Haible  <bruno@clisp.org>
18115
18116         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
18117         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
18118         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
18119         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
18120         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
18121         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
18122         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
18123         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
18124         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
18125         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
18126         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
18127         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
18128         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
18129         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
18130         Use an all-permissive copyright notice, recommended by RMS.
18131
18132 2005-01-18  Bob Proulx  <bob@proulx.com>
18133
18134         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
18135         simplify offsetof() macro construct to avoid compile failure with
18136         native HP-UX 11.0 ANSI C compiler.
18137
18138 2005-01-17  Bruno Haible  <bruno@clisp.org>
18139
18140         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
18141         redundant because stpncpy.m4 takes care of it.
18142
18143 2005-01-17  Bruno Haible  <bruno@clisp.org>
18144
18145         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
18146
18147 2005-01-17  Bruno Haible  <bruno@clisp.org>
18148
18149         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
18150         used.
18151
18152 2005-01-17  Bruno Haible  <bruno@clisp.org>
18153
18154         * lib/fwriteerror.h (fwriteerror): Change specification to include
18155         fclose.
18156         * lib/fwriteerror.c: Include <stdbool.h>.
18157         (fwriteerror): At the end, close the file stream. Record whether
18158         stdout was already closed.
18159
18160 2005-01-17  Bruno Haible  <bruno@clisp.org>
18161
18162         * lib/execute.c (environ): Declare if needed.
18163         * lib/pipe.c (environ): Likewise.
18164         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
18165
18166 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
18167
18168         * modules/argp: Depend on vsnprintf
18169
18170 2005-01-10  Jim Meyering  <jim@meyering.net>
18171
18172         * modules/closeout (Depends-on): Add atexit.
18173
18174 2005-01-06  Bruno Haible  <bruno@clisp.org>
18175
18176         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
18177
18178 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
18179
18180         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
18181         definitions to be after all include files, to avoid collisions.
18182         Problem reported by Bob Proulx.
18183
18184 2005-01-04  Jim Meyering  <jim@meyering.net>
18185
18186         Changes imported from coreutils.
18187         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
18188         as the mkstemp template, use a temporary directory and an
18189         8.3-friendly template to avoid trouble on systems like DJGPP.
18190         Reported by Juan M. Guerrero via Stepan Kasal.
18191         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
18192         close. Remove the temporary directory right away, rather than waiting
18193         for configure's at-exit trap code to do it.
18194         Suggestion from Stepan Kasal.
18195
18196 2005-01-01  Simon Josefsson  <jas@extundo.com>
18197
18198         * gnulib-tool: Print #include directives when --import'ing.
18199
18200 2004-12-28  Simon Josefsson  <jas@extundo.com>
18201
18202         * tests/test-base64.c: Include required header files.  Remove
18203         unused variables.
18204
18205 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
18206
18207         * modules/error (Depends-on): Remove gettext.
18208
18209 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
18210
18211         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
18212         not needed.  This removes a dependency on the gettext module.
18213         [defined _LIBC]: Do not include <libintl.h>; not needed.
18214
18215 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
18216
18217         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
18218         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
18219
18220 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
18221
18222         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
18223         HAVE_DECL_STRTOLD.
18224
18225 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
18226
18227         * modules/getdate (Depends-on): Remove alloca-opt.
18228
18229 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
18230
18231         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
18232
18233 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
18234
18235         * lib/argp-parse.c: Include <stddef.h>.
18236         (alignof, alignto): New macros.
18237         (parser_init): Don't assume that void * is aligned sufficiently
18238         for struct option.
18239
18240         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
18241         need to extend the stack.
18242         (YYINITDEPTH): New macro, so that the initial stack isn't overly
18243         large.
18244
18245 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
18246
18247         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
18248
18249 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
18250
18251         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
18252         (2004-10-24) change.  Apparently this was a false alarm.
18253
18254         * modules/getdate: Depend on alloca-opt, not alloca.
18255
18256 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
18257
18258         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
18259         Remove now-obsolete comment about AIX.
18260         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
18261         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
18262         (YYMAXDEPTH): New macro.
18263
18264 2004-12-18  Simon Josefsson  <jas@extundo.com>
18265
18266         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
18267
18268 2004-12-18  Bruno Haible  <bruno@clisp.org>
18269
18270         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
18271
18272 2004-12-18  Bruno Haible  <bruno@clisp.org>
18273
18274         * lib/fatal-signal.c (fatal_signals): Make non-const.
18275         (init_fatal_signals): New function.
18276         (uninstall_handlers, install_handlers): Ignore signals that were set to
18277         SIG_IGN.
18278         (at_fatal_signal): Call init_fatal_signals.
18279         (init_fatal_signal_set): Likewise. Ignore signals that were set to
18280         SIG_IGN.
18281         Reported by Paul Eggert.
18282
18283 2004-12-18  Bruno Haible  <bruno@clisp.org>
18284
18285         * doc/alloca.texi: New file.
18286         * doc/alloca-opt.texi: New file.
18287
18288 2004-12-17  Jim Meyering  <jim@meyering.net>
18289
18290         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
18291         Otherwise, install-sh could exit with improper exit status when
18292         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
18293
18294 2004-12-16  Simon Josefsson  <jas@extundo.com>
18295
18296         * tests/test-base64.c: Add license.
18297
18298 2004-12-15  Stepan Kasal  <address@hidden>
18299
18300         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
18301
18302 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
18303
18304         * modules/getcwd (Files): Add m4/d-ino.m4.
18305         Suggested by Mark D. Baushke.
18306
18307 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
18308
18309         * lib/getdate.y (textint): New member "negative".
18310         (time_zone_hhmm): New function.
18311         Expect 14 shift-reduce conflicts, not 13.
18312         (o_colon_minutes): New rule.
18313         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
18314         (yylex): Set the "negative" member of signed numbers.
18315
18316 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
18317
18318         * doc/getdate.texi (Time of day items, Time zone items):
18319         Describe new formats +00:00, UTC+00:00.
18320
18321 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
18322
18323         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
18324         spurious "-l"s.  Problem reported by Stepan Kasal.
18325
18326 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
18327
18328         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
18329         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
18330
18331 2004-12-04  Simon Josefsson  <jas@extundo.com>
18332
18333         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
18334         Vandoorselaere <yoann@prelude-ids.org>.
18335
18336 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
18337
18338         Changes imported from coreutils.
18339         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
18340         exist.
18341         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
18342
18343 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
18344
18345         Changes imported from coreutils.
18346         * lib/hard-locale.c: Assume <locale.h> exists.
18347         Include "strdup.h".
18348         (GLIBC_VERSION): New macro.
18349         (hard_locale): Assume setlocale exists.
18350         Rewrite to avoid #ifdef.
18351         Use strdup rather than malloc + strcpy.
18352         * lib/human.c: Assume <locale.h> exists.
18353         (human_readable): Assume localeconv exists.
18354
18355 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
18356
18357         * modules/hard-locale (Depends-on): Add strdup.
18358
18359 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
18360
18361         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
18362         convert T2, not T.  (Imported from libc.)
18363
18364 2004-11-30  Simon Josefsson  <jas@extundo.com>
18365
18366         * modules/restrict (License): Change to LGPL.
18367
18368 2004-11-30  Simon Josefsson  <jas@extundo.com>
18369
18370         * m4/restrict.m4: Add copyright and copying conditions.
18371
18372 2004-11-30  Simon Josefsson  <jas@extundo.com>
18373
18374         * m4/base64.m4: New file.
18375
18376 2004-11-30  Simon Josefsson  <jas@extundo.com>
18377
18378         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
18379         base64.
18380
18381         * tests/test-base64.c: New file.
18382
18383         * modules/base64: New file.
18384
18385 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
18386
18387         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
18388         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
18389
18390         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
18391
18392 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
18393
18394         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
18395         (__getcwd.c): Don't restore errno; glibc doesn't.
18396         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
18397         first, falling back to our code only if its results look suspicious.
18398         Ensure that the resulting buffer is only as large as necessary.
18399
18400         * lib/readutmp.c: Include readutmp.h first.
18401         Include <errno.h>, since readutmp.h no longer does that.
18402         * lib/readutmp.h: Don't include <errno.h>,
18403         <sys/param.h>, <time.h>; not needed to establish interface.
18404         (errno): Remove decl.
18405         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
18406         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
18407         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
18408
18409 2004-11-28  Simon Josefsson  <jas@extundo.com>
18410
18411         * lib/base64.h, base64.c: New file.
18412
18413 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
18414
18415         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
18416
18417 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
18418
18419         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
18420         (Depends-on): Remove pathmax, same.  Add mempcpy.
18421         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
18422         (Makefile.am): Append getcwd.h to lib_SOURCES.
18423         (Include): Add getcwd.h.
18424         (Maintainer): Change from Jim Meyering to "all, glibc",
18425         since getdate now uses intended-for-glibc code.
18426         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
18427         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
18428
18429 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
18430
18431         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
18432         HP's ANSI C compiler.
18433         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
18434         Declaring int functions causes warnings on some modern systems and
18435         shouldn't be needed to compile on ancient ones.
18436         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
18437         defined.
18438
18439         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
18440         with the following changes.
18441         (__set_errno): Parenthesize properly.
18442         Include <stdbool.h>.
18443         (MIN, MAX, MATCHING_INO): New macros.
18444         (__getcwd): Define with prototype, not K&R form.
18445         Use heuristics to allocate default buffer on stack if possible.
18446         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
18447         behavior, and to avoid the PATH_MAX limit when computing
18448         ../../../../...
18449         Use MATCHING_INO to compare inode number to file.
18450         Check for arithmetic overflow in size calculations.
18451         Fix bug in reallocation of dot array that caused getcwd to fail
18452         on directories nested deeper than 75.
18453         Be more careful about saving errno on error.
18454         Do not use realloc; use only free+malloc, as this is a bit
18455         more flexible and avoids a needless copy operation.
18456         Do not inspect st_dev and st_ino for symbolic links; POSIX
18457         doesn't specify the latter.
18458         Check for closedir errors.
18459         Avoid needless casts.
18460         Use "#ifdef weak_alias" around weak_alias, to be like other
18461         glibc code.
18462         The following changes to getcwd.c have effect only when used in
18463         gnulib; they have no effect inside glibc proper.
18464         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
18465         as alloca isn't used.
18466         (alloca, __alloca): Likewise.
18467         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
18468         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
18469         unconditionally, as gnulib assumes C89 or better.
18470         Do not include <sys/param.h>.
18471         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
18472         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
18473         better.
18474         (NULL) [!defined NULL]: Remove; we assume C89 or better.
18475         Include <dirent.h> in a way that is compatible with modern Autoconf.
18476         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
18477         New macros, if not already defined.
18478         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
18479         Use "_LIBC", not "defined _LIBC", for consistency.
18480         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
18481         a mempcpy module.
18482         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
18483         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
18484         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
18485         credit only to Jim Meyering and adjust the copyright dates.
18486         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
18487         <stdlib.h>, <unistd.h>, "pathmax.h".
18488         Instead, include "xgetcwd.h" (first) and "getcwd.h".
18489         (INITIAL_BUFFER_SIZE): Remove.
18490         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
18491
18492 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
18493
18494         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
18495         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
18496         Use the _ONCE methods, for efficiency.
18497         Check for fcntl.h.  In test program, include <errno.h>
18498         and <fcntl.h> if available.  Remove old K&R cruft from
18499         test program.  Check for common errors in GNU/Linux,
18500         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
18501         don't do AC_LIBOBJ, as that's getcwd.m4's job.
18502         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
18503         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
18504         name accordingly.
18505         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
18506         accommodate new getcwd.c.
18507         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
18508         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
18509         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
18510         that's all we need now.
18511
18512 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
18513
18514         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
18515         argp-parse.c depends on getopt internals, that means we should
18516         always use our getopt, to be on the safe side.
18517         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
18518         order not to spoil the result of an eventual previous invocation
18519         of gl_GETOPT_SUBSTITUTE.
18520
18521 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
18522
18523         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
18524         redefinition warnings. To avoid them, include the defines
18525         in `#if !defined __need_getopt ... #endif'. The only place
18526         where __getopt_argv_const is used is in definitions
18527         of getopt_long and getopt_long_only below, which are as well
18528         protected by `#ifndef __need_getopt'.
18529         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
18530         __need_getopt after including <stdio.h> and <unistd.h> These
18531         headers might have defined it.
18532
18533 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
18534
18535         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
18536
18537 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
18538
18539         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
18540         (futimens): New function, which uses futimes if available.
18541         (futimens, utimens): Support timespec==NULL, with same semantics
18542         as utime and utimens.
18543         * lib/utimens.h (futimens): New decl.
18544
18545 2004-11-23  Jim Meyering  <jim@meyering.net>
18546
18547         * lib/getopt_.h: Remove trailing blanks.
18548
18549 2004-11-23  Jim Meyering  <jim@meyering.net>
18550
18551         * lib/__fpending.c: Add comment.
18552
18553 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
18554
18555         * modules/canonicalize (Depends-on): Add xreadlink.
18556         Problem reported by James Youngman.
18557
18558 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
18559
18560         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
18561         New macros.
18562         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
18563         optopt): Use them instead of invoking ## directly; otherwise, the
18564         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
18565
18566 2004-11-19  Bruno Haible  <bruno@clisp.org>
18567
18568         * lib/strtok_r.c: Move comments from here...
18569         * lib/strtok_r.h: ... to here.
18570
18571 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
18572
18573         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
18574         implementations that mishandle size_t overflow.
18575
18576 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
18577
18578         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
18579         might fail.  Problem reported by Yoann Vandoorselaere.
18580         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
18581         implementations that mishandle size_t overflow.
18582
18583 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
18584
18585         * modules/canon-host (Depends-on): Add strdup.
18586
18587 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
18588
18589         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
18590
18591 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
18592
18593         * lib/canon-host.c: Include "strdup.h".
18594         (canon_host): Use getaddrinfo if available, so that IPv6 works.
18595         Use strdup instead of malloc/strcpy to duplicate strings.
18596
18597         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
18598         (human_space_before_unit): New constant.
18599         * lib/human.c (human_readable): Support it.
18600
18601         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
18602         (xgetcwd): Set errno correctly when failing.
18603         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
18604         the failure is actually due to a PATH_MAX problem.
18605
18606         Further getopt changes to make it more likely that glibc will
18607         buy the changes back.
18608         * lib/getopt.c (POSIXLY_CORRECT): New constant.
18609         (getopt): Use it, so to preserve glibc semantic
18610         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
18611         when compiling for libc.
18612         * lib/getopt_.h (__getopt_argv_const): Bring it back.
18613         (getopt_long, getopt_long_only): Use it.
18614
18615         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
18616         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
18617         (getopt): Argv is now char * const *, as per standard.
18618         (_getopt_internal_r, _getopt_internal): Argv is now char **,
18619         not char *__getopt_argv_const *.
18620         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
18621         _getopt_long_only_r): Likewise.
18622         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
18623         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
18624         _getopt_long_r, _getopt_long_only_r): Likewise.
18625         * lib/getopt_.h (__getopt_argv_const): Remove.
18626         (getopt): Argv is now char * const *, as per standard.
18627
18628         * lib/getdate.y (tORDINAL): New token.
18629         (day, relunit): Allow it for relative times.
18630         (relative_time_table): Use tORDINAL for ordinals.
18631
18632 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
18633
18634         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
18635         Document that "second" isn't allowed as an ordinal number.
18636
18637 2004-11-16  Jim Meyering  <jim@meyering.net>
18638
18639         * modules/closeout (Depends-on): Add fpending.
18640
18641 2004-11-15  Jim Meyering  <jim@meyering.net>
18642
18643         * lib/closeout.c: Include "__fpending.h" once again.
18644         Include <stdbool.h>.
18645         (close_stdout): Don't fail just because stdout was closed initially,
18646         since some programs don't write to stdout in the normal course of
18647         operation (other than --version and --help), and we don't want this
18648         function to make e.g. `touch file >&-' fail.
18649         But do fail if it was closed and someone has tried to write to it.
18650         E.g., `printf foo >&-' must fail.
18651
18652 2004-11-13  Jim Meyering  <jim@meyering.net>
18653
18654         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
18655
18656 2004-11-12  Simon Josefsson  <jas@extundo.com>
18657
18658         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
18659         small doc fix is still pending.
18660
18661 2004-11-11  Simon Josefsson  <jas@extundo.com>
18662
18663         * modules/strtok_r: New file.
18664
18665         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18666         strtok_r.
18667
18668 2004-11-11  Simon Josefsson  <jas@extundo.com>
18669
18670         * m4/strtok_r.m4: New file.
18671
18672         * m4/getopt.m4: Replace opterr.
18673
18674 2004-11-11  Simon Josefsson  <jas@extundo.com>
18675
18676         * lib/strtok_r.h, strtok_r.c: New file.
18677
18678 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18679
18680         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
18681         of replacing opterr, getopt, etc.  This should handle the
18682         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
18683
18684 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18685
18686         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
18687         we can stop lying to compilers about the constness of argv when we
18688         are compiled outside glibc.
18689         (getopt, getopt_long, getopt_long_only): Use it.
18690         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
18691         _getopt_internal, getopt): Likewise.
18692         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
18693         _getopt_long_only_r): Likewise.
18694         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
18695         _getopt_long_r, _getopt_long_only_r): Likewise.
18696
18697         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
18698         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
18699         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
18700         the other external symbols.
18701         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
18702         declaration, since the above renaming now works around collisions.
18703
18704 2004-11-11  Jim Meyering  <jim@meyering.net>
18705
18706         * lib/linebreak.c: Remove trailing blanks.
18707         * lib/alloca_.h: Likewise.
18708         * lib/acosl.c: Likewise.
18709         * lib/euidaccess.c: Likewise.
18710         * lib/allocsa.h: Likewise.
18711
18712 2004-11-10  Simon Josefsson  <jas@extundo.com>
18713
18714         * m4/getaddrinfo.m4: New file.
18715
18716 2004-11-10  Simon Josefsson  <jas@extundo.com>
18717
18718         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
18719
18720 2004-11-10  Simon Josefsson  <jas@extundo.com>
18721
18722         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18723         getaddrinfo.
18724
18725         * modules/getaddrinfo: New file.
18726
18727 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
18728
18729         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
18730
18731 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
18732
18733         * lib/mktime.c (SHR): New macro, which is a portable
18734         substitute for >> that should work even on Crays.
18735         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
18736         Problem reported by Mark D. Baushke in
18737         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
18738         * lib/getdate.y (SHR): Likewise.
18739         (tm_diff): Use it.
18740         * lib/strftime.c (SHR): Likewise.
18741         (tm_diff): Use it.
18742         * lib/quotearg.c (struct quoting_options): Use unsigned int for
18743         quote_these_too, so that right shifts are well defined.  All uses
18744         changed.
18745
18746 2004-11-10  Jim Meyering  <jim@meyering.net>
18747
18748         Ensure that no close failure goes unreported.
18749         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
18750         return early when it seems there's nothing to flush.
18751         Don't include __fpending.h.
18752
18753 2004-11-10  Jim Meyering  <jim@meyering.net>
18754
18755         * modules/closeout (Depends-on): Remove fpending.
18756
18757 2004-11-10  Jim Meyering  <jim@meyering.net>
18758
18759         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
18760
18761 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
18762
18763         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
18764         gl_FUNC_STRFTIME.
18765         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
18766         and AC_REQUIRE when possible, to avoid duplicate checks.
18767         Check for <wchar.h>.
18768
18769 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
18770
18771         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
18772
18773 2004-11-09  Bruno Haible  <bruno@clisp.org>
18774
18775         * m4/sockpfaf.m4: New file.
18776
18777 2004-11-05  Bruno Haible  <bruno@clisp.org>
18778
18779         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
18780         Reported by Mark D. Baushke <mdb@cvshome.org>.
18781
18782 2004-11-04  Bruno Haible  <bruno@clisp.org>
18783
18784         2004-09-11  Bruno Haible  <bruno@clisp.org>
18785                 * allocsa.valgrind: New file.
18786         2004-02-06  Bruno Haible  <bruno@clisp.org>
18787                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
18788                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
18789                 Reported by Christopher Seip <chris.seip@hp.com>.
18790
18791 2004-11-04  Bruno Haible  <bruno@clisp.org>
18792
18793         * modules/allocsa (Files): Add lib/allocsa.valgrind.
18794         (Makefile.am): Distribute it.
18795
18796 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
18797
18798         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
18799         with errno == ERANGE if the buffer is too small.
18800         Problem reported by Mark D. Baushke.
18801
18802 2004-11-03  Albert Chin  <china@thewrittenword.com>
18803             Paul Eggert  <eggert@cs.ucla.edu>
18804
18805         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
18806         equivalent, substitute $ac_type for equivalent type rather than
18807         blindly using uint32_t *always* which won't work if uint32_t is not
18808         available.  Define _UINT32_T to work around typedef of uint32_t if
18809         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
18810         2.5.1.
18811
18812 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
18813
18814         * m4/jm-macros.m4: Sync from coreutils.
18815         (gl_MACROS): Check for mbrlen, for pathchk.
18816         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
18817
18818 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
18819
18820         * lib/xreadlink.c (MAXSIZE): New macro.
18821         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
18822         size does not exceed MAXSIZE.  Avoid cast.
18823         As suggested by Mark D. Baushke in
18824         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
18825         if readlink fails with buffer size just under MAXSIZE, try again
18826         with MAXSIZE.
18827
18828 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
18829
18830         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
18831
18832 2004-11-02  Derek R. Price  <derek@ximbiot.com>
18833         and  Paul Eggert  <eggert@cs.ucla.edu>
18834
18835         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
18836         (get_date): Overparenthesize to avoid GCC warning.
18837
18838 2004-11-02  Bruno Haible  <bruno@clisp.org>
18839
18840         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
18841         returns void.
18842
18843 2004-11-02  Bruno Haible  <bruno@clisp.org>
18844
18845         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
18846         function returns void.
18847
18848 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
18849
18850         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
18851         fflush_unlocked, flockfile, funlockfile, funlockfile,
18852         fputs_unlocked, putc_unlocked.
18853
18854 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
18855
18856         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
18857         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
18858         already declared.
18859
18860 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
18861
18862         * modules/getdate (Files): Add doc/getdate.texi.
18863         (Depends-on): Add setenv, xalloc.
18864
18865 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
18866
18867         * lib/getdate.y: Add support for TZ="foo" within a date string.
18868         Fix some bugs near time_t boundaries.  Reject dates with
18869         out-of-range components, e.g., "Sept 31".
18870         Include <stdlib.h>, "setenv.h", "xalloc.h".
18871         (ISDIGIT_LOCALE): Remove; unused.
18872         Note that the TZ and time functions used here are not reentrant.
18873         (mktime_ok, get_tz): New functions.
18874         (TZBUFSIZE): New constant.
18875         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
18876         This requires that we sometimes generate our own TZ="XXX..." setting.
18877
18878 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
18879
18880         * doc/getdate.texi: New file, from coreutils with modifications for
18881         the new TZ parsing.
18882
18883 2004-10-27  Derek R. Price  <derek@ximbiot.com>
18884
18885         * lib/mktime.c (not_equal_tm): Remove redundant check.
18886
18887 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
18888
18889         * modules/regex (lib_SOURCES): Add regex.c.
18890         Reported by James Youngman in
18891         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
18892
18893 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
18894
18895         * lib/getdate.y: Use Bison 1.875 features, and some minor
18896         code cleanups.  This change does not affect semantics.
18897         Don't include <stdlib.h>; no longer needed.
18898         Don't include unlocked-io.h; only the "#if TEST" code uses
18899         stdio, and performance isn't crucial there.
18900         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
18901         Bison 1.875 features as described below.
18902         All uses of "PC." replaced by "pc->".
18903         (YYSTYPE): Add a forward declaration.
18904         (yylex, yyerror): Use full prototypes in forward decls.
18905         Use "%pure-parser" rather than obsolescent "%pure_parser".
18906         Use %parse-param and %lex-param instead of obsolescent
18907         YYPARSE_PARAM and YYLEX_PARAM.
18908         (meridian_table, month_and_day_table, time_units_table,
18909         relative_time_table, time_zone_table, military_table,
18910         lookup_zone, lookup_word, get_date):
18911         Use NULL instead of 0 where appropriate.
18912         (to_hour): Avoid abort (), to avoid a dependency on
18913         stdlib.h.
18914         (yyerror, yylex): Now accepts parser_control * arg.
18915         (main) [TEST]: Use '\0' rather than 0 for char.
18916
18917 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
18918
18919         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
18920
18921 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
18922
18923         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
18924         It's now the caller's responsibility to handle the case where
18925         !HAVE_GETPAGESIZE && !defined getpagesize.
18926
18927         * lib/mktime.c (leapyear): Arg is long int, not int.
18928
18929 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
18930
18931         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
18932
18933 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
18934
18935         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
18936         missing.  Problem reported by James Youngman.
18937
18938 2004-10-16  Simon Josefsson  <jas@extundo.com>
18939
18940         * gnulib-tool: Fix comments.  Fix parse problem.
18941         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
18942
18943 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
18944
18945         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
18946         implementation of getopt_long.  Problem reported by Alexander Taler in:
18947         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
18948
18949 2004-10-15  Bruno Haible  <bruno@clisp.org>
18950
18951         * gnulib-tool: Untabify. Initialize supplied_libname.
18952         (func_usage): More homogenous output.
18953         (func_modules_transitive_closure, func_modules_to_filelist,
18954         func_emit_lib_Makefile_am): New functions.
18955         (func_import): New function, extracted from big case statement. Use
18956         func_get_license, func_modules_transitive_closure,
18957         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
18958         opt_lgpl. Don't use test -a, as it's not portable.
18959         (func_create_testdir): Use func_modules_transitive_closure,
18960         func_modules_to_filelist, func_emit_lib_Makefile_am.
18961
18962 2004-10-15  Bruno Haible  <bruno@clisp.org>
18963
18964         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
18965
18966 2004-10-15  Bruno Haible  <bruno@clisp.org>
18967
18968         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
18969         the portions belonging to each module.
18970         Suggested by Derek Robert Price <derek@ximbiot.com>.
18971
18972 2004-10-12  Simon Josefsson  <jas@extundo.com>
18973
18974         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
18975         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
18976         to real functions.
18977
18978 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18979
18980         * modules/vsnprintf: New file.
18981
18982 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18983
18984         * m4/vsnprintf.m4: New file.
18985
18986 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18987
18988         * lib/vsnprintf.h: New file.
18989         * lib/vsnprintf.c: New file.
18990
18991 2004-10-11  Bruno Haible  <bruno@clisp.org>
18992
18993         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
18994         vsnprintf.
18995
18996 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18997
18998         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
18999
19000 2004-10-07  Bruno Haible  <bruno@clisp.org>
19001
19002         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
19003         fits into the provided buffer.
19004
19005 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
19006
19007         * lib/diacrit.c, diacrit.h: Add GPL notice.
19008
19009         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
19010         notice.
19011         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
19012         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
19013         This avoids a potential constant-folding bug.
19014
19015 2004-10-05  Bruno Haible  <bruno@clisp.org>
19016
19017         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
19018         for the declaration of strsep.
19019
19020 2004-10-05  Bruno Haible  <bruno@clisp.org>
19021
19022         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
19023
19024 2004-10-04  Simon Josefsson  <jas@extundo.com>
19025
19026         * modules/memmem: New file.
19027         * tests/test-memmem.c: New file.
19028         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
19029
19030 2004-10-04  Simon Josefsson  <jas@extundo.com>
19031
19032         * m4/memmem.m4: New file.
19033
19034 2004-10-04  Simon Josefsson  <jas@extundo.com>
19035
19036         * lib/memmem.h: New file.
19037         * lib/memmem.c: New file, taken from glibc.
19038
19039 2004-10-04  Simon Josefsson  <jas@extundo.com>
19040
19041         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
19042         '#ifdef USE_UNLOCKED_IO'.
19043
19044 2004-10-04  Simon Josefsson  <jas@extundo.com>
19045
19046         * config/srclist.txt: Add memmem from glibc.
19047
19048 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
19049
19050         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
19051
19052         * modules/argmatch, modules/argp, modules/closeout, modules/error,
19053         modules/exclude, modules/getdate, modules/getline,
19054         modules/getndelim2, modules/getpass, modules/getpass-gnu,
19055         modules/getusershell, modules/linebuffer, modules/md5,
19056         modules/mountlist, modules/posixtm, modules/readtokens,
19057         modules/readutmp, modules/regex, modules/sha1,
19058         modules/version-etc, modules/yesno:
19059         Remove dependency on unlocked-io.
19060
19061 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
19062
19063         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
19064
19065         * m4/unlocked-io.m4: Add copyright notice.
19066         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
19067
19068 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
19069
19070         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
19071         * lib/xmalloc.c (xmemdup): Likewise.
19072         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
19073         XFREE): Remove these long-obsolescent macros.
19074         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
19075         * lib/xstrdup.c: Remove.
19076
19077         * lib/regex.c (re_comp): Cast gettext return value to char *,
19078         Problem reported by Martin Neitzel via Mark D. Baushke.
19079
19080 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
19081
19082         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
19083         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
19084         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
19085         regex.c, sha1.c, version-etc.c, yesno.c:
19086         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
19087         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
19088         the includer's responsibility.
19089
19090         Sync from coreutils.
19091
19092         * lib/modechange.c (mode_compile): Don't decrement a pointer that
19093         points to the start of a string, as the C Standard says the
19094         resulting behavior is undefined.
19095
19096         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
19097         simple -> simple_backups, numbered_existing ->
19098         numbered_existing_backups, numbered -> numbered_backups
19099         to avoid shadowing problems.  All uses changed.
19100         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
19101         * lib/backupfile.c (check_extension, numbered_backup):
19102         Rename locals to avoid shadowing 'basename'.
19103         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
19104         once.
19105
19106         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
19107         * lib/.cvsignore: Add getopt.h.
19108
19109 2004-10-04  Bruno Haible  <bruno@clisp.org>
19110
19111         * modules/README: New file.
19112         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
19113         not a module.
19114
19115 2004-10-02  Jim Meyering  <jim@meyering.net>
19116
19117         * lib/dirfd.h, getpagesize.h: Add copyright notice.
19118
19119 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
19120
19121         * modules/strsep: New file.
19122
19123 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
19124
19125         * m4/strsep.m4: New file.
19126
19127 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
19128
19129         * lib/strsep.h: New file.
19130         * lib/strsep.c: New file.
19131
19132 2004-10-01  Simon Josefsson  <jas@extundo.com>
19133
19134         * lib/snprintf.c (snprintf): Handle size==0.
19135
19136 2004-10-01  Simon Josefsson  <jas@extundo.com>
19137             Bruno Haible  <bruno@clisp.org>
19138
19139         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
19140         (snprintf): Declare 'args'.
19141
19142 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
19143
19144         * lib/snprintf.c: Remove comments as to why each header is needed.
19145
19146 2004-10-01  Bruno Haible  <bruno@clisp.org>
19147
19148         * MODULES.html.sh: Add strsep.
19149
19150 2004-09-30  Simon Josefsson  <jas@extundo.com>
19151
19152         * modules/snprintf: New file.
19153
19154 2004-09-30  Simon Josefsson  <jas@extundo.com>
19155
19156         * m4/snprintf.m4: New file.
19157
19158 2004-09-30  Simon Josefsson  <jas@extundo.com>
19159
19160         * lib/snprintf.h, lib/snprintf.c: New files.
19161
19162 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
19163
19164         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
19165         (hol_entry_help): Never translate an empty string.
19166         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
19167         * lib/argp.h (OPTION_NO_TRANS): New option.
19168
19169 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
19170
19171         * modules/argp (Maintainer): Replace Simon Josefsson
19172         by Sergey Poznyakoff.
19173
19174 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
19175
19176         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
19177         changes merged back into glibc.
19178
19179 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
19180
19181         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
19182
19183 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
19184
19185         * lib/xvasprintf.c: Include xalloc.h.
19186         (xvasprintf): Use xalloc_die, not xmalloc_die.
19187
19188 2004-09-29  Bruno Haible  <bruno@clisp.org>
19189
19190         * modules/alloca-opt: New file, derived from modules/alloca.
19191         * modules/allocsa: Depend on alloca-opt instead of alloca.
19192         * modules/setenv: Likewise.
19193         * modules/vasnprintf: Likewise.
19194         * MODULES.html.sh: Add alloca-opt.
19195
19196 2004-09-28  Simon Josefsson  <jas@extundo.com>
19197
19198         * gnulib-tool: New parameter --lgpl, to asseert that modules are
19199         LGPL, and to replace license template from GPL to LGPL.
19200
19201 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
19202
19203         * modules/dummy: Change license to LGPL.
19204
19205 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
19206
19207         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
19208
19209 2004-09-24  Simon Josefsson  <jas@extundo.com>
19210
19211         * modules/minmax (License): Change from GPL to LGPL.
19212
19213 2004-09-23  Simon Josefsson  <jas@extundo.com>
19214
19215         * gnulib-tool (--import): Typo.
19216
19217 2004-09-23  Simon Josefsson  <jas@extundo.com>
19218
19219         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
19220
19221 2004-09-22  Bruno Haible  <bruno@clisp.org>
19222
19223         * modules/*: Add 'License' field.
19224         * gnulib-tool: Accept --extract-license option.
19225         (func_get_license): New function.
19226
19227 2004-09-21  Bruno Haible  <bruno@clisp.org>
19228
19229         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
19230         Reported by Simon Josefsson.
19231
19232 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19233
19234         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
19235         gl_AC_TYPE_LONG_LONG.
19236
19237 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19238
19239         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
19240
19241 2004-09-18  Simon Josefsson  <jas@extundo.com>
19242         and  Paul Eggert  <eggert@cs.ucla.edu>
19243
19244         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
19245         calls with autoreconf.  Define GL_LIB.
19246
19247 2004-09-14  Karl Berry  <karl@gnu.org>
19248
19249         * config/srclist.txt: unsync setenv.c, sigh.
19250
19251 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19252
19253         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
19254         Problem reported by Bruno Haible in:
19255         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
19256
19257 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19258
19259         * config/srclist.txt: Comment out argp-pvh.c.
19260
19261 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
19262
19263         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
19264         in case some system header has #define'd it.  Problem reported by
19265         Soeren D. Schulze in
19266         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
19267
19268 2004-09-09  Karl Berry  <karl@gnu.org>
19269
19270         * regex.[ch]: delete from the root.  These were supposed to be
19271                 synced with emacs cvs, but this has not happened for about
19272                 a year, and anyway nothing else uses emacs regex.[ch].
19273                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
19274                 lib/regex[.ch] is untouched.
19275
19276 2004-09-09  Bruno Haible  <bruno@clisp.org>
19277
19278         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
19279
19280 2004-09-09  Bruno Haible  <bruno@clisp.org>
19281
19282         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
19283         modifications.
19284         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
19285
19286 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
19287
19288         * modules/xvasprintf: New file.
19289         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
19290
19291 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
19292
19293         * lib/xvasprintf.h: New file.
19294         * lib/xvasprintf.c: New file.
19295         * lib/xasprintf.c: New file.
19296
19297 2004-09-08  Bruno Haible  <bruno@clisp.org>
19298
19299         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
19300
19301 2004-09-08  Bruno Haible  <bruno@clisp.org>
19302
19303         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
19304         length is > INT_MAX.
19305         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
19306         more.
19307
19308 2004-09-08  Bruno Haible  <bruno@clisp.org>
19309
19310         * lib/stdint_.h: New file, taken from GNU clisp.
19311
19312 2004-09-08  Bruno Haible  <bruno@clisp.org>
19313             Oskar Liljeblad  <oskar@osk.mine.nu>
19314
19315         * modules/stdint: New file.
19316         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
19317
19318 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19319
19320         Import from coreutils.
19321         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
19322         strings on unbounded length.  alloca's performance benefits aren't
19323         that important here.
19324         (V_STRDUP): Remove.
19325         (parse_with_separator): New function, with most of the internals
19326         of the old parse_user_spec.  Allow user to omit both user and group,
19327         for compatibility with FreeBSD.
19328         Clone only the user name, not the entire spec.
19329         Do not set *uid, *gid unless entirely successful.
19330         Avoid memory leak in some failing cases.
19331         Fix regression for USER.GROUP reported by Dmitry V. Levin in
19332         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
19333         (parse_user_spec): Rewrite to use parse_with_separator.
19334
19335 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19336
19337         * modules/userspec: Don't depend on alloca.
19338
19339 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19340
19341         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
19342
19343 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
19344
19345         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
19346         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
19347         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
19348
19349 2004-08-16  Simon Josefsson  <jas@extundo.com>
19350
19351         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
19352         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
19353         Add --dry-run for --import.
19354         Let user provided command line parameters override configure.ac
19355         settings.
19356
19357 2004-08-12  Simon Josefsson  <jas@extundo.com>
19358
19359         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
19360         as discussed with Paul Eggert in threads rooted at
19361         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
19362         and
19363         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
19364         Before, the test was empty, and relied on ELIDE_CODE in source
19365         code.)
19366         (gl_PREREQ_GETOPT): New macro.
19367         (gl_GETOPT): Use them.
19368
19369 2004-08-12  Simon Josefsson  <jas@extundo.com>
19370
19371         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
19372         * lib/getopt_.h: Renamed from getopt.h.
19373
19374 2004-08-12  Simon Josefsson  <jas@extundo.com>
19375
19376         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
19377         Change default library name from libfoo to libgnu.
19378         Now, if you have a configure.ac that says:
19379                 gl_SOURCE_BASE(gl)
19380                 gl_M4_BASE(gl/m4)
19381                 gl_MODULES(error getopt etcetera)
19382                 gl_INIT
19383         you can import all you need by running:
19384                 ../gnulib/gnulib-tool --import
19385
19386         * modules/getopt (Files): Rename getopt.h to getopt_.h.
19387         (Makefile.am): Rewrite, use logic from argz.
19388         (Include): Use <getopt.h> instead of "getopt.h".
19389
19390 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19391
19392         * modules/argp (Files): Add m4/unlocked-io.m4.
19393         (Depends-on): Add extensions.
19394
19395 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19396
19397         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
19398         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
19399         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
19400         Check for program_invocation_name, program_invocation_short_name,
19401         flockfile, funlockfile, features.h, _getopt_long_only_r.
19402
19403 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19404
19405         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
19406         its complicated substitute.
19407         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
19408         and program_invocation_name.
19409         (__argp_basename) [!_LIBC]: Remove; the only use was
19410         replaced by its body.
19411         (__argp_short_program_name): Change condition from
19412         !defined __argp_short_program_name to
19413         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
19414         to match argp-namefrob.h.
19415         (__argp_failure): Don't assume strerror_r returns char *.
19416         * lib/argp-parse.c (N_): Define unconditionally.
19417         (argp_default_options): Fill out initializers with 0 to avoid
19418         gcc warnings.
19419
19420 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19421
19422         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
19423         getopt1.c.
19424
19425 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19426
19427         Merge from coreutils.
19428
19429         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
19430
19431         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
19432         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
19433
19434 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19435
19436         Merge from coreutils.
19437
19438         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
19439         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
19440         for Reliant Unix 5.43.
19441
19442         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
19443         (union fooround): Use uintmax_t, not long int.
19444         The rest is a merge from libc:
19445         [defined _LIBC]: Include <shlib-compat.h>.
19446         (_obstack) [defined _LIBC]: Remove after 2.3.4.
19447
19448         * lib/settime.c (settime): Recode to avoid warning with
19449         Sun Forte C 6U2.
19450
19451         * lib/strverscmp.c: Convert to UTF-8.
19452
19453 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19454
19455         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
19456         m4/uintmax_t.m4.
19457
19458 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
19459
19460         * modules/xalloc-die: New file.
19461         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
19462
19463         * modules/md5 (Files): Add m4/uint32_t.m4.
19464         * modules/sha1: Renamed from modules/sha.
19465         (Files):
19466         Rename lib/sha.h to lib/sha1.h.
19467         Rename lib/sha.c to lib/sha1.c.
19468         Rename m4/sha.m4 to m4/sha1.m4.
19469         (lib_SOURCES): Likewise.
19470         (configure.ac): Rename gl_SHA to gl_SHA1.
19471         (Include): sha.h -> sha1.h.
19472
19473 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
19474
19475         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
19476         * m4/sha1.m4: Renamed from sha.m4.
19477         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
19478
19479 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
19480
19481         * lib/obstack.h (obstack_empty_p):
19482         Don't assume that chunk->contents is suitably aligned.
19483         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
19484         Likewise. Problem reported by Benno in
19485         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
19486
19487         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
19488         readable.  This could be improved further but it'd take some work.
19489
19490 2004-08-08  Simon Josefsson  <jas@extundo.com>
19491
19492         * modules/xgethostname (Depends-on): Remove exit and error (not
19493         used).
19494
19495         * modules/getpass-gnu: Add getpass.h.
19496         (Depends-on): Add stdbool.
19497         * modules/getpass: Add getpass.h.
19498
19499 2004-08-08  Simon Josefsson  <jas@extundo.com>
19500
19501         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
19502         Check getpass declaration.
19503
19504 2004-08-08  Simon Josefsson  <jas@extundo.com>
19505
19506         * lib/xgethostname.c: Don't include error.h (not used).
19507
19508         * lib/getpass.h: Add.
19509         * lib/getpass.c: Include getpass.h first.
19510
19511 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
19512
19513         * lib/xalloc-die.c: New file.
19514         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
19515         All uses removed.
19516         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
19517         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
19518         xalloc-die.c.
19519         (_, N_, xalloc_die): Move to xalloc-die.c.
19520         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
19521         so that we needn't mess with xalloc_msg_memory_exhausted.
19522
19523         * lib/sha1.h: Renamed from sha.h.
19524         (SHA1_H): Renamed from _SHA_H.
19525         (sha1_ctx): Renamed from sha_ctx.
19526         (sha1_init_ctx): Renamed from sha_init_ctx.
19527         (sha1_process_block): Renamed from sha_process_block.
19528         (sha1_process_bytes): Renamed from sha_process_bytes.
19529         (sha1_finish_ctx): Renamed from sha_finish_ctx.
19530         (sha1_read_ctx): Renamed from sha_read_ctx.
19531         (sha1_stream): Renamed from sha_stream.
19532         (sha1_buffer): Renamed from sha_buffer.
19533         * lib/sha1.c: Likewise; renamed from sha.c.
19534         Do not include <sys/types.h>.
19535         Include <stddef.h> rather than <stdlib.h>.
19536
19537 2004-08-08  Bruno Haible  <bruno@clisp.org>
19538
19539         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
19540         FILESYSTEM_PREFIX_LEN.
19541         * lib/progreloc.c: Likewise.
19542         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
19543
19544 2004-08-06  Simon Josefsson  <jas@extundo.com>
19545
19546         * modules/progname (Depends-on): Don't depend on stdbool.
19547
19548 2004-08-06  Simon Josefsson  <jas@extundo.com>
19549
19550         * modules/getsubopt: New file.
19551         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
19552         getsubopt.
19553
19554 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
19555
19556         More merge from coreutils.
19557
19558         * m4/utimens.m4, m4/utimecmp.m4: New files.
19559         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
19560         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
19561         prereq.m4, sha.m4: Import changes from coreutils.
19562
19563 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
19564
19565         More merge from coreutils.
19566         * modules/raise, modules/readtokens0, modules/utimens:
19567         * modules/utimecmp, module/xnanosleep: New files.
19568         * modules/strftime: Add lib/strftime.h.
19569         Change include from <time.h> to "strftime.h".
19570         * modules/yesno: Add lib/yesno.h.
19571         * modules/backupfile: Remove lib/addext.c.
19572         * modules/euidaccess: Add stat-macros.h.
19573         * modules/canonicalize, modules/euidaccess,
19574         modules/filemode, modules/lchown, modules/makepath,
19575         modules/rmdir, modules/stat: Likewise.
19576
19577 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
19578
19579         Merge from tar.
19580         * lib/argp-help.c (make_hol, hol_append): Don't assume that
19581         SIZE_MAX is a valid preprocessor constant.
19582         (__argp_basename): Change from "#ifndef _LIBC"
19583         to "#ifndef __argp_short_program_name", so that
19584         we don't compile these functions for tar.
19585
19586         More merges from coreutils.
19587         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
19588         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
19589         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
19590         * lib/addext.c: Remove; no longer needed.
19591         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
19592         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
19593         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
19594         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
19595         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
19596         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
19597         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
19598         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
19599         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
19600         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
19601         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
19602         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
19603         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
19604         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
19605         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
19606         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
19607         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
19608         Import changes from coreutils.
19609
19610 2004-08-05  Simon Josefsson  <jas@extundo.com>
19611
19612         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
19613
19614 2004-08-05  Simon Josefsson  <jas@extundo.com>
19615
19616         * m4/getsubopt.m4: New file.
19617
19618 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
19619
19620         Merge from coreutils.
19621
19622         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
19623         * m4/getcwd-path-max.m4: New files.
19624
19625         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
19626         FILESYSTEM_PREFIX_LEN ->
19627         FILE_SYSTEM_PREFIX_LEN.
19628         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
19629         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
19630         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
19631         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
19632
19633         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
19634         prerequisite modules now handle the DOS stuff.
19635         Don't check for unistd.h.
19636
19637 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
19638
19639         Merge from coreutils.
19640
19641         * lib/.gdb-history: Remove; this doesn't belong here.
19642
19643         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
19644         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
19645         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
19646         * lib/getcwd.c: New files.
19647
19648         * lib/dirname.h: Include <stdbool.h>.
19649         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
19650         for consistency with POSIX terminology.  All uses changed.
19651         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
19652         (strip_trailing_slashes): Use bool for booleans.
19653         * lib/stripslash.c (strip_trailing_slashes): Likewise.
19654
19655         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
19656         sometimes returns a positive errno value even when it succeeds.
19657         (print_errno_message) [!LIBC]: Fall back on strerror if
19658         __strerror_r fails.
19659
19660         * lib/path-concat.c (mempcpy): Don't define if a system header defines
19661         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
19662         (longest_relative_suffix): New function.
19663         (path_concat): Use it.  Assume first argument is not NULL.
19664         Port to DOS.  Omit redundant separators.
19665         Report an error instead of returning NULL.
19666         Use mempcpy instead of memcpy.
19667         (xpath_concat): Remove: not declared or used.
19668
19669         * lib/same.h: Include <stdbool.h>
19670         (same_name): Return bool, not int.
19671         * lib/same.c (same_name): Likewise.
19672         (errno): Don't declare; we assume C89 or better now.
19673
19674         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
19675         if not already defined.
19676
19677         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
19678         * lib/dup-safer.c (errno): Likewise.
19679
19680 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
19681
19682         Merge from coreutils.
19683         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
19684         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
19685         * modules/path-concat: Don't depend on strdup.
19686
19687 2004-08-03  Simon Josefsson  <jas@extundo.com>
19688
19689         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
19690         * lib/progname.h: Don't include stdbool.h.
19691
19692 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
19693
19694         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
19695         * MODULES.html.sh (func_all_modules): Remove fatal.
19696
19697 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
19698
19699         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
19700
19701 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
19702
19703         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
19704         working.
19705
19706 2004-08-02  Simon Josefsson  <jas@extundo.com>
19707
19708         * lib/getsubopt.h: New file, with comments from Bruno Haible.
19709         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
19710         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
19711
19712 2004-08-01  Simon Josefsson  <jas@extundo.com>
19713
19714         * lib/xgetdomainname.c: Include stdlib.h, for free().
19715
19716 2004-07-19  Bruno Haible  <bruno@clisp.org>
19717
19718         * MODULES.html.sh (func_all_modules): Add dummy.
19719
19720 2004-07-16  Simon Josefsson  <jas@extundo.com>
19721
19722         * modules/dummy: New file.
19723
19724 2004-07-16  Simon Josefsson  <jas@extundo.com>
19725
19726         * lib/dummy.c: New file.
19727
19728 2004-07-16  Bruno Haible  <bruno@clisp.org>
19729
19730         * lib/backupfile.h: Add extern "C" for C++.
19731         * lib/closeout.h: Likewise.
19732         * lib/copy-file.h: Likewise.
19733         * lib/findprog.h: Likewise.
19734         * lib/full-write.h: Likewise.
19735         * lib/pathname.h: Likewise.
19736         * lib/progname.h: Likewise.
19737         * lib/stpcpy.h: Likewise.
19738         * lib/stpncpy.h: Likewise.
19739         * lib/strcase.h: Likewise.
19740         * lib/strstr.h: Likewise.
19741         * lib/xalloc.h: Likewise.
19742
19743         * lib/mbswidth.h: Add extern "C" for C++.
19744         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
19745
19746 2004-07-13  Robert Millan  <robertmh@gnu.org>
19747
19748         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
19749
19750 2004-07-09  Simon Josefsson  <jas@extundo.com>
19751
19752         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
19753         failed without this.)
19754
19755 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
19756
19757         * modules/chown (Files): Add lib/fchown-stub.c, since
19758         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
19759
19760 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
19761
19762         * lib/fchown-stub.c: New file.
19763
19764 2004-06-24  Jim Meyering  <jim@meyering.net>
19765
19766         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
19767
19768 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19769
19770         * modules/argz: Omit "#include".
19771
19772         * MODULES.html.sh (func_all_modules): Add calloc, to match
19773         2004-06-01 addition of calloc module.
19774
19775 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19776
19777         * m4/argz.m4: New file, which is autoupdated from libtool.
19778
19779 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19780
19781         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
19782         libtool.
19783
19784 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19785
19786         * config/srclist-update: Don't insist on "USA." before the
19787         close-comment, as libtool omits the period and puts the */ on a
19788         separate line.
19789         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
19790         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
19791
19792 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
19793
19794         * modules/argz: New file.
19795         * MODULES.html.sh (func_all_modules): Add argz.
19796
19797 2004-06-12  Jim Meyering  <jim@meyering.net>
19798         and  Paul Eggert  <eggert@cs.ucla.edu>
19799
19800         * modules/hash (Files): Add lib/xalloc.h.
19801         * modules/pipe (Depends-on): Add wait-process.
19802         * modules/stat (Depends-on): Add xalloc.
19803         * modules/userspec (Files): Add lib/userspec.h.
19804         * modules/xstrto
19805
19806         Upgrade from gettext-0.13.
19807         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
19808         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
19809         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
19810
19811 2004-06-10  Jim Meyering  <jim@meyering.net>
19812
19813         * lib/calloc.c: New file.
19814
19815 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
19816
19817         * lib/getdate.y (yylex): Allow space between sign and number.
19818         Problem reported by Dan Jacobson.
19819
19820 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
19821
19822         Merge from coreutils CVS.
19823
19824         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
19825         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
19826         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
19827         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
19828         xstrtol.m4: Fix copyright date and/or serial number.
19829
19830         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
19831         See if we need an fchown replacement.
19832         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
19833         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
19834         and use the replacement function if we detect either defect.
19835
19836         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
19837         gl_UTIMECMP.
19838
19839 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
19840         and  Jim Meyering  <jim@meyering.net>
19841
19842         Merge from coreutils CVS.
19843
19844         * lib/stat-macros.h: New file, with contents from file-type.h
19845         and coreutils' system.h.
19846         * lib/file-type.c: Include "stat-macros.h".
19847         * lib/file-type.h (file_type): Move all macro definitions to new file,
19848         stat-macros.h.
19849
19850         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
19851         Wrap old code with this conditional.
19852         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
19853         function that does not dereference symlinks.
19854         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
19855
19856         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
19857         dependency problems.
19858         (xreadlink): Accept new arg SIZE, for efficiency.
19859         All decls and uses changed.
19860         * lib/xreadlink.h: Include <stddef.h>, for size_t.
19861
19862         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
19863         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
19864
19865         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
19866         sysexits.h.
19867
19868 2004-06-01  Jim Meyering  <jim@meyering.net>
19869
19870         * m4/calloc.m4: New file.
19871
19872 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
19873
19874         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
19875         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
19876         Also, fix a typo in a diagnostic.
19877
19878 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
19879
19880         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
19881         or AC_FUNC_REALLOC.
19882
19883 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
19884
19885         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
19886         macros to be defined.
19887         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
19888         the allocator returns NULL because the requested size is zero.
19889
19890 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19891
19892         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
19893         var.  Add comment explaining why libc still defines it.  This
19894         merges the following patch from glibc:
19895         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
19896
19897 2004-05-20  Andreas Schwab  <schwab@suse.de>
19898
19899         * m4/free.m4: Replace free if it not known to work, not the other
19900         way round.
19901
19902 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19903
19904         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
19905         present in glibc since revision 1.1 of this file.
19906         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
19907         obstack_alignment_mask, obstack_alloc, obstack_base,
19908         obstack_blank, obstack_blank_fast, obstack_chunk_size,
19909         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
19910         obstack_grow0, obstack_init, obstack_int_grow,
19911         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
19912         obstack_next_free, obstack_object_size, obstack_ptr_grow,
19913         obstack_ptr_grow_fast, obstack_room): Remove declarations of
19914         nonexistent functions.
19915
19916 2004-05-18  Karl Berry  <karl@gnu.org>
19917
19918         * config/srclist.txt: break link for vasnprintf.c.
19919
19920 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19921
19922         Port obstack to the AS/400, where pointers are 16 bytes wide and
19923         you cannot cast an integer to a valid pointer.  This patch is
19924         currently waiting to be integrated into glibc; see
19925         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
19926
19927         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
19928         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
19929         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
19930         (struct obstack): temp member is now a union of a pointer and
19931         an integer, instead of an integer.  All integer uses changed.
19932         This does not affect the physical layout of struct obstack,
19933         except on hosts (like the AS/400) where the size or alignment of
19934         void * is greater than that of ptrdiff_t.
19935         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
19936         __STDC__)]: Store temporary in pointer member of union, not
19937         integer member.
19938         * lib/obstack.c: Include <stddef.h>, for offsetof.
19939         (struct fooalign): Remove; it doesn't need a name.
19940         (union fooround): Change double to long double, and add void *.
19941         (DEFAULT_ALIGNMENT): Use offsetof to compute.
19942         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
19943         not a macro.  Hence the values are always int; so remove all
19944         casts-to-int in uses.
19945
19946 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19947
19948         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
19949         we can get this patch merged into glibc.
19950
19951 2004-05-17  Derek R. Price  <derek@ximbiot.com>
19952             Paul Eggert  <eggert@cs.ucla.edu>
19953
19954         * m4/argp: Depend on alloca.
19955
19956 2004-05-17  Derek R. Price  <derek@ximbiot.com>
19957             Paul Eggert  <eggert@cs.ucla.edu>
19958
19959         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
19960         freecoding.
19961
19962 2004-05-17  Bruno Haible  <bruno@clisp.org>
19963
19964         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
19965         precision that consists of a '.' followed by an empty digit string.
19966         Patch by Tor Lillqvist <tml@iki.fi>.
19967
19968 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19969
19970         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
19971         for backward compatibility with older code.  We need our own
19972         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
19973         it under some other name, and our alloca.h will define it.
19974
19975 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19976             Derek Price  <derek@ximbiot.com>
19977
19978         * lib/alloca.c: Include <alloca.h>, to get our interface.
19979         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
19980         include <alloca.h> first.  Use C89 prototype for alloca; this
19981         requires including <stddef.h> for size_t.  Use extern "C" if C++.
19982         Use #elif for simplicity, since we can assume C89 now.
19983         Don't try to source the system alloca.h since it will not be found
19984         and to prevent recursively including its replacement.
19985         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
19986         * lib/regex.c: Likewise.
19987
19988 2004-05-16  Derek Price  <derek@ximbiot.com>
19989             Paul Eggert  <eggert@cs.ucla.edu>
19990
19991         getline cleanup.  This changes the getndelim2 API: both order of
19992         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
19993         no delimiter).
19994
19995         * lib/getline.c: Don't include stddef.h or stdio.h, since our
19996         interface does that.
19997         (getline): Always use getdelim, so that we don't have two
19998         copies of this code.
19999         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
20000         if available.
20001         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
20002         (GETNDELIM2_MAXIMUM): New macro.
20003         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
20004         instead of the old practice of delim2==0.  All callers changed.
20005         Return -1 on overflow, instead of returning junk.
20006         Do not set *linesize unless allocation succeeds.
20007         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
20008         that we include sys/types.h.
20009         * lib/getnline.h: Likewise.
20010         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
20011         (getndelim2): Reorder arguments.
20012         * lib/getnline.c (getnline, getndelim):
20013         Don't discard the NMAX argument.
20014         (getnline): Invoke getndelim, to avoid code duplication.
20015         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
20016         of (size_t) -1 by callers of the getnline family.
20017
20018 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20019
20020         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
20021         Check for gettimeofday.
20022         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
20023         Check for settimeofday, stime.
20024
20025 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20026
20027         * lib/nanosleep.c (suspended): Change its type from int to
20028         sig_atomic_t volatile.
20029         (first_call): Make it private to rpl_nanosleep, and have it
20030         be zero initially as that's a bit faster.
20031         (my_usleep): Round up fractional times instead of truncating them,
20032         as this is the usual meaning for 'sleep'.
20033
20034         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
20035         doesn't work.
20036         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
20037         (ENOSYS): Define if not defined.
20038         (settime): Fall back on stime if it exists and settimeofday fails.
20039         But don't bother with fallbacks if a method fails with errno == EPERM.
20040
20041 2004-05-11  Jim Meyering  <jim@meyering.net>
20042
20043         Prior to this change, the save_cwd caller required read access to the
20044         current directory on most systems (ones with the fchdir function).
20045
20046         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
20047         fails, try write-only, and finally, resort to using xgetcwd.
20048
20049 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
20050
20051         * lib/obstack.c, obstack.h: Import changes from libc.
20052
20053 2004-04-28  Bruno Haible  <bruno@clisp.org>
20054
20055         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
20056         also implicitly appends .exe to executables.
20057         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
20058         accepts Windows pathnames.
20059         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
20060         Treat Cygwin like Windows, since it now accepts Windows pathnames.
20061         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
20062         Treat Cygwin like Windows, since it now accepts Windows pathnames.
20063         Reported by Derek Robert Price <derek@ximbiot.com>.
20064
20065 2004-04-21  Karl Berry  <karl@gnu.org>
20066
20067         * config/srclist.txt (localcharset.c): break sync.
20068
20069 2004-04-20  Paul Eggert  <eggert@twinsun.com>
20070
20071         * m4/host-os.m4: Add a copyright notice.
20072
20073 2004-04-20  Jim Meyering  <jim@meyering.net>
20074
20075         Change UTILS_ to gl_ in AC_DEFINE'd names.
20076         Change utils_- and jm_-prefixed variables, too.
20077         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
20078         UTILS_FUNC_MKDIR_TRAILING_SLASH.
20079         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
20080
20081         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
20082         Don't emit trailing blanks.
20083         Also rename jm_-prefixed variables to have gl_ prefix.
20084
20085         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
20086         Also rename jm_-prefixed variables to have gl_ prefix.
20087
20088         * m4/jm-macros.m4: Reflect the renamings.
20089         * m4/prereq.m4: Likewise.
20090
20091 2004-04-20  Jim Meyering  <jim@meyering.net>
20092
20093         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
20094         memory.
20095
20096 2004-04-20  Jim Meyering  <jim@meyering.net>
20097             Bruno Haible  <bruno@clisp.org>
20098
20099         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
20100         memory when realloc fails.
20101
20102 2004-04-19  Jim Meyering  <jim@meyering.net>
20103
20104         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
20105         now that readutmp.c may call `free (0)'.
20106
20107 2004-04-19  Bruno Haible  <bruno@clisp.org>
20108
20109         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
20110         * m4/inttypes_h.m4: Likewise.
20111         * m4/stdint_h.m4: Likewise.
20112         * m4/intmax_t.m4: Likewise.
20113         * m4/uintmax_t.m4: Likewise.
20114
20115 2004-04-18  Jim Meyering  <jim@meyering.net>
20116
20117         * m4/prereq.m4: Don't forbid jm_ prefix.
20118
20119         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
20120         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
20121         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
20122         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
20123         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
20124         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
20125         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
20126         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
20127         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
20128         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
20129         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
20130         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
20131         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
20132         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
20133         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
20134         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
20135         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
20136         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
20137         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
20138
20139 2004-04-18  Jim Meyering  <jim@meyering.net>
20140
20141         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
20142         failure, don't leak memory and do call END_UTMP_ENT.
20143
20144 2004-04-16  Jim Meyering  <jim@meyering.net>
20145
20146         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
20147         coreutils' stat program.
20148         (gl_PREREQ): Don't require jm_PREREQ_STAT.
20149
20150 2004-04-11  Paul Eggert  <eggert@twinsun.com>
20151
20152         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
20153         C89.
20154         (CHAR_BIT): Remove, since we assume C89.
20155         Include <stdint.h> if available, as per current Autoconf CVS advice.
20156
20157 2004-03-31  Jim Meyering  <jim@meyering.net>
20158
20159         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
20160         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
20161         * m4/xalloc.m4: Likewise.
20162
20163 2004-03-30  Paul Eggert  <eggert@twinsun.com>
20164
20165         Merge from coreutils.
20166
20167         * m4/inttostr.m4: New file.
20168         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
20169         Require AM_STDBOOL_H and gl_TIMESPEC instead.
20170         Require gl_CLOCK_TIME.
20171         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
20172
20173 2004-03-30  Paul Eggert  <eggert@twinsun.com>
20174
20175         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
20176         not bool, to be more consistent with Unix conventions.
20177         Suggested by Bruno Haible.
20178
20179         Merge from coreutils.
20180
20181         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
20182         * lib/umaxtostr.c: New files.
20183
20184         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
20185         the usual <time.h> dance.
20186         (get_date): Change signature to support fractional time stamps.
20187         All callers changed.
20188         * lib/getdate.y: Include "getdate.h" first, as we can now
20189         assume C89 and don't need to worry about 'const'.
20190         Similarly, include "unlocked-io.h" near start, not in middle.
20191         Include <limits.h>.
20192         (textint.value): Use long int rather than int.
20193         (textint.digits): Use size_t rather than int.
20194         (BILLION, LOG10_BILLION): New constants.
20195         (parser_control): New member rel_ns.  Members day_ordinal,
20196         time_zone, month, day, hour, minutes, rel_year, rel_month,
20197         rel_day, rel_hour, rel_minutes, rel_seconds
20198         are now long int, not int.  Member seconds is now struct timespec,
20199         not int.  New member timespec_seen.  Members dates_seen, days_seen,
20200         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
20201         not int.
20202         (%union.intval): Now long int, not int.
20203         New member timespec.
20204         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
20205         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
20206         (spec): Now is a timespec or an item list.
20207         (timespec, items): New nonterminals.
20208         (time, rel, relunit, number, get_date):
20209         Add support for fractional seconds.
20210         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
20211         (gmtime, localtime, mktime): Remove decls; not needed with C89.
20212         (to_hour): First arg is now long int, not int.
20213         (to_year): Returns long int, not int.
20214         Don't treat year -70 like 70.
20215         (tm_diff): Returns long int, not int.
20216         (lookup_word): Use bool instead of int when appropriate.
20217         (yylex): Use size_t for count, not int.
20218         Detect overflow when parsing large integer constants.
20219         Add support for fractions.
20220         (get_date): Make pointers 'const' if possible.
20221         Use more-portable code to detect integer overflow.
20222         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
20223         Don't use ctime; it's not reliable if the year has >4 digits.
20224
20225         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
20226         This is for compatibility with BSD.
20227
20228         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
20229         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
20230         From coreutils' system.h.
20231
20232         * lib/userspec.c: Don't include "posixver.h".
20233         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
20234         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
20235         compatible extension.  Simplify code by removing a boolean int
20236         that was always nonzero if a string was nonnull.
20237
20238 2004-03-30  Jim Meyering  <jim@meyering.net>
20239
20240         Merge from coreutils.
20241
20242         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
20243         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
20244         on some systems one must include <grp.h> before it.
20245         Reported by Christian Krackowizer.
20246
20247 2004-03-30  Jim Meyering  <jim@meyering.net>
20248
20249         Merge from coreutils.
20250
20251         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
20252
20253         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
20254         an empty input stream.
20255
20256         * lib/readtokens.c: Include <stdbool.h>.
20257         (readtoken): Use `size_t' rather than int/long.
20258         All callers adjusted.
20259         Use `bool' rather than `int' where appropriate.
20260         Use memset rather than an explicit loop.
20261         Use x2nrealloc rather than xrealloc.
20262         Allow the use of `\0' as a delimiter.
20263         (readtokens): Likewise.
20264         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
20265
20266 2004-03-30  Jim Meyering  <jim@meyering.net>
20267
20268         * m4/realloc.m4: Remove file, since now it does no more than
20269         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
20270         the `configure.ac' section of module/realloc.
20271         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
20272
20273 2004-03-30  Bruno Haible  <bruno@clisp.org>
20274
20275         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
20276         nonnull.
20277
20278 2004-03-29  Paul Eggert  <eggert@twinsun.com>
20279
20280         Merge changes to getloadavg.c from coreutils and Emacs.
20281
20282         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
20283         Define to an expression, not to the empty string.
20284         Include cloexec.h and xalloc.h.
20285         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
20286         Use set_cloexec_flag rather than rolling our own.
20287         * lib/cloexec.c, lib/cloexec.h: New files.
20288
20289 2004-03-29  Paul Eggert  <eggert@twinsun.com>
20290
20291         * m4/cloexec.m4: New file.
20292
20293 2004-03-18  Paul Eggert  <eggert@twinsun.com>
20294
20295         * lib/getopt.h: Sync with libc CVS.
20296
20297 2004-03-18  Paul Eggert  <eggert@twinsun.com>
20298             Bruno Haible  <bruno@clisp.org>
20299
20300         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
20301         mbswidth.
20302
20303 2004-03-18  Paul Eggert  <eggert@twinsun.com>
20304             Bruno Haible  <bruno@clisp.org>
20305
20306         * lib/mbswidth.h: Include <wchar.h> only if
20307         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
20308         <wchar.h>.
20309         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
20310
20311 2004-03-09  Paul Eggert  <eggert@twinsun.com>
20312
20313         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
20314         Sync with libc CVS.
20315         * lib/getopt_int.h: New file, also synced from libc.
20316
20317 2004-03-09  Paul Eggert  <eggert@twinsun.com>
20318
20319         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
20320         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
20321         Bring back getopt.c, getopt.h, getopt1.c.
20322
20323 2004-03-07  Paul Eggert  <eggert@twinsun.com>
20324
20325         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
20326         All uses changed.  Check for sa_sigaction member; this fixes
20327         a bug first reported by Jason Andrade in
20328         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
20329
20330 2004-03-07  Paul Eggert  <eggert@twinsun.com>
20331
20332         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
20333         '#if' expressions.  Unlike the code it replaces, it does not
20334         depend on (defined _SC_PAGESIZE).  However, it does depend on
20335         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
20336         first reported by Jason Andrade in
20337         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
20338
20339 2004-02-25  Simon Josefsson  <jas@extundo.com>
20340
20341         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
20342
20343 2004-02-25  Simon Josefsson  <jas@extundo.com>
20344
20345         * lib/strdup.h: New file.
20346         * lib/strdup.c: Include it.
20347         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
20348         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
20349
20350 2004-02-23  Karl Berry  <karl@gnu.org>
20351
20352         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
20353         (from fencepost.gnu.org:/gd/gnuorg).
20354
20355 2004-02-23  Karl Berry  <karl@gnu.org>
20356
20357         * config/srclistvars.sh (GNUORG) [karl]: redefine.
20358         * config/srclist.txt: add maintain/standards documents.
20359
20360 2004-02-18  Bruno Haible  <bruno@clisp.org>
20361
20362         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
20363         Reported by Derek Robert Price <derek@ximbiot.com>.
20364
20365 2004-02-16  Karl Berry  <karl@gnu.org>
20366
20367         * config/mkinstalldirs, install-sh: update from automake.
20368
20369 2004-02-06  Karl Berry  <karl@gnu.org>
20370
20371         * m4/po.m4: update from gettext 0.14.1.
20372
20373 2004-02-06  Karl Berry  <karl@gnu.org>
20374
20375         * lib/config.charset: update from gettext 0.14.1.
20376
20377 2004-02-05  Paul Eggert  <eggert@twinsun.com>
20378
20379         Add comments and code, prompted by suggestions from Bruno Haible
20380         for sh-quote.
20381         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
20382         describing the enum quoting_style values.
20383         * lib/quotearg.c (quotearg_alloc): New function.
20384         (quotearg_buffer_restyled): Treat lone { and } as special.
20385         Treat = as special.  Work around bug with older shells
20386         that "see" a '\' that is really the 2nd byte of a multibyte char.
20387         Quote empty string with shell_quoting_style.
20388
20389 2004-02-03  Bruno Haible  <bruno@clisp.org>
20390
20391         * m4/pipe.m4: New file, from GNU gettext.
20392
20393 2004-02-03  Bruno Haible  <bruno@clisp.org>
20394
20395         * lib/pipe.h: New file, from GNU gettext.
20396         * lib/pipe.c: New file, from GNU gettext.
20397
20398 2004-01-27  Bruno Haible  <bruno@clisp.org>
20399
20400         * m4/execute.m4: New file, from GNU gettext.
20401
20402 2004-01-27  Bruno Haible  <bruno@clisp.org>
20403
20404         * lib/execute.h: New file, from GNU gettext.
20405         * lib/execute.c: New file, from GNU gettext.
20406         * lib/w32spawn.h: New file, from GNU gettext.
20407
20408 2004-01-24  Paul Eggert  <eggert@twinsun.com>
20409
20410         Merge from diffutils.
20411
20412         * lib/file-type.c (file_type): Add typed memory objects.
20413         * lib/file-type.h (S_TYPEISTMO): New macro.
20414
20415         * lib/c-stack.h (c_stack_action): Remove argv argument.
20416         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
20417         (die): Don't calculate message unless segv_action returns.
20418         (get_stack_location, min_address_from_argv, max_address_from_argv,
20419         volatile stack_base, volatile_stack_size): Remove.
20420         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
20421         that every segmentation violation is a stack overflow.  (Ouch!)
20422         See Debian bug 136249 (still outstanding) for more info about why
20423         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
20424
20425 2004-01-24  Paul Eggert  <eggert@twinsun.com>
20426
20427         Exit-status fix from coreutils.
20428
20429         Use exit_failure consistently in place of EXIT_FAILURE,
20430         so that program exit statuses are consistent on failure.
20431
20432         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
20433         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
20434         * lib/argmatch.h: Comment fix to match the above.
20435         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
20436         Now a macro referring to exit_failure, instead of a separate
20437         variable.  Include "exitfail.h" to get it.
20438         * lib/xstrtol.h: Include "exitfail.h".
20439         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
20440
20441         * lib/long-options.c (parse_long_options): Use prototype
20442         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
20443         for clarity.
20444
20445 2004-01-21  Jim Meyering  <jim@meyering.net>
20446
20447         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
20448         so as not to conflict with a different-sized __mktime_internal
20449         function in GNU libc.
20450         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
20451         Problem building statically-linked `ls' reported by Michael Brunnbauer.
20452
20453 2004-01-20  Karl Berry  <karl@gnu.org>
20454
20455         * config/config.guess: update from config.
20456
20457         * config/srclistvars.sh: GNUWWWLICENSES for karl.
20458
20459 2004-01-20  Bruno Haible  <bruno@clisp.org>
20460
20461         Safer stack allocation.
20462         * lib/setenv.c: Include allocsa.h.
20463         (alloca): Remove fallback definition.
20464         (freea): Remove macro.
20465         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
20466         instead of freea.
20467
20468 2004-01-20  Bruno Haible  <bruno@clisp.org>
20469
20470         * m4/eealloc.m4: New file, from GNU gettext.
20471
20472 2004-01-20  Bruno Haible  <bruno@clisp.org>
20473
20474         * m4/allocsa.m4: New file, from GNU gettext.
20475
20476 2004-01-20  Bruno Haible  <bruno@clisp.org>
20477
20478         * lib/xallocsa.h: New file, from GNU gettext.
20479         * lib/xallocsa.c: New file, from GNU gettext.
20480
20481 2004-01-20  Bruno Haible  <bruno@clisp.org>
20482
20483         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
20484
20485 2004-01-20  Bruno Haible  <bruno@clisp.org>
20486
20487         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
20488         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
20489         specially.
20490
20491 2004-01-20  Bruno Haible  <bruno@clisp.org>
20492
20493         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
20494         patch.
20495
20496 2004-01-20  Bruno Haible  <bruno@clisp.org>
20497
20498         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
20499
20500 2004-01-20  Bruno Haible  <bruno@clisp.org>
20501
20502         * lib/eealloc.h: New file.
20503
20504 2004-01-20  Bruno Haible  <bruno@clisp.org>
20505
20506         * lib/binary-io.h: Avoid warnings on Cygwin.
20507
20508 2004-01-20  Bruno Haible  <bruno@clisp.org>
20509
20510         * lib/allocsa.h: New file, from GNU gettext.
20511         * lib/allocsa.c: New file, from GNU gettext.
20512
20513 2004-01-18  Karl Berry  <karl@gnu.org>
20514
20515         * doc/gpl.texi, doc/lgpl.texi: new files.
20516
20517 2004-01-18  Karl Berry  <karl@gnu.org>
20518
20519         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
20520         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
20521
20522 2004-01-15  Paul Eggert  <eggert@twinsun.com>
20523
20524         Merge from coreutils.
20525
20526         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
20527         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
20528         (gl_DEFAULT_POSIX2_VERSION): Move
20529         the documentation from 'configure' into 'config.hin',
20530         so that 'configure --help' isn't burdened by it and
20531         we don't have to worry about its formatting there.
20532         Reword the documentation so that it's more succinct
20533         and can be run together into a single paragraph.
20534         * m4/same.m4 (gl_SAME): Check for pathconf.
20535
20536 2004-01-15  Paul Eggert  <eggert@twinsun.com>
20537
20538         Merge from coreutils.
20539
20540         * lib/posixver.c: Include posixver.h.
20541
20542         * lib/same.c: Include <stdbool.h>, <limits.h>.
20543         (_POSIX_NAME_MAX): Define if not defined.
20544         (MIN): New macro.
20545         (same_name): If file names are silently truncated, report
20546         that the file names are the same if they are the same after
20547         the silent truncation.
20548
20549         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
20550         conversion function.
20551         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
20552         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
20553         longer needed.
20554
20555 2004-01-15  Jim Meyering  <jim@meyering.net>
20556
20557         Merge from coreutils.
20558
20559         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
20560         if no library is required.
20561         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
20562         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
20563         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
20564         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
20565         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
20566         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
20567         value, $ac_cv_search_crypt, if it's "none required".
20568         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
20569         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
20570         not gl_FUNC_GETLOADAVG.
20571         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
20572         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
20573
20574 2004-01-15  Jim Meyering  <jim@meyering.net>
20575
20576         Merge from coreutils.
20577
20578         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
20579         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
20580         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
20581
20582         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
20583         optional configure-time default.
20584
20585         * lib/version-etc.c (version_etc_copyright): Update copyright date.
20586
20587         * lib/xreadlink.c (xreadlink): Correct outdated comment.
20588
20589 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
20590
20591         Merge from coreutils.
20592
20593         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
20594         value, $ac_cv_search_nanosleep, if it's "none required".
20595
20596 2004-01-14  Paul Eggert  <eggert@twinsun.com>
20597
20598         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
20599         with like-named macro in fnmatch.c.
20600         (EXT): Use an internal constant instead.
20601
20602         Merge fnmatch patches from glibc.
20603         * lib/fnmatch.c (mbsinit): Remove define.
20604         Add libc_hidden_ver (__fnmatch, fnmatch).
20605         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
20606         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
20607
20608 2004-01-14  Karl Berry  <karl@gnu.org>
20609
20610         * config/install-sh: update from automake.
20611
20612 2004-01-13  Karl Berry  <karl@gnu.org>
20613
20614         * config/install-sh: update from automake.
20615
20616 2004-01-09  Karl Berry  <karl@gnu.org>
20617
20618         * config/install-sh: update from automake.
20619
20620 2004-01-05  Karl Berry  <karl@gnu.org>
20621
20622         * config/config.{sub,guess}: update from config.
20623
20624 2003-12-31  Karl Berry  <karl@gnu.org>
20625
20626         * config/depcomp: update from automake.
20627
20628 2003-12-14  Karl Berry  <karl@gnu.org>
20629
20630         * lib/config.charset: update from gettext-runtime.
20631
20632 2003-12-03  Paul Eggert  <eggert@twinsun.com>
20633
20634         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
20635         Bug reported by Alfred M. Szmidt.
20636
20637 2003-12-03  Bruno Haible  <bruno@clisp.org>
20638
20639         * m4/gettext.m4: Upgrade from gettext-0.13.
20640         * m4/po.m4: Upgrade from gettext-0.13.
20641         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
20642         * m4/intmax.m4: New file, from gettext-0.13.
20643         * m4/printf-posix.m4: New file, from gettext-0.13.
20644
20645 2003-11-29  Karl Berry  <karl@gnu.org>
20646
20647         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
20648
20649 2003-11-25  Paul Eggert  <eggert@twinsun.com>
20650             Bruno Haible  <bruno@clisp.org>
20651
20652         * lib/printf-parse.h: Don't include sys/types.h.
20653         (ARG_NONE): New macro.
20654         (char_directive): Change type of *arg_index fields to size_t.
20655         * lib/printf-parse.c: Don't include sys/types.h.
20656         (SSIZE_MAX): Remove macro.
20657         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
20658         Remove unnecessary overflow check.
20659         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
20660         fields.
20661
20662 2003-11-25  Bruno Haible  <bruno@clisp.org>
20663
20664         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
20665
20666 2003-11-25  Bruno Haible  <bruno@clisp.org>
20667
20668         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
20669         gt_TYPE_SSIZE_T.
20670
20671 2003-11-24  Paul Eggert  <eggert@twinsun.com>
20672
20673         * modules/alloca: Remove dependency on xalloc.
20674
20675 2003-11-24  Paul Eggert  <eggert@twinsun.com>
20676
20677         * lib/alloca.c: Remove dependency on xalloc module.
20678         (xalloc_die): Remove.
20679         (memory_full) [!defined emacs]: New macro.
20680         [!defined emacs]: Don't include xalloc.h.
20681         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
20682         address arithmetic overflows.  Change datatypes a bit to avoid
20683         unnecessary casts.
20684
20685 2003-11-22  Jim Meyering  <jim@meyering.net>
20686
20687         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
20688         s/size/size_t/.
20689
20690 2003-11-21  Karl Berry  <karl@gnu.org>
20691
20692         * config/config.{sub,guess}: update from config.
20693
20694 2003-11-18  Karl Berry  <karl@gnu.org>
20695
20696         * config/config.{sub,guess}: update from config.
20697
20698         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
20699
20700 2003-11-17  Paul Eggert  <eggert@twinsun.com>
20701
20702         * README: Mention that S+T cannot overflow if S is the size of
20703         an existing object and T is sufficiently small.
20704
20705 2003-11-17  Jim Meyering  <jim@meyering.net>
20706
20707         On systems without utime and without a utimes function capable of
20708         dealing with a NULL struct utimbuf* argument, this utime replacement
20709         could -- in unusual circumstances -- leak a file descriptor.
20710         * lib/utime.c: Include <unistd.h> and <errno.h>.
20711         (utime_null): Be sure to close `fd' and to preserve errno.
20712         Reported by Geoff Collyer via Arnold Robbins.
20713
20714 2003-11-17  Bruno Haible  <bruno@clisp.org>
20715
20716         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
20717         (Depends-on): Add xsize.
20718
20719 2003-11-17  Bruno Haible  <bruno@clisp.org>
20720
20721         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
20722
20723 2003-11-17  Bruno Haible  <bruno@clisp.org>
20724
20725         * lib/vasnprintf.c (alloca): Remove fallback definition.
20726         (freea): Remove definition.
20727         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
20728         Reported by Paul Eggert.
20729
20730 2003-11-16  Paul Eggert  <eggert@twinsun.com>
20731             Bruno Haible  <bruno@clisp.org>
20732
20733         Protect against address arithmetic overflow.
20734         * lib/printf-args.h: Include stddef.h.
20735         (arguments): Change type of field 'count' to size_t.
20736         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
20737         'unsigned int' where appropriate.
20738         * lib/printf-parse.h: Include sys/types.h.
20739         (char_directive): Change type of *arg_index fields to ssize_t.
20740         (char_directives): Change type of fields 'count', max_*_length to
20741         size_t.
20742         * lib/printf-parse.c: Include sys/types.h and xsize.h.
20743         (SSIZE_MAX): Define fallback value.
20744         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
20745         instead of 'int' where appropriate. Check a_allocated, d_allocated
20746         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
20747         * lib/vasnprintf.c: Include xsize.h.
20748         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
20749         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
20750         overflow. Avoid wraparound when converting a width or precision from
20751         decimal to binary.
20752
20753 2003-11-16  Bruno Haible  <bruno@clisp.org>
20754
20755         Update from GNU gettext.
20756         * lib/printf-parse.c: Generalize to it can be compiled for wide
20757         strings.
20758         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
20759         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
20760         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
20761         SNPRINTF): New macros.
20762         Don't include <alloca.h> if the file is used inside libintl.
20763         (local_wcslen): New function, for Solaris 2.5.1.
20764         (VASNPRINTF): Use it instead of wcslen.
20765
20766 2003-11-16  Bruno Haible  <bruno@clisp.org>
20767
20768         * lib/xsize.h (xmax): New function.
20769         (xsum, xsum3, xsum4): Declare as "pure" functions.
20770
20771 2003-11-12  Paul Eggert  <eggert@twinsun.com>
20772
20773         * modules/xalloc (Files): Undo latest change, since xalloc.h
20774         no longer needs SIZE_MAX or PTRDIFF_MAX.
20775
20776 2003-11-12  Paul Eggert  <eggert@twinsun.com>
20777
20778         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
20779         gl_PTRDIFF_MAX.
20780
20781 2003-11-12  Paul Eggert  <eggert@twinsun.com>
20782
20783         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
20784         "return", to pacify some unknown compiler.  Problem reported
20785         by Joerg Schilling.
20786
20787 2003-11-12  Paul Eggert  <eggert@twinsun.com>
20788
20789         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
20790         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
20791         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
20792         heuristic is just as accurate as far as we know, and it removes a
20793         dependency on size_max.m4 and ptrdiff_max.m4.
20794
20795 2003-11-11  Bruno Haible  <bruno@clisp.org>
20796
20797         * modules/xsize (Files): Add m4/size_max.m4.
20798         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
20799
20800 2003-11-11  Bruno Haible  <bruno@clisp.org>
20801
20802         * m4/size_max.m4: New file.
20803         * m4/ptrdiff_max.m4: New file.
20804         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
20805         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
20806         (gl_XALLOC): Invoke it.
20807
20808 2003-11-11  Bruno Haible  <bruno@clisp.org>
20809
20810         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
20811         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
20812         defined.
20813
20814 2003-11-10  Paul Eggert  <eggert@twinsun.com>
20815
20816         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
20817         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
20818         rejected some allocations of exactly SIZE_MAX - 2 bytes.
20819         From Bruno Haible.
20820         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
20821         not (size_t) -1, since it's defined here.
20822
20823 2003-11-09  Karl Berry  <karl@gnu.org>
20824
20825         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
20826
20827 2003-11-06  Paul Eggert  <eggert@twinsun.com>
20828
20829         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
20830         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
20831         Reject sizes of exactly SIZE_MAX bytes.
20832         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
20833         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
20834
20835 2003-11-05  Bruno Haible  <bruno@clisp.org>
20836
20837         * lib/xsize.h: Include limits.h, to avoid a possible collision with
20838         SIZE_MAX defined in <limits.h> on Solaris.
20839
20840 2003-11-04  Jim Meyering  <jim@meyering.net>
20841
20842         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
20843         variable names, rather than @VAR@.
20844         * modules/poll: Likewise.
20845
20846 2003-11-04  Bruno Haible  <bruno@clisp.org>
20847
20848         * modules/xsize: New file.
20849         * modules/linebreak: Depend on xsize.
20850         * MODULES.html.sh (func_all_modules): Add xsize.
20851
20852 2003-11-04  Bruno Haible  <bruno@clisp.org>
20853
20854         * m4/xsize.m4: New file.
20855
20856 2003-11-04  Bruno Haible  <bruno@clisp.org>
20857
20858         * lib/xsize.h: New file.
20859         * lib/linebreak.c: Include xsize.h.
20860         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
20861         argument for overflow.
20862         Suggested by Paul Eggert.
20863
20864 2003-11-03  Karl Berry  <karl@gnu.org>
20865
20866         * config/config.{guess,sub}: update from config.
20867
20868 2003-11-03  Jim Meyering  <jim@meyering.net>
20869
20870         * modules/userspec (lib_SOURCES): Add userspec.h.
20871         (Include): Add "userspec.h".
20872         Improve description.
20873
20874 2003-11-03  Jim Meyering  <jim@meyering.net>
20875
20876         * lib/userspec.c: Include "userspec.h".
20877         * lib/userspec.h: New file.
20878
20879 2003-11-03  Bruno Haible  <bruno@clisp.org>
20880
20881         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
20882
20883 2003-11-03  Bruno Haible  <bruno@clisp.org>
20884
20885         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
20886         available, to avoid (extremely rare) race condition.
20887         Suggested by Paul Eggert.
20888
20889 2003-11-02  Karl Berry  <karl@gnu.org>
20890
20891         * config/srclist.txt (vasprintf.c): sync broken, sigh.
20892
20893 2003-10-31  Paul Eggert  <eggert@twinsun.com>
20894
20895         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
20896         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
20897         (read_filesystem_list): Set and use me_type_malloced.
20898         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
20899         whatever the type happens to be), for brevity and consistency.
20900         Check for size calculation overflow on Alphas running OSF/1.
20901
20902 2003-10-31  Jim Meyering  <jim@meyering.net>
20903
20904         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
20905
20906         * lib/linebuffer.c: Include <string.h> for declaration of memset.
20907
20908 2003-10-30  Paul Eggert  <eggert@twinsun.com>
20909             Bruno Haible  <bruno@clisp.org>
20910
20911         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
20912         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
20913
20914 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20915
20916         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
20917         netbsd*-gnu*.  Suggested by Robert Millan.
20918
20919 2003-10-29  Paul Eggert  <eggert@twinsun.com>
20920
20921         * modules/group-member: Depend on stdbool.
20922
20923 2003-10-29  Paul Eggert  <eggert@twinsun.com>
20924
20925         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
20926
20927 2003-10-29  Paul Eggert  <eggert@twinsun.com>
20928
20929         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
20930         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
20931         after the 'gnu' in these cases.  This fixes some bugs in the
20932         previous change, and is based on suggestions by Robert Millan.
20933
20934 2003-10-29  Paul Eggert  <eggert@twinsun.com>
20935
20936         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
20937         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
20938         no longer needed.
20939         * lib/quotearg.c (quotearg_n_options): Use it.
20940         * lib/group-member.c: Include <stdbool.h>.
20941         (free_group_info): Arg is now const *; don't free arg.
20942         (get_group_info): Now returns bool and accepts struct group_info *,
20943         rather than returning a malloc'ed struct group_info *.
20944         All uses changed.  Check for overflow in internal size calculation.
20945
20946         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
20947         rather than xmalloc/xrealloc.
20948         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
20949         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
20950         conformance bug: the old code used a pointer after freeing the
20951         storage that it addressed.
20952         * lib/hash.c (hash_initialize): Simplify the code by using
20953         xalloc_oversized rather than doing it by hand.
20954         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
20955         the buffer preserved.  Use free and xmalloc instead.
20956         * lib/quotearg.c (quotearg_n_options): Likewise.
20957         Use a simpler test for size overflow.  Don't use xalloc_oversized
20958         because unsigned int might be wider than size_t (!); this suggests
20959         that we should switch from unsigned int to size_t for slot numbers.
20960
20961 2003-10-28  Paul Eggert  <eggert@twinsun.com>
20962
20963         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
20964         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
20965         NetBSD kernels.  Requested by Richard Stallman.
20966
20967 2003-10-27  Paul Eggert  <eggert@twinsun.com>
20968
20969         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
20970         to allocate the returned structure.  Do not allocate a subarray,
20971         as x2nrealloc will do that.
20972         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
20973         instead of xnrealloc.
20974         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
20975
20976 2003-10-27  Bruno Haible  <bruno@clisp.org>
20977
20978         * lib/stdbool_.h: Better support for BeOS.
20979
20980 2003-10-26  Paul Eggert  <eggert@twinsun.com>
20981
20982         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
20983         now uses inline.
20984
20985 2003-10-26  Paul Eggert  <eggert@twinsun.com>
20986
20987         * lib/xalloc.h (xalloc_oversized): New static inline function, for
20988         callers that want to do their own size-overflow checking.  Include
20989         <stdbool.h>, since xalloc_oversized returns bool.
20990         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
20991         to use xalloc_oversized.
20992
20993         Add two functions x2realloc, x2nrealloc, for programs that grow
20994         arrays dynamically by doubling their sizes.
20995         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
20996         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
20997         New functions.
20998
20999         Port to C99 semantics for 'inline' of external functions.
21000         Bug reported by Bruno Haible.
21001         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
21002         with the old contents of xnmalloc.
21003         (xnmalloc, xmalloc): Use it.
21004         (xnrealloc_inline): New static inline function,
21005         with the old contents of xnrealloc.
21006         (xnrealloc, xrealloc): Use it.
21007
21008         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
21009         that.
21010
21011 2003-10-26  Karl Berry  <karl@gnu.org>
21012
21013         * config/srclist.txt (COPYING.DOC): no longer available from
21014         /gd/gnuorg; don't know where the ultimate source is.
21015
21016 2003-10-25  Paul Eggert  <eggert@twinsun.com>
21017
21018         Fix several address-calculation bugs in the hash modules,
21019         plus some minor code cleanup.
21020
21021         * lib/hash.h: Include <stdbool.h>, for bool.
21022         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
21023         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
21024         hash_get_n_entries, hash_get_max_bucket_length,
21025         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
21026         hash_rehash): Use size_t rather than unsigned.
21027         * lib/hash.c (struct hash_table, hash_get_n_buckets,
21028         hash_get_n_buckets_used, hash_get_n_entries,
21029         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
21030         hash_get_entries, hash_do_for_each, hash_string, is_prime,
21031         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
21032         Likewise.
21033         (SIZE_MAX): Define if not defined.
21034         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
21035         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
21036         hash_print):
21037         Use const * when possible.
21038         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
21039         (check_tuning): Fix bug: if tuning parameters were very close to
21040         0 or 1, rounding errors could have caused subscript violations.
21041         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
21042         (hash_initialize): Add 'fail:' label
21043         to free table and return NULL, and use it to simplify code.
21044         Use calloc rather than clearing the storage ourself.
21045         (hash_initialize, hash_rehash): Check for arithmetic overflow in
21046         buffer size calculations.
21047         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
21048         Include <stddef.h>, for size_t.
21049         * lib/hash-pjw.c (hash_pjw): Likewise.
21050         Switch to method described by Bruno Haible.
21051         Include <limits.h>, for CHAR_BIT.
21052         (SIZE_BITS): New macro.
21053
21054 2003-10-23  Paul Eggert  <eggert@twinsun.com>
21055
21056         * m4/getline.m4 (AM_FUNC_GETLINE):
21057         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
21058         hosts.  Problem reported by Derek Robert Price in
21059         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
21060         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
21061         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
21062
21063 2003-10-21  Paul Eggert  <eggert@twinsun.com>
21064
21065         * lib/getndelim2.c (getndelim2): When size calculation overflows,
21066         ceiling the allocation at NMAX bytes rather than silently
21067         discarding input bytes before NMAX is reached.  This makes
21068         a difference only if NMAX exceeds SIZE_MAX / 2.
21069
21070         * lib/obstack.c: Merge from glibc.
21071         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
21072         Add libc_hidden_def (_obstack_newchunk).
21073         (_obstack_free) [! defined _LIBC]: Remove.
21074         [defined _LIBC]: Make a strong alias from obstack_free, rather than
21075         a clone of the function body.
21076         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
21077         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
21078
21079         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
21080         glibc.
21081         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
21082         arg to memcpy.
21083
21084         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
21085         (obstack_ptr_grow_fast, obstack_int_grow_fast):
21086         Don't use lvalue casts, as GCC plans to remove support for them
21087         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
21088         was also present in the non-GCC version, indicating that this
21089         code had always been buggy and had never been widely used.
21090         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
21091         Use the fast variant of each macro, rather than copying the
21092         definiens of the fast variant; that way, we'll be more likely to
21093         catch future bugs in the fast variants.
21094
21095 2003-10-20  Bruno Haible  <bruno@clisp.org>
21096
21097         * modules/wait-process: New file.
21098         * MODULES.html.sh (func_all_modules): Add wait-process.
21099
21100 2003-10-20  Bruno Haible  <bruno@clisp.org>
21101
21102         * m4/wait-process.m4: New file.
21103
21104 2003-10-20  Bruno Haible  <bruno@clisp.org>
21105
21106         * lib/wait-process.h: New file, from GNU gettext.
21107         * lib/wait-process.c: New file, from GNU gettext.
21108
21109 2003-10-19  Jim Meyering  <jim@meyering.net>
21110
21111         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
21112         HPUX 10.20.
21113
21114 2003-10-18  Karl Berry  <karl@gnu.org>
21115
21116         * config/config.guess: update from config.
21117
21118 2003-10-16  Paul Eggert  <eggert@twinsun.com>
21119
21120         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
21121         (getgroups): First arg is int, not size_t.
21122         Don't let 'free' mangle errno.
21123
21124 2003-10-16  Paul Eggert  <eggert@twinsun.com>
21125
21126         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
21127
21128 2003-10-16  Karl Berry  <karl@gnu.org>
21129
21130         * config/config.{guess,sub}: update from config.
21131
21132 2003-10-16  Jim Meyering  <jim@meyering.net>
21133
21134         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
21135         memcpy.
21136
21137 2003-10-15  Paul Eggert  <eggert@twinsun.com>
21138
21139         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
21140         (SIZE_MAX): Remove.
21141         (new_exclude, add_exclude_file): Initial size no longer needs to
21142         be a power of 2.
21143         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
21144         our own address arithmetic overflow checking.
21145
21146         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
21147         (fnmatch): Do not alloca more than 2000 wide characters;
21148         instead, use malloc for large buffers.
21149         Check for address arithmetic overflow, and return -1
21150         with errno set to ENOMEM in that case.
21151         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
21152         (NEW_PATTERN): Do not alloca more than 8000 bytes;
21153         instead, return -1.  Check for address arithmetic overflow.
21154
21155 2003-10-14  Paul Eggert  <eggert@twinsun.com>
21156
21157         Handle invalid suffixes and overflow independently, so that
21158         callers can treat them independently as needed.  Fix some bugs in
21159         suffix handling, e.g., "100k@" was not diagnosed as an invalid
21160         suffix for a human-readable blocksize.  The major caller-visible
21161         change is the addition of a new
21162         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
21163         that both overflow and suffix chars were found.
21164
21165         * lib/human.c (humblock): Don't check separately for invalid suffix
21166         char; that is xstrtoumax's job (now that its bug is fixed).
21167         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
21168         INTMAX_MAX]: New macros.
21169         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
21170         TYPE_MAXIMUM): New macros.
21171         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
21172         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
21173         if overflow occurs, as it's what __strtol does and it's more useful
21174         in practice.
21175         (__xstrtol): If __strtol reports some error other than ERANGE,
21176         reflect it to the caller as LONGINT_INVALID.  If it reports
21177         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
21178         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
21179         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
21180         value.
21181         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
21182         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
21183         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
21184         [defined UINTMAX_MAX]: New macros.
21185
21186 2003-10-14  Bruno Haible  <bruno@clisp.org>
21187
21188         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
21189
21190 2003-10-14  Bruno Haible  <bruno@clisp.org>
21191
21192         * m4/sig_atomic_t: New file, from GNU gettext.
21193         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
21194
21195 2003-10-14  Bruno Haible  <bruno@clisp.org>
21196
21197         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
21198         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
21199         Also use volatile where needed.
21200
21201 2003-10-12  Paul Eggert  <eggert@twinsun.com>
21202
21203         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
21204         Change maintainer from Bruno Haible to 'all'.
21205
21206 2003-10-12  Paul Eggert  <eggert@twinsun.com>
21207
21208         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
21209
21210 2003-10-12  Paul Eggert  <eggert@twinsun.com>
21211
21212         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
21213         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
21214         and define in terms of the other primitives.
21215         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
21216         (SIZE_MAX): Define if not already defined.
21217         (array_size_overflow): New function.
21218         (xalloc_die): Abort instead of exiting if 'error' returns.
21219         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
21220         (xmalloc, xrealloc): Use them.
21221         (xcalloc): Check for address arithmetic overflow.
21222         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
21223         a bit faster than strcpy.
21224
21225 2003-10-10  Simon Josefsson  <jas@extundo.com>
21226
21227         * modules/argp (Depends-on): Add restrict and strcase.
21228
21229 2003-10-10  Simon Josefsson  <jas@extundo.com>
21230
21231         * m4/argp.m4: Add AC_C_INLINE.
21232
21233 2003-10-08  Paul Eggert  <eggert@twinsun.com>
21234
21235         Merge getpass from libc, plus a few fixes.
21236
21237         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
21238         Include <stdbool.h>.
21239         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
21240         __fsetlocking to empty.
21241         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
21242         do include <bits/libc-lock.h>.
21243         Do not include <fcntl.h>; not needed.
21244         [_LIBC]: Include <wchar.h>.
21245         (NOTCANCEL_MODE): New macro.
21246         (flockfile, funlockfile) [_LIBC]: New macros.
21247         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
21248         [!_LIBC]: New macros.
21249         (call_fclose): New function.
21250         (getpass): Use it.  Save tty stream separately; this simplifies the
21251         code and makes it more reliable if stdin happens to equal stdout.
21252         Invoke __fsetlocking on tty.
21253         Handle thread cancellation if needed.
21254         Namespace cleanup (use __tcgetattr, __getline).
21255         Use bool for Booleans.
21256         [USE_IN_LIBIO]: Handle wide streams.
21257         [!_LIBC]: Unconditionally do the fseek, since we don't know what
21258         stream might go where.
21259
21260         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
21261         doesn't have to include <stdio.h> before us.
21262         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
21263         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
21264         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
21265         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
21266         if not declared, so that we can use getpass.c code from libc without
21267         rewriting it.
21268         (flockfile, ftrylockfile, funlockfile): New macros.
21269
21270 2003-10-08  Paul Eggert  <eggert@twinsun.com>
21271
21272         * modules/getpass: Depend on stdbool.
21273
21274 2003-10-08  Paul Eggert  <eggert@twinsun.com>
21275
21276         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
21277
21278 2003-10-07  Karl Berry  <karl@gnu.org>
21279
21280         * config/config.{guess,sub}: update from config.
21281
21282 2003-10-06  Jim Meyering  <jim@meyering.net>
21283             Bruno Haible  <bruno@clisp.org>
21284
21285         This lets translators provide better translations for the
21286         "Written by ..." part of --version output.
21287         * lib/version-etc.h: Include stdarg.h.
21288         (version_etc_copyright): Declare as readonly.
21289         (version_etc): Make this function variadic with a NULL-terminated list
21290         of author name strings.
21291         (version_etc_va): New declaration.
21292         * lib/version-etc.c: Include stdarg.h, stdlib.h.
21293         (version_etc_copyright): Declare as readonly.
21294         (version_etc_va): New function. Provide a different translatable string
21295         for each possible number of authors < 10. Abbreviate when there are 10
21296         authors or more.
21297         (version_etc): Make this function variadic. Call version_etc_va.
21298         Suggestion from Gary V. Vaughan.
21299
21300         * lib/long-options.h (parse_long_options): Change prototype: the
21301         authors string is moved to the end and becomes variadic.
21302         * lib/long-options.c: Include stdarg.h.
21303         (parse_long_options): Make this function variadic, too.
21304         Call version_etc_va, not version_etc.
21305
21306 2003-10-06  Bruno Haible  <bruno@clisp.org>
21307
21308         * modules/version-etc-2: Remove file.
21309         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
21310
21311 2003-10-06  Bruno Haible  <bruno@clisp.org>
21312
21313         * modules/fatal-signal: New file.
21314         * MODULES.html.sh (func_all_modules): Add fatal-signal.
21315
21316 2003-10-06  Bruno Haible  <bruno@clisp.org>
21317
21318         * m4/fatal-signal.m4: New file.
21319         * m4/signalblocking.m4: New file, from GNU gettext.
21320
21321 2003-10-06  Bruno Haible  <bruno@clisp.org>
21322
21323         * lib/version-etc-2.h: Remove file.
21324         * lib/version-etc-2.c: Remove file.
21325
21326 2003-10-06  Bruno Haible  <bruno@clisp.org>
21327
21328         * lib/fatal-signal.h: New file, from GNU gettext.
21329         * lib/fatal-signal.c: New file, from GNU gettext.
21330
21331 2003-10-05  Paul Eggert  <eggert@twinsun.com>
21332
21333         * README: Rework advice for preventing empty .o files.
21334         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
21335         not <sys/types.h>.
21336
21337 2003-10-04  Karl Berry  <karl@gnu.org>
21338
21339         * lib/argp*: update from libc.
21340
21341 2003-10-04  Karl Berry  <karl@gnu.org>
21342
21343         * config/config.{guess,sub}: update from config.
21344
21345 2003-10-02  Bruno Haible  <bruno@clisp.org>
21346
21347         * modules/lchown (Include): Add lchown.h.
21348         * modules/time_r (Include): Use "..." syntax.
21349         * modules/xgetdomainname (Include): Add xgetdomainname.h.
21350
21351 2003-10-01  Simon Josefsson  <jas@extundo.com>
21352
21353         * MODULES.html.sh (func_all_modules): Move gethostname from section
21354         'based on' to section 'lacking' POSIX:2001.
21355
21356 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
21357
21358         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
21359         to output mode on the same stream.
21360
21361 2003-09-29  Paul Eggert  <eggert@twinsun.com>
21362
21363         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
21364         Fix arg typo in previous patch.
21365
21366 2003-09-28  Jim Meyering  <jim@meyering.net>
21367
21368         * lib/error.c: Correct cpp indentation.
21369
21370 2003-09-27  Paul Eggert  <eggert@twinsun.com>
21371
21372         * modules/free: New file.
21373
21374 2003-09-27  Paul Eggert  <eggert@twinsun.com>
21375
21376         * m4/free.m4: New file.
21377
21378 2003-09-27  Paul Eggert  <eggert@twinsun.com>
21379
21380         * lib/minmax.h (MIN, MAX)
21381         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
21382         Omit the special code that used __typeof__, since we worry that
21383         it could be more trouble than it's worth.  See:
21384         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
21385         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
21386
21387         * lib/free.c: New file.
21388
21389 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
21390
21391         Trivial fixes to Makefile.am parts of module listings.
21392         * modules/strstr: Append strstr.h to lib_SOURCES.
21393         * modules/strcase: Likewise, for strcase.h.
21394
21395 2003-09-27  Karl Berry  <karl@gnu.org>
21396
21397         * config/mkinstalldirs: update from automake.
21398
21399 2003-09-26  Paul Eggert  <eggert@twinsun.com>
21400
21401         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
21402         (error_tail): Do not loop, reallocating temporary buffer, since
21403         the output cannot contain more wide characters than the input
21404         contains bytes, the size must be big enough already.  This avoids
21405         one potential size overflow calculation.  Check for size overflow
21406         when calculating temporary buffer size.  Free temporary buffer
21407         when done, if it was allocated with malloc; this plugs a memory
21408         leak.  Remove casts from void * to pointers, that are no longer
21409         needed now that we're assuming C89 or better.
21410
21411         Merge error changes from glibc.
21412
21413         * lib/error.c, error.h: Update copyright notice header to match glibc.
21414         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
21415         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
21416         Disable cancellation while printing error.
21417         * lib/error.h: Prepend __ to parameter names.
21418
21419 2003-09-26  Jim Meyering  <jim@meyering.net>
21420
21421         * lib/error.c (error_tail): Move some declarations
21422         into inner scope where the local variables are used.
21423
21424 2003-09-26  Bruno Haible  <bruno@clisp.org>
21425
21426         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
21427         stpncpy().
21428         Don't define stpncpy through config.h; it's now done through stpncpy.h.
21429
21430 2003-09-26  Bruno Haible  <bruno@clisp.org>
21431
21432         * lib/stpncpy.h (gnu_stpncpy): New declaration.
21433         (stpncpy): Define as alias for gnu_stpncpy.
21434         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
21435
21436 2003-09-25  Simon Josefsson  <jas@extundo.com>
21437
21438         * lib/xgetdomainname.h: New file.
21439         * lib/xgetdomainname.c: New file.
21440
21441 2003-09-25  Simon Josefsson  <jas@extundo.com>
21442             Bruno Haible  <bruno@clisp.org>
21443
21444         * modules/getdomainname: New file.
21445         * modules/xgetdomainname: New file.
21446         * MODULES.html.sh (func_all_modules): Add getdomainname,
21447         xgetdomainname.
21448
21449 2003-09-25  Simon Josefsson  <jas@extundo.com>
21450             Bruno Haible  <bruno@clisp.org>
21451
21452         * m4/getdomainname.m4: New file.
21453
21454 2003-09-25  Simon Josefsson  <jas@extundo.com>
21455             Bruno Haible  <bruno@clisp.org>
21456
21457         * lib/getdomainname.h: New file.
21458         * lib/getdomainname.c: New file.
21459
21460 2003-09-25  Karl Berry  <karl@gnu.org>
21461
21462         * lib/argp-fmtstream.c, argp-help.c: update from libc.
21463
21464 2003-09-25  Karl Berry  <karl@gnu.org>
21465
21466         * config/install-sh: update from automake.
21467
21468 2003-09-25  Bruno Haible  <bruno@clisp.org>
21469
21470         * modules/version-etc-2: New file, from modules/version-etc with
21471         modifications.
21472         * MODULES.html.sh (func_all_modules): Add version-etc-2.
21473
21474 2003-09-25  Bruno Haible  <bruno@clisp.org>
21475
21476         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
21477         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
21478
21479 2003-09-24  Simon Josefsson  <jas@extundo.com>
21480
21481         * modules/xgethostname: Add xgethostname.h.
21482
21483 2003-09-24  Paul Eggert  <eggert@twinsun.com>
21484
21485         * lib/linebuffer.c (freebuffer): Don't free the argument, just
21486         the buffer associated with the argument.  Bug reported by
21487         Simon Josefsson.
21488
21489 2003-09-24  Paul Eggert  <eggert@twinsun.com>
21490
21491         * README: Document assumptions that 'int' is at least 32 bits
21492         wide, that integer arithmetic is 2's complement without overflow,
21493         that there are no holes in integer values, that adding sizes of
21494         two nonoverlapping objects can't overflow, and that all-bits-zero
21495         yields scalar zero.  Fix spelling and capitalization typos.
21496
21497 2003-09-19  Karl Berry  <karl@gnu.org>
21498
21499         * lib/argp.h: update from libc.
21500
21501 2003-09-17  Paul Eggert  <eggert@twinsun.com>
21502
21503         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
21504         to avoid spurious warnings like "AC_RUN_IFELSE was called before
21505         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
21506
21507 2003-09-17  Paul Eggert  <eggert@twinsun.com>
21508
21509         * gnulib-tool: Use "test -h", not "test -L", for portability
21510         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
21511         (tags_regexp): Remove, since \| doesn't conform to POSIX.
21512         (sed_extract_prog): Issue s commands one-by-one, rather than
21513         using \| in one s command.
21514
21515 2003-09-16  Paul Eggert  <eggert@twinsun.com>
21516
21517         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
21518         input error, instead of returning NULL the next time we are called
21519         (and therefore losing track of errno).
21520
21521 2003-09-16  Bruno Haible  <bruno@clisp.org>
21522
21523         * gnulib-tool (func_create_testdir): Warn about duplicated
21524         dependencies.
21525
21526 2003-09-15  Paul Eggert  <eggert@twinsun.com>
21527
21528         * modules/argmatch, modules/fatal, modules/obstack,
21529         modules/xalloc, modules/xgethostname: Sort dependencies by
21530         importance, not alphabetically.
21531
21532 2003-09-15  Paul Eggert  <eggert@twinsun.com>
21533
21534         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
21535         fails, so that the caller gets the proper errno.
21536
21537         * lib/readutmp.c (read_utmp): Likewise.
21538         Check for fstat error.  Close stream and free storage
21539         when failing.
21540
21541 2003-09-14  Karl Berry  <karl@gnu.org>
21542
21543         * config/srclist.txt (strdup.c): disable for c89 changes.
21544
21545 2003-09-14  Jim Meyering  <jim@meyering.net>
21546
21547         * lib/getloadavg.c: Correct cpp indentation.
21548         * lib/strdup.c: Likewise.
21549         * lib/vasnprintf.c: Likewise.
21550
21551 2003-09-14  Bruno Haible  <bruno@clisp.org>
21552
21553         * modules/fwriteerror: New file.
21554         * MODULES.html.sh (func_all_modules): Add fwriteerror.
21555
21556 2003-09-14  Bruno Haible  <bruno@clisp.org>
21557
21558         * lib/fwriteerror.h: New file.
21559         * lib/fwriteerror.c: New file.
21560
21561 2003-09-12  Paul Eggert  <eggert@twinsun.com>
21562
21563         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
21564         modules/xgethostname, modules/xalloc: Depend on exit.
21565
21566 2003-09-12  Paul Eggert  <eggert@twinsun.com>
21567
21568         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
21569
21570         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
21571         and AC_MINIX, too, so that their extensions are available.
21572
21573         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
21574         This macro has been superseded by gl_BACKUPFILE.
21575
21576         More patches to assume C89 or better.
21577
21578         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
21579
21580         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
21581         unconditionally.
21582         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
21583         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
21584         Include <string.h>, <stdlib.h> unconditionally.
21585         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
21586         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
21587         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
21588         headers or for string.h.
21589         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
21590         or strtoul.
21591
21592         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
21593         headers.
21594         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
21595         * m4/userspec.m4 (gl_USERSPEC): Likewise.
21596         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
21597         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
21598         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
21599         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
21600         memcpy, memset.
21601         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
21602         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
21603         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
21604         strtol.
21605         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
21606         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
21607         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
21608         strtoul.
21609
21610 2003-09-12  Paul Eggert  <eggert@twinsun.com>
21611
21612         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
21613         * lib/obstack.c [!defined _LIBC]: Likewise.
21614         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
21615         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
21616         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
21617
21618         More changes to assume C89 or better.
21619
21620         * lib/error.c (error_tail): Assume vprintf.
21621
21622         * lib/argmatch.c (getenv): Remove decl.
21623         * lib/progreloc.c (get_full_program_name): Define via prototype.
21624         * lib/setenv.c (clearenv): Likewise.
21625         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
21626         needed.
21627         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
21628         (malloc, memcpy): Remove decls.
21629         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
21630         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
21631         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
21632         (memcpy): Remove macro.
21633         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
21634         (__P): Remove.  All uses removed.
21635         (PTR): Remove.  All uses changed to void *.
21636         (CHAR_BIT, NULL): Remove.
21637         (spaces, zeros, memset_space, memset_zero)
21638         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
21639         Remove.
21640         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
21641         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
21642         Define with prototype.
21643         Remove now-unnecessary prototype decl.
21644         (extra_args_spec): Assume ANSI C.  All uses changed.
21645         (extra_args_spec_iso): Remove.
21646         (my_strftime, emacs_strftimeu): Define via prototype.
21647         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
21648         unconditionally.
21649         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
21650         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
21651         (strtoul, strtol): Remove decls.
21652         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
21653         LONG_MAX): Remove.
21654         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
21655         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
21656         (LOCALE_PARAM_PROTO): New macro.
21657         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
21658         (INTERNAL (strtol), strtol): Define with a prototype.
21659         (PARAMS): Remove.  All uses removed.
21660         * lib/tempname.c: Include <string.h> unconditionally.
21661         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
21662         * lib/xgethostname.c (main): Define with a prototype.
21663         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
21664         Include <stdlib.h> unconditionally.
21665         (calloc, malloc, realloc, free): Remove decls.
21666         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
21667         Include <stdlib.h> unconditionally.  Sort include file names.
21668         (strtod): Remove.
21669         (xstrtod): Define with a prototype.
21670         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
21671         (strtol, strtoul): Remove decls.
21672
21673 2003-09-11  Paul Eggert  <eggert@twinsun.com>
21674
21675         More patches to assume C89 or better.
21676         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
21677         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
21678         string.h, memchr, STDC_HEADERS.
21679
21680 2003-09-11  Paul Eggert  <eggert@twinsun.com>
21681
21682         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
21683         Include <stdlib.h>, <string.h> unconditionally.
21684         Remove now-unnecessary cast to char *.
21685         * lib/strnlen.c: Include <string.h> unconditionally.
21686         * lib/yesno.c (yesno): Define with a prototype.
21687
21688 2003-09-11  Bruno Haible  <bruno@clisp.org>
21689
21690         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
21691
21692 2003-09-10  Jim Meyering  <jim@meyering.net>
21693
21694         * lib/error.c: Correct indentation of cpp directives.
21695
21696 2003-09-10  Bruno Haible  <bruno@clisp.org>
21697
21698         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
21699         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
21700         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
21701         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
21702         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
21703         <stdlib.h> and <string.h> checks.
21704         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
21705         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
21706
21707 2003-09-10  Bruno Haible  <bruno@clisp.org>
21708
21709         * lib/strcspn.c: Include <string.h> unconditionally.
21710         * lib/strpbrk.c: Include <string.h> unconditionally.
21711         * lib/strstr.c: Include <string.h> unconditionally.
21712         * lib/unicodeio.c: Include <string.h> unconditionally.
21713         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
21714         * lib/unsetenv.c: Likewise.
21715         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
21716         * lib/yesno.c: Include <stdlib.h> unconditionally.
21717         (rpmatch): Add prototype.
21718
21719 2003-09-09  Paul Eggert  <eggert@twinsun.com>
21720
21721         More patches to assume C89 or better.
21722         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
21723         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
21724         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
21725         or for string.h.
21726         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
21727         stdlib.h.
21728         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
21729         C headers.
21730         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
21731         string.h.
21732         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
21733         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
21734         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
21735         or for string.h.
21736         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
21737         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
21738         C headers.
21739         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
21740         memcpy.
21741         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
21742         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
21743         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
21744         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
21745         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
21746         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
21747         string.h, free.
21748         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
21749         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
21750         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
21751         C headers, or for string.h.
21752         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
21753         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
21754         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
21755         headers, memory.h, stdlib.h, string.h, strings.h.
21756         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
21757         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
21758         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
21759         strchr.
21760         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
21761         headers, memory.h, string.h.
21762         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
21763         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
21764         free.
21765         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
21766         headers.
21767         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
21768         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
21769         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
21770         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
21771         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
21772
21773 2003-09-09  Paul Eggert  <eggert@twinsun.com>
21774
21775         More K&R removal.
21776
21777         * lib/acosl.c (main): Use a prototype.
21778         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
21779         tanl.c: Likewise.
21780
21781         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
21782
21783         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
21784         (getopt, etopt_long, getopt_long_only, _getopt_internal)
21785         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
21786         with a prototype.
21787         * lib/getopt.c (const): Remove macro.
21788         Include <string.h> unconditionally.
21789         (my_index): Remove; all uses changed to strchr.
21790         (strlen): Remove decl.
21791         (exchange): Remove forward decl; no longer needed.
21792         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
21793         Define with prototype.
21794         * lib/getopt1.c (const): Remove macro.
21795         (getopt_long, getopt_long_only, main): Define with prototype.
21796
21797         * lib/getugroups.c: Include <string.h> unconditionally.
21798
21799         * lib/getusershell.c: Include <stdlib.h> unconditionally.
21800         (getusershell, setusershell, endusershell, readname, main):
21801         Define with prototypes.
21802
21803         * lib/group-member.c: Include group-member.h first.
21804         Include <stdlib.h> unconditionally.
21805
21806         * lib/hard-locale.c: Include hard-locale.h first.
21807         Include <stdlib.h>, <string.h> unconditionally.
21808
21809         * lib/hash.c (free, malloc): Remove decls.
21810         Include <stdlib.h> unconditionally.
21811
21812         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
21813         (getenv): Do not declare.
21814
21815         * lib/idcache.c: Include <string.h> unconditionally.
21816
21817         * lib/long-options.c: Include long-options.h first, to test interface.
21818         Include <stdlib.h> unconditionally.
21819
21820         * lib/makepath.c: Include makepath.h first, to test interface.
21821         Include <stdlib.h> and <string.h> unconditionally.
21822
21823         * lib/linebuffer.c: Include <stdlib.h>.
21824         (free): Remove decl.
21825
21826         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
21827         stddef.h. rpl_malloc returns void *, not char *.
21828         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
21829         prototype.
21830
21831         * lib/md5.h: Include <limits.h> unconditionally.
21832         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
21833         (__P): Remove; all uses removed.
21834         * lib/md5.c: Include "md5.h" first.
21835         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
21836         md5_buffer, md5_process_bytes, md5_process_block):
21837         Define with prototypes.
21838         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
21839         * lib/sha.c: Include "sha.h" first.
21840         Include <stdlib.h>, <string.h> unconditionally.
21841
21842         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
21843         * lib/memcmp.c (__ptr_t): Likewise.
21844         * lib/memrchr.c (__ptr_t): Likewise.
21845         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
21846         Include <string.h> unconditionally.
21847         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
21848         * lib/memchr.c: Include <stdlib.h> unconditionally.
21849         * lib/memchr.c (LONG_MAX): Remove.
21850         * lib/memrchr.c (LONG_MAX): Likewise.
21851         * lib/memchr.c (__memchr): Define via a prototype.
21852         * lib/memrchr.c (__memrchr): Likewise.
21853         * lib/memcmp.c (__P): Remove, and remove all uses.
21854         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
21855         Remove forward decls; no longer needed.
21856         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
21857         Use types required by C89 in prototype.
21858
21859         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
21860         * lib/savedir.c: Likewise.
21861         * lib/mkdir.c (free): Remove decl.
21862         * lib/rmdir.c (rmdir): Define with a prototype.
21863         * lib/savedir.c: Include savedir.h first, to test interface.
21864
21865         * lib/mktime.c (STDC_HEADERS): Remove.
21866         Include <stdlib.h>, <string.h> unconditionally.
21867
21868         * lib/modechange.c: Include <stdlib.h> unconditionally.
21869         (malloc): Remove decl.
21870
21871         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
21872         (free): Remove decl.
21873
21874         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
21875         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
21876         (This type really should be intptr_t, but that's a C99ism.)
21877         (_obstack_memcpy): Remove: all uses changed to memcpy.
21878         Include <string.h> unconditionally.
21879         (struct obstack): Assume __STDC__ for types of members
21880         chunkfun, freefun, extra_arg.
21881         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
21882         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
21883         obstack_begin, obstack_specify_allocation,
21884         obstack_specify_allocation_with_arg, obstack_chunkfun,
21885         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
21886         Remove unprototyped decls and the macros that use them.
21887         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
21888         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
21889         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
21890         (defined __STDC__ && __STDC__)]:
21891         Remove nonprototyped code.
21892         Include <stdlib.h> unconditionally.
21893         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
21894         _obstack_allocated_p, _obstack_free, obstack_free,
21895         _obstack_memory_used, print_and_abort):
21896         Define using prototypes.
21897         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
21898         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
21899         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
21900         obstack_next_free, obstack_object_size, obstack_room) [0]:
21901         Remove unused, unprototyped code.
21902
21903         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
21904
21905         * lib/physmem.c (physmem_total, physmem_available, main): Define
21906         with prototypes.
21907
21908         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
21909         (main): Define with a prototype.
21910
21911         * lib/posixver.c (getenv): Remove decl.
21912
21913         * lib/putenv.c (malloc): Returns void *, not char *.
21914         Include <string.h> unconditionally.
21915         (strchr, memcpy, NULL): Do not define.
21916
21917         * lib/readtokens.c: Include readtokens.h first, to test interface.
21918         Include <stdlib.h>, <string.h> unconditionally.
21919         (init_tokenbuffer): Define with a prototype.
21920
21921         * lib/regex.c (PARAMS): Remove.  All uses removed.
21922         All uses of _RE_ARGS removed, too.
21923         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
21924         unconditionally.
21925         (bzero): Assume memset exists.
21926         (memcmp, memcpy, NULL): Remove.
21927         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
21928         char, or assignments to local vars of type signed char.
21929         (init_syntax_once, PREFIX(extract_number_and_incr),
21930         PREFIX(print_partial_compiled_pattern),
21931         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
21932         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
21933         PREFIX(regex_grow_registers), PREFIX(regex_compile),
21934         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
21935         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
21936         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
21937         wcs_compile_range, byte_compile_range, truncate_wchar,
21938         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
21939         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
21940         count_mbs_length, wcs_re_match_2_internal,
21941         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
21942         PREFIX(alt_match_null_string_p),
21943         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
21944         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
21945         regfree, PREFIX(extract_number)): Define with prototype.  Remove
21946         now-unnecessary declaration, if any.
21947         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
21948         regcomp, regexec):
21949         Remove now-unnecessary casts among pointer types.
21950         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
21951
21952         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
21953         (free): Remove decl.
21954
21955         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
21956
21957         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
21958         (free): Remove decl.
21959
21960         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
21961         * lib/xgetcwd.c: Likewise.
21962
21963         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
21964         (free): Remove decl.
21965
21966         * lib/strchrnul.c (strchrnul): Define with a prototype.
21967         Fix bug: c_in was not converted to char before searching.
21968
21969         The following changes are not K&R related:
21970
21971         * lib/group-member.h: Include <sys/types.h>, so that this file is
21972         self-contained.
21973         * lib/makepath.h: Likewise.
21974
21975         * lib/getusershell.c (readname, default_index, line_size, readname):
21976         Use size_t, not int, for sizes.
21977         (readname): If the size overflows, report an error instead of
21978         looping forever.
21979
21980 2003-09-09  Paul Eggert  <eggert@twinsun.com>
21981
21982         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
21983         libc.
21984
21985 2003-09-09  Paul Eggert  <eggert@twinsun.com>
21986
21987         * README: New section: portability guidelines.
21988
21989 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
21990
21991         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
21992         C89 spec.
21993
21994 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
21995
21996         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
21997
21998 2003-09-08  Paul Eggert  <eggert@twinsun.com>
21999
22000         Assume C89 or better; remove K&R cruft.
22001         A few of these changes were first proposed by Derek Robert Price
22002         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
22003
22004         * lib/addext.c: Include <string.h> unconditionally.
22005         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
22006         Don't declare getenv or malloc.
22007
22008         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
22009         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
22010         (NULL): Remove.
22011         (find_stack_direction, alloca): Use prototypes.
22012
22013         * lib/atexit.c (atexit): Define using a prototype.
22014
22015         * lib/basename.c, dirname.c, stripslash.c:
22016         Include <string.h> unconditionally.
22017
22018         * lib/bcopy.c: Include <stddef.h>.
22019         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
22020
22021         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
22022
22023         * lib/error.h (error, error_at_line, error_print_progname)
22024         [! (defined (__STDC__) && __STDC__)]: Remove decls.
22025         * lib/error.c: Include error.h first, to check interface.
22026         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
22027         (VA_START): Remove; all uses changeed to va_start.
22028         (exit, strerror): Remove decls.
22029         (error_print_progname): Prototype uncondionally.
22030         Don't include <errno.h>; no longer needed.
22031         (private_strerror): Remove.
22032         (error_tail): Always define.
22033         (error, error_at_line): Assume C89 or better; always use prototypes.
22034         * lib/fatal.c: Include "fatal.h" first, to test interface.
22035         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
22036         (VA_START): Remove; all uses changed to va_start.
22037         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
22038         this case.
22039         (exit): Remove decl.
22040         (fatal): Prototype unconditionally.  Assume va_start works.
22041         Abort at end, to pacify gcc.
22042
22043         * lib/euidaccess.c (main): Define with a prototype.
22044
22045         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
22046
22047         * lib/exitfail.c: Include <stdlib.h> unconditionally.
22048
22049         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
22050         prototypes.
22051         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
22052         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
22053         (getenv): Remove decl.
22054         (fnmatch): Define using a prototype.
22055         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
22056         (FCT): Define using a prototype.
22057
22058         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
22059
22060         * lib/gethostname.c: Include <stddef.h>.
22061         (gethostname): Define with prototype.  Length is size_t, not int.
22062
22063 2003-09-08  Paul Eggert  <eggert@twinsun.com>
22064
22065         Assume C89 or better; remove K&R cruft.
22066         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
22067         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
22068         string.h, getenv, malloc.
22069         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
22070         headers.
22071         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
22072         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
22073         do not check for strerror.
22074         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
22075         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
22076         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
22077         do not check for doprnt or vprintf.
22078         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
22079         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
22080
22081 2003-09-08  Paul Eggert  <eggert@twinsun.com>
22082
22083         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
22084         getversion.c should have been removed then, but was accidentally
22085         preserved.
22086
22087         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
22088         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
22089
22090 2003-09-08  Karl Berry  <karl@gnu.org>
22091
22092         * config/config.sub, config.guess, srclistvars.sh: update from savannah
22093                 config, forget about prep.
22094
22095         * config/depcomp, missing: update from automake.
22096
22097 2003-09-07  Paul Eggert  <eggert@twinsun.com>
22098
22099         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
22100         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
22101
22102 2003-09-07  Paul Eggert  <eggert@twinsun.com>
22103
22104         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
22105         copy_tm_result.  Bug reported by Simon Josefsson in
22106         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
22107
22108 2003-09-06  Paul Eggert  <eggert@twinsun.com>
22109
22110         * m4/time_r.m4: New file.
22111         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
22112         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
22113         is. Check for timegm declaration.
22114         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
22115         Do not check for gmtime_r.
22116         Replace mktime if __mktime_internal does not exist and if mktime
22117         hasn't been replaced already.
22118
22119 2003-09-06  Paul Eggert  <eggert@twinsun.com>
22120
22121         * lib/time_r.c, lib/time_r.h: New files.
22122
22123         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
22124         __localtime_r.
22125         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
22126         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
22127
22128         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
22129         __gmtime_r.
22130         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
22131         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
22132         Include <time_r.h>.
22133
22134         * lib/timegm.c: Switch to glibc implementation, with the following
22135         changes:
22136         [defined HAVE_CONFIG_H]: Include <config.h>.
22137         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
22138         (__mktime_internal) [!defined _LIBC]: New decl.
22139         (__gmtime_r) [!defined _LIBC]: New macro and function.
22140         (timegm): Use a prototype, since gnulib assumes C89.
22141         Do not bother declaring tmp to be const, as it's not really usefu.
22142         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
22143         (timegm): Declare only if HAVE_DECL_TIMEGM.
22144
22145 2003-09-06  Paul Eggert  <eggert@twinsun.com>
22146
22147         * MODULES.html.sh (func_all_modules): Add time_r.
22148         * modules/time_r: New file.
22149         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
22150         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
22151
22152 2003-09-03  Paul Eggert  <eggert@twinsun.com>
22153
22154         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
22155         Bug reported by Lute Kamstra in
22156         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
22157
22158         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
22159         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
22160         course with correspondingly smaller numbers for tomorrow and
22161         yesterday.  From Tadayoshi Funaba.  Originally installed into
22162         sh-utils on 1999-08-07, but the patch got lost (I guess during the
22163         coreutils merge?).
22164
22165 2003-08-31  Simon Josefsson  <jas@extundo.com>
22166
22167         * modules/timegm: New file.
22168         * MODULES.html.sh (func_all_modules): Add timegm.
22169
22170 2003-08-31  Simon Josefsson  <jas@extundo.com>
22171
22172         * m4/timegm.m4: New file.
22173
22174 2003-08-31  Simon Josefsson  <jas@extundo.com>
22175
22176         * lib/timegm.h: New file.
22177         * lib/timegm.c: New file.  Based on
22178         wget-1.8.2/src/http.c:mktime_from_utc.
22179
22180 2003-08-31  Karl Berry  <karl@gnu.org>
22181
22182         * lib/argp.h: update from libc.
22183
22184 2003-08-28  Bruno Haible  <bruno@clisp.org>
22185
22186         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
22187         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
22188         followed by '#define fnmatch fnmatch_posix' gives an error.
22189
22190 2003-08-28  Bruno Haible  <bruno@clisp.org>
22191
22192         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
22193         warning on QNX, which defines O_BINARY to 000000.
22194
22195 2003-08-27  Jim Meyering  <jim@meyering.net>
22196
22197         * m4/mkstemp.m4: Require that the system mkstemp be able to create
22198         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
22199         would fail after 32.  Reported by Danny Levinson.  Details here:
22200         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
22201
22202 2003-08-24  Bruno Haible  <bruno@clisp.org>
22203
22204         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
22205         MSVC7 <stdio.h> is included later.
22206
22207 2003-08-22  Simon Josefsson  <jas@extundo.com>
22208
22209         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
22210
22211 2003-08-20  Karl Berry  <karl@gnu.org>
22212
22213         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
22214
22215 2003-08-20  Bruno Haible  <bruno@clisp.org>
22216
22217         * modules/progname: New file.
22218         * MODULES.html.sh (func_all_modules): Add progname.
22219
22220 2003-08-20  Bruno Haible  <bruno@clisp.org>
22221
22222         * lib/progname.h: New file, from GNU gettext.
22223         * lib/progname.c: New file, from GNU gettext.
22224         * lib/progreloc.c: New file, from GNU gettext.
22225
22226 2003-08-19  Jim Meyering  <jim@meyering.net>
22227
22228         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
22229         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
22230
22231 2003-08-19  Bruno Haible  <bruno@clisp.org>
22232
22233         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
22234         more.
22235
22236 2003-08-19  Bruno Haible  <bruno@clisp.org>
22237
22238         * lib/xstrdup.c: Assume <string.h> exists.
22239
22240 2003-08-18  Paul Eggert  <eggert@twinsun.com>
22241
22242         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
22243         in makefile rules.
22244
22245 2003-08-18  Jim Meyering  <jim@meyering.net>
22246
22247         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
22248         * m4/lib-ld.m4: Likewise.
22249
22250 2003-08-18  Jim Meyering  <jim@meyering.net>
22251
22252         * lib/setenv.h: Indent nested cpp directive.
22253         * lib/vasnprintf.c: Remove trailing blanks.
22254
22255 2003-08-17  Simon Josefsson  <jas@extundo.com>
22256
22257         * modules/xstrndup: New file.
22258         * MODULES.html.sh (func_all_modules): Add xstrndup.
22259
22260 2003-08-17  Simon Josefsson  <jas@extundo.com>
22261
22262         * modules/argp: Fix autoconf macro name. Add more dependencies.
22263
22264 2003-08-17  Simon Josefsson  <jas@extundo.com>
22265
22266         * m4/xstrndup.m4: New file.
22267
22268 2003-08-17  Simon Josefsson  <jas@extundo.com>
22269
22270         * m4/argp.m4: New file.
22271
22272 2003-08-17  Simon Josefsson  <jas@extundo.com>
22273             Bruno Haible  <bruno@clisp.org>
22274
22275         * lib/xstrndup.h: New file.
22276         * lib/xstrndup.c: New file.
22277
22278 2003-08-17  Bruno Haible  <bruno@clisp.org>
22279
22280         * modules/strndup (Files, Include): Add lib/strndup.h.
22281
22282 2003-08-17  Bruno Haible  <bruno@clisp.org>
22283
22284         * modules/euidaccess (Files): Add lib/euidaccess.h.
22285
22286 2003-08-17  Bruno Haible  <bruno@clisp.org>
22287
22288         * lib/strndup.h: New file.
22289
22290 2003-08-17  Bruno Haible  <bruno@clisp.org>
22291
22292         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
22293         like AC_GNU_SOURCE.
22294         * modules/extensions (configure.ac): Comment out the invocation of
22295         gl_USE_SYSTEM_EXTENSIONS.
22296
22297 2003-08-16  Paul Eggert  <eggert@twinsun.com>
22298
22299         Merges from coreutils, etc.
22300         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
22301         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
22302         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
22303         fixing a typo.
22304         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
22305         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
22306
22307 2003-08-16  Paul Eggert  <eggert@twinsun.com>
22308
22309         Document merge from coreutils.
22310         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
22311         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
22312         * modules/utime: Add m4/utimes-null.m4.
22313
22314 2003-08-16  Paul Eggert  <eggert@twinsun.com>
22315
22316         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
22317         space, undoing this 2003-08-12 change:
22318         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
22319
22320 2003-08-16  Paul Eggert  <eggert@twinsun.com>
22321
22322         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
22323         strtoul.c from libc, undoing this 2003-08-12 change:
22324         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
22325
22326 2003-08-16  Jim Meyering  <jim@meyering.net>
22327
22328         Merges from coreutils.
22329         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
22330         prefix.  Adjust cache variables similarly.  Create 500 rather than
22331         just 300 files, to exercise bug on Darwin6.5, too.
22332         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
22333         $missing_dir.
22334         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
22335         AM_SYS_POSIX_TERMIOS.
22336         Reported by mkc@mathdogs.com.
22337         Also change use of $am_cv_sys_posix_termios
22338         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
22339         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
22340         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
22341         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
22342         in /proc/mounts until it finds one with matching device number.  This
22343         is unnecessary when the FILE argument *is* a mount point.  No stat call
22344         is necessary in that case.  So, disable the statvfs-testing code on
22345         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
22346         as RedHat bug# 84846.
22347         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
22348         to 1MB, so as not to render systems with no stack size limit (e.g.,
22349         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
22350         Include <unistd.h>.  On some systems,
22351         it is required for the definition of _SC_PAGESIZE.
22352
22353 2003-08-16  Jim Meyering  <jim@meyering.net>
22354
22355         Merge from coreutils.
22356         * lib/xstrtoimax.c: #else #if -> #elif.
22357         * lib/xstrtoumax.c: Likewise.
22358
22359 2003-08-16  Jim Meyering  <jim@meyering.net>
22360
22361         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
22362         * m4/utimes.m4: Removed.
22363         * m4/utimes-null.m4: Renamed from utimes.m4.
22364
22365         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
22366         to 1MB, so as not to render systems with no stack size limit (e.g.,
22367         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
22368         Include <unistd.h>.  On some systems,
22369         it is required for the definition of _SC_PAGESIZE.
22370
22371 2003-08-16  Jim Meyering  <jim@meyering.net>
22372         and Paul Eggert  <eggert@cs.ucla.edu>
22373
22374         Merges from coreutils, etc.
22375
22376         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
22377         using the latest version from cvs.  This avoids problems with #line
22378         directives using a vendor (Sun) compiler.
22379         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
22380         Don't set GETGROUPS_LIB here; now it's
22381         done via getgroups.m4's wrapper function.
22382         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
22383         rather than just in sh-util/configure.in, so that the
22384         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
22385         same.
22386         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
22387         AC_FUNC_GETLOADAVG where to find getloadavg.c.
22388         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
22389         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
22390         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
22391         Remove code that is now done by the newly-required macros.
22392         Append $(EXEEXT) to DF_PROG.
22393         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
22394         Do not invoke or require the following here,
22395         since prereq.m4 or some gnulib .m4 now does this for us:
22396         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
22397         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
22398         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
22399         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
22400         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
22401         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
22402         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
22403         AC_FUNC_OBSTACK.
22404         Do not replace the following functions, as this is now the job
22405         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
22406         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
22407         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
22408         atexit getpass, strdup, getpagesize.
22409         Replace 'raise'.
22410         Do not check for the following functions, as this is now the job
22411         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
22412         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
22413         setregid.
22414         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
22415         Check for sys/sysctl.h.
22416         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
22417         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
22418         of checking for ssize_t ourselves.
22419
22420         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
22421         Require every macro that gnulib/modules/* suggests for us.
22422         (jm_PREREQ_ADDEXT): New macro.
22423         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
22424         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
22425
22426         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
22427         (gl_PHYSMEM): Use it.
22428         Also check for `table' function.
22429         Check for new headers and functions.
22430         Add check for sys/sysmp.h.
22431         With suggestions from Kaveh Ghazi.
22432         Ignore headers that are present but cannot be compiled.  This
22433         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
22434         C 5.4.
22435
22436 2003-08-15  Paul Eggert  <eggert@twinsun.com>
22437
22438         Document merge from coreutils.
22439         * modules/userspec: Depend on posixver.
22440         * modules/strftime: Depend on tzset.
22441
22442 2003-08-15  Paul Eggert  <eggert@twinsun.com>
22443
22444         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
22445         rather than tab, after '#' in shell-script copyright notices.
22446         Suggested by Bruno Haible.
22447
22448 2003-08-15  Paul Eggert  <eggert@twinsun.com>
22449
22450         * config/srclist-update: Use three spaces, rather than tab, after '#'
22451         in shell-script copyright notices.  Suggested by Bruno Haible.
22452         Remove unnecessary parenthesization in regular expression.
22453
22454 2003-08-15  Jim Meyering  <jim@meyering.net>
22455
22456         Merge from coreutils.
22457         * lib/xgethostname.c: Include <stdlib.h>.
22458         (xghostname): Don't exit for anything other than memory-related
22459         failure; just return NULL.
22460         * lib/userspec.c: Include "posixver.h".
22461         (parse_user_spec): Accept `.' as a separator only
22462         in pre-POSIX-200112 mode.
22463         * lib/strtoimax.c: Use #elif rather than #else #if.
22464         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
22465         Remove function, now that we can rely on a working tzset function.
22466         [!_LIBC]: Ensure that the required autoconf test has been run.
22467         [!defined _NL_CURRENT && HAVE_STRFTIME]:
22468         Use underlying_strftime for %r.
22469         * lib/sha.c: Merge in some clean-up and optimization changes from
22470         glibc.
22471         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
22472         Ensure that it is a multiple of 64.
22473         Rearrange loop exit tests so as to avoid performing an
22474         additional fread after encountering an error or EOF.
22475         * lib/realloc.c: Update copyright date.
22476
22477 2003-08-15  Jim Meyering  <jim@meyering.net>
22478         and Paul Eggert  <eggert@twinsun.com>
22479
22480         Merge from coreutils.
22481         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
22482         member but strut utmpx does not.  Needed for AIX 4.3.3.
22483         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
22484
22485 2003-08-15  Jim Meyering  <jim@meyering.net>
22486         and Paul Eggert  <eggert@cs.ucla.edu>
22487
22488         Merges from coreutils, etc.
22489         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
22490         Require gl_FUNC_TZSET_CLOBBER.
22491         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
22492         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
22493         members.
22494
22495 2003-08-14  Paul Eggert  <eggert@twinsun.com>
22496
22497         Help the merge from coreutils.
22498         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
22499         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
22500         * m4/tzset.m4: Use it too.
22501
22502 2003-08-14  Paul Eggert  <eggert@twinsun.com>
22503
22504         * modules/tzset: New file.
22505
22506 2003-08-14  Jim Meyering  <jim@meyering.net>
22507
22508         Merges from coreutils.
22509         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
22510         variable names, rather than @FNMATCH_H@.
22511         * modules/alloca: Likewise for $(ALLOCA_H).
22512
22513         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
22514         the three copies of the literal target, `fnmatch.h'.
22515         * modules/alloca (alloca.h): Likewise.
22516
22517 2003-08-14  Jim Meyering  <jim@meyering.net>
22518
22519         Merge from coreutils.
22520         * m4/tzset.m4: New file.
22521         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
22522         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
22523         otherwise, AIX 5.1 systems would end up using the latter.
22524         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
22525         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
22526         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
22527         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
22528
22529 2003-08-14  Jim Meyering  <jim@meyering.net>
22530
22531         Merge from coreutils.
22532         * lib/obstack.h: Whitespace changes.
22533         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
22534         and xcalloc return values.
22535         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
22536         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
22537         hang on OSF/1 5.1 for DIR on both local and remote file systems.
22538         Reported by (and fix confirmed by) Nelson H. F. Beebe.
22539         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
22540         error from mntctl.
22541         Use mntctl's return value to drive the entry-processing loop, since
22542         we can't rely on the value of the vmt_length member in the last
22543         entry.  On some systems doing so could result in exhausting
22544         virtual memory.  Based in part on a patch from Mike Jetzer.
22545
22546 2003-08-14  Jim Meyering  <jim@meyering.net>
22547         and Paul Eggert  <eggert@twinsun.com>
22548
22549         Merges from coreutils, plus other fixes.
22550         * lib/physmem.c: Merge in portability changes from gcc/libiberty
22551         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
22552         for credits and details.  Thanks to Kaveh Ghazi for helping
22553         to keep these files in sync.
22554         (ARRAY_SIZE): Define it.
22555         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
22556         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
22557         (memcasecmp): Don't assume size_t fits in unsigned int.
22558         Remove casts and duplicate code.
22559         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
22560         (memcpy): Remove definition.
22561         Merge in some clean-up and optimization changes from glibc.
22562         [BLOCKSIZE]: Move definition to top of file.
22563         Ensure that it is a multiple of 64.
22564         Rearrange loop exit tests so as to avoid performing an
22565         additional fread after encountering an error or EOF.
22566         * lib/md5.h (md5_uintptr): Define.
22567         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
22568         return to the initial working directory.  Preserve errno
22569         for caller.
22570         * lib/idcache.c: Include "xalloc.h".
22571         (xmalloc, xrealloc): Remove decls.
22572         (getuser): Remove casts no longer required in C89.
22573         * lib/human.c: Include stdio.h, for sprintf.
22574         * lib/group-member.c: Include "xalloc.h".
22575         (xmalloc, xrealloc): Remove decls.
22576         (get_group_info): Remove casts no longer required in C89.
22577         * lib/getusershell.c (readname): Remove casts no longer required in
22578         C89.
22579         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
22580         * lib/getline.c: Whitespace fix, from coreutils.
22581
22582 2003-08-13  Paul Eggert  <eggert@twinsun.com>
22583
22584         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
22585         Check for isascii.
22586
22587         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
22588         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
22589         Undo previous (whitespace-only) change.
22590
22591 2003-08-13  Paul Eggert  <eggert@twinsun.com>
22592
22593         * lib/exclude.c: Include <ctype.h>
22594         (IN_CTYPE_DOMAIN): New macro.
22595         (is_space): New fn.
22596         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
22597         and empty lines.
22598
22599         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
22600         Undo previous (whitespace-only) change.
22601
22602 2003-08-13  Paul Eggert  <eggert@twinsun.com>
22603
22604         * config/srclist-update: Change update back to the old behavior,
22605         leaving whitespace alone.  Use one 'sed' command rather than a
22606         pipeline.
22607         (fixlicense): Now a variable, not a function.
22608         (remove_trailing_blanks): Remove.
22609         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
22610         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
22611         Undo previous (whitespace-only) change.
22612
22613 2003-08-12  Paul Eggert  <eggert@twinsun.com>
22614
22615         Merge from coreutils.
22616         * modules/euidaccess: Add lib_SOURCES, include for new
22617         file euidaccess.h
22618
22619 2003-08-12  Paul Eggert  <eggert@twinsun.com>
22620
22621         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
22622         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
22623         Normalize leading white space and remove trailing white space.
22624
22625         Merge from coreutils
22626         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
22627
22628         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
22629         0.12.1.  These files are now being upgraded automatically by
22630         ../config/srclist-update.
22631
22632 2003-08-12  Paul Eggert  <eggert@twinsun.com>
22633
22634         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
22635         Normalize leading white space and remove trailing white space.
22636         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
22637         notice, as per ../config/srclist-update.
22638
22639         Merge from coreutils.
22640         * lib/euidaccess.h: New file.
22641         * lib/euidaccess.c: Include it.
22642         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
22643         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
22644         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
22645
22646 2003-08-12  Paul Eggert  <eggert@twinsun.com>
22647
22648         * config/srclist-update: Add copyright notice.
22649         (remove_id_lines, remove_trailing_blanks): New constants.
22650         (fixfile): Use them to normalize spacing a bit in copied files.
22651         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
22652         Normalize leading white space and remove trailing white space.
22653
22654         * config/texinfo.tex: Sync with texinfo.
22655
22656         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
22657         strtoul.c from libc, to merge coreutils whitespace changes.
22658
22659         * config/srclist.txt: Get the following m4 files from gettext:
22660         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
22661         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
22662         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
22663         wint_t.m4.
22664
22665 2003-08-12  Karl Berry  <karl@gnu.org>
22666
22667         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
22668         been made.
22669
22670 2003-08-11  Paul Eggert  <eggert@twinsun.com>
22671
22672         * modules/gnu-source, m4/gnu-source.m4:
22673         Remove; we're assuming Autoconf 2.54 or later now.
22674         Suggested by Bruno Haible.
22675         * MODULES.html.sh (func_all_modules): Remove gnu-source.
22676
22677 2003-08-11  Bruno Haible  <bruno@clisp.org>
22678
22679         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
22680
22681 2003-08-11  Bruno Haible  <bruno@clisp.org>
22682
22683         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
22684         (vasnprintf): Use it instead of wcslen.
22685
22686 2003-08-11  Bruno Haible  <bruno@clisp.org>
22687
22688         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
22689         value to ensure that _Bool promotes to int. Use #define for _Bool when
22690         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
22691
22692 2003-08-10  Karl Berry  <karl@gnu.org>
22693
22694         * lib/regex.h: update from libc (whitespace fix).
22695
22696 2003-08-09  Paul Eggert  <eggert@twinsun.com>
22697
22698         Merge some files from coreutils.  These changes were
22699         originally made by Jim Meyering.
22700         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
22701         many older Unixes require this.
22702         * lib/alloca.c (alloca): Remove cast to argument of free;
22703         no longer needed in C89.
22704         * lib/alloca_.h, regex.h: Fix white space to match
22705         what GNU indent does.
22706
22707 2003-08-09  Paul Eggert  <eggert@twinsun.com>
22708
22709         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
22710         apparently Emacs's Unicode mode got confused before my 2003-08-05
22711         checkin.
22712
22713 2003-08-08  Paul Eggert  <eggert@twinsun.com>
22714
22715         * m4/extensions.m4: New file.
22716         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
22717         Require gl_USE_SYSTEM_EXTENSIONS.
22718         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
22719         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
22720
22721 2003-08-08  Paul Eggert  <eggert@twinsun.com>
22722
22723         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
22724         * modules/extensions, modules/gnu-source: New files.
22725         * modules/timespec, modules/unlocked-io: Depend on extensions.
22726
22727 2003-08-07  Paul Eggert  <eggert@twinsun.com>
22728
22729         * modules/restrict: New file.
22730         * MODULES.html.sh (func_all_modules): Add restrict.
22731         * modules/regex: Depend on restrict.
22732
22733 2003-08-07  Paul Eggert  <eggert@twinsun.com>
22734
22735         * m4/restrict.m4: New file.
22736         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
22737
22738 2003-08-07  Bruno Haible  <bruno@clisp.org>
22739
22740         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
22741         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
22742
22743 2003-08-07  Bruno Haible  <bruno@clisp.org>
22744
22745         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
22746         makes the module 'getndelim2' compatible with the module 'getline'.
22747
22748 2003-08-05  Paul Eggert  <eggert@twinsun.com>
22749
22750         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
22751         byte with "\201" to avoid glitches when editing that source file
22752         with multi-gnome-terminal.
22753
22754 2003-08-05  Paul Eggert  <eggert@twinsun.com>
22755
22756         * lib/bumpalloc.h: Remove.
22757
22758 2003-08-05  Paul Eggert  <eggert@twinsun.com>
22759
22760         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
22761         * modules/bumpalloc: Remove.
22762
22763 2003-08-04  Paul Eggert  <eggert@twinsun.com>
22764
22765         * lib/getloadavg.c: Change copyright notice and spacing to conform to
22766         GNU coding style.
22767
22768         Merge from coreutils.
22769         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
22770         1. From glibc.
22771         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
22772         from Karl Berry, implemented by Jim Meyering.
22773         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
22774         from Dmitry V. Levin.
22775         Remove anachronistic cast of xrealloc.
22776         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
22777         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
22778         type. Otherwise, it wouldn't compile with at least /bin/cc on
22779         ymp-cray-unicos9.0.2.X.
22780         Combine two mostly-identical uses of alloca into one.
22781         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
22782
22783 2003-08-04  Dave Love  <d.love@dl.ac.uk>
22784
22785         [From Emacs.]
22786
22787         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
22788         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
22789         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
22790         obsolete NLIST_NAME_UNION.
22791         [__GNU__]: Undef BSD and FSCALE.
22792         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
22793
22794 2003-08-03  Paul Eggert  <eggert@twinsun.com>
22795
22796         * lib/stdbool_.h (_Bool): Make it signed char, instead of
22797         an enum type, so that it's guaranteed to promote to int.  See:
22798         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
22799
22800 2003-08-03  Karl Berry  <karl@gnu.org>
22801
22802         * config/depcomp: update from automake.
22803
22804 2003-07-31  Paul Eggert  <eggert@twinsun.com>
22805
22806         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
22807         (strerror): Don't assume that a printable int fits in 14 bytes.
22808
22809 2003-07-31  Bruno Haible  <bruno@clisp.org>
22810
22811         * modules/getpass-gnu: New file.
22812         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
22813
22814 2003-07-31  Bruno Haible  <bruno@clisp.org>
22815
22816         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
22817
22818 2003-07-24  Karl Berry  <karl@gnu.org>
22819
22820         * config/missing: update from automake.
22821
22822 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
22823             Bruno Haible  <bruno@clisp.org>
22824
22825         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
22826         * lib/getline.c (getline, getdelim): Likewise.
22827         Remove _GNU_SOURCE define; now it's defined in config.h through
22828         m4/getline.m4.
22829
22830 2003-07-23  Karl Berry  <karl@gnu.org>
22831
22832         * config/config.sub: update from prep.
22833
22834 2003-07-22  Paul Eggert  <eggert@twinsun.com>
22835
22836         * modules/xalloc (Depends-on): Add exitfail.
22837         * modules/xmemcoll: Likewise.
22838
22839 2003-07-22  Paul Eggert  <eggert@twinsun.com>
22840
22841         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
22842         over-parenthesization in macros.
22843
22844         Sync with coreutils.
22845
22846         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
22847         required by C99.
22848
22849         Use `exit_failure' for xalloc and xmemcoll instead of their own
22850         private exit-failure variables.
22851         * lib/xalloc.h (xalloc_exit_failure): Remove.
22852         * lib/xmalloc.c: Likewise.  Include exitfail.h.
22853         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
22854         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
22855         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
22856         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
22857
22858 2003-07-20  Jim Meyering  <jim@meyering.net>
22859
22860         * modules/closeout (Depends-on): Add exitfail.
22861         Suggestion from Bruno Haible.
22862
22863 2003-07-19  Karl Berry  <karl@gnu.org>
22864
22865         * config/config.sub: update from prep.
22866
22867 2003-07-18  Paul Eggert  <eggert@twinsun.com>
22868
22869         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
22870         Remove.
22871         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
22872         to test that it can stand by itself.  Include "exitfail.h".
22873         Clients should set exit_failure instead.
22874         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
22875
22876 2003-07-18  Bruno Haible  <bruno@clisp.org>
22877
22878         * modules/getndelim2: New file.
22879         * modules/getline: Share files with module getndelim2.
22880         * modules/getnline: Depend on getndelim2 instead of sharing files with
22881         it. Add getnline.c to lib_SOURCES.
22882         * MODULES.html.sh (func_all_modules): Add getndelim2.
22883
22884 2003-07-18  Bruno Haible  <bruno@clisp.org>
22885
22886         * m4/getndelim2.m4: New file.
22887         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
22888         invoke gl_PREREQ_GETNDELIM2.
22889         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
22890         gl_PREREQ_GETNDELIM2.
22891         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
22892         gl_GETNDELIM2.
22893
22894 2003-07-18  Bruno Haible  <bruno@clisp.org>
22895
22896         * lib/getndelim2.h: New file.
22897         * lib/getndelim2.c: Make into a module of its own. Include config.h,
22898         getndelim2.h.
22899         (getndelim2): Make non-static. Change return type to ssize_t.
22900         * lib/getline.h: Change argument names.
22901         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
22902         * lib/getnline.c: Include getndelim2.h.
22903
22904 2003-07-18  Andreas Schwab  <schwab@suse.de>
22905
22906         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
22907
22908 2003-07-17  Karl Berry  <karl@gnu.org>
22909
22910         * config/config.sub: update from prep.
22911
22912 2003-07-17  Bruno Haible  <bruno@clisp.org>
22913
22914         * modules/getnline: New file.
22915         * modules/getline: Add lib/getndelim2.c to source file list.
22916         * MODULES.html.sh (func_all_modules): Add getnline.
22917
22918 2003-07-17  Bruno Haible  <bruno@clisp.org>
22919
22920         * m4/getnline.m4: New file.
22921
22922 2003-07-17  Bruno Haible  <bruno@clisp.org>
22923
22924         * m4/Makefile.am.in: Remove file.
22925         * m4/Makefile.am: Remove file.
22926         * m4/Makefile.in: Remove file.
22927
22928 2003-07-17  Bruno Haible  <bruno@clisp.org>
22929
22930         * lib/getnline.h: New file.
22931         * lib/getnline.c: New file.
22932         * lib/getndelim2.c: New file, extracted from getline.c.
22933         (getndelim2): Renamed from getdelim2, with added nmax argument.
22934         * lib/getline.c: Include getndelim2.c.
22935         (getdelim2): Moved out to getndelim2.c.
22936         (getline, getdelim): Update.
22937
22938 2003-07-17  Bruno Haible  <bruno@clisp.org>
22939
22940         * lib/Makefile.am: Remove file.
22941         * lib/Makefile.in: Remove file.
22942
22943 2003-07-17  Bruno Haible  <bruno@clisp.org>
22944
22945         * configure.in: Remove file.
22946         * Makefile.in: Remove file.
22947
22948 2003-07-17  Bruno Haible  <bruno@clisp.org>
22949
22950         * MODULES.html.sh: Put the </BODY> right before </HTML>.
22951
22952 2003-07-16  Karl Berry  <karl@gnu.org>
22953
22954         * config/srclist-update: was running fixlicense twice, which caused
22955                 texinfo.tex to be nullified for some reason.  Simplify,
22956                 $gplsrc is no longer needed as far as I can see?
22957
22958 2003-07-16  Jim Meyering  <jim@meyering.net>
22959
22960         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
22961
22962 2003-07-15  Paul Eggert  <eggert@twinsun.com>
22963
22964         * config/srclist.txt: Get the following files from gettext-runtime/intl
22965         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
22966         ref-del.sin.  From Bruno Haible.
22967         * config/srclist-update (fixfile): Change grep pattern again, since the
22968         previous fix didn't work (there was another trailing $).  Use
22969         '[$]' to escape the $s.
22970
22971 2003-07-15  Karl Berry  <karl@gnu.org>
22972
22973         * lib/vasnprintf.c: update from gettext.
22974
22975 2003-07-15  Karl Berry  <karl@gnu.org>
22976
22977         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
22978         gets expanded when surrounded by '$'.
22979
22980 2003-07-15  Jim Meyering  <jim@meyering.net>
22981
22982         * modules/save-cwd: Don't depend on error.  From Derek Price.
22983
22984 2003-07-15  Jim Meyering  <jim@meyering.net>
22985
22986         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
22987
22988 2003-07-14  Simon Josefsson  <jas@extundo.com>
22989
22990         * modules/mempcpy: New file.
22991         * MODULES.html.sh (func_all_modules): Add mempcpy.
22992
22993 2003-07-14  Simon Josefsson  <jas@extundo.com>
22994
22995         * m4/mempcpy.m4: New file.
22996
22997 2003-07-14  Simon Josefsson  <jas@extundo.com>
22998
22999         * lib/mempcpy.h: New file.
23000         * lib/mempcpy.c: New file.
23001
23002 2003-07-14  Paul Eggert  <eggert@twinsun.com>
23003
23004         * modules/getdate, modules/posixtm: Depend on mktime.
23005
23006 2003-07-14  Paul Eggert  <eggert@twinsun.com>
23007
23008         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
23009         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
23010         unicodeio.c, unicodeio.h, unlocked-io.h:
23011         Switch from LGPL to GPL.
23012
23013 2003-07-14  Paul Eggert  <eggert@twinsun.com>
23014
23015         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
23016         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
23017         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
23018         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
23019         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
23020         updated automatically by ../config/srclist-update.  This changes
23021         their license from LPGL to GPL.
23022
23023 2003-07-14  Paul Eggert  <eggert@twinsun.com>
23024
23025         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
23026         assumed to refer to the root of the most recent stable gettext version.
23027         * config/srclistvars.sh: Add defaults for eggert.
23028         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
23029         Match "This program" as well as "The program".  This is needed
23030         for gettext.
23031
23032 2003-07-14  Jim Meyering  <jim@meyering.net>
23033
23034         Don't emit diagnostics.  Let callers do that.
23035         * lib/save-cwd.c: Don't include "error.h".
23036         (save_cwd): Don't call error.  Ensure that errno is valid
23037         when returning nonzero.
23038
23039         * lib/save-cwd.h (restore_cwd): Update prototype.
23040         * lib/save-cwd.c (restore_cwd): Remove two parameters.
23041         Simplify.  Don't call error upon failure.  Let callers do that.
23042         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
23043         when auditing is enabled.  But don't bother updating the #if.
23044
23045 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
23046
23047         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
23048         it breaks C++ compilation.
23049         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
23050
23051 2003-07-10  Simon Josefsson  <jas@extundo.com>
23052
23053         * modules/strchrnul (Makefile.am): Add strchrnul.h.
23054
23055 2003-07-10  Jim Meyering  <jim@meyering.net>
23056
23057         * m4/clock_time.m4: Remove trailing blank.
23058         * m4/intmax_t.m4: Likewise.
23059
23060 2003-07-10  Jim Meyering  <jim@meyering.net>
23061
23062         * lib/vasnprintf.c: Remove trailing blanks.
23063         Make cpp indentation consistent.
23064
23065 2003-07-09  Paul Eggert  <eggert@twinsun.com>
23066
23067         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
23068         posixver.c, strftime.c, strnlen.c, strverscmp.c:
23069         Switch from LGPL to GPL.
23070
23071 2003-07-09  Paul Eggert  <eggert@twinsun.com>
23072
23073         * config/srclist.txt: Sort sublists.  Add
23074         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
23075         that differ from gnulib for one reason or another; we'd like this list
23076         to be smaller but for now let's document what we have.
23077
23078 2003-07-08  Paul Eggert  <eggert@twinsun.com>
23079
23080         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
23081         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
23082         and sweeter "eval x=$x".
23083         * config/srclist.txt: Get lib/argp* from glibc.
23084
23085 2003-07-07  Paul Eggert  <eggert@twinsun.com>
23086
23087         * lib/mktime.c: Fix some boundary cases and remove need for floating
23088         point.
23089
23090         Issue a compile-time diagnostic if time_t is floating point, or if
23091         two's complement arithmetic is not in effect, or if arithmetic
23092         right shift does not propagate the sign.  These assumptions were
23093         all in the original code but they weren't checked.
23094
23095         (TIME_T_MIDPOINT, verify): New macros.
23096         (__isleap): Remove; it has integer overflow problems.
23097         (leapyear): New function, without those problems.
23098         (ydhms_tm_diff): Remove; splitting into two parts.
23099         (ydhms_diff): New function, containing the arithmetic part of
23100         the old ydhms_tm_diff function.  Issue a compile-time
23101         diagnostic if we are not using C99 integer division.
23102         Avoid casts when possible.
23103         (guess_time_tm): New function, containing the checking part of
23104         the old ydhms_tm_diff function.  Return the new value, rather than
23105         the difference between it and the old.  Accept a new argument T
23106         so that *T specifies the old value.  Check for overflow in the result.
23107
23108         (__mktime_internal): Use a time_t offset, not a long int offset.
23109         This undoes the 2003-06-04 change, which is no longer needed now
23110         that we have better overflow checking.
23111         (localtime_offset): Likewise.
23112
23113         (__mktime_internal): Avoid harmful overflow on hosts where time_t
23114         and long are 64-bit but int is only 32-bit.
23115         (ydhms_diff): Use long int to store year1 and yday1.
23116         Issue a compile-time diagnostic if long int is not wide enough.
23117
23118         (__mktime_internal): Use long int to store adjusted year and yday.
23119         Use plain C rather than preprocessor commands, if that doesn't
23120         affect efficiency.
23121         Check for overflow (and try to repair) after each probe
23122         rather than checking only at the very end.  This avoids some bugs
23123         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
23124         does not equal GMT offset at maximum time).
23125         Use integer to check for overflow rather than floating point; this
23126         is more portable to non-IEEE hosts, and is a tad faster.
23127         When we detect that we are oscillating between two values,
23128         don't check whether tm_isdst has the requested value, since
23129         we already know the answer.  When tm_isdst has the wrong value,
23130         use a different heuristic to find the right one, based on the
23131         extreme values actually observed in practice in tz2003a,
23132         rather than the (overly optimistic) "previous 3 calendar quarters".
23133
23134         (not_equal_tm, print_tm, check_result): Use "const T" rather than
23135         "T const" to accommodate glibc style.
23136         (check_result): Use less-confusing report format.  "long" -> "long int.
23137         (main): Likewise.
23138         Don't loop if the iteration overflows time_t.
23139         Allow a negative step in the iteration.
23140
23141 2003-07-06  Karl Berry  <karl@gnu.org>
23142
23143         * config/depcomp: update from automake.
23144         * config/config.sub: update from prep.
23145
23146 2003-07-03  Karl Berry  <karl@gnu.org>
23147
23148         * config/config.guess: update from prep.
23149
23150 2003-07-01  Paul Eggert  <eggert@twinsun.com>
23151
23152         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
23153         xreadlink.c now includes it unconditionally.
23154
23155 2003-07-01  Paul Eggert  <eggert@twinsun.com>
23156
23157         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
23158         having it depend on HAVE_SYS_TYPES_H.
23159
23160 2003-07-01  Bruno Haible  <bruno@clisp.org>
23161
23162         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
23163         <sys/types.h> should be sufficient.
23164         Reported by Paul Eggert.
23165
23166 2003-06-26  Karl Berry  <karl@gnu.org>
23167
23168         * config/depcomp: update from automake.
23169
23170 2003-06-26  Bruno Haible  <bruno@clisp.org>
23171
23172         * modules/human: Depend on module stdbool.
23173
23174 2003-06-25  Bruno Haible  <bruno@clisp.org>
23175
23176         * modules/readlink: New file.
23177         * modules/xreadlink: Depend on it.
23178         * MODULES.html.sh (func_all_modules): Add readlink.
23179
23180 2003-06-25  Bruno Haible  <bruno@clisp.org>
23181
23182         * m4/readlink.m4: New file.
23183
23184 2003-06-25  Bruno Haible  <bruno@clisp.org>
23185
23186         * lib/readlink.c: New file.
23187
23188 2003-06-22  Karl Berry  <karl@gnu.org>
23189
23190         * config/srclist.txt: update mkinstalldirs from automake.
23191         * config/mkinstalldirs: update.
23192
23193 2003-06-22  Bruno Haible  <bruno@clisp.org>
23194
23195         Portability to mingw32.
23196         * m4/ssize_t.m4: New file, from GNU gettext.
23197         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
23198         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
23199
23200 2003-06-22  Bruno Haible  <bruno@clisp.org>
23201
23202         * modules/safe-read: Add m4/ssize_t.m4.
23203         * modules/xreadlink: Add m4/ssize_t.m4.
23204
23205 2003-06-20  Bruno Haible  <bruno@clisp.org>
23206
23207         Assume C89, so PARAMS isn't needed.
23208         * lib/unicodeio.h (PARAMS): Remove.
23209         * lib/unicodeio.c: Don't use PARAMS.
23210
23211 2003-06-18  Karl Berry  <karl@gnu.org>
23212
23213         * config/config.{guess,sub}: update from prep.
23214
23215 2003-06-18  Jim Meyering  <jim@meyering.net>
23216
23217         Merge changes from coreutils.
23218         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
23219         Remove explicit declarations of xmalloc and realloc.
23220         Include xalloc.h.
23221         (read_utmp): Remove anachronistic cast of xmalloc.
23222
23223 2003-06-17  Paul Eggert  <eggert@twinsun.com>
23224
23225         Assume C89, so PARAMS isn't needed.
23226         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
23227         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
23228         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
23229         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
23230         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
23231         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
23232         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
23233         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
23234         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
23235         lib/xstrtod.h, lib/xstrtol.h: Likewise.
23236         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
23237         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
23238         no longer needed. Anyway, config.h should always be included before any
23239         other file.
23240
23241 2003-06-11  Simon Josefsson  <jas@extundo.com>
23242
23243         * modules/sysexits: New file.
23244         * MODULES.html.sh (func_all_modules): Add sysexits.
23245
23246 2003-06-11  Simon Josefsson  <jas@extundo.com>
23247
23248         * lib/sysexit_.h: New file.
23249
23250 2003-06-11  Derek Price  <derek@ximbiot.com>
23251
23252         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
23253         necessary.
23254
23255 2003-06-11  Bruno Haible  <bruno@clisp.org>
23256
23257         * m4/sysexits.m4: New file.
23258
23259 2003-06-10  Simon Josefsson  <jas@extundo.com>
23260
23261         * lib/argp.h: New file, from glibc.
23262         * lib/argp-ba.c: New file, from glibc.
23263         * lib/argp-eexst.c: New file, from glibc.
23264         * lib/argp-fmtstream.c: New file, from glibc.
23265         * lib/argp-fmtstream.h: New file, from glibc.
23266         * lib/argp-fs-xinl.c: New file, from glibc.
23267         * lib/argp-help.c: New file, from glibc.
23268         * lib/argp-namefrob.h: New file, from glibc.
23269         * lib/argp-parse.c: New file, from glibc.
23270         * lib/argp-pv.c: New file, from glibc.
23271         * lib/argp-pvh.c: New file, from glibc.
23272         * lib/argp-xinl.c: New file, from glibc.
23273
23274 2003-06-10  Simon Josefsson  <jas@extundo.com>
23275
23276         * modules/strchrnul: New file.
23277
23278 2003-06-10  Simon Josefsson  <jas@extundo.com>
23279
23280         * modules/argp: New file.
23281
23282 2003-06-10  Simon Josefsson  <jas@extundo.com>
23283
23284         * m4/strchrnul.m4: New file.
23285
23286 2003-06-10  Simon Josefsson  <jas@extundo.com>
23287
23288         * lib/strchrnul.h: New file.
23289         * lib/strchrnul.c: New file.
23290
23291 2003-06-10  Bruno Haible  <bruno@clisp.org>
23292
23293         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
23294
23295 2003-06-07  Karl Berry  <karl@gnu.org>
23296
23297         * config/config.{guess,sub}: update from prep.
23298
23299 2003-06-07  Jim Meyering  <jim@meyering.net>
23300
23301         * modules/strtod: Use $(...) notation, not @...@ for
23302         AC_REPLACE'd variables.
23303         * modules/localcharset: Likewise.
23304
23305 2003-06-07  Jim Meyering  <jim@meyering.net>
23306
23307         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
23308         in place of my name in the copyright comment.
23309         Remove definition and uses of __P.
23310
23311         From coreutils.
23312         * lib/stat.c: Don't declare xmalloc explicitly.
23313         Instead, include "xalloc.h".
23314         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
23315         xrealloc, and xcalloc return values.
23316         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
23317         Improve comment.
23318         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
23319
23320 2003-06-07  Bruno Haible  <bruno@clisp.org>
23321
23322         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
23323         avoid AC_CONFIG_LINKS.
23324         * modules/fnmatch (Makefile.am): Use explicit creation rule for
23325         fnmatch.h, to avoid AC_CONFIG_LINKS.
23326         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
23327
23328 2003-06-07  Bruno Haible  <bruno@clisp.org>
23329
23330         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
23331         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
23332         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
23333         directory.
23334         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
23335         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
23336         directory.
23337
23338 2003-06-06  Jim Meyering  <jim@meyering.net>
23339
23340         Merge from coreutils.
23341         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
23342         Consolidate declarations and initializations of *_base* locals.
23343
23344         Merge from coreutils.
23345         This avoids a core dump on systems without GNU putenv,
23346         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
23347         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
23348         (unsetenv): New static function, from GNU libc.
23349         (rpl_putenv): Use it.
23350
23351         * lib/modechange.c: Remove trailing blanks.
23352
23353         Merge from coreutils.
23354         * lib/fsusage.c: Remove declaration of statfs.
23355         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
23356
23357         * lib/posixtm.c: Include <stdbool.h> unconditionally.
23358
23359 2003-06-06  Jim Meyering  <jim@meyering.net>
23360
23361         * lib/stdbool_.h: Renamed from stdbool.h.in.
23362
23363 2003-06-06  Jim Meyering  <jim@meyering.net>
23364             Bruno Haible  <bruno@clisp.org>
23365
23366         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
23367         Adjust Makefile.am snippet not to redirect directly to target.
23368         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
23369
23370 2003-06-05  Paul Eggert  <eggert@twinsun.com>
23371
23372         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
23373         mismatch, look in future quarters as well as past.  This fixes a
23374         bug when processing fall-backwards gaps immediately after a long
23375         period of daylight-saving time.
23376
23377         * lib/mktime.c: Assume freestanding C89 or better.
23378         (HAVE_LIMITS_H): Remove.  Assume it's 1.
23379         (__P): Remove; not used.
23380         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
23381         (mktime, not_equal_tm, print_tm, check_result,
23382         main): Use prototypes.  Use const * where appropriate.
23383         (main): Fix typo in testing code that uncovered by above changes.
23384         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
23385
23386 2003-06-04  Paul Eggert  <eggert@twinsun.com>
23387
23388         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
23389         locale.h, localeconv.  This merges changes from coreutils.
23390
23391         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
23392         It can be removed after the next Autoconf is released.
23393         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
23394         needed.
23395
23396 2003-06-04  Paul Eggert  <eggert@twinsun.com>
23397
23398         * lib/mktime.c: Fix Debian bug 177940
23399         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
23400         (localtime_offset): Now long int, not time_t, because we want it
23401         to be guaranteed to be signed.  All uses changed.
23402         (__mktime_internal): If overflow would occur when adding offset,
23403         don't add it.
23404
23405         Merge 'human' changes from coreutils.  Rewrite to support
23406         locale-specific notations like thousands separators.
23407         * lib/human.c: Simplify authorship notice.
23408         Include human.h immediately after config.h.
23409         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
23410         <limits.h>: Do not include, since human.h does.
23411         (SIZE_MAX, UINTMAX_MAX): New macros.
23412         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
23413         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
23414         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
23415         (power_letter): Renamed from suffixes.
23416         (generate_suffix_backwards): Remove.
23417         (adjust_value): Now takes int style (because of human.h changes)
23418         and long double value (for greater precision on some platforms).
23419         (group_number): New function.
23420         (human_readable): Use it.  Use integer options, not enum.
23421         Put the options before the sizes in the arg list.
23422         Support all the new options.
23423         The old human_readable function has been removed;
23424         use inttostr.h instead.
23425         (human_readable, default_block_size, humblock):
23426         Use uintmax_t, not int, for block sizes.
23427         (human_readable_inexact, block_size_types): Remove.
23428         (block_size_opts): New constant.
23429         (human_options): Renamed from human_block_size, with new signature
23430         that allows block sizes up to UINTMAX_MAX.  All callers changed.
23431         * lib/human.h: Add copyright and authorship notice.
23432         Include <limits.h> and <stdbool.h> unconditionally.
23433         (PARAMS): Remove.  All uses removed.
23434         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
23435         (enum human_inexact_style): Remove tag; now a nameless enum.
23436         (human_floor, human_ceiling, human_round_to_even): Now have
23437         values 2, 0, 1 rather than -1, 1, 0.
23438         (human_group_digits, human_suppress_point_zero, human_autoscale,
23439         human_base_1024, human_SI, human_B): New constants.
23440         (human_readable_inexact, human_block_size): Remove.
23441         (human_readable): Size args are now uintmax_t, not int.
23442         (human_options): New decl.
23443
23444         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
23445         unnecessary now that we assume C89 or better.  This change
23446         imported from coreutils.
23447
23448         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
23449         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
23450         in the 2003-05-30 sync from glibc.
23451
23452         .h files should stand alone, but we shouldn't include <sys/types.h>
23453         if we can get away with just <stddef.h>.
23454
23455         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
23456         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
23457         rather than <sys/types.h>, as we merely need size_t.
23458         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
23459         to get size_t.
23460         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
23461         Include <stdio.h>, to get FILE.
23462         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
23463         memcasecmp.h has included <stddef.h> and all we need is size_t.
23464         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
23465         our interface, instead of including <sys/types.h>
23466
23467 2003-06-04  Paul Eggert  <eggert@twinsun.com>
23468
23469         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
23470         now, as glibc mktime is buggy on non-glibc systems.
23471
23472 2003-06-03  Karl Berry  <karl@gnu.org>
23473
23474         * config/config.sub: update from prep.
23475
23476 2003-06-02  Paul Eggert  <eggert@twinsun.com>
23477
23478         [from coreutils]
23479         Fix some minor time-related bugs with POSIX time arguments.
23480         Some valid time stamps were being rejected (notably -1, and
23481         time stamps before 1900 on 64-bit hosts).  And some invalid
23482         time stamps were being accepted, e.g. September 31.
23483
23484         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
23485         that we can return (time_t) -1 successfully.
23486         * lib/posixtm.c: Likewise.
23487         [HAVE_STDBOOL_H]: Include <stdbool.h>.
23488         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
23489         (t): Remove static var.
23490         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
23491         of static var.  All uses changed.
23492         (year): Do not reject years before 1900; they can occur with
23493         64-bit time_t.
23494         (posix_time_parse): Do not check for out-of-range components;
23495         that is now the caller's responsibility, since our checks were
23496         only approximations.
23497         (posixtime): Use mktime to check for out-of-range components,
23498         since it knows them exactly.
23499         If mktime returns (time_t) -1, check whether an error actually occurred
23500         by invoking localtime on -1.
23501         (main) [TEST_POSIXTIME]: Check for input data errors, and report
23502         posixtime failures better.
23503         Improve the test data (in comments only).
23504
23505 2003-06-02  Karl Berry  <karl@gnu.org>
23506
23507         * config/mkinstalldirs (version): new variable.
23508         (--version): new option.
23509         (usage): improve message.
23510
23511 2003-05-30  Karl Berry  <karl@gnu.org>
23512
23513         * lib/mktime.c: update from libc.
23514
23515 2003-05-30  Bruno Haible  <bruno@clisp.org>
23516
23517         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
23518         * config/config.rpath: Upgrade to gettext-0.12.1.
23519
23520 2003-05-30  Bruno Haible  <bruno@clisp.org>
23521
23522         * m4/gettext.m4: Upgrade to gettext-0.12.1.
23523         * m4/nls.m4: New file, from gettext-0.12.1.
23524         * m4/po.m4: New file, from gettext-0.12.1.
23525         * m4/progtest.m4: Upgrade to gettext-0.12.1.
23526
23527 2003-05-30  Bruno Haible  <bruno@clisp.org>
23528
23529         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
23530         * lib/localcharset.h: Likewise.
23531         * lib/localcharset.c: Likewise.
23532
23533 2003-05-29  Karl Berry  <karl@gnu.org>
23534
23535         * config/config.rpath: update from gettext.
23536
23537 2003-05-28  Paul Eggert  <eggert@twinsun.com>
23538
23539         Assume the headers required for C89 freestanding compilers.
23540         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
23541         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
23542         * m4/human.m4 (gl_HUMAN): Likewise.
23543         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
23544         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
23545         * m4/userspec.m4 (gl_USERSPEC): Likewise.
23546         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
23547         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
23548         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
23549
23550 2003-05-28  Paul Eggert  <eggert@twinsun.com>
23551
23552         Assume the headers required for C89 freestanding compilers.
23553         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
23554         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
23555         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
23556         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
23557         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
23558         define, since <limits.h> is guaranteed to do that.
23559         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
23560         * lib/exclude.c: Include <stdbool.h> unconditionally.
23561         * lib/tempname.c: Include <stddef.h> unconditionally.
23562         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
23563         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
23564         <stddef.h> does that.
23565         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
23566         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
23567         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
23568         needed.
23569         * lib/xstrtol.c: Likewise.
23570         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
23571         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
23572
23573         * lib/addext.c (addext): Use assignment rather than cast, to avoid
23574         warnings on some platforms.
23575
23576         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
23577         arbitrarily.
23578
23579 2003-05-26  Jim Meyering  <jim@meyering.net>
23580
23581         Merge in a change from coreutils:
23582         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
23583         that is guaranteed to be `no'.  Use `no_such_member' to indicate
23584         that condition, rather than `-1' which is slightly misleading.
23585         Change the name of the cache variable to have the gl_ prefix.
23586         Prompted by a patch from Richard Dawe for DJGPP.
23587
23588 2003-05-24  Karl Berry  <karl@gnu.org>
23589
23590         * config/config.guess: update from prep.
23591
23592 2003-05-22  Karl Berry  <karl@gnu.org>
23593
23594         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
23595
23596 2003-05-20  Karl Berry  <karl@gnu.org>
23597
23598         * config/config.guess: update from prep.
23599
23600 2003-05-18  Karl Berry  <karl@gnu.org>
23601
23602         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
23603         might actually be set by the user.
23604
23605         * config/depcomp, install-sh, mdate-sh: update from automake.
23606
23607 2003-05-17  Bruno Haible  <bruno@clisp.org>
23608
23609         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
23610         invalid expansion for AC_EGREP_CPP.
23611         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
23612         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
23613         Suggested by Akim Demaille <akim@epita.fr> in
23614         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
23615
23616 2003-05-12  Jim Meyering  <jim@meyering.net>
23617
23618         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
23619         the space-padded-by-default conversion specifiers, %e, %k, %l.
23620
23621 2003-05-12  Bruno Haible  <bruno@clisp.org>
23622
23623         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
23624         the string is longer than 4 KB.
23625
23626 2003-05-11  Karl Berry  <karl@gnu.org>
23627
23628         * config/config.{guess,sub}: update from prep.
23629
23630 2003-05-09  Bruno Haible  <bruno@clisp.org>
23631
23632         * modules/error: Add m4/strerror_r.m4 to file list.
23633
23634 2003-05-03  Bruno Haible  <bruno@clisp.org>
23635
23636         Upgrade to Unicode-4.0.
23637         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
23638         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
23639         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
23640         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
23641         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
23642         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
23643         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
23644         Change width of U+E0100..U+E01EF from 1 to 0.
23645
23646 2003-04-25  Jim Meyering  <jim@meyering.net>
23647
23648         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
23649         of type size_t, not int.
23650
23651 2003-04-25  Bruno Haible  <bruno@clisp.org>
23652
23653         * lib/copy-file.c: Include <stddef.h>, for size_t.
23654
23655 2003-04-21  Paul Eggert  <eggert@twinsun.com>
23656
23657         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
23658         code which expansion is under static control.  Patch imported from
23659         Akim Demaille's patch to Bison; see
23660         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
23661
23662 2003-04-14  Bruno Haible  <bruno@clisp.org>
23663
23664         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
23665
23666 2003-04-11  Jim Meyering  <jim@meyering.net>
23667
23668         Merge changes from Coreutils.
23669
23670         2003-03-22  Jim Meyering  <jim@meyering.net>
23671
23672         * lib/strftime.c (widen): Cast alloca return value to proper type.
23673
23674         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
23675
23676         From GNU libc.
23677         * lib/strftime.c (my_strftime): Handle very large width
23678         specifications for numeric values correctly.  Improve checks for
23679         overflow.
23680
23681         2003-01-19  Jim Meyering  <jim@meyering.net>
23682
23683         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
23684         definitions.
23685         (nl_get_alt_digit) [! defined my_strftime]: Define.
23686         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
23687         _nl_get_alt_digit and _nl_get_walt_digit.
23688
23689         * lib/strftime.c (my_strftime): Merge in locale-related changes from
23690         libc. These changes have no effect outside of _LIBC.
23691
23692 2003-04-10  Bruno Haible  <bruno@clisp.org>
23693
23694         * modules/findprog: New file.
23695         * MODULES.html.sh (func_all_modules): Add it.
23696
23697 2003-04-10  Bruno Haible  <bruno@clisp.org>
23698
23699         * m4/findprog.m4: New file.
23700         * m4/eaccess.m4: New file.
23701
23702 2003-04-10  Bruno Haible  <bruno@clisp.org>
23703
23704         * lib/findprog.h: New file, from GNU gettext.
23705         * lib/findprog.c: New file, from GNU gettext.
23706
23707 2003-04-05  Jim Meyering  <jim@meyering.net>
23708
23709         Merge changes from Coreutils.
23710
23711         * lib/exclude.h (PARAMS): Remove definition and uses.
23712         * lib/exclude.c: Remove uses of `PARAMS'.
23713
23714         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
23715         Add test-cases for DOS filenames. Declare program_name.
23716         (main): Set up program_name.  Patch by Rich Dawe.
23717
23718         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
23719         error from mntctl.
23720         Use mntctl's return value to drive the entry-processing loop, since
23721         we can't rely on the value of the vmt_length member in the last
23722         entry.  On some systems doing so could result in exhausting
23723         virtual memory.  Based in part on a patch from Mike Jetzer.
23724
23725 2003-04-04  Bruno Haible  <bruno@clisp.org>
23726
23727         * modules/linebreak: New file.
23728         * MODULES.html.sh (func_all_modules): Add it.
23729
23730 2003-04-04  Bruno Haible  <bruno@clisp.org>
23731
23732         * m4/linebreak.m4: New file.
23733
23734 2003-04-04  Bruno Haible  <bruno@clisp.org>
23735
23736         * lib/linebreak.h: New file, from GNU gettext.
23737         * lib/linebreak.c: New file, from GNU gettext with slight
23738         modifications.
23739         * lib/lbrkprop.h: New file, from GNU gettext.
23740
23741 2003-04-03  Bruno Haible  <bruno@clisp.org>
23742
23743         * modules/utf8-ucs4: New file.
23744         * modules/utf16-ucs4: New file.
23745         * modules/ucs4-utf8: New file.
23746         * modules/ucs4-utf16: New file.
23747         * MODULES.html.sh (func_all_modules): Add them.
23748
23749 2003-04-03  Bruno Haible  <bruno@clisp.org>
23750
23751         * m4/utf-ucs4.m4: New file.
23752         * m4/ucs4-utf.m4: New file.
23753
23754 2003-04-03  Bruno Haible  <bruno@clisp.org>
23755
23756         * lib/utf8-ucs4.h: New file, from GNU gettext.
23757         * lib/utf16-ucs4.h: New file, from GNU gettext.
23758         * lib/ucs4-utf8.h: New file, from GNU gettext.
23759         * lib/ucs4-utf16.h: New file, from GNU gettext.
23760
23761 2003-04-02  Bruno Haible  <bruno@clisp.org>
23762
23763         * modules/binary-io: New file.
23764         * MODULES.html.sh (func_all_modules): Add it.
23765
23766 2003-04-02  Bruno Haible  <bruno@clisp.org>
23767
23768         * lib/binary-io.h: New file, from GNU gettext.
23769
23770 2003-04-01  Bruno Haible  <bruno@clisp.org>
23771
23772         * modules/pathname: New file.
23773         * MODULES.html.sh (func_all_modules): Add it.
23774
23775 2003-04-01  Bruno Haible  <bruno@clisp.org>
23776
23777         * lib/pathname.h: New file, from GNU gettext.
23778         * lib/concatpath.c: New file, from GNU gettext.
23779
23780 2003-03-30  Bruno Haible  <bruno@clisp.org>
23781
23782         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
23783
23784 2003-03-30  Bruno Haible  <bruno@clisp.org>
23785
23786         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
23787         function chown() doesn't exist.
23788
23789 2003-03-28  Bruno Haible  <bruno@clisp.org>
23790
23791         * modules/copy-file: New file.
23792         * MODULES.html.sh (func_all_modules): Add it.
23793
23794 2003-03-28  Bruno Haible  <bruno@clisp.org>
23795
23796         * m4/copy-file.m4: New file.
23797
23798 2003-03-28  Bruno Haible  <bruno@clisp.org>
23799
23800         * lib/copy-file.h: New file, from GNU gettext.
23801         * lib/copy-file.c: New file, from GNU gettext.
23802
23803 2003-03-18  Jim Meyering  <jim@meyering.net>
23804
23805         * lib/quote.c (quote_n): Fix typo in comment.
23806
23807 2003-03-18  Bruno Haible  <bruno@clisp.org>
23808
23809         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
23810         checking.
23811         * m4/onceonly_2_57.m4: Likewise.
23812
23813 2003-03-17  Bruno Haible  <bruno@clisp.org>
23814
23815         * m4/onceonly.m4: Require autoconf 2.54 or newer.
23816         (m4_quote): Remove macro.
23817         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
23818
23819 2003-03-14  Jim Meyering  <jim@meyering.net>
23820
23821         Merge changes from Coreutils.
23822         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
23823         to be const, in order to avoid warnings.
23824         (obstack_room): Likewise.
23825         (obstack_empty_p): Likewise.
23826
23827 2003-03-14  Bruno Haible  <bruno@clisp.org>
23828
23829         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
23830         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
23831
23832 2003-03-13  Paul Eggert  <eggert@twinsun.com>
23833
23834         Merge changes from Bison.
23835         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
23836         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
23837         when compiling Bison 1.875's `bitset bset = obstack_alloc
23838         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
23839         * lib/hash.c: Include <stdbool.h> unconditionally.
23840
23841 2003-03-13  Paul Eggert  <eggert@twinsun.com>
23842
23843         * m4/onceonly.m4 (m4_quote): New macro.
23844         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
23845         Quote AC_FOREACH variable-expansions properly.
23846
23847 2003-03-13  Paul Eggert  <eggert@twinsun.com>
23848
23849         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
23850
23851 2003-03-09  Paul Eggert  <eggert@twinsun.com>
23852
23853         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
23854         Reported by Bruce Becker; see:
23855         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
23856
23857 2003-03-03  Paul Eggert  <eggert@twinsun.com>
23858             Bruno Haible  <bruno@clisp.org>
23859
23860         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
23861         Reported by John Hughes, see
23862         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
23863
23864 2003-02-20  Bruno Haible  <bruno@clisp.org>
23865
23866         * MODULES.html.sh (func_all_modules): Add poll.
23867
23868 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
23869
23870         * modules/poll: New file.
23871
23872 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
23873
23874         * lib/poll_.h: New file.
23875         * lib/poll.c: New file.
23876
23877 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
23878
23879         * m4/poll.m4: New file.
23880
23881 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
23882
23883         * modules/mathl: New file.
23884
23885 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
23886
23887         * lib/mathl.h: New file.
23888         * lib/acosl.c: New file.
23889         * lib/asinl.c: New file.
23890         * lib/atanl.c: New file.
23891         * lib/ceill.c: New file.
23892         * lib/cosl.c: New file.
23893         * lib/expl.c: New file.
23894         * lib/floorl.c: New file.
23895         * lib/frexpl.c: New file.
23896         * lib/ldexpl.c: New file.
23897         * lib/logl.c: New file.
23898         * lib/sincosl.c: New file.
23899         * lib/sinl.c: New file.
23900         * lib/sqrtl.c: New file.
23901         * lib/tanl.c: New file.
23902         * lib/trigl.c: New file.
23903         * lib/trigl.h: New file.
23904
23905 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
23906
23907         * m4/mathl.m4: New file.
23908
23909 2003-02-18  Bruno Haible  <bruno@clisp.org>
23910
23911         * MODULES.html.sh (func_all_modules): Add mathl.
23912
23913 2003-02-17  Bruno Haible  <bruno@clisp.org>
23914
23915         * modules/mkdtemp: New module.
23916         * MODULES.html.sh (func_all_modules): Add it.
23917
23918 2003-02-17  Bruno Haible  <bruno@clisp.org>
23919
23920         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
23921
23922 2003-02-17  Bruno Haible  <bruno@clisp.org>
23923
23924         * lib/mkdtemp.h: New file, from GNU gettext.
23925         * lib/mkdtemp.c: New file, from GNU gettext.
23926
23927 2003-02-02  Jim Meyering  <jim@meyering.net>
23928
23929         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
23930         e.g. glibc-2.2.93.
23931
23932 2003-01-31  Bruno Haible  <bruno@clisp.org>
23933
23934         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
23935         'rpl_rename'.
23936         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
23937         'rpl_strnlen'.
23938         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
23939         'rpl_strtod'.
23940         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
23941         'rpl_utime'.
23942
23943 2003-01-31  Bruno Haible  <bruno@clisp.org>
23944
23945         * lib/rename.c: #undef rename before defining rpl_rename.
23946         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
23947
23948 2003-01-30  Bruno Haible  <bruno@clisp.org>
23949
23950         * modules/vasnprintf, modules/vasprintf: New modules.
23951         * MODULES.html.sh (func_all_modules): Add them.
23952
23953 2003-01-30  Bruno Haible  <bruno@clisp.org>
23954
23955         * m4/signed.m4: New file, from GNU gettext.
23956         * m4/longdouble.m4: New file, from GNU gettext.
23957         * m4/wchar_t.m4: New file, from GNU gettext.
23958         * m4/wint_t.m4: New file, from GNU gettext.
23959         * m4/vasnprintf.m4: New file.
23960         * m4/vasprintf.m4: New file.
23961
23962 2003-01-30  Bruno Haible  <bruno@clisp.org>
23963
23964         * lib/printf-args.h: New file, from GNU gettext.
23965         * lib/printf-args.c: New file, from GNU gettext.
23966         * lib/printf-parse.h: New file, from GNU gettext.
23967         * lib/printf-parse.c: New file, from GNU gettext.
23968         * lib/vasnprintf.h: New file, from GNU gettext.
23969         * lib/vasnprintf.c: New file, from GNU gettext.
23970         * lib/asnprintf.c: New file, from GNU gettext.
23971         * lib/vasprintf.h: New file, from GNU gettext with modifications.
23972         * lib/vasprintf.c: New file, from GNU gettext.
23973         * lib/asprintf.c: New file, from GNU gettext.
23974
23975 2003-01-29  Bruno Haible  <bruno@clisp.org>
23976
23977         * modules/stpncpy: New module.
23978         * MODULES.html.sh (func_all_modules): Add it.
23979
23980 2003-01-29  Bruno Haible  <bruno@clisp.org>
23981
23982         * m4/stpncpy.m4: New file.
23983
23984 2003-01-29  Bruno Haible  <bruno@clisp.org>
23985
23986         * lib/stpncpy.h: New file, from GNU gettext with modifications.
23987         * lib/stpncpy.c: New file, from GNU gettext with modifications.
23988
23989 2003-01-28  Bruno Haible  <bruno@clisp.org>
23990
23991         * modules/c-ctype: New module.
23992         * MODULES.html.sh (func_all_modules): Add it.
23993
23994 2003-01-28  Bruno Haible  <bruno@clisp.org>
23995
23996         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
23997         Paul Eggert.
23998         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
23999         Paul Eggert.
24000
24001 2003-01-27  Bruno Haible  <bruno@clisp.org>
24002
24003         * modules/xsetenv: New module.
24004         * MODULES.html.sh (func_all_modules): Add it.
24005
24006 2003-01-27  Bruno Haible  <bruno@clisp.org>
24007
24008         * lib/xsetenv.h: New file, from GNU gettext.
24009         * lib/xsetenv.c: New file, from GNU gettext.
24010
24011 2003-01-23  Jim Meyering  <jim@meyering.net>
24012
24013         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
24014         from working on systems without dirfd (at least Irix and OSF1/Tru64).
24015
24016 2003-01-23  Bruno Haible  <bruno@clisp.org>
24017
24018         * modules/minmax: New module.
24019         * MODULES.html.sh (func_all_modules): Add it.
24020
24021 2003-01-23  Bruno Haible  <bruno@clisp.org>
24022
24023         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
24024         Eggert.
24025
24026 2003-01-22  Bruno Haible  <bruno@clisp.org>
24027
24028         * modules/exit: New module.
24029         * MODULES.html.sh (func_all_modules): Add it.
24030
24031 2003-01-22  Bruno Haible  <bruno@clisp.org>
24032
24033         * lib/exit.h: New file, from GNU gettext.
24034
24035 2003-01-19  Bruno Haible  <bruno@clisp.org>
24036
24037         * gnulib-tool: Recognize option --extract-maintainer.
24038         (func_get_maintainer): New function.
24039         * modules/*: Add Maintainer entry.
24040
24041 2003-01-16  Jim Meyering  <jim@meyering.net>
24042
24043         * m4/regex.m4: The `regex' struct is both input and output.
24044         Initialize it before each use.  Patch by Tim Waugh.
24045
24046 2003-01-16  Bruno Haible  <bruno@clisp.org>
24047
24048         * MODULES.html.sh: Add a table of contents. Add the module name as
24049         leftmost column. Add hyperlinks.
24050
24051 2003-01-15  Bruno Haible  <bruno@clisp.org>
24052
24053         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
24054
24055 2003-01-15  Bruno Haible  <bruno@clisp.org>
24056
24057         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
24058         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
24059         suffix.
24060
24061 2003-01-15  Bruno Haible  <bruno@clisp.org>
24062
24063         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
24064
24065 2003-01-15  Bruno Haible  <bruno@clisp.org>
24066
24067         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
24068         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
24069
24070 2003-01-14  Jim Meyering  <jim@meyering.net>
24071
24072         * lib/same.c (same_name): Tweak a comment.
24073
24074 2003-01-14  Bruno Haible  <bruno@clisp.org>
24075
24076         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
24077         when a string comparison is sufficient.
24078
24079 2003-01-14  Bruno Haible  <bruno@clisp.org>
24080
24081         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
24082         'unsigned int'.
24083
24084 2003-01-14  Bruno Haible  <bruno@clisp.org>
24085
24086         * lib/hash-pjw.c: Add comment about low quality of this function.
24087
24088 2003-01-13  Bruno Haible  <bruno@clisp.org>
24089
24090         * modules/stpcpy: Distribute lib/stpcpy.h.
24091         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
24092
24093 2003-01-13  Bruno Haible  <bruno@clisp.org>
24094
24095         * modules/*: Add a description.
24096         * modules/strpbrk: Fix Makefile.am snippet.
24097         * modules/strtoimax: Fix dependencies.
24098         * modules/strtoumax: Likewise.
24099
24100 2003-01-13  Bruno Haible  <bruno@clisp.org>
24101
24102         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
24103         * modules/alloca (Makefile.am): All object files depend on alloca.h.
24104         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
24105
24106 2003-01-13  Bruno Haible  <bruno@clisp.org>
24107
24108         * gnulib-tool (func_create_testdir): Store config/* files in the main
24109         directory.
24110         * config.rpath: Move to ...
24111         * config/config.rpath: ... here.
24112         * modules/gettext: Contains config/config.rpath, not config.rpath.
24113         * modules/iconv: Likewise.
24114
24115 2003-01-12  Paul Eggert  <eggert@twinsun.com>
24116
24117         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
24118         to avoid collisions with libcurses and libreadline.
24119
24120         * m4/getstr.m4: Remove.
24121         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
24122
24123 2003-01-12  Paul Eggert  <eggert@twinsun.com>
24124
24125         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
24126         to avoid collisions with libcurses and libreadline.
24127
24128         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
24129         * lib/getstr.h, getstr.c: Remove.
24130         * lib/getline.c: Include "getline.h", to check interface.
24131         Move body of old getstr.c here: this defines MIN_CHUNK and
24132         declares getdelim2, which is renamed from getstr.
24133         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
24134
24135         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
24136         All uses changed.
24137         * lib/linebuffer.h: Likewise.
24138         (readline): Remove backward-compatibility macro.
24139
24140 2003-01-12  Paul Eggert  <eggert@twinsun.com>
24141
24142         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
24143         to avoid collisions with libcurses and libreadline.
24144         * getstr: Remove.
24145         * MODULES.html.sh: Remove getstr.
24146         * modules/getline: Depend on unlocked-io, not getstr.
24147
24148 2003-01-12  Jim Meyering  <jim@meyering.net>
24149
24150         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
24151
24152 2003-01-10  Bruno Haible  <bruno@clisp.org>
24153
24154         * modules/alloca: Change Makefile.am requirements. Simplify Include
24155         requirements. Add lib/alloca_.h to file list.
24156
24157 2003-01-10  Bruno Haible  <bruno@clisp.org>
24158
24159         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
24160
24161 2003-01-10  Bruno Haible  <bruno@clisp.org>
24162
24163         * lib/alloca_.h: New file.
24164         * lib/getdate.y: Unconditionally include alloca.h.
24165         * lib/makepath.c: Likewise.
24166         * lib/setenv.c: Likewise.
24167         * lib/userspec.c: Likewise.
24168
24169 2003-01-09  Karl Berry  <karl@gnu.org>
24170
24171         * MODULES.html.sh: include `dirname $0` in PATH, to find
24172         gnulib-tool.
24173
24174 2003-01-09  Bruno Haible  <bruno@clisp.org>
24175
24176         * modules/stdbool: Change configure.ac, Makefile.am requirements.
24177         Simplify Include requirements. Add lib/stdbool.h.in to file list.
24178
24179 2003-01-09  Bruno Haible  <bruno@clisp.org>
24180
24181         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
24182
24183 2003-01-09  Bruno Haible  <bruno@clisp.org>
24184
24185         * lib/stdbool.h.in: New file.
24186
24187 2003-01-09  Bruno Haible  <bruno@clisp.org>
24188
24189         * gnulib-tool (func_all_modules): Ignore files ending in ~.
24190         * MODULES.html.sh: Likewise.
24191
24192 2003-01-08  Jim Meyering  <jim@meyering.net>
24193
24194         * lib/full-write.c: Undefine and define-away `const' after inclusion
24195         of errno.h, not before.  Suggestion from Bruno Haible.
24196
24197 2003-01-08  Bruno Haible  <bruno@clisp.org>
24198
24199         * modules/full-read: Depend on full-write.
24200
24201 2003-01-08  Bruno Haible  <bruno@clisp.org>
24202
24203         * lib/safe-read.c: Include specification header first, to ensure its
24204         selfcontainedness.
24205         * lib/full-write.c: Likewise.
24206
24207 2003-01-07  Jim Meyering  <jim@meyering.net>
24208
24209         * lib/full-write.c: Rework so that it may serve to define full_read,
24210         too.
24211         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
24212
24213 2003-01-07  Bruno Haible  <bruno@clisp.org>
24214
24215         * lib/strtoimax.c: Include <stdint.h> as an alternative to
24216         <inttypes.h>.
24217         * lib/xstrtol.h: Likewise.
24218         * lib/xstrtoimax.c: Likewise.
24219         * lib/xstrtoumax.c: Likewise.
24220         * lib/human.h: Likewise.
24221
24222         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
24223         on systems that have <inttypes.h> but not <stdint.h>.
24224
24225 2003-01-07  Bruno Haible  <bruno@clisp.org>
24226
24227         * MODULES.html.sh: Add copyright notice.
24228         (missed_files): Omit CVS directory entries.
24229         (func_module): Make it work with sed-3.02.
24230         * MODULES.txt: Remove file.
24231
24232 2003-01-06  Jim Meyering  <jim@meyering.net>
24233
24234         * lib/version-etc.c: Update year in translatable copyright string.
24235
24236 2003-01-03  Karl Berry  <karl@gnu.org>
24237
24238         * config/config.{guess,sub}: update from prep.
24239
24240 2003-01-02  Karl Berry  <karl@gnu.org>
24241
24242         * doc/COPYING.DOC: belatedly updated to 1.2.
24243
24244 2003-01-01  Karl Berry  <karl@gnu.org>
24245
24246         * gnulib-tool (func_verify_module): report module name $module in
24247         error message, not $1.
24248         * gnulib-tool (create-testdir): don't complain if destdir couldn't
24249         be created, only if it doesn't exist.
24250         * gnulib-tool (last_checkin_date): don't expand the $Date here.
24251
24252 2002-12-31  Paul Eggert  <eggert@twinsun.com>
24253
24254         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
24255
24256 2002-12-31  Paul Eggert  <eggert@twinsun.com>
24257
24258         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
24259         memcmp if strcoll doesn't work.
24260
24261 2002-12-31  Bruno Haible  <bruno@clisp.org>
24262
24263         * lib/utime.c (utime_null): No need to call ftruncate if the file was
24264         nonempty.
24265
24266 2002-12-31  Bruno Haible  <bruno@clisp.org>
24267
24268         * lib/memcoll.c (STRCOLL): New macro.
24269         (memcoll): Use it.
24270
24271 2002-12-31  Bruno Haible  <bruno@clisp.org>
24272
24273         * lib/localcharset.h: New file.
24274         * lib/localcharset.c: Include it.
24275         * lib/unicodeio.c: Likewise.
24276
24277 2002-12-31  Bruno Haible  <bruno@clisp.org>
24278
24279         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
24280         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
24281
24282 2002-12-31  Bruno Haible  <bruno@clisp.org>
24283
24284         * lib/getline.h: Include <stddef.h>, for size_t.
24285
24286         * lib/unicodeio.h: Include <stddef.h>, for size_t.
24287         * lib/unicodeio.c: Don't include <stddef.h>.
24288
24289 2002-12-31  Bruno Haible  <bruno@clisp.org>
24290
24291         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
24292         HAVE_TM_ZONE.
24293
24294 2002-12-24  Karl Berry  <karl@gnu.org>
24295
24296         * config/config.guess: update from prep.
24297
24298 2002-12-24  Bruno Haible  <bruno@clisp.org>
24299
24300         General infrasructure.
24301         * m4/README: Rewritten.
24302         * m4/onceonly.m4: New file.
24303         * m4/onceonly_2_57.m4: New file.
24304
24305         Module atexit.
24306         * m4/atexit.m4: New file.
24307
24308         Module strtod.
24309         * m4/strtod.m4: New file.
24310
24311         Module strtol.
24312         * m4/strtol.m4: New file.
24313
24314         Module strtoul.
24315         * m4/strtoul.m4: New file.
24316
24317         Module memchr.
24318         * m4/memchr.m4: New file.
24319
24320         Module memcmp.
24321         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
24322         (jm_FUNC_MEMCMP): Invoke it.
24323
24324         Module memcpy.
24325         * m4/memcpy.m4: New file.
24326
24327         Module memmove.
24328         * m4/memmove.m4: New file.
24329
24330         Module memset.
24331         * m4/memset.m4: New file.
24332
24333         Module strcspn.
24334         * m4/strcspn.m4: New file.
24335
24336         Module strpbrk.
24337         * m4/strpbrk.m4: New file.
24338
24339         Module strstr.
24340         * m4/strstr.m4: New file.
24341
24342         Module strerror.
24343         * m4/strerror.m4: New file.
24344
24345         Module mktime.
24346         * m4/mktime.m4: Renamed from jm-mktime.m4.
24347         (gl_PREREQ_MKTIME): New macro.
24348         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
24349
24350         Module malloc.
24351         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
24352         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
24353         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
24354
24355         Module realloc.
24356         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
24357         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
24358         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
24359
24360         Module strftime.
24361         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
24362         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
24363         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
24364         gl_TM_GMTOFF.
24365         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
24366
24367         Module xalloc.
24368         * m4/xalloc.m4: New file.
24369
24370         Module alloca.
24371         * m4/alloca.m4: New file.
24372
24373         Module putenv.
24374         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
24375         (jm_FUNC_PUTENV): Invoke it.
24376
24377         Module setenv.
24378         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
24379         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
24380         when invoked twice.
24381         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
24382         gt_FUNC_SETENV.
24383
24384         Module memrchr.
24385         * m4/memrchr.m4: New file.
24386
24387         Module stpcpy.
24388         * m4/stpcpy.m4: New file.
24389
24390         Module strcase.
24391         * m4/strcase.m4: New file.
24392
24393         Module strdup.
24394         * m4/strdup.m4: New file.
24395
24396         Module strnlen.
24397         * m4/strnlen.m4: New file.
24398
24399         Module strndup.
24400         * m4/strndup.m4: New file.
24401
24402         Module xstrtod.
24403         * m4/xstrtod.m4: New file.
24404
24405         Module xstrtol.
24406         * m4/xstrtol.m4: New file.
24407
24408         Module getdate.
24409         * m4/getdate.m4: New file.
24410
24411         Module unlocked-io.
24412         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
24413         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
24414         * m4/jm-glibc-io.m4n: Remove file.
24415
24416         Module long-options.
24417         * m4/long-options.m4: New file.
24418
24419         Module md5.
24420         * m4/md5.m4: New file.
24421
24422         Module sha.
24423         * m4/sha.m4: New file.
24424
24425         Module getstr.
24426         * m4/getstr.m4: New file.
24427
24428         Module getline.
24429         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
24430         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
24431         <sys/types.h>, for size_t. Use the function name gnu_getline, not
24432         simply getline. Infoke gl_PREREQ_GETLINE.
24433
24434         Module obstack.
24435         * m4/obstack.m4: New file.
24436
24437         Module hash.
24438         * m4/hash.m4: New file.
24439
24440         Module readtokens.
24441         * m4/readtokens.m4: New file.
24442
24443         Module strverscmp.
24444         * m4/strverscmp.m4: New file.
24445
24446         Module stdbool.
24447         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
24448         OSF/1.
24449
24450         Module strtoll.
24451         * m4/strtoll.m4: New file.
24452
24453         Module strtoull.
24454         * m4/strtoull.m4: New file.
24455
24456         Module strtoimax.
24457         * m4/strtoimax.m4: New file.
24458
24459         Module strtoumax.
24460         * m4/strtoumax.m4: New file.
24461
24462         Module xstrtoimax.
24463         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
24464         jm_AC_PREREQ_XSTRTOIMAX.
24465         Moved the strtol prerequisites to strtol.m4.
24466         Moved the strtoll prerequisites to strtoll.m4.
24467         Moved the strtoimax prerequisites to strtoimax.m4.
24468
24469         Module xstrtoumax.
24470         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
24471         jm_AC_PREREQ_XSTRTOUMAX.
24472         Moved the strtoul prerequisites to strtoul.m4.
24473         Moved the strtoull prerequisites to strtoull.m4.
24474         Moved the strtoumax prerequisites to strtoumax.m4.
24475
24476         Module chown.
24477         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
24478         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
24479
24480         Module dup2.
24481         * m4/dup2.m4: New file.
24482
24483         Module ftruncate.
24484         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
24485         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
24486
24487         Module getgroups.
24488         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
24489         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
24490
24491         Module gettimeofday.
24492         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
24493         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
24494         gl_PREREQ_GETTIMEOFDAY.
24495
24496         Module mkdir.
24497         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
24498         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
24499
24500         Module mkstemp.
24501         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
24502         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
24503         jm_AC_TYPE_UINTMAX_T.
24504         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
24505
24506         Module stat.
24507         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
24508         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
24509
24510         Module lstat.
24511         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
24512         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
24513
24514         Module timespec.
24515         * m4/timespec.m4 (gl_TIMESPEC): New macro.
24516         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
24517         * m4/st_mtim.m4: Indentation.
24518
24519         Module nanosleep.
24520         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
24521         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
24522         gl_PREREQ_NANOSLEEP.
24523
24524         Module regex.
24525         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
24526         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
24527         (gl_REGEX): New macro.
24528
24529         Module rename.
24530         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
24531         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
24532
24533         Module rmdir.
24534         * m4/rmdir.m4: New file.
24535
24536         Module utime.
24537         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
24538         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
24539         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
24540
24541         Module dirname.
24542         * m4/dirname.m4: New file.
24543
24544         Module getopt.
24545         * m4/getopt.m4: New file.
24546
24547         Module unistd-safer.
24548         * m4/unistd-safer.m4: New file.
24549
24550         Module fnmatch.
24551         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
24552         declaration.
24553         (gl_PREREQ_FNMATCH_EXTRA): New macro.
24554         (gl_FUNC_FNMATCH_POSIX): New macro.
24555         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
24556         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
24557         simply fnmatch.
24558
24559         Module exclude.
24560         * m4/exclude.m4: New file.
24561
24562         Module human.
24563         * m4/human.m4: New file.
24564
24565         Module acl.
24566         * m4/acl.m4: Nop.
24567
24568         Module backupfile.
24569         * m4/backupfile.m4: New file.
24570         * m4/d-ino.m4: Indentation.
24571
24572         Module fsusage.
24573         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
24574         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
24575         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
24576
24577         Module dirfd.
24578         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
24579         requirements.
24580
24581         Module euidaccess.
24582         * m4/euidaccess.m4: New file.
24583
24584         Module file-type.
24585         * m4/file-type.m4: New file.
24586
24587         Module fileblocks.
24588         * m4/fileblocks.m4: New file.
24589
24590         Module filemode.
24591         * m4/filemode.m4: New file.
24592
24593         Module isdir.
24594         * m4/isdir.m4: New file.
24595
24596         Module lchown.
24597         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
24598         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
24599
24600         Module makepath.
24601         * m4/makepath.m4: New file.
24602
24603         Module modechange.
24604         * m4/modechange.m4: New file.
24605
24606         Module mountlist.
24607         * m4/mountlist.m4: New file.
24608         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
24609         Indentation.
24610
24611         Module path-concat.
24612         * m4/path-concat.m4: New file.
24613
24614         Module pathmax.
24615         * m4/pathmax.m4: New file.
24616
24617         Module same.
24618         * m4/same.m4: New file.
24619
24620         Module save-cwd.
24621         * m4/save-cwd.m4: New file.
24622
24623         Module savedir.
24624         * m4/savedir.m4: New file.
24625
24626         Module xgetcwd.
24627         * m4/xgetcwd.m4: New file.
24628         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
24629
24630         Module xreadlink.
24631         * m4/xreadlink.m4: New file.
24632
24633         Module safe-read.
24634         * m4/safe-read.m4: New file.
24635
24636         Module safe-write.
24637         * m4/safe-write.m4: New file.
24638
24639         Module closeout.
24640         * m4/closeout.m4: New file.
24641
24642         Module stdio-safer.
24643         * m4/stdio-safer.m4: New file.
24644
24645         Module getpass.
24646         * m4/getpass.m4: New file.
24647
24648         Module getugroups.
24649         * m4/getugroups.m4: New file.
24650
24651         Module group-member.
24652         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
24653         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
24654
24655         Module idcache.
24656         * m4/idcache.m4: New file.
24657
24658         Module userspec.
24659         * m4/userspec.m4: New file.
24660
24661         Module gettime.
24662         * m4/clock_time.m4: New file.
24663         * m4/gettime.m4: New file.
24664
24665         Module settime.
24666         * m4/settime.m4: New file.
24667
24668         Module posixtm.
24669         * m4/posixtm.m4: New file.
24670
24671         Module gethostname.
24672         * m4/gethostname.m4: New file.
24673
24674         Module canon-host.
24675         * m4/canon-host.m4: New file.
24676
24677         Module gettext.
24678         * m4/codeset.m4: New file, from gettext-0.11.5.
24679         * m4/gettext.m4: New file, from gettext-0.11.5.
24680         * m4/glibc21.m4: New file, from gettext-0.11.5.
24681         * m4/iconv.m4: New file, from gettext-0.11.5.
24682         * m4/intdiv0.m4: New file, from gettext-0.11.5.
24683         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
24684         * m4/inttypes.m4: New file, from gettext-0.11.5.
24685         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
24686         * m4/isc-posix.m4: New file, from gettext-0.11.5.
24687         * m4/lcmessage.m4: New file, from gettext-0.11.5.
24688         * m4/lib-ld.m4: New file, from gettext-0.11.5.
24689         * m4/lib-link.m4: New file, from gettext-0.11.5.
24690         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
24691         * m4/progtest.m4: New file, from gettext-0.11.5.
24692         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
24693         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
24694         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
24695
24696         Module localcharset.
24697         * m4/localcharset.m4: New file.
24698
24699         Module hard-locale.
24700         * m4/hard-locale.m4: New file.
24701
24702         Module mbswidth.
24703         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
24704         onceonly macros.
24705         * m4/mbrtowc.m4: Add comment.
24706
24707         Module memcasecmp.
24708         * m4/memcasecmp.m4: New file.
24709
24710         Module memcoll.
24711         * m4/memcoll.m4: New file.
24712
24713         Module unicodeio.
24714         * m4/unicodeio.m4: New file.
24715
24716         Module rpmatch.
24717         * m4/rpmatch.m4: New file.
24718
24719         Module yesno.
24720         * m4/yesno.m4: New file.
24721
24722         Module exitfail.
24723         * m4/exitfail.m4: New file.
24724
24725         Module c-stack.
24726         * m4/c-stack.m4 (gl_C_STACK): New macro.
24727         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
24728
24729         Module error.
24730         * m4/error.m4 (gl_ERROR): New macro.
24731         (jm_PREREQ_ERROR): Use onceonly macros.
24732
24733         Module fatal.
24734         * m4/fatal.m4: New file.
24735
24736         Module getloadavg.
24737         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
24738         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
24739
24740         Module getpagesize.
24741         * m4/getpagesize.m4: New file.
24742
24743         Module getusershell.
24744         * m4/getusershell.m4: New file.
24745
24746         Module physmem.
24747         * m4/physmem.m4: New file.
24748
24749         Module posixver.
24750         * m4/posixver.m4: New file.
24751
24752         Module quotearg.
24753         * m4/quotearg.m4: New file.
24754
24755         Module quote.
24756         * m4/quote.m4: New file.
24757
24758         Module readutmp.
24759         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
24760
24761         Module sig2str.
24762         * m4/sig2str.m4: New file.
24763
24764         Other.
24765         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
24766         ulonglong.m4.
24767         * m4/intmax_t.m4: New file.
24768         * m4/d-type.m4: Indentation.
24769         * m4/jm-macros.m4: Update.
24770         * m4/prereq.m4 (jm_PREREQ): Update.
24771         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
24772         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
24773         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
24774         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
24775         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
24776         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
24777         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
24778         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
24779         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
24780         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
24781         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
24782         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
24783         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
24784         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
24785         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
24786         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
24787         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
24788         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
24789         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
24790
24791 2002-12-24  Bruno Haible  <bruno@clisp.org>
24792
24793         * MODULES.txt: Update according to m4/ changes.
24794
24795         Module gettext.
24796         * config.rpath: New file, from gettext-0.11.5.
24797
24798         * modules/*: New module descriptions.
24799         * gnulib-tool: New file.
24800         * MODULES.html.sh: New file.
24801
24802 2002-12-21  Karl Berry  <karl@gnu.org>
24803
24804         * doc/fdl.texi: update to version 1.2.
24805
24806 2002-12-19  Karl Berry  <karl@gnu.org>
24807
24808         * config/config.guess: update from prep.
24809
24810 2002-12-18  Bruno Haible  <bruno@clisp.org>
24811
24812         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
24813         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
24814
24815 2002-12-17  Bruno Haible  <bruno@clisp.org>
24816
24817         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
24818         stdlib.h, string.h.
24819
24820 2002-12-17  Bruno Haible  <bruno@clisp.org>
24821
24822         * lib/canon-host.c (strdup): Remove unused declaration.
24823
24824         * lib/fsusage.c: Include full_read.h.
24825         (get_fs_usage): Use full_read instead of safe_read.
24826
24827         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
24828
24829 2002-12-12  Karl Berry  <karl@gnu.org>
24830
24831         * config/config.guess: update from prep.
24832
24833 2002-12-11  Bruno Haible  <bruno@clisp.org>
24834
24835         * m4/setenv.m4: New file, from gettext-0.11.5.
24836
24837 2002-12-11  Bruno Haible  <bruno@clisp.org>
24838
24839         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
24840         not unsetenv().
24841         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
24842         modifications:
24843
24844         2002-12-11  Bruno Haible  <bruno@clisp.org>
24845
24846                 * setenv.c (alloca): Fall back to malloc.
24847                 (freea): New macro.
24848                 (setenv): Use freea() to free memory allocated with alloca().
24849
24850         2002-11-13  Bruno Haible  <bruno@clisp.org>
24851
24852                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
24853                 function declarations.
24854                 * unsetenv.c (unsetenv): Likewise.
24855
24856         2002-03-04  Bruno Haible  <bruno@clisp.org>
24857
24858                 Portability to AIX 4.3.3.
24859                 * unsetenv.c: New file, extracted from setenv.c.
24860                 * setenv.c: Move the unsetenv() function to unsetenv.c.
24861
24862         2001-12-20  Bruno Haible  <bruno@clisp.org>
24863
24864                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
24865                 use malloc instead. For SunOS 4.
24866
24867         2001-12-11  Bruno Haible  <bruno@clisp.org>
24868
24869                 * setenv.c: Declare alloca.
24870                 (compar_fn_t): New typedef.
24871                 (KNOWN_VALUE, STORE_VALUE): Use it.
24872
24873         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
24874         setenv.h.
24875
24876 2002-12-10  Paul Eggert  <eggert@twinsun.com>
24877
24878         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
24879         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
24880         Choose values that are less likely to collide with system fnmatch
24881         options.
24882         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
24883         defined (e.g., a pure POSIX system).
24884         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
24885         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
24886
24887 2002-12-06  Paul Eggert  <eggert@twinsun.com>
24888
24889         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
24890         a pain in practice to deal with generated m4 files.  This change
24891         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
24892
24893         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
24894         and jm-glibc-io.m4, as they are no longer a special case.
24895         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
24896         kludge and the auto-generation stuff.  Check only whether the
24897         functions are declared, not whether they exist, since older hosts
24898         that don't declare the functions can't use the optimization anyway.
24899
24900 2002-12-06  Jim Meyering  <jim@meyering.net>
24901
24902         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
24903
24904         Merge in changes from libc's misc/error.c, in preparation
24905         for the merge of gnulib's changes back into libc.
24906
24907         * lib/error.c (_): Define only if not already defined.
24908         Move definition to follow all #include directives.
24909         Include unlocked-io.h only if !_LIBC.
24910         [_LIBC]: Include <libio/libioP.h>.
24911         [USE_IN_LIBIO]: Include <libio/iolibio.h>
24912         (fflush): Tweak definition to use INTUSE.
24913         (putc): Define.
24914
24915 2002-12-05  Paul Eggert  <eggert@twinsun.com>
24916
24917         * lib/alloca.c [defined emacs]: Include "lisp.h".
24918         (xalloc_die) [defined emacs]: New macro.
24919         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
24920         [! defined emacs]: Include <xalloc.h>.
24921         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
24922         (pointer): Typedef to POINTER_TYPE *.
24923         (malloc): Remove decl; we now always use xmalloc.
24924         (alloca): Use old-style definition, since Emacs needs this.
24925         Check for arithmetic overflow when computing combined size.
24926
24927 2002-12-04  Paul Eggert  <eggert@twinsun.com>
24928
24929         Do not generate unlocked-io.h automatically, since it's easier to
24930         maintain it by hand.
24931
24932         * lib/unlocked-io.h: New file, from GNU diffutils,
24933         but with proper copyright notice and attribution.
24934         * lib/gen-uio: Remove.
24935         * lib/Makefile.am: Add copyright notice.
24936         (libfetish_a_SOURCES): Add unlocked-io.h.
24937         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
24938         (DISTCLEANFILES, io_functions): Remove macros.
24939         (EXTRA_DIST): Remove gen_uio.
24940         (unlocked-io.h): Remove rule.
24941
24942 2002-12-04  Jim Meyering  <jim@meyering.net>
24943
24944         Reflect the fact that stat.c and lstat.c are no longer generated.
24945         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
24946         (DISTCLEANFILES): Likewise.
24947         (EXTRA_DIST): Likewise.
24948         (all_local): Don't depend on stat.c or lstat.c.
24949         (stat.c, lstat.c): Remove rules.
24950         (EXTRA_DIST): Remove xstat.in.
24951
24952         * lib/xstat.in: Remove file.  Contents moved into stat.c.
24953         * lib/stat.c: New file.  Contents mostly from xstat.in.
24954         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
24955         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
24956
24957         * lib/safe-read.c: Rework so that it may serve to define safe_write,
24958         too.
24959         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
24960
24961 2002-12-03  Jim Meyering  <jim@meyering.net>
24962
24963         * lib/safe-read.c, safe-write.c: Change variable names and comments,
24964         but not semantics, to minimize the differences between these two files.
24965         (safe_read): Change comment to mention SAFE_READ_ERROR.
24966
24967         * lib/safe-read.c (IS_EINTR): Define.
24968         (safe_read): Use IS_EINTR in place of in-function cpp directives.
24969
24970 2002-12-02  Jim Meyering  <jim@meyering.net>
24971
24972         * lib/safe-read.c (EINTR): Define.
24973         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
24974         (INT_MAX): Provide fallback.
24975         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
24976
24977         * lib/safe-read.h (SAFE_READ_ERROR): Define.
24978
24979 2002-12-02  Bruno Haible  <bruno@clisp.org>
24980
24981         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
24982         Define, taken from safe-read.c.
24983         (INT_MAX): Provide fallback.
24984         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
24985         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
24986
24987         * lib/safe-read.c (EINTR): Remove definition.
24988         (safe_read): Don't use EINTR if it is absent.
24989
24990 2002-12-01  Jim Meyering  <jim@meyering.net>
24991
24992         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
24993         zero.
24994         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
24995
24996 2002-11-27  Paul Eggert  <eggert@twinsun.com>
24997
24998         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
24999         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
25000         with `if (! (value < limit)) abort ();', for readability.
25001
25002 2002-11-26  Karl Berry  <karl@gnu.org>
25003
25004         * lib/strdup.c: copy from libc again, with jim's ok.
25005         * lib/.cppi-disable: re-add strdup.c
25006
25007 2002-11-25  Karl Berry  <karl@gnu.org>
25008
25009         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
25010         instead of "strtol.c".
25011
25012 2002-11-25  Karl Berry  <karl@gnu.org>
25013
25014         * config/install-sh: update from automake for variable quoting, $0 in
25015         error msgs, etc.
25016
25017         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
25018         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
25019         entry.
25020
25021 2002-11-25  Jim Meyering  <jim@meyering.net>
25022
25023         * lib/mktime.c: Sync from libc, now that it has the latest fix.
25024
25025 2002-11-24  Karl Berry  <karl@gnu.org>
25026
25027         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
25028         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
25029
25030 2002-11-24  Jim Meyering  <jim@meyering.net>
25031
25032         Update from coreutils:
25033
25034         * lib/mktime.c: Merge in changes from libc.
25035
25036         Avoid a link-time failure on some Linux systems.
25037         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
25038         (otherwise).
25039         (__mon_yday): Declare with the STATIC attribute.
25040         (__mktime_internal): Likewise.
25041         Based on a report from Greg Schafer.
25042
25043 2002-11-23  Jim Meyering  <jim@meyering.net>
25044
25045         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
25046         Use `unsigned', not `int', as type of index.
25047
25048         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
25049
25050         * lib/fsusage.c: Remove unneeded parentheses around operands of
25051         `defined'.
25052
25053 2002-11-22  Paul Eggert  <eggert@twinsun.com>
25054
25055         * lib/quotearg.h: Allow multiple inclusion by surrounding with
25056         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
25057         so that we can be included first.
25058         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
25059         * lib/quotearg.c: Include quotearg.h immediately after config.h.
25060         No need to include stddef.h or sys/types.h any more.
25061         Surround local include files with "", not "<>".
25062         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
25063         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
25064         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
25065         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
25066         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
25067         (ISPRINT): Remove; no longer needed now that we assume C89.
25068
25069         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
25070         Preserve errno.
25071
25072         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
25073         quotearg_char): Use SIZE_MAX rather than
25074         (size_t) -1 when we are talking about "infinity".
25075
25076         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
25077
25078 2002-11-22  Paul Eggert  <eggert@twinsun.com>
25079
25080         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
25081         hint that one should use `if (! x) abort ();' rather than `assert
25082         (x);', and anyway it's one less thing to worry about configuring.
25083         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
25084         hash_rehash, hash_insert): Use abort rather than assert.
25085
25086 2002-11-22  Bruno Haible  <bruno@clisp.org>
25087
25088         * lib/safe-read.h: Assume C89. Add comments.
25089         (safe_read): Change return type to size_t.
25090         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
25091         byte counts > SSIZE_MAX correctly.
25092         * lib/safe-write.h: New file.
25093         * lib/safe-write.c: New file.
25094         * lib/full-read.h: New file.
25095         * lib/full-read.c: New file.
25096         * lib/full-write.h: Assume C89. Add comments.
25097         * lib/full-write.c: Include safe-write.h.
25098         (full_write): Rewritten to use safe_write.
25099         Suggested by Jim Meyering and Paul Eggert.
25100
25101 2002-11-21  Jim Meyering  <jim@meyering.net>
25102
25103         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
25104
25105         Merge in changes from the coreutils.
25106
25107         2002-09-25  Paul Eggert  <eggert@twinsun.com>
25108         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
25109         <stdint.h>.
25110         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
25111         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
25112         int.  Work more efficiently if X is the same width as uintmax_t.
25113         Do not compare X to -1, to avoid bogus compiler warning.
25114         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
25115         Don't assume that f_frsize and f_bsize are the same type.
25116
25117         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
25118         warning on FreeBSD.
25119
25120         * lib/makepath.c (make_path): Restore umask *before* creating the final
25121         component.
25122         (make_path): Minor reformatting.
25123
25124         * lib/xmalloc.c: Adjust to work with new autoconf macros,
25125         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
25126         HAVE_MALLOC/HAVE_REALLOC.
25127
25128         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
25129         dummy ones.  At least on GNU/Linux systems, `auto' means something
25130         else.
25131         From Michael Stone.
25132
25133 2002-11-21  Bruno Haible  <bruno@clisp.org>
25134
25135         Remove case insensitive option matching.
25136         * lib/argmatch.h (argcasematch): Remove declaration.
25137         (ARGCASEMATCH): Remove macro.
25138         (__xargmatch_internal): Remove case_sensitive argument.
25139         (XARGMATCH): Update.
25140         (XARGCASEMATCH): Remove macro.
25141         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
25142         case_sensitive argument.
25143         (argcasematch): Remove function.
25144         (__xargmatch_internal): Remove case_sensitive argument.
25145         (main): Use XARGMATCH instead of XARGCASEMATCH.
25146
25147         * lib/xmalloc.c: Change compile-time error message. Add comment about
25148         required autoconf version.
25149
25150 2002-11-20  Paul Eggert  <eggert@twinsun.com>
25151
25152         Merge argmatch cleanups from Bison.  Assume C89.
25153
25154         * lib/argmatch.c: Include config.h here, not in argmatch.h.
25155         Include stdlib.h, for EXIT_FAILURE.
25156         Always include <string.h>, since we assume C89.
25157         (EXIT_FAILURE): Remove pre-C89 bug workaround.
25158         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
25159         Include <stddef.h> instead, since it's all we need for size_t.
25160         (PARAMS): Remove.  All uses removed.
25161         (ARRAY_CARDINALITY): Do not bother to #undef.
25162         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
25163         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
25164         Remove unnecessary parentheses.
25165         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
25166         Insert necessary parentheses.
25167         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
25168         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
25169
25170 2002-11-19  Bruno Haible  <bruno@clisp.org>
25171
25172         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
25173         * lib/mbswidth.h: Include <stddef.h>, for size_t.
25174
25175         * lib/mbswidth.h (PARAMS): Remove macro.
25176         (mbswidth, mbsnwidth): Use ANSI C function declarations.
25177         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
25178
25179         * lib/gcd.h (PARAMS): Remove macro.
25180         (gcd): Use ANSI C function declarations.
25181         * lib/gcd.c (gcd): Likewise.
25182
25183 2002-11-15  Bruno Haible  <bruno@clisp.org>
25184
25185         * lib/strcspn.c: Include <stddef.h>.
25186         (strcspn): Use ANSI C function declaration. Change return type to
25187         size_t. Use NULL.
25188         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
25189         (strpbrk): Use NULL.
25190         * lib/strpbrk.h (PARAMS): Remove macro.
25191         (strpbrk): Use ANSI C function declaration.
25192         * lib/strstr.c: Don't include <sys/types.h>.
25193         * lib/strstr.h (PARAMS): Remove macro.
25194         (strstr): Use ANSI C function declarations.
25195
25196 2002-11-14  Karl Berry  <karl@gnu.org>
25197
25198         * config/mkinstalldirs: `do' on separate line, instead of
25199         `for var; do'.
25200
25201 2002-11-06  Bruno Haible  <bruno@clisp.org>
25202
25203         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
25204         * lib/gcd.c (gcd): Likewise.
25205
25206 2002-11-05  Bruno Haible  <bruno@clisp.org>
25207
25208         * lib/gcd.h: New file, from gettext-0.11.5.
25209         * lib/gcd.c: New file, from gettext-0.11.5.
25210
25211 2002-11-05  Bruno Haible  <bruno@clisp.org>
25212
25213         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
25214         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
25215         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
25216         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
25217
25218         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
25219         <libintl.h>.
25220         * lib/makepath.c: Include gettext.h instead of <locale.h> and
25221         <libintl.h>.
25222
25223         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
25224         * lib/human.c: Include gettext.h instead of <libintl.h>.
25225         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
25226         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
25227         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
25228         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
25229         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
25230         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
25231         (textdomain): Remove definition.
25232         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
25233
25234         * lib/long-options.c: Remove include of <libintl.h> and definition of
25235         _.
25236         * lib/same.c: Remove include of <libintl.h> and definition of _.
25237
25238 2002-11-04  Owen Taylor  <otaylor@redhat.com>
25239
25240         * lib/config.charset: A few additions for Solaris.
25241
25242 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
25243
25244         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
25245         * lib/localcharset.c (locale_charset): Declare as extern "C".
25246
25247 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
25248
25249         * lib/config.charset: msdos in uk_UA uses CP1125.
25250
25251 2002-11-04  Bruno Haible  <bruno@clisp.org>
25252
25253         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
25254         * lib/strcase.h: New file, from GNU gettext-0.11.5.
25255         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
25256         * lib/strstr.h: New file, from GNU gettext-0.11.5.
25257         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
25258
25259 2002-11-04  Bruno Haible  <bruno@clisp.org>
25260
25261         * lib/localcharset.c (locale_charset): Don't return an empty string.
25262
25263 2002-11-04  Bruno Haible  <bruno@clisp.org>
25264
25265         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
25266         aliases.
25267
25268 2002-11-04  Bruno Haible  <bruno@clisp.org>
25269
25270         * lib/config.charset: Update for newest glibc. Add canonical names
25271         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
25272
25273 2002-11-04  Bruno Haible  <bruno@clisp.org>
25274
25275         * lib/config.charset: Add support for NetBSD.
25276
25277 2002-11-04  Bruno Haible  <bruno@clisp.org>
25278
25279         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
25280
25281 2002-11-01  Bruno Haible  <bruno@clisp.org>
25282
25283         * configure.in: Add AC_CONFIG_AUX_DIR call.
25284         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
25285         test/Makefile.
25286         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
25287
25288 2002-09-28  Karl Berry  <karl@gnu.org>
25289
25290         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
25291         installed automake until the next release, since changes have been
25292         made.
25293
25294 2002-09-25  Karl Berry  <karl@gnu.org>
25295
25296         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
25297         * lib/getopt*: copy from libc/posix.
25298         * lib/gettext.h: copy from gettext.
25299         * lib/.cppi-disable: add strdup.c, gettext.h.
25300
25301 2002-09-25  Karl Berry  <karl@gnu.org>
25302
25303         * config/srclist.txt: enable gettext.h check.
25304         * config/config.{guess,sub}: update from prep.
25305         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
25306                 from automake 1.6.3.
25307         See srclist*.
25308
25309 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
25310
25311         * regex.c (PATFETCH): Remove the translating fetch.
25312         (PATFETCH_RAW): Rename to PATFETCH.
25313         (set_image_of_range): New fun.
25314         (SET_RANGE_TABLE_WORK_AREA): Use it.
25315         (regex_compile): Don't translate the pattern chars so eagerly.
25316         Only do it when inserting an `exactn' bytecode or when handling
25317         a char-range.
25318         (mutually_exclusive_p): Avoid empty statement.
25319
25320 2002-07-06  Jim Meyering  <meyering@lucent.com>
25321
25322         * m4/README: Don't mention Makefile.am.in.
25323         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
25324
25325 2002-07-01  Jim Meyering  <meyering@lucent.com>
25326
25327         * lib/c-stack.c: Include sys/time.h.
25328         From Volker Borchert.
25329
25330 2002-06-26  Paul Eggert  <eggert@twinsun.com>
25331
25332         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
25333
25334 2002-06-26  Paul Eggert  <eggert@twinsun.com>
25335
25336         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
25337         New macro.  Use it uniformly instead of
25338         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
25339         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
25340         reported by Vin Shelton.
25341
25342 2002-06-22  Paul Eggert  <eggert@twinsun.com>
25343
25344         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
25345         Do not assume SA_SIGINFO behavior.
25346         Bug reported by Jim Meyering on NetBSD 1.5.2.
25347
25348 2002-06-22  Jim Meyering  <meyering@lucent.com>
25349
25350         * m4/c-stack.m4: New file, from diffutils-2.8.2.
25351         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
25352
25353         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
25354         now that configure.ac uses AC_GNU_SOURCE.
25355         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
25356         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
25357
25358         Update to latest tools.  Suggestions from Paul Eggert.
25359         * m4/stdbool.m4: New file, from diffutils-2.8.2.
25360         * m4/gnu-source.m4: Update from diffutils-2.8.2.
25361         * m4/fnmatch.m4: Likewise.
25362         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
25363         to AC_HEADER_STDBOOL
25364
25365 2002-06-22  Jim Meyering  <meyering@lucent.com>
25366
25367         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
25368         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
25369
25370 2002-06-22  Jim Meyering  <meyering@lucent.com>
25371
25372         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
25373
25374         * lib/exitfail.c, exitfail.h: Likewise.
25375         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
25376
25377         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
25378         of fnmatch.h.
25379         (EXTRA_DIST): Add fnmatch_loop.c.
25380         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
25381
25382         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
25383         * lib/fnmatch.c: Update from diffutils-2.8.2.
25384         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
25385         * lib/fnmatch.h: Remove file.
25386
25387 2002-06-21  Jim Meyering  <meyering@lucent.com>
25388
25389         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
25390         * m4/mbrtowc.m4: Likewise.
25391
25392         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
25393         * m4/mbswidth.m4: Reflect name change:
25394         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
25395         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
25396
25397         * m4/lib-link.m4: Update from gettext-0.11.2.
25398         * m4/gettext.m4: Likewise.
25399
25400         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
25401         From Alfred M. Szmidt.
25402
25403 2002-06-18  Paul Eggert  <eggert@twinsun.com>
25404
25405         * lib/file-type.h: Report an error if neither S_ISREG nor
25406         S_IFREG is defined, instead of using a test specific to glibc
25407         2.2.  This should be safe, since POSIX requires S_ISREG and
25408         Unix Version 7 had S_IFREG.  We don't need to check for
25409         <sys/types.h> since we don't use any symbols that it defines.
25410
25411 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
25412
25413         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
25414         $@-t, so that each temporary file name is unique and valid in the first
25415         8 characters, for operation under DOS.
25416
25417 2002-06-15  Paul Eggert  <eggert@twinsun.com>
25418
25419         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
25420
25421 2002-06-15  Jim Meyering  <meyering@lucent.com>
25422
25423         Work even with DJGPP 2.03, which lacks support for symlinks.
25424         From Richard Dawe.
25425         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
25426         is defined.
25427         * lib/lchown.c (S_ISLNK): Likewise.
25428
25429 2002-06-15  Jim Meyering  <meyering@lucent.com>
25430
25431         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
25432         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
25433         have been included before this file.
25434
25435 2002-06-14  Jim Meyering  <meyering@lucent.com>
25436
25437         * lib/file-type.h: Use the version from diffutils-2.8.2.
25438         * lib/file-type.c: Likewise.
25439
25440 2002-06-07  Jim Meyering  <meyering@lucent.com>
25441
25442         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
25443         They're needed at least for NetBSD 1.5.2.
25444         ($statxfs_includes): Include those same headers.
25445         ($statxfs_includes): Include sys/vfs.h if available.
25446         ($statxfs_includes): Likewise for sys/statvfs.h.
25447         Check for the following members in both structs statfs and statvfs:
25448         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
25449
25450 2002-06-01  Jim Meyering  <meyering@lucent.com>
25451
25452         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
25453         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
25454
25455 2002-05-28  Jim Meyering  <meyering@lucent.com>
25456
25457         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
25458         Reported by Volker Borchert.
25459
25460 2002-05-27  Jim Meyering  <meyering@lucent.com>
25461
25462         Fix a problem seen only on nonconforming systems whereby ls.c's
25463         use of localtime, and then of gettimeofday would cause trouble:
25464         the localtime call used to initialize rpl_gettimeofday's save
25465         mechanism would clobber ls's current local time information so
25466         that in any long listing the first file would always be listed
25467         with date 1970-01-01.  Analysis by Volker Borchert.
25468
25469         * lib/gettimeofday.c (localtime): Undefine.
25470         (rpl_localtime): New function.
25471
25472 2002-05-27  Jim Meyering  <meyering@lucent.com>
25473
25474         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
25475         localtime.
25476
25477         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
25478         use the replacement function; it wouldn't resolve at link time.
25479         Reported by Volker Borchert.
25480
25481 2002-05-22  Jim Meyering  <meyering@lucent.com>
25482
25483         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
25484         file-type.h.
25485         * lib/file-type.h: New file.
25486         * lib/file-type.c (file_type): New file/function.  Extracted from
25487         diffutils.
25488
25489 2002-04-30  Jim Meyering  <meyering@lucent.com>
25490
25491         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
25492
25493 2002-04-29  Paul Eggert  <eggert@twinsun.com>
25494
25495         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
25496
25497 2002-04-29  Paul Eggert  <eggert@twinsun.com>
25498
25499         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
25500         Do not check for alloca.h (no longer used) or stdbool.h (was never
25501         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
25502
25503 2002-04-29  Paul Eggert  <eggert@twinsun.com>
25504
25505         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
25506
25507 2002-04-29  Jim Meyering  <meyering@lucent.com>
25508
25509         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
25510         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
25511         Use AC_FUNC_STRNLEN here instead.
25512
25513         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
25514         With autoconf-2.53a, it's part of AC_PROG_CC.
25515
25516 2002-04-28  Paul Eggert  <eggert@twinsun.com>
25517
25518         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
25519         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
25520
25521 2002-04-28  Paul Eggert  <eggert@twinsun.com>
25522
25523         * lib/sig2str.h, lib/sig2str.c: New files.
25524         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
25525
25526 2002-04-28  Paul Eggert  <eggert@twinsun.com>
25527
25528         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
25529         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
25530         of 127, since 64 is the largest conceivable number for ancient
25531         nonstandard hosts.
25532         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
25533
25534 2002-04-28  Jim Meyering  <meyering@lucent.com>
25535
25536         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
25537
25538 2002-04-24  Jim Meyering  <meyering@lucent.com>
25539
25540         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
25541         (jm_PREREQ): Use it.
25542
25543         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
25544         mach/mach.h fcntl.h.
25545         Check for this function: setlocale.
25546
25547 2002-04-24  Jim Meyering  <meyering@lucent.com>
25548
25549         * lib/gettext.h: New file, from Gettext.
25550         * lib/Makefile.am (INCLUDES): Remove -I../intl.
25551         (libfetish_a_SOURCES): Add gettext.h.
25552
25553 2002-04-16  Jim Meyering  <meyering@lucent.com>
25554
25555         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
25556         ut_pid, ut_id, ut_exit.
25557
25558 2002-04-16  Jim Meyering  <meyering@lucent.com>
25559
25560         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
25561         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
25562         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
25563
25564 2002-04-12  Jim Meyering  <meyering@lucent.com>
25565
25566         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
25567         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
25568         existence of the getmntinfo function.  Needed for Darwin 5.3.
25569
25570         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
25571         This is necessary at least on Darwin 5.3.
25572
25573         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
25574         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
25575         strnlen.o in the library, and that makes some versions of ranlib
25576         object.
25577
25578 2002-04-12  Jim Meyering  <meyering@lucent.com>
25579
25580         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
25581
25582 2002-04-09  Jim Meyering  <meyering@lucent.com>
25583
25584         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
25585         to be more precise.  Rather than saying we're checking whether the
25586         function `works', say what we're testing.
25587         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
25588         Reported by Bruno Haible.
25589
25590 2002-03-10  Jim Meyering  <meyering@lucent.com>
25591
25592         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
25593         Suggestion from Santiago Vila.
25594
25595 2002-03-08  Jim Meyering  <meyering@lucent.com>
25596
25597         * lib/rename.c: Mention that this wrapper is needed also on
25598         mips-dec-ultrix4.4 systems.
25599
25600 2002-03-02  Jim Meyering  <meyering@lucent.com>
25601
25602         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
25603         not HAVE_CLOCK_SETTIME.
25604
25605 2002-02-27  Paul Eggert  <eggert@twinsun.com>
25606
25607         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
25608         Check for clock_settime.
25609
25610 2002-02-27  Paul Eggert  <eggert@twinsun.com>
25611
25612         * lib/nanosleep.h: Rename to....
25613         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
25614
25615         * lib/gettime.c: New file.
25616         * lib/settime.c: New file.
25617         * lib/stime.c: Remove.
25618
25619         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
25620         timespec.h.  Remove nanosleep.h.
25621
25622 2002-02-25  Paul Eggert  <eggert@twinsun.com>
25623
25624         * m4/acl.m4: New file.
25625         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
25626         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
25627
25628 2002-02-25  Paul Eggert  <eggert@twinsun.com>
25629
25630         * lib/acl.c, lib/acl.h: New files.
25631         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
25632
25633 2002-02-24  Jim Meyering  <meyering@lucent.com>
25634
25635         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
25636         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
25637         cause trouble.  Reported by Nelson Beebe.
25638
25639 2002-02-23  Paul Eggert  <eggert@twinsun.com>
25640
25641         * lib/path-concat.c (xpath_concat): Reorder code to pacify
25642         compilers that don't know that xalloc_die never returns.
25643
25644 2002-02-20  Jim Meyering  <meyering@lucent.com>
25645
25646         * lib/getdate.c: Regenerate using bison-1.33.
25647
25648 2002-02-17  Jim Meyering  <meyering@lucent.com>
25649
25650         * config/config.guess (main): Don't use `head -1'; it's no longer
25651         portable. Use `sed 1q' instead.
25652
25653 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
25654
25655         * m4/codeset.m4: Upgrade to gettext-0.11.
25656         * m4/gettext.m4: Upgrade to gettext-0.11.
25657         * m4/glibc21.m4: Upgrade to gettext-0.11.
25658         * m4/iconv.m4: Upgrade to gettext-0.11.
25659         * m4/isc-posix.m4: Upgrade to gettext-0.11.
25660         * m4/lcmessage.m4: Upgrade to gettext-0.11.
25661         * m4/lib-ld.m4: New file, from gettext-0.11.
25662         * m4/lib-link.m4: New file, from gettext-0.11.
25663         * m4/lib-prefix.m4: New file, from gettext-0.11.
25664         * m4/progtest.m4: Upgrade to gettext-0.11.
25665
25666 2002-02-15  Paul Eggert  <eggert@twinsun.com>
25667
25668         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
25669         (jm_PREREQ): Use it.
25670
25671 2002-02-15  Paul Eggert  <eggert@twinsun.com>
25672
25673         * lib/posixver.c, lib/posixver.h: New files.
25674         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
25675
25676 2002-02-02  Paul Eggert  <eggert@twinsun.com>
25677             Bruno Haible  <bruno@clisp.org>
25678
25679         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
25680         (fwrite_success_callback): New declaration.
25681         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
25682         print_unicode_char. Call failure callback instead of error.
25683         (fwrite_success_callback): New function.
25684         (exit_failure_callback): New function.
25685         (fallback_failure_callback): New function.
25686         (print_unicode_char): Call unicode_to_mb.
25687
25688 2002-01-26  Jim Meyering  <meyering@lucent.com>
25689
25690         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
25691         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
25692
25693 2002-01-26  Jim Meyering  <meyering@lucent.com>
25694
25695         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
25696
25697 2002-01-22  Paul Eggert  <eggert@twinsun.com>
25698
25699         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
25700
25701 2002-01-22  Jim Meyering  <meyering@lucent.com>
25702
25703         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
25704         Otherwise, some versions of automake would omit the rule that makes
25705         Makefile from Makefile.in.
25706
25707 2002-01-21  Paul Eggert  <eggert@twinsun.com>
25708
25709         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
25710         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
25711         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
25712         (memcoll): Set errno to zero if there is no error.
25713
25714         * lib/quotearg.c (quotearg_buffer_restyled):
25715         Fix bug with quoting buffers containing NUL when backslashing escapes.
25716         This bug was exposed by the other changes in this patch.
25717         (quotearg_n_options): New arg ARGSIZE.
25718         All callers changed.
25719         (quoting_options_from_style): New function.
25720         (quotearg_n_style): Use it.
25721         (quotearg_n_style_mem): New function.
25722
25723         * lib/quotearg.h (quotearg_n_style_mem): New function.
25724
25725 2002-01-19  Jim Meyering  <meyering@lucent.com>
25726
25727         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
25728         Remove useless quotes: DF_PROG="df".
25729         * m4/strnlen.m4: New file.
25730
25731 2002-01-16  Paul Eggert  <eggert@twinsun.com>
25732
25733         * lib/backupfile.c (ISDIGIT): Comment fix.
25734         * lib/getdate.y (ISDIGIT): Likewise.
25735         * lib/posixtm.c (ISDIGIT, year): Likewise.
25736         * lib/strverscmp.c (ISDIGIT): Likewise.
25737         * lib/userspec.c (ISDIGIT): Likewise.
25738
25739 2002-01-16  Jim Meyering  <meyering@lucent.com>
25740
25741         * lib/getdate.y: Add three semicolons, each just before a closing
25742         brace. Bison (as of version 1.31) no longer papers over that mistake.
25743
25744 2002-01-05  Jim Meyering  <meyering@lucent.com>
25745
25746         * lib/version-etc.c (version_etc_copyright): Update copyright year.
25747
25748 2001-12-19  Paul Eggert  <eggert@twinsun.com>
25749
25750         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
25751         not silently exit merely because the output buffer happens to
25752         have nothing pending.
25753
25754 2001-12-18  Paul Eggert  <eggert@twinsun.com>
25755
25756         See the big note in ../ChangeLog.
25757         * lib/human.c (suffixes): Prefer K to k for 1024.
25758         (generate_suffix_backwards): New function.
25759         (human_readable_inexact): Use it.
25760         * lib/xstrtol.c (__xstrtol): If there is no number but there
25761         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
25762         Accept 'K' as well as 'k'.
25763
25764 2001-12-15  Jim Meyering  <meyering@lucent.com>
25765
25766         * lib/regex.h (__restrict_arr): Update from libc.
25767
25768         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
25769         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
25770         (STREQ): Define.
25771
25772 2001-12-14  Jim Meyering  <meyering@lucent.com>
25773
25774         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
25775         Suggestion from Bruno Haible.
25776
25777 2001-12-10  Jim Meyering  <meyering@lucent.com>
25778
25779         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
25780         xrealloc, Instead, include "xalloc.h".
25781         (initbuffer): Don't cast xmalloc return value to char*.
25782         (readline): Reword comment.
25783         Don't cast xrealloc return value to char*
25784         Return NULL, not 0.
25785
25786 2001-12-09  Jim Meyering  <meyering@lucent.com>
25787
25788         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
25789         about `signed and unsigned type in conditional expression'.
25790         * lib/posixtm.c (posix_time_parse): Likewise.
25791
25792         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
25793
25794         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
25795         to avoid a pedantic warning.
25796
25797         * lib/getstr.c: Don't include assert.h.
25798         (getstr): Remove warning-evoking assertions.
25799         Return -1 if offset parameter is out of bounds.
25800         Change the type of a local from int to size_t.
25801
25802         * lib/strftime.c (my_strftime_localtime_r): Include this function
25803         definition in the `#if ! HAVE_TM_GMTOFF' block.
25804
25805         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
25806         Include xalloc.h instead.
25807
25808 2001-12-02  Jim Meyering  <meyering@lucent.com>
25809
25810         * lib/tempname.c: Don't declare getenv, thus reverting the change of
25811         2001-11-18.  It's no longer necessary, now that stdlib.h is always
25812         included.
25813
25814         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
25815         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
25816
25817 2001-11-30  Akim Demaille  <akim@epita.fr>
25818
25819         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
25820         before being defined.
25821
25822 2001-11-27  Paul Eggert  <eggert@twinsun.com>
25823
25824         * lib/quotearg.h (quotearg_n, quotearg_n_style):
25825         First arg is int, not unsigned.
25826         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
25827         (SIZE_MAX, UINT_MAX): New macros.
25828         (quotearg_n_options): Abort if N is negative.
25829         Avoid overflow check on hosts where size_t is 64 bits and int
25830         is 32 bits, as overflow is impossible there.
25831         Fix off-by-one typo that caused unnecessary reallocation.
25832
25833 2001-11-27  Jim Meyering  <meyering@lucent.com>
25834
25835         * lib/tempname.c: Merge with version from libc.
25836         * lib/regex.c: Likewise.
25837
25838         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
25839         systems for which STDC_HEADERS is 0, it was not included, resulting in
25840         a warning about an integer-to-pointer conversion problem with getenv.
25841         Reported by Volker Borchert.
25842
25843 2001-11-26  Jim Meyering  <meyering@lucent.com>
25844
25845         * lib/gtod.h: Remove file.
25846         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
25847         * lib/gettimeofday.c: Don't include gtod.h.
25848         (GTOD_init): Remove function.
25849         (rpl_gettimeofday): Do its job here instead, rather than aborting.
25850         Suggestion from Volker Borchert.
25851
25852 2001-11-23  Jim Meyering  <meyering@lucent.com>
25853
25854         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
25855         it.
25856         * lib/hash.c (struct hash_table): Define it here instead.
25857
25858 2001-11-22  Jim Meyering  <meyering@lucent.com>
25859
25860         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
25861
25862 2001-11-20  Jim Meyering  <meyering@lucent.com>
25863
25864         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
25865         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
25866
25867 2001-11-19  Jim Meyering  <meyering@lucent.com>
25868
25869         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
25870         directory.  Use "conftestXXXXXX" as the template.
25871         Suggestion from Paul Eggert.
25872
25873         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
25874         immediately, so the test doesn't mistakenly hit the max-open-files
25875         limit.
25876
25877 2001-11-18  Paul Eggert  <eggert@twinsun.com>
25878
25879         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
25880         (TEMPORARIES): New macro.
25881         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
25882         removes an artificial limitation (e.g. HP-UX 10.20, where
25883         TMP_MAX is 17576).
25884
25885 2001-11-18  Jim Meyering  <meyering@lucent.com>
25886
25887         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
25888
25889 2001-11-18  Jim Meyering  <meyering@lucent.com>
25890
25891         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
25892         on SunOS 4.
25893
25894         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
25895         files will be created before anything else.
25896
25897 2001-11-17  Paul Eggert  <eggert@twinsun.com>
25898
25899         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
25900         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
25901
25902 2001-11-17  Jim Meyering  <meyering@lucent.com>
25903
25904         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
25905         Prompted by a report from Bob Proulx.
25906
25907         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
25908         Instead, require UTILS_FUNC_MKSTEMP.
25909
25910 2001-11-17  Jim Meyering  <meyering@lucent.com>
25911
25912         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
25913         Now, that's done as part of AC_FUNC_STRTOD.
25914
25915 2001-11-17  Jim Meyering  <meyering@lucent.com>
25916
25917         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
25918         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
25919         rather than group writable.  Patch by Juan F. Codagnone.
25920
25921         * lib/readtokens.c: Remove explicit declarations of xmalloc and
25922         xrealloc, Instead, include "xalloc.h".
25923
25924         * lib/mountlist.c: Include unlocked-io.h after all system headers.
25925         Remove explicit declarations of xmalloc, xrealloc,
25926         and xstrdup.  Instead, include "xalloc.h".
25927
25928         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
25929         unlocked-io.h.
25930         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
25931         Likewise.
25932         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
25933
25934         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
25935         Reported by Padraig Brady.
25936
25937         * lib/mkstemp.c: #undef mkstemp.
25938         Include config.h.
25939         (rpl_mkstemp): Rename from mkstemp.
25940         Protoize.
25941
25942 2001-11-16  Jim Meyering  <meyering@lucent.com>
25943
25944         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
25945         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
25946         determine the amount of total physical memory, use pstat_getstatic.
25947         HPUX-11 doesn't define _SC_PHYS_PAGES.
25948         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
25949         If sysconf couldn't be used to determine the amount of available
25950         physical memory, use both pstat_getstatic and pstat_getdynamic.
25951         Based on a patch from Bob Proulx.
25952
25953 2001-11-10  Jim Meyering  <meyering@lucent.com>
25954
25955         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
25956         (jm_PREREQ): Use it.
25957
25958 2001-11-09  Jim Meyering  <meyering@lucent.com>
25959
25960         * m4/jm-macros.m4: Require autoconf-2.52f.
25961         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
25962         Use these AC_-prefixed names, not the AM_-prefixed ones.
25963
25964         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
25965
25966 2001-11-05  Jim Meyering  <meyering@lucent.com>
25967
25968         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
25969
25970 2001-11-04  Jim Meyering  <meyering@lucent.com>
25971
25972         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
25973         $DEFS.
25974
25975 2001-11-03  Jim Meyering  <meyering@lucent.com>
25976
25977         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
25978         of AC_DEFUN.
25979
25980         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
25981         know the name of the variable in the macro definition.
25982
25983 2001-11-03  Jim Meyering  <meyering@lucent.com>
25984
25985         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
25986         in argmatch_to_argument call.
25987
25988         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
25989         argument.
25990
25991         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
25992         e.g., a fault due to an attempt to free a NULL pointer.
25993
25994 2001-11-01  Jim Meyering  <meyering@lucent.com>
25995
25996         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
25997         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
25998
25999 2001-11-01  Jim Meyering  <meyering@lucent.com>
26000
26001         * lib/dirfd.c, lib/dirfd.h: New files.
26002         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
26003
26004         * lib/hash.c (hash_print) [TESTING]: Clean up.
26005
26006 2001-10-22  Paul Eggert  <eggert@twinsun.com>
26007
26008         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
26009         to avoid a warning if -Wall.
26010
26011 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
26012
26013         * README: New file
26014         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
26015         (per RMS's instructions, this is now the canonical source)
26016         * lgpl/, gpl/: New directories.
26017
26018 2001-10-21  Paul Eggert  <eggert@twinsun.com>
26019
26020         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
26021
26022 2001-10-21  Jim Meyering  <meyering@lucent.com>
26023
26024         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
26025         this code would end up calling gettext even in packages built
26026         with --disable-nls.
26027         * lib/getopt.c (_): Likewise.
26028         * lib/regex.c (_): Likewise.
26029
26030 2001-10-20  Paul Eggert  <eggert@twinsun.com>
26031
26032         * m4/error.m4 (jm_PREREQ_ERROR):
26033         Do not invoke AC_CHECK_FUNCS with strerror_r, as
26034         AC_FUNC_STRERROR_R does that.
26035         Check for strerror declaration.
26036
26037         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
26038         are supposed to have them these days.
26039         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
26040         Merge changes from latest Autoconf CVS.
26041         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
26042         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
26043         POSIX decided to standardize on the int flavor of strerror_r.
26044
26045 2001-10-20  Paul Eggert  <eggert@twinsun.com>
26046
26047         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
26048         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
26049         Use strerror_r that is only a macro, even if it is not a function.
26050         (strerror): Check for HAVE_DECL_STRERROR before declaring.
26051         (private_strerror): Use prototypes, not old-style function definition.
26052         (print_errno_message): New function.
26053         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
26054         char*-flavored one.
26055         (error_tail, error, error_at_line): Use it.
26056
26057 2001-10-11  Jim Meyering  <meyering@lucent.com>
26058
26059         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
26060         and quote_n (1, ... to avoid clobbering a buffer.
26061
26062 2001-10-05  Jim Meyering  <meyering@lucent.com>
26063
26064         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
26065         hash-pjw.h.
26066         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
26067         * lib/hash-pjw.h: New file.
26068
26069 2001-09-30  Jim Meyering  <meyering@lucent.com>
26070
26071         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
26072         `struct fsstat' has the `f_fstypename' member.
26073         Use that to define FS_TYPE, which is now used to make
26074         the getfsstat link test tighter.
26075
26076 2001-09-30  Jim Meyering  <meyering@lucent.com>
26077
26078         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
26079         Include <sys/ucred.h>, for Apple Darwin.
26080         Include sys/mount.h and sys/fs_types.h only if available.
26081         (FS_TYPE): Define.
26082         (read_filesystem_list): Use FS_TYPE.
26083
26084 2001-09-29  Paul Eggert  <eggert@twinsun.com>
26085
26086         * lib/exclude.c (excluded_filename): 0 -> false, since it's
26087         a boolean context.
26088
26089 2001-09-29  Jim Meyering  <meyering@lucent.com>
26090
26091         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
26092         [one-argument getmntent function]): Include stdio.h before mntent.h.
26093         SunOS 4.1.x needs it for the declaration of `FILE'.
26094         Patch by Volker Borchert.
26095
26096         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
26097         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
26098         sys/fs_types.h, and make the link-test for getfsstat guard #include
26099         directives with appropriate #if HAVE_*_H tests so that we can
26100         detect getfsstat on Apple Darwin1.3.7 systems.
26101         Reported by Nelson Beebe.
26102         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
26103
26104 2001-09-28  Paul Eggert  <eggert@twinsun.com>
26105
26106         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
26107         #defines strtoimax.  Also treat the other strto* functions
26108         like strtoimax.
26109
26110         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
26111         Check for strtoul and strtoumax,
26112         as those declarations are made even in the signed case.
26113         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
26114         Likewise, for strtol and strtoimax.
26115
26116 2001-09-28  Paul Eggert  <eggert@twinsun.com>
26117
26118         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
26119         #defines strtoimax.  Also treat the other strto* functions
26120         like strtoimax.
26121
26122         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
26123         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
26124         (strtoimax, strtoumax): Do not declare if already defined as a macro.
26125
26126 2001-09-26  Jim Meyering  <meyering@lucent.com>
26127
26128         Most macros in unlocked-io.h had the wrong number of arguments.
26129         * lib/gen-uio: New script.
26130         (USE_UNLOCKED_IO): Define to 1 if not already defined.
26131         * lib/unlocked-io.hin: Remove file.
26132         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
26133         rather than trying to embed it here.
26134         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
26135         Reported by Padraig Brady.
26136
26137 2001-09-25  Volker Borchert  <bt@teknon.de>
26138
26139         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
26140         `result'.
26141
26142 2001-09-24  Jim Meyering  <meyering@lucent.com>
26143
26144         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
26145
26146 2001-09-23  Jim Meyering  <meyering@lucent.com>
26147
26148         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
26149         instead of the mere test for existence of mntent.h.  The latter
26150         would get a false-positive on AIX 3.4 systems.
26151         In the outer getmntent if-block, don't die if neither of the getmntent
26152         tests succeeds.  Instead, just fall through and continue with the
26153         remaining tests.
26154
26155 2001-09-23  Jim Meyering  <meyering@lucent.com>
26156
26157         * lib/mountlist.c: Remove useless parentheses in #if directives.
26158         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
26159         the deprecated MOUNTED symbol is no longer defined in mntent.h.
26160
26161 2001-09-22  Jim Meyering  <meyering@lucent.com>
26162
26163         * m4/gettext.m4: New file.  From gettext.
26164         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
26165         * m4/progtest.m4: Likewise
26166         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
26167         * m4/glibc21.m4: Likewise.
26168
26169         * m4/libintl.m4: Remove.  No longer used.
26170
26171 2001-09-22  Jim Meyering  <meyering@lucent.com>
26172
26173         * lib/localcharset.c: Update from latest gettext.
26174         * lib/config.charset: Likewise.
26175
26176 2001-09-20  Jim Meyering  <meyering@lucent.com>
26177
26178         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
26179         strtoimax.
26180         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
26181         strtoumax.
26182
26183 2001-09-20  Jim Meyering  <meyering@lucent.com>
26184
26185         * lib/xstrtol.c (strtoimax): Guard declaration with
26186         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
26187         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
26188         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
26189         (strtoumax): Likewise, for completeness (it wasn't necessary).
26190
26191 2001-09-17  Paul Eggert  <eggert@twinsun.com>
26192
26193         * lib/strtoimax.c (HAVE_LONG_LONG):
26194         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
26195         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
26196         to work around bug in IBM C compiler.
26197
26198 2001-09-17  Jim Meyering  <meyering@lucent.com>
26199
26200         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
26201         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
26202         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
26203         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
26204         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
26205         whenever the right hand side need not be expanded by the shell.
26206
26207 2001-09-16  Paul Eggert  <eggert@twinsun.com>
26208
26209         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
26210         library.  It's not correct, as some older glibcs are buggy.
26211         fnmatch wasn't fixed until glibc 2.2.
26212
26213         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
26214         special shell magic here.
26215
26216 2001-09-16  Jim Meyering  <meyering@lucent.com>
26217
26218         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
26219         * m4/jm-macros.m4: Require it.
26220
26221 2001-09-16  Jim Meyering  <meyering@lucent.com>
26222
26223         * lib/mkdir.c: New file.
26224
26225 2001-09-15  Jim Meyering  <meyering@lucent.com>
26226
26227         * m4/jm-macros.m4: Check for help2man.
26228
26229 2001-09-11  Jim Meyering  <meyering@lucent.com>
26230
26231         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
26232         The body, by Paul Eggert, was moved here from configure.in.
26233         * m4/jm-macros.m4: Require UTILS_HOST_OS.
26234
26235 2001-09-04  Paul Eggert  <eggert@twinsun.com>
26236
26237         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
26238         (jm_PREREQ): Use it.
26239
26240 2001-09-04  Paul Eggert  <eggert@twinsun.com>
26241
26242         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
26243         Use ssize_t, not int, to store result of readlink.
26244         Check for ssize_t overflow as well as size_t overflow,
26245         as POSIX says the result of readlink is implementation-defined
26246         when ssize_t overflows.
26247         Remove unnecessary cast to char*.
26248         Use free+malloc instead of realloc, as the storage doesn't need
26249         to be preserved and it's clearer and can be more efficient that way.
26250         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
26251         * lib/xreadlink.h (xreadlink): Update prototype.
26252
26253 2001-09-04  Paul Eggert  <eggert@twinsun.com>
26254
26255         * lib/xgetcwd.c: Revert some of the previous change; intead,
26256         fix the HAVE_GETCWD_NULL code to behave more like the
26257         !HAVE_GETCWD_NULL code used to.
26258
26259         Include "xalloc.h".
26260         (xgetcwd): Do not return NULL when memory is exhausted; instead,
26261         invoke xalloc_die.
26262
26263 2001-09-03  Paul Eggert  <eggert@twinsun.com>
26264
26265         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
26266         sys/param.h, as pathmax.h includes them.
26267
26268 2001-09-03  Paul Eggert  <eggert@twinsun.com>
26269
26270         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
26271         (jm_PREREQ_XGETCWD): New macro.
26272
26273         * m4/getcwd.m4: New file.
26274
26275 2001-09-03  Paul Eggert  <eggert@twinsun.com>
26276
26277         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
26278         like the HAVE_GETCWD_NULL code.
26279         Include pathmax.h if not HAVE_GETCWD.
26280         Do not include xalloc.h.
26281         (INITIAL_BUFFER_SIZE): New symbol.
26282         Do not use xmalloc / xrealloc, since the caller is responsible for
26283         handling errors.  Preserve errno around `free' during failure.
26284         Do not overrun buffer when using getwd.
26285
26286 2001-09-03  Paul Eggert  <eggert@twinsun.com>
26287
26288         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
26289         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
26290         getcwd (NULL, 0).
26291
26292 2001-09-03  Paul Eggert  <eggert@twinsun.com>
26293
26294         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
26295         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
26296         spotted by Jim Meyering.
26297
26298 2001-09-03  Jim Meyering  <meyering@lucent.com>
26299
26300         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
26301         failure.
26302
26303 2001-09-02  Jim Meyering  <meyering@lucent.com>
26304
26305         * lib/error.c: Update from GNU libc.
26306
26307 2001-09-01  Jim Meyering  <meyering@lucent.com>
26308
26309         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
26310         Used by df.
26311
26312 2001-09-01  Jim Meyering  <meyering@lucent.com>
26313
26314         * lib/xreadlink.c: New file.
26315         * lib/xreadlink.h: New file.
26316         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
26317         xreadlink.h.
26318
26319         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
26320         doesn't conflict with sparc Solaris 7's definition in
26321         /usr/include/sys/int_types.h.
26322
26323         * lib/exclude.c: Use `""', not `<>' to #include non-system header
26324         files.
26325         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
26326         and strncasecmp as r-values.  Unixware didn't have declarations.
26327
26328 2001-08-31  Paul Eggert  <eggert@twinsun.com>
26329
26330         * lib/xstrtol.h: Add copyright notice.
26331         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
26332         LONGINT_INVALID_SUFFIX_CHAR.
26333
26334 2001-08-31  Paul Eggert  <eggert@twinsun.com>
26335
26336         * lib/xstrtol.c (strtoimax): New decl.
26337
26338 2001-08-31  Paul Eggert  <eggert@twinsun.com>
26339
26340         * lib/xgetcwd.c: Don't include pathmax.h.
26341         Include stdlib.h and unistd.h if available.
26342         Include xalloc.h.
26343         (xmalloc, xstrdup, free): Remove decls.
26344         (xgetcwd): Don't assume sizes fit in unsigned.
26345         Check for overflow when computing sizes.
26346         Simplify reallocation code.
26347
26348 2001-08-31  Paul Eggert  <eggert@twinsun.com>
26349
26350         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
26351         a directory's st_size can have an arbitrary value, so the old
26352         usage could waste an arbitrary amount of memory.  All uses
26353         changed.
26354         * lib/savedir.h: Update prototype.
26355
26356 2001-08-31  Paul Eggert  <eggert@twinsun.com>
26357
26358         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
26359
26360         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
26361         old strtoimax.c.
26362
26363         Also, make the following further changes to make this file's
26364         configuration more similar to that of strtol.c:
26365         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
26366         (strtoumax, uintmax_t, strtoull, strtol): Remove.
26367         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
26368         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
26369         changed to signed values.
26370
26371         And make the following changes as well:
26372         Fix copyright notice, as 1999 was missing.
26373         (verify): New macro.
26374         (strtoimax): Check sizes at compile-time, not run-time.
26375         Prefer strtol to strtoll if both work.
26376         (main): Remove; it was not that useful and was a pain to maintain.
26377
26378         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
26379
26380 2001-08-31  Jim Meyering  <meyering@lucent.com>
26381
26382         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
26383         Use an initial, malloc'd, buffer of length 128 rather than
26384         a statically allocated one of length 1024.
26385
26386 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26387
26388         Simplify code, partly by assuming autoconf 2.52 semantics.
26389
26390         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
26391
26392         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
26393         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
26394         All uses removed.
26395         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
26396         Move AC_REQUIRE to next-to-top level, to avoid confusion.
26397         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
26398         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
26399         jm_AC_HEADER_INTTYPES_H.
26400         * m4/jm-macros.m4 (jm_MACROS): Likewise.
26401
26402         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
26403
26404         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
26405         Quote first arg of AC_DEFUN.
26406         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
26407         since they are needed to parse the include file even if we need
26408         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
26409         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
26410         but with opposite signedness.
26411
26412 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26413
26414         Merge 'exclude' changes from tar 1.13.22.
26415         This fixes one or two unlikely storage allocation overflow bugs,
26416         but doesn't change user-visible behavior otherwise.
26417
26418 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26419
26420         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
26421         (jm_PREREQ_EXCLUDE): New macro.
26422
26423 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26424
26425         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
26426         tm to be declared.
26427
26428 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26429
26430         * lib/hash.c: Remove '2001' from copyright notice.
26431
26432 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26433
26434         * lib/full-write.h: New file.
26435         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
26436         * lib/full-write.c: Correct credits, as cccp.c no longer
26437         exists and anyway it was so heavily changed from the old cccp
26438         code as to be unrecognizable.  Include full-write.h.
26439         (full_write) Return size_t, with short writes meaning failure.
26440         All callers changed.  This fixes a bug with large buffers
26441         on 64-bit hosts.
26442         * lib/utime.c: Include full-write.h.
26443
26444 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26445
26446         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
26447         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
26448         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
26449         Include if available.
26450         (<xalloc.h>): Include
26451         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
26452         (verify): New macro.  Use it to verify that EXCLUDE macros do not
26453         collide with FNM macros.
26454         (struct patopts): New struct.
26455         (struct exclude): Use it, as exclude patterns now come with options.
26456         (new_exclude): Support above changes.
26457         (new_exclude, add_exclude_file):
26458         Initial size must now be a power of two to simplify overflow checking.
26459         (free_exclude, fnmatch_no_wildcards): New function.
26460         (excluded_filename): No longer requires options arg, as the options
26461         are determined by add_exclude.  Now returns bool, not int.
26462         (excluded_filename, add_exclude):
26463         Add support for the fancy new exclusion options.
26464         (add_exclude, add_exclude_file): Now takes int options arg.
26465         Check for arithmetic overflow when computing sizes.
26466         (add_exclude_file): xrealloc might modify errno, so don't
26467         realloc until after errno might be used.
26468
26469         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
26470         New macros.
26471         (free_exclude): New decl.
26472         (add_exclude, add_exclude_file): Now takes int options arg.
26473         (excluded_filename): No longer requires options arg, as the options
26474         are determined by add_exclude.  Now returns bool, not int.
26475
26476 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26477
26478         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
26479
26480 2001-08-27  Jim Meyering  <meyering@lucent.com>
26481
26482         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
26483
26484         * lib/version-etc.c (N_): Remove definition.
26485         Revert most of last change.
26486         Instead, simply don't mark the `Copyright...' string for translation.
26487         Based on advice from Paul Eggert.
26488
26489         * lib/strtoxmax.c: Tweak comment.
26490
26491 2001-08-26  Jim Meyering  <meyering@lucent.com>
26492
26493         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
26494
26495         * m4/xstrtoimax.m4: New file.
26496         * m4/xstrtoumax.m4: Add comments explaining why we
26497         AC_REPLACE_FUNCS(strtol).
26498
26499 2001-08-26  Jim Meyering  <meyering@lucent.com>
26500
26501         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
26502         of copyright with `%s' so translators don't get an untranslated
26503         message in 2002.
26504         (COPYRIGHT_YEAR): Define.
26505         (version_etc): Use fprintf rather than fputs.
26506         Suggestion from Ulrich Drepper.
26507
26508         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
26509
26510         * lib/strtoll.c: New file, from GNU libc.
26511         * lib/xstrtoimax.c: New file.
26512
26513         * lib/xstrtol.h: Add xstrtoimax.
26514         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
26515         * lib/strtoimax.c: New file.  Likewise, but first define
26516         STRTOUXMAX_SIGNED.
26517
26518         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
26519         ...
26520         * lib/strtoxmax.c: ... then renamed to this.
26521
26522 2001-08-18  Paul Eggert  <eggert@twinsun.com>
26523
26524         * m4/inttypes.m4: Add AC_PREREQ(2.13).
26525         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
26526         (jm_AC_TYPE_INTMAX_T): New macro.
26527         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
26528
26529         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
26530
26531         * m4/longlong.m4: Renamed from ulonglong.m4.
26532         * m4/inttypes.m4: Renamed from inttypes_h.m4.
26533         * m4/uintmax_t.m4: Removed.
26534
26535 2001-08-13  Paul Eggert  <eggert@twinsun.com>
26536
26537         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
26538         Port to Solaris 8, where 'sed' requires a space after the 'r'
26539         command, and where sh dislikes "$/".  Clean up the spacing a bit.
26540         Redirect output to $tmp just once.
26541
26542 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
26543
26544         * lib/addext.c (<errno.h>): Include.
26545         (errno): Declare if not defined.
26546         (addext): Work correctly when pathconf returns -1 and leaves
26547         errno alone because there is no limit.  Also, work even if
26548         pathconf returns a value greater than SIZE_MAX.
26549
26550 2001-08-12  Jim Meyering  <meyering@lucent.com>
26551
26552         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
26553         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
26554         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
26555         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
26556         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
26557         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
26558         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
26559         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
26560         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
26561         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
26562         utime.m4, utimes.m4, xstrtoumax.m4:
26563         Quote the first argument in each use of AC_DEFUN.
26564
26565 2001-08-12  Jim Meyering  <meyering@lucent.com>
26566
26567         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
26568         Simply `return getcwd (NULL, 0);'.
26569         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
26570         Use 1300 as initial value for length, not PATH_MAX.
26571
26572         * lib/pathmax.h: Clean up cpp syntax.
26573
26574 2001-08-12  Jim Meyering  <meyering@lucent.com>
26575
26576         * lib/gettimeofday.c: New file.
26577         * lib/gtod.h: New file.
26578         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
26579
26580 2001-08-05  Jim Meyering  <meyering@lucent.com>
26581
26582         * m4/jm-macros.m4: Require autoconf-2.52.
26583
26584 2001-08-04  Jim Meyering  <meyering@lucent.com>
26585
26586         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
26587         stmt, to get in sync with glibc.
26588
26589 2001-08-03  Paul Eggert  <eggert@twinsun.com>
26590
26591         The following changes are from gettext 0.10.39 as maintained by
26592         Bruno Haible.
26593
26594         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
26595         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
26596         with inverted sense.  All uses changed.
26597
26598         * lib/mbswidth.c: Don't include <limits.h>.
26599         Include <stdlib.h> and <string.h> unconditionally.
26600         (iswcntrl, mbsinit, ISCNTRL): New macros.
26601         (mbsnwidth): Use K&R style function declarations.
26602         Don't bother checking for MB_LEN_MAX == 1, since the compiler
26603         can optimize it when MB_CUR_MAX == 1.
26604         The width of control characters is zero, not 1.
26605
26606 2001-08-03  Paul Eggert  <eggert@twinsun.com>
26607
26608         The following changes are from gettext 0.10.39 as maintained by
26609         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
26610
26611         * m4/codeset.m4: Upgrade to serial AM1.
26612         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
26613         all uses changed.  Quote first arg of AC_DEFUN.
26614         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
26615
26616         * m4/iconv.m4: Upgrade to serial AM2.
26617         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
26618         Add --with-libconv-prefix.
26619         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
26620         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
26621         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
26622         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
26623         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
26624
26625         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
26626         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
26627         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
26628         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
26629         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
26630         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
26631         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
26632         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
26633         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
26634
26635         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
26636         string.h any more.
26637
26638         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
26639         not the default value.
26640
26641         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
26642         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
26643         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
26644         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
26645         Also check for iswcntrl, used for wcwidth fallback.
26646         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
26647         to Autoconf 2.13.
26648
26649 2001-08-03  Jim Meyering  <meyering@lucent.com>
26650
26651         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
26652         as it was in the original.  Reported by Paul Eggert.
26653
26654 2001-07-16  Jim Meyering  <meyering@lucent.com>
26655
26656         * m4/gettimeofday.m4: New file.
26657         Prompted by a report from Bernhard Baehr.
26658
26659 2001-07-15  Jim Meyering  <meyering@lucent.com>
26660
26661         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
26662         stuff. Now it's in ../Makefile.cfg.
26663
26664 2001-07-15  Jim Meyering  <meyering@lucent.com>
26665
26666         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
26667         (BUILT_SOURCES): Add unlocked-io.h.
26668         (io_functions): Define.
26669         (unlocked-io.h): New rule.
26670         (DISTCLEANFILES): Add unlocked-io.h.
26671         (all-local): Depend on unlocked-io.h, to ensure it is created.
26672
26673         * lib/unlocked-io.hin: New file
26674
26675         * lib/regex.c: Update from glibc.
26676
26677 2001-07-05  Jim Meyering  <meyering@lucent.com>
26678
26679         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
26680         recommendation.
26681         (libfetish_a_SOURCES): Put all .h files here instead.
26682         Remove a thus-exposed (better checks in automake) duplicate and
26683         two unnecessary .h files.
26684
26685 2001-07-04  Jim Meyering  <meyering@lucent.com>
26686
26687         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
26688         that generates jm-glibc-io.m4 so that it doesn't trigger any make
26689         distcheck failure.
26690
26691 2001-07-02  Jim Meyering  <meyering@lucent.com>
26692
26693         The following changes were prompted by suggestions from Bruno Haible.
26694
26695         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
26696         is now generated.
26697         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
26698         definition of EXTRA_DIST.
26699         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
26700         ensure that the generated file is created/updated whenever the list
26701         of $(unlocked_functions) is changed.
26702         (jm-glibc-io.m4): New rule.
26703         (unlocked-io.h): New rule -- currently unused.
26704
26705 2001-06-24  Jim Meyering  <meyering@lucent.com>
26706
26707         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
26708         unmatched right bracket, rather than kludging it with an extra,
26709         falsely-matching quote in a comment.  Patch by Akim Demaille.
26710
26711 2001-06-11  Jim Meyering  <meyering@lucent.com>
26712
26713         * lib/regex.c: Update from GNU libc.
26714
26715 2001-05-27  Jim Meyering  <meyering@lucent.com>
26716
26717         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
26718         Check for ut_type in struct utmp.
26719
26720 2001-05-27  Jim Meyering  <meyering@lucent.com>
26721
26722         * lib/readutmp.h (UT_TYPE): Define.
26723
26724 2001-05-24  Jim Meyering  <meyering@lucent.com>
26725
26726         * lib/argmatch.c: Include "quote.h".
26727         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
26728         quote function.  Reported by Göran Uddeborg.
26729
26730 2001-05-22  Jim Meyering  <meyering@lucent.com>
26731
26732         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
26733         now that we use the package-supplied version unconditionally.
26734         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
26735
26736 2001-05-21  Jim Meyering  <meyering@lucent.com>
26737
26738         * m4/regex.m4: Change a couple backticks to single quotes to avoid
26739         shell syntax errors.
26740
26741 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
26742
26743         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
26744
26745 2001-05-20  Paul Eggert  <eggert@twinsun.com>
26746
26747         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
26748         Don't bother to check library strftime, since
26749         we'll be using our own my_strftime function anyway.
26750         Define my_strftime instead of strftime.
26751
26752 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
26753
26754         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
26755         which is not yet declared.
26756
26757 2001-05-15  Jim Meyering  <meyering@lucent.com>
26758
26759         * m4/regex.m4: Use proper quoting so brackets appear in the test
26760         program.
26761         Reported by, and with help from, Bruno Haible.
26762
26763 2001-05-13  Jim Meyering  <meyering@lucent.com>
26764
26765         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
26766         undefined.
26767
26768 2001-05-11  Paul Eggert  <eggert@twinsun.com>
26769
26770         dirname code cleanup.  base_name now behaves more compatibly
26771         with POSIX basename when given file names that have trailing
26772         slashes, and similarly for dir_name.  Add new primitives
26773         base_len and dir_len.  Put the directory-name-related decls
26774         into dirname.h.
26775
26776         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
26777         * lib/backupfile.c (base_name): Likewise.
26778         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
26779         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
26780         * lib/makepath.c (strip_trailing_slashes): Likewise.
26781         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
26782         ISSLASH): Likewise.
26783         * lib/rename.c (strip_trailing_slashes): Likewise.
26784         * lib/same.c (base_name): Likewise.
26785         * lib/stripslash.c (ISSLASH): Likewise.
26786
26787         * lib/addext.c: Include <dirname.h> after size_t is defined.
26788         * lib/backupfile.c: Likewise.
26789
26790         * lib/addext.c (addext): Use base_len to trim redundant
26791         trailing slashes instead of doing it ourselves.
26792         But do not trim the last slash if it is not redundant.
26793
26794         * lib/backupfile.c (find_backup_file_name,
26795         max_backup_version): Use base_len instead of rolling it ourselves.
26796         Handle the case of "" and (on DOS) "C:" correctly.
26797
26798         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
26799         needed. Include <string.h>, <dirname.h>.
26800         (base_name): Allow file names ending in slashes, other than names
26801         that are all slashes.  In this case, return the basename followed
26802         by the slashes.  This is more general, and can be used in places
26803         where the original base_name purposely had an assertion failure.
26804         (base_len): New function.
26805
26806         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
26807         Do not include <assert.h>; no longer needed.
26808         Include xalloc.h.
26809         (memrchr): Remove decl.
26810         (dir_name_r): Remove.
26811         (dir_len): Renamed from dirlen.  All callers changed.
26812         Rewrite in terms of base_name, for simplicity and consistency.
26813         (dir_name): Never return NULL.  All callers changed.
26814         Do not include <stdlib.h> in test program; no longer needed.
26815         return 0; is fine for test program.
26816
26817         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
26818         New macros.
26819         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
26820
26821         * lib/path-concat.c (path_concat): Use base_len to compute
26822         base length, not strlen; this means we cannot rely on memcpy
26823         to null-terminate.
26824
26825         * lib/same.c (STREQ): Remove.
26826         (same_name): Handle the case where the basename ends in trailing '/'.
26827
26828         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
26829         a slash was stripped.  Do not strip the last slash after a
26830         file system prefix.
26831
26832 2001-05-11  Paul Eggert  <eggert@twinsun.com>
26833
26834         * lib/Makefile.am (libfetish_a_SOURCES):
26835         Add strftime.c, since we now compile it on all hosts.
26836
26837         * lib/strftime.c (my_strftime):
26838         Define to nstrftime if emacs, but only if my_strftime is not defined.
26839         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
26840         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
26841         Add one more extra argument: a nanoseconds value.
26842         All uses changed.
26843         (ns): New macro.
26844         (my_strftime function): Add %N format.
26845         (emacs_strftimeu): Renamed from emacs_strftime,
26846         with extra ut argument.
26847
26848 2001-05-09  Paul Eggert  <eggert@twinsun.com>
26849
26850         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
26851
26852 2001-04-21  Jim Meyering  <meyering@lucent.com>
26853
26854         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
26855         doesn't interfere.
26856
26857 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
26858
26859         * m4/ftruncate.m4: Check for chsize.
26860         Link with ftruncate.o unconditionally if ftruncate is missing.
26861         This was required when cross-compiling to i586-mingw32msvc.
26862
26863 2001-04-08  Jim Meyering  <meyering@lucent.com>
26864
26865         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
26866         recomputed; that's necessary when the offset spans a DST transition.
26867         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
26868
26869 2001-04-02  Jim Meyering  <meyering@lucent.com>
26870
26871         * lib/regex.h, regex.c: Update from GNU libc.
26872
26873 2001-03-24  Jim Meyering  <meyering@lucent.com>
26874
26875         * m4/jm-macros.m4: Require autoconf-2.49d.
26876
26877 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
26878
26879         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
26880
26881 2001-03-19  Paul Eggert  <eggert@twinsun.com>
26882
26883         * lib/version-etc.c (version_etc_copyright): Update to 2001.
26884
26885 2001-03-17  Jim Meyering  <meyering@lucent.com>
26886
26887         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
26888         now that the version in autoconf is equivalent.
26889         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
26890
26891         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
26892         Suggestion from Akim Demaille.
26893
26894         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
26895         (jm_PREREQ_TEMPNAME): New function.
26896
26897 2001-03-16  Paul Eggert  <eggert@twinsun.com>
26898
26899         * lib/tempname.c (uint64_t): Define to uintmax_t if
26900         not defined, and if UINT64_MAX is not defined.
26901         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
26902         Reported by John David Anglin.
26903
26904 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
26905
26906         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
26907         resolve alias if codeset is empty.
26908         * lib/config.charset (BeOS): Use wildcard syntax.
26909
26910 2001-03-13  Jim Meyering  <meyering@lucent.com>
26911
26912         * lib/path-concat.c (path_concat)
26913         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
26914         concatenating e.g., `C:' and `foo'.
26915         From Bruno Haible.
26916
26917 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
26918
26919         * lib/localcharset.c (locale_charset): Don't use
26920         setlocale(LC_CTYPE,NULL). Don't return NULL.
26921         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
26922
26923 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
26924
26925         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
26926         support for DOS/DJGPP.
26927
26928 2001-03-01  Paul Eggert  <eggert@twinsun.com>
26929
26930         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
26931         lacks mkstemp.  Compile our own tempname.c if we compile our own
26932         mkstemp.c, as mkstemp relies on tempname.
26933
26934 2001-03-01  Jim Meyering  <meyering@lucent.com>
26935
26936         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
26937         AH_VERBATIM really does output its argument verbatim.
26938
26939 2001-02-28  Paul Eggert  <eggert@twinsun.com>
26940
26941         * lib/Makefile.am (libfetish_a_SOURCES):
26942         Add dup-safer.c, fopen-safer.c.
26943         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
26944
26945         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
26946         * lib/unistd-safer.h: New files.
26947
26948 2001-02-25  Paul Eggert  <eggert@twinsun.com>
26949
26950         The mkstemp replacement is taken from glibc 2.2.2, with some
26951         portability fixes for use outside glibc, as follows:
26952
26953         * lib/tempname.c (struct_stat64): New macro.
26954         (direxists, __gen_tempname): Use it.
26955         This avoids a portability problem with Solaris 8.
26956
26957         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
26958         (<stddef.h>, <stdint.h>, <string.h>):
26959         Include only if STDC_HEADERS || _LIBC.
26960         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
26961         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
26962         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
26963         (__set_errno): Define this macro if <errno.h> doesn't.
26964         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
26965         Define these macros if <stdio.h> doesn't.
26966         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
26967         Define these macros if <sys/stat.h>
26968         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
26969         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
26970         __xstat64): Define if not _LIBC.
26971         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
26972         (__gen_tempname): Invoke gettimeofday only if
26973         HAVE_GETTIMEOFDAY || _LIBC;
26974         otherwise, fall back on plain "time".
26975         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
26976
26977         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
26978
26979         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
26980
26981 2001-02-18  Paul Eggert  <eggert@twinsun.com>
26982
26983         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
26984
26985 2001-02-17  Paul Eggert  <eggert@twinsun.com>
26986
26987         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
26988         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
26989         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
26990         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
26991
26992 2001-02-17  Paul Eggert  <eggert@twinsun.com>
26993
26994         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
26995         Remove workaround macros for hosts that have mbrtowc but not
26996         mbstate_t, as we now insist on proper declarations for both
26997         before using mbrtowc.
26998
26999 2001-02-17  Jim Meyering  <meyering@lucent.com>
27000
27001         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
27002         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
27003         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
27004         UnixWare 7.1.1.
27005
27006         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
27007         rather than AC_CACHE_VAL.
27008
27009 2001-02-17  Jim Meyering  <meyering@lucent.com>
27010
27011         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
27012         around included file name.
27013
27014         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
27015
27016         * lib/strftime.c: Update from GNU libc (the only changes were to
27017         comments).
27018
27019 2001-02-17  Jim Meyering  <meyering@lucent.com>
27020
27021         * lib/regex.c: Update from libc.
27022
27023 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
27024
27025         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
27026         clash.
27027
27028 2001-02-16  Paul Eggert  <eggert@twinsun.com>
27029
27030         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
27031         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
27032         Reported by Mark Hounschell via Paul Eggert.
27033
27034 2001-02-07  Jim Meyering  <meyering@lucent.com>
27035
27036         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
27037
27038 2001-02-05  Jim Meyering  <meyering@lucent.com>
27039
27040         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
27041         it includes the patch required for `large file' support with at least
27042         HP-UX's 10.20 /bin/cc.
27043
27044 2001-02-03  Jim Meyering  <meyering@lucent.com>
27045
27046         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
27047         AS_IF, now that it works once again (mysteriously).
27048         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
27049
27050 2001-01-30  Jim Meyering  <meyering@lucent.com>
27051
27052         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
27053         * m4/chown.m4: Rename conftestchown to conftest.chown.
27054         * m4/rename.m4: s/conftestdir/conftest.d1/ and
27055         s/conftestdir2/conftest.d2/.
27056         * m4/utimes.m4: s/conftestdata/conftest.data/
27057         Inspired by Pavel Roskin's change in autoconf.
27058
27059 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
27060
27061         * lib/config.charset: Update for FreeBSD 4.2.
27062
27063 2001-01-27  Jim Meyering  <meyering@lucent.com>
27064
27065         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
27066         a use of AS_IF.
27067         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
27068
27069 2001-01-26  Jim Meyering  <meyering@lucent.com>
27070
27071         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
27072         quotearg.c includes it.
27073
27074 2001-01-26  Jim Meyering  <meyering@lucent.com>
27075
27076         * lib/quotearg.c: Include stddef.h.
27077         * lib/quote.c: Include stddef.h.
27078         Reported by Axel Kittenberger.
27079
27080         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
27081         line in double quotes so that it evokes a better diagnostic.
27082         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
27083         Reported by Axel Kittenberger.
27084
27085 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
27086
27087         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
27088         as if it was a `charset'.
27089
27090 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
27091
27092         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
27093         has const.
27094
27095 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
27096
27097         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
27098         to avoid a warning.  Add back 'const' to inptr.
27099
27100 2001-01-20  Jim Meyering  <meyering@lucent.com>
27101
27102         Be sure that headers are checked before used in code compiled
27103         for the type checks.
27104         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
27105         In place of that, invoke jm_CHECK_ALL_TYPES.
27106         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
27107         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
27108         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
27109         The check for ssize_t was mistakenly run before the test for unistd.h.
27110
27111         The configure-time check for stdbool.h was missing.
27112         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
27113         (jm_PREREQ_HASH): New function.
27114
27115 2001-01-17  Jim Meyering  <meyering@lucent.com>
27116
27117         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
27118         for autoconf-2.49c.
27119         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
27120
27121 2001-01-16  Jim Meyering  <meyering@lucent.com>
27122
27123         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
27124         From Bruno Haible.
27125
27126 2001-01-14  Jim Meyering  <meyering@lucent.com>
27127
27128         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
27129         foo and bar.  Create conftestdir/ in the script, not in the C code.
27130         Remove directories in the script, not in the C code.
27131         Remove conftestdir{,2} before trying to create the directory.
27132         Make the entire configure script fail if the mkdir fails.
27133
27134 2001-01-14  Jim Meyering  <meyering@lucent.com>
27135
27136         * lib/rename.c: New file.  From Volker Borchert.
27137         Include stdlib.h, string.h or strings.h, and xalloc.h.
27138         Use strip_trailing_slashes rather than open-coding it.
27139
27140 2001-01-03  Paul Eggert  <eggert@twinsun.com>
27141
27142         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
27143
27144 2001-01-03  Jim Meyering  <meyering@lucent.com>
27145
27146         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
27147         of local `inptr' to avoid warning with some system declarations of
27148         iconv.
27149
27150 2001-01-02  Volker Borchert  <bt@teknon.de>
27151
27152         * m4/rename.m4: New file.
27153         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
27154
27155 2001-01-01  Jim Meyering  <meyering@lucent.com>
27156
27157         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
27158         even on systems with utmpx.h.  It's necessary for the declaration of
27159         utmp's ut_user member.  Reported by Andreas Jaeger.
27160
27161         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
27162         available. They are required for the declarations of getgrgid and
27163         getpwuid resp.
27164         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
27165         Reported by Andreas Jaeger.
27166
27167 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
27168
27169         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
27170         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
27171         so `make install' also works in VPATH builds.
27172
27173 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
27174
27175         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
27176         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
27177         can be used in subdirectories.
27178
27179 2000-12-29  Paul Eggert  <eggert@twinsun.com>
27180
27181         * lib/modechange.c: Do not assume that mode_t uses the
27182         traditional octal encoding.  E.g. "chmod 1 FOO" should set
27183         the other-execute bit of FOO even if S_IXOTH != 1.
27184
27185         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
27186         WOTH, XOTH, ALLM): New macros.
27187         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
27188          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
27189         Use them.
27190         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
27191         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
27192         (mode_compile):
27193         No need to use uintmax_t; unsigned long is long enough.
27194         Don't bother to get suffix since we don't use it.
27195
27196 2000-12-26  Jim Meyering  <meyering@lucent.com>
27197
27198         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
27199         better with autoheader.
27200
27201 2000-12-24  Jim Meyering  <meyering@lucent.com>
27202
27203         * lib/hash.c (is_prime): Return explicit boolean values.
27204         (hash_get_first): Return NULL to appease Irix5.6's 89.
27205         Reported by Nelson Beebe.
27206
27207 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
27208
27209         * lib/localcharset.c (locale_charset): Add support for Win32.
27210
27211 2000-12-18  Paul Eggert  <eggert@twinsun.com>
27212
27213         * lib/physmem.h, lib/physmem.c: New files.
27214
27215         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
27216         (noinst_HEADERS): Add physmem.h.
27217
27218         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
27219         't' for compatibility with Solaris 8 sort.
27220
27221 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
27222
27223         * lib/config.charset: Add support for BeOS.
27224
27225 2000-12-17  Jim Meyering  <meyering@lucent.com>
27226
27227         * m4/dos.m4 (jm_AC_DOS): New file and macro.
27228         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
27229
27230 2000-12-16  Jim Meyering  <meyering@lucent.com>
27231
27232         This bug had a serious impact on chown: `chown N:M FILE' (for integer
27233         N and M) would have treated it like `chown N:N FILE'.
27234
27235         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
27236
27237 2000-12-16  Jim Meyering  <meyering@lucent.com>
27238
27239         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
27240         SHELLS_FILE to a file name that's useful on djgpp systems.
27241         Include stdlib.h.
27242         (ADDITIONAL_DEFAULT_SHELLS): Define.
27243         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
27244         Based mostly on a patch from Prashant TR.
27245
27246 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
27247
27248         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
27249         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
27250         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
27251
27252 2000-12-08  Andreas Schwab  <schwab@suse.de>
27253
27254         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
27255         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
27256
27257 2000-12-07  Jim Meyering  <meyering@lucent.com>
27258
27259         * lib/stripslash.c (ISSLASH): Define.
27260         (strip_trailing_slashes): Use ISSLASH rather than comparing against
27261         `/'.
27262         From Prashant TR.
27263
27264         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
27265         (dir_name_r): Declare this function as static.
27266         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
27267         manifest itself on a name containing a mix of slashes and
27268         backslashes.
27269         Make this function work with names starting with a DOS-style
27270         drive letter and colon prefix.
27271         (dir_name): Append `.' if necessary.
27272         Based mostly on patches from Prashant TR and Eli Zaretskii.
27273
27274         * lib/dirname.h (dir_name_r): Remove prototype.
27275
27276 2000-12-06  Paul Eggert  <eggert@twinsun.com>
27277
27278         * m4/off_t-format.m4: Remove this file.
27279         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
27280
27281 2000-12-06  Jim Meyering  <meyering@lucent.com>
27282
27283         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
27284         replacement strtoull, we may well need the replacement strtoul, too.
27285         Check for declarations of strtoul and strtoull.
27286         Check for strtol.  Mainly as a cue to cause automake to include
27287         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
27288         Check for limits.h -- strtol.c needs it.
27289
27290 2000-12-05  Jim Meyering  <meyering@lucent.com>
27291
27292         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
27293
27294 2000-12-04  Jim Meyering  <meyering@lucent.com>
27295
27296         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
27297         Also include memory.h, stdlib.h, unistd.h if appropriate.
27298         Reported by Andreas Jaeger (conflicting declaration of malloc).
27299
27300 2000-12-02  Jim Meyering  <meyering@lucent.com>
27301
27302         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
27303         * m4/jm-macros.m4 (jm_MACROS): require it.
27304
27305 2000-12-02  Jim Meyering  <meyering@lucent.com>
27306
27307         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
27308
27309 2000-12-01  Paul Eggert  <eggert@twinsun.com>
27310
27311         * lib/memrchr.c: Include <config.h> before any system include file.
27312
27313 2000-11-30  Jim Meyering  <meyering@lucent.com>
27314
27315         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
27316
27317 2000-11-30  Jim Meyering  <meyering@lucent.com>
27318
27319         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
27320
27321 2000-11-29  Paul Eggert  <eggert@twinsun.com>
27322
27323         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
27324
27325 2000-11-26  Jim Meyering  <meyering@lucent.com>
27326
27327         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
27328
27329 2000-11-22  Paul Eggert  <eggert@twinsun.com>
27330
27331         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
27332         size of (size_t) -1; it's not portable.
27333
27334 2000-11-17  Jim Meyering  <meyering@lucent.com>
27335
27336         * lib/strstr.c: Update from GNU libc.
27337
27338 2000-11-17  Akim Demaille  <akim@epita.fr>
27339
27340         * lib/obstack.h: Formatting changes.
27341         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
27342         prevent type checking.
27343         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
27344         cast the value to (void *): assigning a `foo *' to a `void *'
27345         variable is valid.
27346         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
27347
27348 2000-11-16  Jim Meyering  <meyering@lucent.com>
27349
27350         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
27351
27352 2000-11-11  Jim Meyering  <meyering@lucent.com>
27353
27354         * lib/error.c: Add a couple #includes, merging from GNU libc version.
27355
27356 2000-11-10  Jim Meyering  <meyering@lucent.com>
27357
27358         * lib/obstack.h: Update from GNU libc.
27359         * lib/obstack.c: Likewise.
27360
27361 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
27362
27363         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
27364
27365 2000-11-06  Paul Eggert  <eggert@twinsun.com>
27366
27367         * lib/getusershell.c (setusershell): Use rewind rather than
27368         fseek/fseeko, to avoid configuration hassles with fseeko.
27369         Don't bother opening SHELLS_FILE if shellstream is NULL;
27370         it's not necessary.
27371
27372 2000-11-05  Jim Meyering  <meyering@lucent.com>
27373
27374         * lib/makepath.h (make_dir): Declare.
27375         * lib/makepath.c (make_dir): Remove `static' attribute.
27376         Tweak a comment.
27377
27378 2000-11-04  Jim Meyering  <meyering@lucent.com>
27379
27380         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
27381
27382 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
27383
27384         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
27385         last one in a bucket, advance to the next bucket.
27386
27387 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
27388
27389         * lib/fnmatch.c: Do not comment out all the code if we are using
27390         the GNU C library, because in some cases we are replacing buggy
27391         code in the GNU C library itself.
27392
27393 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
27394
27395         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
27396         (regex_compile): Catch bogus \(\1\).
27397
27398 2000-10-30  Paul Eggert  <eggert@twinsun.com>
27399
27400         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
27401         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
27402         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
27403
27404 2000-10-30  Paul Eggert  <eggert@twinsun.com>
27405
27406         * lib/error.h, getline.h, modechange.h:
27407         Remove "2000" from Copyright line, as the file hasn't been
27408         changed this year other than in the copyright notice.
27409
27410         * lib/xalloc.h: Add "2000" to Copyright line, as this file
27411         was changed this year.
27412
27413 2000-10-29  Jim Meyering  <meyering@lucent.com>
27414
27415         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
27416         renaming.
27417         * m4/ls-mntd-fs.m4: Likewise
27418
27419 2000-10-29  Jim Meyering  <meyering@lucent.com>
27420
27421         * lib/xstat.in: Fix grammar in comment.
27422
27423 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
27424
27425         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
27426         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
27427         doesn't define __restrict_arr.
27428
27429 2000-10-28  Jim Meyering  <meyering@lucent.com>
27430
27431         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
27432         (jm_PREREQ_MEMCHR): New function.
27433
27434 2000-10-28  Jim Meyering  <meyering@lucent.com>
27435
27436         * lib/memchr.c: Update from libc.
27437         Adjust for portability:
27438         [HAVE_STDLIB_H]: Include stdlib.h.
27439         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
27440         Undef __memchr, too.
27441         [!weak_alias]: Define __memchr to memchr.
27442
27443         * lib/regex.c: Update from libc.
27444         * lib/regex.h: Likewise.
27445         * lib/getopt1.c: Likewise.
27446         * lib/memcmp.c: Likewise.
27447
27448         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
27449         Avoid using fseek, when possible -- it's broken by design.
27450         Patch by Ulrich Drepper.
27451
27452 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
27453
27454         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
27455         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
27456         Giving in to popular pressure to shut up the compiler with casts.
27457
27458 2000-10-26  Jim Meyering  <meyering@lucent.com>
27459
27460         * lib/strftime.c: Update from libc.
27461
27462 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
27463
27464         * regex.c: More `unsigned char' -> `re_char' changes.
27465         Also change several `int' into `re_wchar_t'.
27466         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
27467         (PUSH_FAILURE_POINTER): Don't cast any more.
27468         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
27469         We want GCC to complain, since this piece of code makes
27470         re_match non-reentrant, which *should* be fixed.
27471         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
27472         (EXTEND_BUFFER): Use RETALLOC.
27473         (SET_LIST_BIT): Don't cast.
27474         (re_wchar_t): New type.
27475         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
27476         that those two functions will always properly return.
27477         (IMMEDIATE_QUIT_CHECK): Cast to void.
27478         (analyse_first): Use recursion rather than an explicit stack.
27479         (re_compile_fastmap): Can't fail anymore.
27480         (re_search_2): Don't check re_compile_fastmap for failure.
27481         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
27482         Now also sets the new value (passed in a new argument).
27483         (re_match_2_internal): Use it.
27484         Also, use a new var `reg' of type size_t when looping through regs
27485         rather than reuse the inappropriate `mcnt'.
27486
27487 2000-10-25  Jim Meyering  <meyering@lucent.com>
27488
27489         * lib/obstack.c: Update from libc.
27490
27491 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
27492
27493         * regex.c (regex_compile): Change the way of handling a range from
27494         a char less than 256 to a char not less than 256.
27495
27496 2000-10-24  Andrew Innes  <andrewi@gnu.org>
27497
27498         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
27499         NT-Emacs only.
27500         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
27501         so that re_search functions only quit when callers expect them to.
27502
27503 2000-10-23  Jim Meyering  <meyering@lucent.com>
27504
27505         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
27506         wrong.  That set_locale call must not have any side effects.
27507         From Paul Eggert.
27508
27509 2000-10-22  Jim Meyering  <meyering@lucent.com>
27510
27511         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
27512         [CYCLIC]: Remove now-unused definition.
27513
27514         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
27515         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
27516         Suggestion from Ulrich Drepper.
27517
27518 2000-10-21  Jim Meyering  <meyering@lucent.com>
27519
27520         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
27521         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
27522         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
27523
27524 2000-10-21  Jim Meyering  <meyering@lucent.com>
27525
27526         * lib/dirname.c (memrchr): Declare if necessary.
27527         (dir_name): Remove the restriction that there be no
27528         trailing slashes.  Now, this code skips past them, effectively
27529         ignoring them.
27530         [TEST_DIRNAME] (main): New unit tests.
27531
27532         * lib/memrchr.c: New file from GNU libc.
27533         Undef __memrchr, too.
27534         [!weak_alias]: Define __memrchr to memrchr.
27535         Guard weak_alias use with `#ifdef weak_alias'.
27536
27537 2000-10-21  Jim Meyering  <meyering@lucent.com>
27538
27539         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
27540         (dir_name): Use dir_name_r.
27541         * lib/dirname.h (dir_name_r): Declare it.
27542
27543 2000-10-17  Jim Meyering  <meyering@lucent.com>
27544
27545         * lib/quote.h (PARAMS): Define and use.
27546         Reported by Akim Demaille.
27547
27548         * lib/getopt.c: Update from libc.
27549
27550 2000-10-16  Jim Meyering  <meyering@lucent.com>
27551
27552         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
27553         setlocale.
27554         From Jan Fedak.
27555
27556 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
27557
27558         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
27559
27560 2000-09-25  Jim Meyering  <meyering@lucent.com>
27561
27562         * lib/md5.h (rol): Define (from GnuPG).
27563
27564         * lib/sha.c: Give credit (GnuPG) where due.
27565         (M): Use rol rather than open-coding it.
27566         Add a FIXME comment.
27567
27568 2000-09-21  Jim Meyering  <meyering@lucent.com>
27569
27570         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
27571         Reported by Michael Stone.
27572
27573 2000-09-20  Jim Meyering  <meyering@lucent.com>
27574
27575         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
27576         (noinst_HEADERS): Add sha.h.
27577         Based on code from Scott G. Miller and from GnuPG.
27578
27579 2000-09-18  Jim Meyering  <meyering@lucent.com>
27580
27581         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
27582         LIBS. Otherwise, everyone ends up linking with -lelf for some
27583         configurations.
27584         Reported by Mike Stone.
27585
27586 2000-09-15  Jim Meyering  <meyering@lucent.com>
27587
27588         * lib/regex.c: Update from libc.
27589
27590 2000-09-10  Jim Meyering  <meyering@lucent.com>
27591
27592         * lib/getopt.c (_getopt_internal): Update from glibc.
27593
27594 2000-09-09  Jim Meyering  <meyering@lucent.com>
27595
27596         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
27597         think it should be used as a general replacement for isascii.
27598         * lib/fnmatch.c: Likewise.
27599         * lib/mbswidth.c: Likewise
27600         * lib/regex.c: Likewise.
27601
27602         Don't use atoi.
27603         * lib/userspec.c: Include sys/param.h and limits.h.
27604         Include xstrtol.h.
27605         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
27606         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
27607         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
27608         UID, GID.  Check range.
27609
27610 2000-09-06  Jim Meyering  <meyering@lucent.com>
27611
27612         * lib/getopt.c (_getopt_internal): Update from glibc.
27613
27614 2000-08-30  Jim Meyering  <meyering@lucent.com>
27615
27616         * lib/strftime.c: Merge in changes from GNU libc.
27617
27618 2000-08-26  Jim Meyering  <meyering@lucent.com>
27619
27620         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
27621         * m4/fpending.m4: New file.
27622
27623 2000-08-26  Jim Meyering  <meyering@lucent.com>
27624
27625         * lib/closeout.c: Include "__fpending.h".
27626         (close_stdout_status): Return right away if there's nothing to flush.
27627
27628         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
27629         * lib/__fpending.c: New file.
27630         * lib/__fpending.h: New file.
27631
27632 2000-08-20  Jim Meyering  <meyering@lucent.com>
27633
27634         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
27635         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
27636         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
27637
27638 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
27639
27640         Improve fileutils installation on systems where running
27641         programs (like install) can't be unlinked.
27642         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
27643         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
27644
27645 2000-08-07  Paul Eggert  <eggert@twinsun.com>
27646
27647         Standardize on "memory exhausted" instead of "Memory exhausted"
27648         or "virtual memory exhausted".
27649         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
27650         "virtual memory exhausted".
27651         * lib/same.c (same_name): Invoke xalloc_die instead of printing
27652         our own message.
27653         * lib/userspec.c (parse_user_spec): Likewise.
27654         * lib/bumpalloc.h: comment fix
27655         * lib/same.c, userspec.c: Include xalloc.h.
27656
27657         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
27658         not char *const and pointing to a constant array.
27659         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
27660         (xrealloc): Comment fix.
27661
27662         * lib/userspec.c (parse_user_spec):
27663         Don't translate a message until just before returning,
27664         to avoid unnecessary translation.
27665
27666 2000-08-07  Jim Meyering  <meyering@lucent.com>
27667
27668         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
27669         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
27670         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
27671         getgroups.c, gethostname.c, getopt.h, group-member.c,
27672         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
27673         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
27674         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
27675         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
27676         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
27677         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
27678         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
27679         yesno.c: Back out Copyright date changes for each file with no change
27680         this year.  This eases coordination with other programs using the same
27681         source code modules.  From Paul Eggert.
27682
27683 2000-08-06  Paul Eggert  <eggert@twinsun.com>
27684
27685         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
27686         not char, for compatibility with glibc 2.1.3 strftime.c.
27687
27688 2000-08-03  Greg McGary  <greg@mcgary.org>
27689
27690         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
27691         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
27692         (EXTEND_BUFFER): Use them.
27693
27694 2000-08-01  Jim Meyering  <meyering@lucent.com>
27695
27696         * lib/dirname.c (ISSLASH): Define.
27697         (BACKSLASH_IS_PATH_SEPARATOR): Define.
27698         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
27699         both `\' and `/' may be use as path separators.
27700         Based on a patch from Prashant TR.
27701
27702 2000-07-31  Paul Eggert  <eggert@twinsun.com>
27703
27704         * lib/quotearg.c (quotearg_n_options): Don't make the initial
27705         slot vector a constant, since it might get modified.
27706
27707 2000-07-31  Jim Meyering  <meyering@lucent.com>
27708
27709         * lib/xmalloc.c: Use `virtual memory exhausted', not
27710         `Memory exhausted'.
27711         * lib/obstack.c (print_and_abort): Likewise.
27712
27713 2000-07-30  Paul Eggert  <eggert@twinsun.com>
27714
27715         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
27716         buffer, so that the caller can always quote one small
27717         component of a "memory exhausted" message in slot 0.
27718         From a suggestion by Jim Meyering.
27719
27720 2000-07-30  Jim Meyering  <meyering@lucent.com>
27721
27722         * lib/makepath.c (make_path): Quote the other instance, too.
27723
27724         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
27725         (STATIC_BUF_SIZE): Define.
27726         (quotearg_n_options): Use only statically allocated storage when
27727         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
27728         than STATIC_BUF_SIZE.
27729
27730 2000-07-29  Jim Meyering  <meyering@lucent.com>
27731
27732         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
27733         * lib/dirname.c (dir_name): Likewise.
27734
27735         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
27736         `/'.
27737
27738         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
27739         (dir_name): Assert that there are no trailing slashes.
27740
27741 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
27742
27743         * lib/mbswidth.h (mbswidth): Add a flags argument.
27744         (mbswidth): New declaration.
27745         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
27746         * lib/mbswidth.c (mbswidth): Add a flags argument.
27747         (mbsnwidth): New function.
27748
27749 2000-07-24  Jim Meyering  <meyering@lucent.com>
27750
27751         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
27752
27753 2000-07-23  Paul Eggert  <eggert@twinsun.com>
27754
27755         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
27756
27757 2000-07-23  Paul Eggert  <eggert@twinsun.com>
27758
27759         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
27760         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
27761         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
27762         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
27763         invoke multibyte primitives.
27764
27765 2000-07-23  Paul Eggert  <eggert@twinsun.com>
27766
27767         * lib/quotearg.c:
27768         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
27769         so that mbstate_t is always defined.
27770
27771         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
27772         be 1 in at least one GCC installation, and this configuration
27773         error is likely to be common.  Ignoring MB_LEN_MAX hurts
27774         performance on hosts that have mbrtowc but have only unibyte
27775         locales, but I assume these hosts are rare.
27776
27777 2000-07-23  Paul Eggert  <eggert@twinsun.com>
27778
27779         * lib/mbswidth.c (_XOPEN_SOURCE):
27780         Don't define; this causes problems on Solaris 7.
27781         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
27782
27783 2000-07-23  Jim Meyering  <meyering@lucent.com>
27784
27785         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
27786         too: getgrgid, getpwuid, getuid.
27787
27788 2000-07-23  Jim Meyering  <meyering@lucent.com>
27789
27790         * lib/basename.c (base_name): Add an assertion.
27791
27792 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
27793
27794         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
27795         shadow its mbsinit function.
27796
27797 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
27798
27799         * lib/mbswidth.h: New file.
27800         * lib/mbswidth.c: New file.
27801         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
27802         (noinst_HEADERS): Add mbswidth.h.
27803
27804 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
27805
27806         * lib/config.charset: Add support for FreeBSD. Improve support for
27807         HP-UX and IRIX 6.
27808
27809 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
27810
27811         * m4/mbswidth.m4: New file.
27812         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
27813
27814 2000-07-15  Jim Meyering  <meyering@lucent.com>
27815
27816         * lib/makepath.c: Include quote.h.
27817         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
27818         corresponding argument in a `quote (...)' call.
27819         Give better diagnostics.
27820
27821         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
27822         (noinst_HEADERS): Add quote.h.
27823
27824         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
27825         from tar's src/misc.c.
27826         * lib/quote.h: New file.  Prototypes for same.
27827
27828 2000-07-14  Paul Eggert  <eggert@twinsun.com>
27829
27830         From a suggestion by Bruno Haible.
27831         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
27832         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
27833         to decide whether to define the BeOS workaround macro;
27834         this adjusts to the change to AC_MBSTATE_T.
27835
27836 2000-07-14  Jim Meyering  <meyering@lucent.com>
27837
27838         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
27839         jm_AC_TYPE_UINTMAX_T.
27840
27841 2000-07-13  Paul Eggert  <eggert@twinsun.com>
27842
27843         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
27844
27845         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
27846         quotearg_buffer_restyled): Add support for
27847         clocale_quoting_style.  Undo previous change to
27848         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
27849         and "{RIGHT QUOTATION MARK}" msgids.
27850
27851 2000-07-10  Paul Eggert  <eggert@twinsun.com>
27852
27853         From a suggestion by Bruno Haible.
27854         * m4/mbstate_t.m4 (AC_MBSTATE_T):
27855         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
27856         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
27857         and mbstate_t, to a single-part test that simply defines mbstate_t.
27858         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
27859         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
27860
27861 2000-07-10  Jim Meyering  <meyering@lucent.com>
27862
27863         * m4/strerror_r.m4: Mirror the correction made in autoconf.
27864
27865         * m4/gnu-source.m4: Output to confdefs.h directly.
27866         Suggestion from Akim Demaille.
27867
27868 2000-07-09  Paul Eggert  <eggert@twinsun.com>
27869
27870         The old behavior of quoting `like this' doesn't look good with
27871         newer, ISO-style fonts.  See:
27872         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
27873
27874         Instead, quote "like this" by default.  Let the translator
27875         tailor the locale-specific quoting behavior by providing
27876         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
27877
27878         * lib/quotearg.c (N_): New macro.
27879         (gettext_default): New function.
27880         (quotearg_buffer_restyled): Use
27881         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
27882         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
27883
27884 2000-07-09  Jim Meyering  <meyering@lucent.com>
27885
27886         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
27887         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
27888
27889         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
27890         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
27891
27892 2000-07-09  Jim Meyering  <meyering@lucent.com>
27893
27894         * lib/Most files: Update copyright dates to include 2000.
27895
27896 2000-07-08  Jim Meyering  <meyering@lucent.com>
27897
27898         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
27899         if not defined.
27900         (xgethostname): Remove now-unnecessary #ifdef.
27901         Move declaration of `err' into loop where it's used.
27902
27903 2000-07-05  Paul Eggert  <eggert@twinsun.com>
27904         and Bruno Haible  <haible@clisp.cons.org>
27905
27906         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
27907         only if the test for an object-type mbstate_t fails.  This
27908         prevents us from mistakenly reporting that mbstate_t is a
27909         system object type after we "#define mbstate_t int" to work
27910         around its lack.
27911
27912 2000-07-05  Paul Eggert  <eggert@twinsun.com>
27913         and Bruno Haible  <haible@clisp.cons.org>
27914
27915         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
27916
27917 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
27918
27919         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
27920         to strerror_r.
27921         Include <ctype.h> for use of isalpha.
27922
27923 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
27924
27925         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
27926         by allocating a larger buffer. Test the gethostname return value for
27927         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
27928         returns an error and ENAMETOOLONG isn't defined.
27929
27930 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
27931
27932         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
27933         dimension.
27934
27935 2000-07-04  Jim Meyering  <meyering@lucent.com>
27936
27937         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
27938         of the deprecated AC_CHECKING.
27939
27940 2000-07-04  Jim Meyering  <meyering@lucent.com>
27941
27942         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
27943         Reported by Bruno Haible.
27944
27945 2000-07-04  Jim Meyering  <meyering@lucent.com>
27946
27947         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
27948         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
27949         lacks mbrtowc.
27950
27951 2000-07-03  Paul Eggert  <eggert@twinsun.com>
27952
27953         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
27954         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
27955
27956 2000-07-03  Paul Eggert  <eggert@twinsun.com>
27957         and Bruno Haible  <haible@clisp.cons.org>
27958
27959         * lib/quotearg.c (mbrtowc):
27960         Assign to *pwc, and return 1 only if result is nonzero.
27961         (iswprint): Use ISPRINT when substituting our own mbrtowc.
27962
27963 2000-07-03  Jim Meyering  <meyering@lucent.com>
27964
27965         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
27966
27967 2000-07-03  Jim Meyering  <meyering@lucent.com>
27968
27969         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
27970         This is necessary to get a definition of e.g., UTMP_FILE on
27971         HP-UX 10.20.
27972         From Bob Proulx.
27973
27974 2000-07-02  Jim Meyering  <meyering@lucent.com>
27975
27976         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
27977
27978         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
27979         AC_LIBOBJ(function_name).
27980         * m4/chown.m4: Likewise.
27981         * m4/fnmatch.m4: Likewise.
27982         * m4/ftruncate.m4: Likewise.
27983         * m4/getgroups.m4: Likewise.
27984         * m4/getline.m4: Likewise.
27985         * m4/group-member.m4: Likewise.
27986         * m4/jm-macros.m4: Likewise.
27987         * m4/lstat.m4: Likewise.
27988         * m4/malloc.m4: Likewise.
27989         * m4/memcmp.m4: Likewise.
27990         * m4/nanosleep.m4: Likewise.
27991         * m4/putenv.m4: Likewise.
27992         * m4/realloc.m4: Likewise.
27993         * m4/regex.m4: Likewise.
27994         * m4/stat.m4: Likewise.
27995         * m4/strftime.m4: Likewise.
27996
27997 2000-07-02  Jim Meyering  <meyering@lucent.com>
27998
27999         * lib/quotearg.c (mbstate_t): Don't define here.
28000
28001 2000-07-02  Jim Meyering  <meyering@lucent.com>
28002
28003         * lib/nanosleep.c (SIGCONT): Define if not already defined.
28004
28005 2000-07-01  Jim Meyering  <meyering@lucent.com>
28006
28007         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
28008
28009 2000-07-01  Jim Meyering  <meyering@lucent.com>
28010
28011         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
28012         problem.
28013
28014 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
28015
28016         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
28017         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
28018
28019 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
28020
28021         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
28022         per change in ../m4/ls-mntd-fs.m4.
28023         (read_filesystem_list): Ignore symbolic links.
28024
28025 2000-06-29  Jim Meyering  <meyering@lucent.com>
28026
28027         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
28028         for declaration of strcmp.
28029
28030         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
28031
28032         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
28033         Avoid warning by casting result to `char *' to remove `const'.
28034
28035 2000-06-28  Jim Meyering  <meyering@lucent.com>
28036
28037         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
28038         included by quotearg.c, for which we perform this test.  From
28039         Bruno Haible.
28040
28041 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
28042
28043         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
28044         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
28045         <utmpx.h> exists, put readutmp.o into LIBOBJS.
28046
28047 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
28048
28049         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
28050
28051 2000-06-26  Paul Eggert  <eggert@twinsun.com>
28052
28053         savedir now sets errno on failure and invokes xmalloc to get memory.
28054         Fix a couple of other minor bugs while we're at it.
28055
28056         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
28057         (NAMLEN): Remove macro.
28058         (malloc, realloc): Remove decls.
28059         (stpcpy): Likewise.
28060         ("xalloc.h"): Include.
28061         (NAME_SIZE_DEFAULT): New macro.
28062         (savedir): Use xmalloc / xrealloc to allocate memory.
28063         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
28064         Skip "" directory entries.
28065         Use strlen to calculate directory entry length, since the old method
28066         is rarely used these days and isn't worth supporting.
28067         Don't use a pointer after freeing it.
28068         Check for integer overflow when calculating allocation size.
28069         Use memcpy to copy entries, instead of stpcpy.
28070         Set errno properly when returning NULL.
28071         Check for readdir error.
28072
28073 2000-06-26  Jim Meyering  <meyering@lucent.com>
28074
28075         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
28076
28077 2000-06-25  Jim Meyering  <meyering@lucent.com>
28078
28079         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
28080         Linux header bug when _XOPEN_SOURCE is defined to 500.
28081
28082 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
28083
28084         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
28085         deficiency.
28086
28087 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
28088
28089         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
28090         Include xalloc.h.
28091         Don't include <stdlib.h>.  Don't declare malloc, realloc.
28092
28093 2000-06-24  Jim Meyering  <meyering@lucent.com>
28094
28095         * m4/strerror_r.m4: Revive this file -- to try out an experimental
28096         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
28097         for which strerror does return char*, but which lacks a conveniently
28098         accessible declaration of the function.  If the compile-test says
28099         strerror_r doesn't work, then resort to a `run'-test that works on
28100         BeOS and segfaults on DEC Unix.
28101
28102 2000-06-24  Jim Meyering  <meyering@lucent.com>
28103
28104         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
28105
28106 2000-06-23  Paul Eggert  <eggert@twinsun.com>
28107
28108         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
28109         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
28110
28111 2000-06-23  Paul Eggert  <eggert@twinsun.com>
28112
28113         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
28114         (mbrtowc, mbstate_t): Define substitutes if
28115         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
28116         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
28117         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
28118
28119 2000-06-23  Jim Meyering  <meyering@lucent.com>
28120
28121         * m4/afs.m4: Add missing AC_MSG_RESULT.
28122         Reported by Bruno Haible.
28123
28124         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
28125         Suggestion from Bruno Haible.
28126
28127 2000-06-23  Jim Meyering  <meyering@lucent.com>
28128
28129         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
28130
28131 2000-06-21  Jim Meyering  <meyering@lucent.com>
28132
28133         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
28134
28135 2000-06-21  Jim Meyering  <meyering@lucent.com>
28136
28137         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
28138         (noinst_HEADERS): Add getstr.h.
28139
28140         * lib/getline.c (getstr): Move into a separate file.
28141         * lib/getstr.c (getstr): New file, extracted from getline.c, with
28142         the following changes: new parameter, delim2; both delim[12]
28143         parameters have type `int', not `char'.  The latter would lose
28144         with 8-bit delimiters.
28145         * lib/getstr.h: New file.
28146
28147 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
28148
28149         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
28150         than 1024, return a memory chunk of least possible size, instead
28151         of size PATH_MAX + 2. In the loop, increment the size proportionally.
28152         Use free/xmalloc instead of xrealloc to avoid copying for very long
28153         paths.
28154
28155 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
28156
28157         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
28158         the empty string.
28159
28160 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
28161
28162         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
28163         address, not strdup.  Include <stdlib.h> and don't declare free().
28164
28165 2000-06-19  Jim Meyering  <meyering@lucent.com>
28166
28167         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
28168
28169 2000-06-18  Jim Meyering  <meyering@lucent.com>
28170
28171         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
28172
28173         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
28174         `checking whether...' message to be consistent with that of the
28175         lstat test.
28176
28177 2000-06-18  Jim Meyering  <meyering@lucent.com>
28178
28179         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
28180         Besides, these days every porting target provides a mkdir function.
28181
28182         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
28183         needed. (this snippet comes from src/system.h).
28184
28185 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
28186
28187         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
28188
28189 2000-06-15  Paul Eggert  <eggert@twinsun.com>
28190
28191         * lib/human.c (adjust_value): New function.
28192         (human_readable_inexact): Apply rounding style even when
28193         printing approximate values.
28194
28195 2000-06-14  Paul Eggert  <eggert@twinsun.com>
28196
28197         * lib/human.c (human_readable_inexact): Allow an input block
28198         size that is not a multiple of the output block size, and vice versa.
28199         Reported by Piergiorgio Sartor.
28200
28201 2000-06-14  Paul Eggert  <eggert@twinsun.com>
28202
28203         * lib/getdate.y (get_date): Apply relative times after time
28204         zone indicator, not before.  Reported by Todd A. Jacobs.
28205
28206 2000-06-13  Jim Meyering  <meyering@lucent.com>
28207
28208         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
28209
28210         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
28211
28212 2000-06-12  Paul Eggert  <eggert@twinsun.com>
28213
28214         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
28215
28216 2000-06-12  Jim Meyering  <meyering@lucent.com>
28217
28218         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
28219         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
28220         optional argument.
28221         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
28222         the optional argument, `lib'.
28223
28224 2000-06-08  Jim Meyering  <meyering@lucent.com>
28225
28226         * m4/largefile.m4: Remove file (now that it's part of autoconf).
28227
28228 2000-06-04  Paul Eggert  <eggert@twinsun.com>
28229
28230         Rewrite largefile configuration so that we don't need to run
28231         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
28232         AC_CANONICAL_HOST in configure.in -- jmm]
28233
28234         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
28235         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
28236         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
28237         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
28238         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
28239         All uses changed.
28240         Instead of inspecting the output of getconf, try to compile the
28241         test program without and with the macro definition.
28242         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
28243         for getconf.  Instead, check for the needed flags by compiling
28244         test programs.
28245
28246 2000-06-04  Paul Eggert  <eggert@twinsun.com>
28247
28248         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
28249
28250 2000-06-04  Jim Meyering  <meyering@lucent.com>
28251
28252         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
28253         SunOS 4.1.4 for which gid_t is an unsigned type.
28254
28255 2000-06-03  Jim Meyering  <meyering@lucent.com>
28256
28257         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
28258         now that autoconf requires that.
28259
28260         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
28261         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
28262         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
28263
28264 2000-06-03  Jim Meyering  <meyering@lucent.com>
28265
28266         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
28267
28268 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
28269
28270         * m4/glibc21.m4: New file.
28271         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
28272
28273 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
28274
28275         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
28276         newer, don't install charset.alias.
28277         * lib/config.charset: Change the Linux/glibc rules so they become empty
28278         on glibc-2.1 or newer.
28279
28280 2000-06-02  Jim Meyering  <meyering@lucent.com>
28281
28282         * lib/mountlist.c: Back out last change.  Instead, do this...
28283         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
28284         me_dummy member using the same `ignore'-testing code.
28285         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
28286         fs_type strings.
28287         From Mark D. Roth.
28288
28289 2000-05-29  Jim Meyering  <meyering@lucent.com>
28290
28291         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
28292         mounts with the `ignore' attribute.  Based on a patch from
28293         Mark D. Roth.
28294
28295 2000-05-28  Jim Meyering  <meyering@lucent.com>
28296
28297         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
28298         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
28299         * m4/stat.m4: Likewise.
28300         * m4/lstat.m4: Likewise.
28301         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
28302
28303         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
28304         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
28305
28306 2000-05-26  Jim Meyering  <meyering@lucent.com>
28307
28308         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
28309
28310 2000-05-24  Jim Meyering  <meyering@lucent.com>
28311
28312         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
28313         autoconf requires that.
28314         * m4/lib-check.m4: Likewise.
28315         * m4/jm-macros.m4: Likewise.
28316         * m4/strftime.m4: Likewise.
28317
28318         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
28319         AC_CHECK_DECLS, now that autoconf requires that.
28320
28321 2000-05-22  Jim Meyering  <meyering@lucent.com>
28322
28323         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
28324         * m4/lstat.m4: Likewise.
28325
28326 2000-05-22  Jim Meyering  <meyering@lucent.com>
28327
28328         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
28329
28330 2000-05-20  Jim Meyering  <meyering@lucent.com>
28331
28332         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
28333         (jm_PREREQ): Use it.
28334
28335 2000-05-18  Jim Meyering  <meyering@lucent.com>
28336
28337         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
28338         back, too, since it may have been modified by allocate_entry.
28339         (hash_delete): Rewrite to use neither the assignment operator
28340         nor the comma operator in an if-expression.
28341
28342 2000-05-15  Paul Eggert  <eggert@twinsun.com>
28343
28344         * lib/closeout.c:
28345         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
28346         Remove; no longer needed.
28347         "quotearg.h": Add include.
28348         (file_name): Do not bother to explicitly initialize to NULL; it's less
28349         efficient on some hosts.
28350         (close_stdout_status): Remove test as to whether stdout was already
28351         closed; it breaks for the case "echo x | sort >&-".
28352         Quote file name colons.
28353         Do not assume that _("write error") lacks format strings.
28354
28355 2000-05-15  Jim Meyering  <meyering@lucent.com>
28356
28357         * lib/version-etc.c (version_etc_copyright): Update the copyright
28358         string used in all --version output.
28359
28360 2000-05-14  Jim Meyering  <meyering@lucent.com>
28361
28362         * lib/closeout.c (close_stdout_set_file_name): New function.
28363         (close_stdout_status): Use new file-scoped global.
28364         Return right away if fstat says the stdout file descriptor is invalid.
28365         * lib/closeout.h (close_stdout_set_file_name): Declare.
28366
28367 2000-05-10  Jim Meyering  <meyering@lucent.com>
28368
28369         * lib/closeout.c [default_exit_status]: New file-scoped variable.
28370         (close_stdout_set_status): New function.
28371         * lib/closeout.h (close_stdout_set_status): Declare.
28372
28373 2000-05-09  Jim Meyering  <meyering@lucent.com>
28374
28375         * m4/gettext.m4: Rename this...
28376         * m4/libintl.m4: ...to this.
28377
28378 2000-05-08  Jim Meyering  <meyering@lucent.com>
28379
28380         * lib/long-options.c: Don't include closeout.h.
28381         (parse_long_options): Don't call close_stdout for --version.
28382
28383 2000-05-06  Paul Eggert  <eggert@twinsun.com>
28384
28385         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
28386         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
28387         2.1.3 bug.  This avoids a clash when files like regex.c define
28388         _GNU_SOURCE.
28389
28390 2000-05-06  Jim Meyering  <meyering@lucent.com>
28391
28392         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
28393         (AC_REPLACE_FUNCS): Add strnlen.
28394
28395         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
28396         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
28397
28398         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
28399         AC_SEARCH_LIBS call for nanosleep.
28400         (LIB_NANOSLEEP): Set and AC_SUBST.
28401
28402 2000-05-06  Jim Meyering  <meyering@lucent.com>
28403
28404         * lib/strnlen.c: Undefine __strnlen and strnlen.
28405         [!weak_alias]: Define __strnlen to strnlen.
28406
28407         * lib/atexit.c: New file, from libiberty.
28408
28409 2000-05-06  Jim Meyering  <meyering@lucent.com>
28410
28411         * lib/closeout.c (close_stdout_status): Also check for errors on the
28412         stderr stream.
28413
28414 2000-05-05  Jim Meyering  <meyering@lucent.com>
28415
28416         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
28417         AC_SEARCH_LIBS call for clock_gettime.
28418         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
28419
28420         * m4/search-libs.m4: Update from autoconf.
28421
28422         su doesn't work on Solaris 2.6.
28423         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
28424         <shadow.h>.  Reported by Dragos Harabor.
28425
28426 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
28427
28428         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
28429         memcpy instead of xmalloc, xrealloc, path_concat.
28430         (locale_charset): Treat empty environment variables as absent.
28431         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
28432
28433 2000-05-04  Jim Meyering  <meyering@lucent.com>
28434
28435         * lib/getopt.c: Update from glibc.
28436         * lib/obstack.c: Likewise.
28437         * lib/obstack.h: Likewise.
28438         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
28439         file
28440
28441         * lib/regex.h: Likewise.
28442         * lib/strndup.c: Likewise.
28443         * lib/strnlen.c: New file, from glibc.
28444
28445 2000-05-03  Jim Meyering  <meyering@lucent.com>
28446
28447         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
28448
28449 2000-05-02  Paul Eggert  <eggert@twinsun.com>
28450
28451         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
28452         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
28453         compile-time test, rather than inspecting host and OS, to
28454         decide whether to define _LARGEFILE_SOURCE.
28455
28456 2000-05-01  Jim Meyering  <meyering@lucent.com>
28457
28458         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
28459
28460         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
28461         Based on a patch from Bruno Haible.
28462
28463 2000-05-01  Jim Meyering  <meyering@lucent.com>
28464
28465         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
28466
28467 2000-04-29  Jim Meyering  <meyering@lucent.com>
28468
28469         * lib/path-concat.c: Declare strdup only if it's not defined.
28470         * lib/canon-host.c: Likewise.
28471
28472 2000-04-28  Jim Meyering  <meyering@lucent.com>
28473
28474         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
28475         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
28476         is included first, then limits.h is included by locale.h by libintl.h.
28477         From John David Anglin.
28478
28479 2000-04-25  Jim Meyering  <meyering@lucent.com>
28480
28481         * lib/makepath.c (S_IRWXUGO): Define.
28482         (make_path): Always perform explicit chmod if MODE specifies any
28483         of the `special' permission bits.  Prompted by a bug report against
28484         install from Mate Wierdl and Joost van Baal.
28485
28486 2000-04-18  Jim Meyering  <meyering@lucent.com>
28487
28488         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
28489         (jm_PREREQ): Use it.
28490
28491 2000-04-18  Jim Meyering  <meyering@lucent.com>
28492
28493         * lib/README: New file.
28494
28495         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
28496         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
28497
28498 2000-04-17  Jim Meyering  <meyering@lucent.com>
28499
28500         Get it right :-)
28501         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
28502         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
28503         Suggestion from Akim Demaille.
28504
28505 2000-04-17  Jim Meyering  <meyering@lucent.com>
28506
28507         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
28508         the definition of it to rpl_strftime also defined-away the system's
28509         declaration.
28510
28511 2000-04-15  Jim Meyering  <meyering@lucent.com>
28512
28513         Use `C' to denote so-called `contiguous' files, the same way
28514         that tar does.
28515         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
28516         (ftypelet): Use S_ISCTG.
28517         From Michael Deutschmann.
28518
28519 2000-04-14  Jim Meyering  <meyering@lucent.com>
28520
28521         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
28522         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
28523         clobbered.
28524
28525 2000-04-14  Jim Meyering  <meyering@lucent.com>
28526
28527         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
28528
28529 2000-04-13  Jim Meyering  <meyering@lucent.com>
28530
28531         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
28532         AH_VERBATIM to insert required #ifndef into config.h.in.
28533         Suggestion from Akim Demaille.
28534
28535 2000-04-12  Jim Meyering  <meyering@lucent.com>
28536
28537         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
28538         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
28539         Christian Krackowizer.
28540
28541         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
28542         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
28543         (AC_SYS_LARGEFILE): Require.
28544         (AM_C_PROTOTYPES): Require.
28545
28546 2000-04-08  Jim Meyering  <meyering@lucent.com>
28547
28548         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
28549         names don't conflict.  Reported by Eli Zaretskii.
28550
28551 2000-04-07  Jim Meyering  <meyering@lucent.com>
28552
28553         * lib/putenv.c: Move inclusion of errno.h so it follows that of
28554         sys/types.h, to work around system header problems on AIX 3.2.5.
28555         From Bruno Haible.
28556
28557 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
28558
28559         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
28560         bug.  Deal with the different error behavior of Irix iconv.
28561
28562 2000-04-05  Paul Eggert  <eggert@twinsun.com>
28563
28564         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
28565         IRIX if the installer said otherwise.
28566
28567 2000-04-05  Jim Meyering  <meyering@lucent.com>
28568
28569         Portability tweaks required for ultrix4.3.
28570         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
28571         (jm_CHECK_DECLS): Add getutent to the list of functions.
28572         (_jm_DECL_HEADERS): Add utmpx.h.
28573         From John David Anglin.
28574
28575         * m4/strftime.m4: Back out the 2000-04-02 change.
28576         Instead of that change, simply undefine putenv in the test program.
28577
28578 2000-04-05  Jim Meyering  <meyering@lucent.com>
28579
28580         Portability tweaks required for ultrix4.3.
28581         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
28582         getutent.
28583         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
28584         * lib/canon-host.c: Declare strdup.
28585         * lib/path-concat.c: Likewise.
28586         From John David Anglin.
28587
28588 2000-04-04  Jim Meyering  <meyering@lucent.com>
28589
28590         Be more DOS 8.3-friendly.
28591         * lib/ref-add.sin: Renamed from ref-add.sed.in.
28592         * lib/ref-del.sin: Renamed from ref-del.sed.in.
28593         * lib/Makefile.am: Reflect renaming.
28594         Reported by Eli Zaretskii.
28595
28596         Use a temporary file name that won't clash with `charset.alias'
28597         in the DOS 8.3 name space.
28598         * lib/Makefile.am (charset_tmp): Define.
28599         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
28600         (uninstall-local): Likewise.
28601         Reported by Eli Zaretskii.
28602
28603 2000-04-03  Jim Meyering  <meyering@lucent.com>
28604
28605         * m4/gettext.m4: Fix typo in comment.
28606
28607         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
28608         textutils/configure.in).  Suggestion from Paul Eggert.
28609         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
28610
28611 2000-04-02  Paul Eggert  <eggert@twinsun.com>
28612
28613         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
28614         variable in the shell rather than using putenv, which isn't
28615         portable.  This avoids the configure-time inter-test dependency
28616         on the potentially-renamed putenv function.
28617
28618 2000-03-30  Paul Eggert  <eggert@twinsun.com>
28619
28620         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
28621         before checking struct stat.st_blksize, so that
28622         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
28623
28624 2000-03-29  Paul Eggert  <eggert@twinsun.com>
28625
28626         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
28627         since strftime.c uses HAVE_STRFTIME to decide whether to use
28628         the underlying strftime.
28629
28630 2000-03-29  Paul Eggert  <eggert@twinsun.com>
28631
28632         * lib/time/strftime.c (my_strftime): Make sure we call the system
28633         strftime, not ourselves, when invoking the underlying strftime.
28634
28635 2000-03-24  Jim Meyering  <meyering@lucent.com>
28636
28637         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
28638         (charset_alias): Define.
28639         (install-exec-local): Factor out common code.
28640         (uninstall-local): Split lines longer than 80.
28641         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
28642         (SUFFIXES): Define.
28643         (.sed.in.sed): New rule.  Don't redirect directly to $@.
28644         (CLEANFILES): Add ref-add.sed and ref-del.sed.
28645
28646 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
28647
28648         * lib/config.charset: Output a line containing "Packages using this
28649         file".
28650         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
28651         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
28652         ref-del.sed): New rules.
28653
28654 2000-03-17  Jim Meyering  <meyering@lucent.com>
28655
28656         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
28657         Otherwise, include <strings.h>
28658
28659 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
28660
28661         * lib/unicodeio.c (utf8_wctomb): New function.
28662         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
28663         format instead of in UCS-4 with platform dependent endianness.
28664
28665 2000-03-10  Jim Meyering  <meyering@lucent.com>
28666
28667         * m4/lib-check.m4: Look for getspnam in -lgen, too.
28668         From Marco Franzen.
28669
28670 2000-03-07  Paul Eggert  <eggert@twinsun.com>
28671
28672         * lib/savedir.c (savedir): Work even if directory size is
28673         negative; this can happen with some screwy NFS configurations.
28674
28675 2000-03-06  Jim Meyering  <meyering@lucent.com>
28676
28677         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
28678         if it's NULL (because we ran out of memory).  From Bruno Haible.
28679
28680 2000-03-05  Jim Meyering  <meyering@lucent.com>
28681
28682         * lib/localcharset.c ("path-concat.h"): Include.
28683         (get_charset_aliases): Use path_concat instead of ANSI string
28684         concatenation.
28685
28686         * lib/unicodeio.h (PARAMS): Define.
28687         Use it to guard prototype.
28688
28689 2000-03-04  Jim Meyering  <meyering@lucent.com>
28690
28691         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
28692         for lib/localcharset.c.
28693
28694 2000-03-04  Jim Meyering  <meyering@lucent.com>
28695
28696         * lib/Makefile.am (install-exec-local): Create $(libdir) before
28697         installing into it.
28698         (uninstall-local): Uncomment this rule so `make distcheck' works
28699         once again.
28700
28701         * lib/unicodeio.c (<errno.h>): Include it.
28702         (errno): Declare if not defined.
28703
28704         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
28705
28706         * lib/config.charset: New version, incorporating remarks from a linux
28707         i18n mailing list.  From Bruno Haible.
28708
28709 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
28710
28711         * m4/codeset.m4: New file.
28712         * m4/iconv.m4: New file.
28713         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
28714
28715 2000-03-03  Jim Meyering  <meyering@lucent.com>
28716
28717         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
28718
28719 2000-03-02  Jim Meyering  <meyering@lucent.com>
28720
28721         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
28722         the messages come out on separate lines.
28723
28724         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
28725         rather than jm_CHECK_DECLARATIONS.
28726         * m4/decl.m4: Remove now-unused file.
28727
28728         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
28729         geteuid.
28730
28731 2000-03-02  Jim Meyering  <meyering@lucent.com>
28732
28733         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
28734
28735 2000-03-01  Jim Meyering  <meyering@lucent.com>
28736
28737         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
28738         * lib/unicodeio.c: Likewise.
28739
28740 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
28741
28742         * lib/config.charset: New file.
28743         * lib/localcharset.c: New file.
28744         * lib/unicodeio.h, lib/unicodeio.c: New files.
28745         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
28746         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
28747         (noinst_HEADERS): Add unicodeio.h.
28748         (all-local, install-exec-local, charset.alias): New targets.
28749
28750 2000-02-28  Paul Eggert  <eggert@twinsun.com>
28751
28752         * lib/quotearg.c (ALERT_CHAR): New macro.
28753         (quotearg_buffer_restyled): Use it.
28754
28755 2000-02-27  Jim Meyering  <meyering@lucent.com>
28756
28757         * m4/check-decl.m4: Add getenv to the list.
28758
28759 2000-02-27  Jim Meyering  <meyering@lucent.com>
28760
28761         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
28762         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
28763
28764         * lib/backupfile.c: Guard inclusion of stdlib.h with
28765         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
28766         Declare malloc if needed.
28767
28768         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
28769         `#ifndef HAVE_DECL..'
28770         now that autoconf always defines the HAVE_DECL_ symbols.
28771         * lib/human.c: Likewise.
28772         * lib/same.c: Likewise.
28773         * lib/strtoumax.c: Likewise.
28774
28775         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
28776         declaration check was not run.
28777         * lib/hash.c: Likewise.
28778         * lib/human.c: Likewise.
28779         * lib/same.c: Likewise.
28780         * lib/strtoumax.c: Likewise.
28781
28782         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
28783         `.', then first look up the entire `.'-containing string as a login
28784         name.
28785
28786 2000-02-23  Jim Meyering  <meyering@lucent.com>
28787
28788         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
28789         in place of my hack.
28790
28791 2000-02-18  Paul Eggert  <eggert@twinsun.com>
28792
28793         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
28794         (textint): New typedef.
28795         (parser_control): Member year changed from int to textint.
28796         All uses changed.
28797         (YYSTYPE): Removed; replaced by %union with int and textint members.
28798         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
28799         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
28800         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
28801         (tSNUMBER, tUNUMBER): Now of type <textintval>.
28802         (date, number, to_year): Use width of number in digits, not its value,
28803         to determine whether it's a 2-digit year, or a 2-digit time.
28804         (yylex): Store number of digits of numeric tokens.
28805         Reported by John Kendall.
28806
28807         (parser_control): Changed from struct parser_control to typedef (for
28808         consistency).  All uses changed.
28809
28810         (tID): Removed; not used.
28811         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
28812
28813 2000-02-14  Paul Eggert  <eggert@twinsun.com>
28814
28815         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
28816         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
28817
28818 2000-02-12  Jim Meyering  <meyering@lucent.com>
28819
28820         * lib/userspec.c (ISDIGIT): Define it.
28821         (isdigit): Remove definition.
28822         (is_number): Use ISDIGIT, not isdigit.
28823         <libintl.h>: Include.
28824         (_ and N_): Define.
28825         (parse_user_spec): Mark translatable strings.
28826
28827 2000-02-10  Jim Meyering  <meyering@lucent.com>
28828
28829         With these changes, nanosleep.[ch] are finally enough like the other
28830         lib/* replacement files to compile on a few more losing systems.
28831
28832         * lib/nanosleep.h: Don't include config.h.
28833         Remove prototype from declaration of nanosleep.
28834         (PARAMS): Remove now-unneeded definition.
28835         * lib/nanosleep.c: #undef nanosleep.
28836         (rpl_nanosleep): Rename from nanosleep.
28837
28838 2000-02-10  Jim Meyering  <meyering@lucent.com>
28839
28840         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
28841         gnu_nanosleep to rpl_nanosleep.
28842
28843 2000-02-09  Jim Meyering  <meyering@lucent.com>
28844
28845         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
28846         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
28847
28848 2000-02-08  Akim Demaille  <akim@epita.fr>
28849
28850         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
28851         `[' and `]' and remove uses of `changequote'.
28852         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
28853         (AC_SYS_LARGEFILE): Likewise.
28854         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
28855         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
28856         of changequote.
28857         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
28858         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
28859         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
28860         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
28861
28862 2000-02-05  Jim Meyering  <meyering@lucent.com>
28863
28864         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
28865         Remove explicit use of AC_HEADER_TIME.  It is required by
28866         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
28867         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
28868         in autoconf whereby the expansion of the latter ended up preceding
28869         the expansion of its prerequisite, AC_HEADER_TIME.
28870         Reported by Volker Borchert.
28871
28872 2000-02-03  Jim Meyering  <meyering@lucent.com>
28873
28874         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
28875
28876 2000-02-03  Jim Meyering  <meyering@lucent.com>
28877
28878         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
28879         rather than with `#if HAVE_UTMPNAME'.
28880
28881 2000-02-02  Jim Meyering  <meyering@lucent.com>
28882
28883         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
28884         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
28885         Reported by Eli Zaretskii.
28886
28887 2000-02-01  Jim Meyering  <meyering@lucent.com>
28888
28889         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
28890
28891 2000-01-31  Jim Meyering  <meyering@lucent.com>
28892
28893         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
28894         functions.  Add the time.h and sys/time.h headers along with the
28895         AC_REQUIRE'ment of AC_HEADER_TIME.
28896
28897 2000-01-31  Jim Meyering  <meyering@lucent.com>
28898
28899         * lib/nanosleep.h (nanosleep): Guard declaration with
28900         `#if ! HAVE_DECL_NANOSLEEP'.
28901         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
28902         the declaration in that vendor's sys/timers.h.
28903         Reported by Christian Krackowizer.
28904
28905         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
28906         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
28907         (ISPRINT): Likewise.
28908         Reported by Tom Tromey.
28909
28910 2000-01-30  Jim Meyering  <meyering@lucent.com>
28911
28912         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
28913
28914         * m4/prereq.m4 (utmp_includes): Define.
28915         Check for ut_user and ut_name members in both struct utmpx
28916         and struct utmp.
28917
28918 2000-01-30  Jim Meyering  <meyering@lucent.com>
28919
28920         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
28921         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
28922         header files where only utmpx.ut_user is declared.
28923
28924         * lib/readutmp.h (UT_USER): Define.
28925
28926 2000-01-29  Jim Meyering  <meyering@lucent.com>
28927
28928         * m4/lib-check.m4: New file containing library-related checks from
28929         fileutils and sh-utils (textutils had none).
28930
28931 2000-01-28  Jim Meyering  <meyering@lucent.com>
28932
28933         * m4/perl.m4: Change format of warning message to look more like that
28934         from the missing script.  Suggestion from François Pinard.
28935
28936 2000-01-25  Jim Meyering  <meyering@lucent.com>
28937
28938         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
28939         well as time.h in the compile check.
28940         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
28941         Fix typo in cross-compiling case: s/yes/no/.
28942
28943 2000-01-23  Jim Meyering  <meyering@lucent.com>
28944
28945         * m4/jm-macros.m4: Move df-related tests here from
28946         fileutils/configure.in
28947
28948         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
28949         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
28950
28951         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
28952         s/space/ac_fsusage_space/.
28953         (jm_FILE_SYSTEM_USAGE): Take two parameters.
28954
28955         * m4/ftruncate.m4: New file (derived from part of
28956         fileutils/configure.in).
28957         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
28958         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
28959
28960         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
28961         AC_SUBST these here, rather than just in sh-util/configure.in, so
28962         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
28963         all the same.
28964         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
28965         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
28966         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
28967         (AC_SUBST(POW_LIBM)): Likewise.
28968         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
28969
28970 2000-01-23  Jim Meyering  <meyering@lucent.com>
28971
28972         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
28973         obstack.c.
28974
28975 2000-01-22  Jim Meyering  <meyering@lucent.com>
28976
28977         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
28978
28979         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
28980
28981         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
28982         configure.in
28983         (AC_CHECK_HEADERS): Likewise for sh-utils.
28984         (AC_CHECK_HEADERS): Likewise for textutils.
28985         Merge the three lists of headers.
28986
28987         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
28988         from fileutils' configure.in.
28989
28990         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
28991         code. Moved tests into their own function (_jm_DECL_HEADERS) in
28992         check-decl.m4.
28993
28994         * m4/check-decl.m4: Use #if rather than #ifdef.
28995         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
28996         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
28997         (_jm_DECL_HEADERS): Define new function.
28998         (jm_CHECK_DECLARATIONS): Require it.
28999
29000 2000-01-22  Jim Meyering  <meyering@lucent.com>
29001
29002         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
29003         [! HAVE_DECL_STRTOULL]: Declare strtoull.
29004         Required for some AIX systems.  Reported by Christian Krackowizer.
29005         [TESTING] (main): New function.
29006
29007         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
29008         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
29009         letters.
29010
29011         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
29012         iswprint.
29013
29014         * lib/strverscmp.c (ISDIGIT): Define.
29015         (strverscmp): Use ISDIGIT, not isdigit.
29016
29017 2000-01-19  Jim Meyering  <meyering@lucent.com>
29018
29019         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
29020         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
29021         defines `struct timespec' in <sys/time.h>
29022
29023         * m4/c-bs-a.m4: Remove uses of changequote altogether.
29024         Thanks to Akim for explaining.
29025
29026 2000-01-17  Paul Eggert  <eggert@twinsun.com>
29027
29028         * lib/nanosleep.c (nanosleep):
29029         Don't use SA_INTERRUPT to decide whether to call sigaction, as
29030         POSIX.1 doesn't require SA_INTERRUPT and some systems
29031         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
29032         it's been part of POSIX.1 since day 1 (in 1988).
29033
29034 2000-01-17  Jim Meyering  <meyering@lucent.com>
29035
29036         * lib/interlock: Remove unused file.  Reported by François Pinard.
29037
29038 2000-01-16  Paul Eggert  <eggert@twinsun.com>
29039
29040         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
29041         alert, backslash, formfeed, and vertical tab unnecessarily in
29042         shell quoting style.
29043
29044 2000-01-16  Jim Meyering  <meyering@lucent.com>
29045
29046         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
29047         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
29048         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
29049         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
29050
29051 2000-01-16  Jim Meyering  <meyering@lucent.com>
29052
29053         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
29054         because the latter didn't work.
29055
29056 2000-01-15  Jim Meyering  <meyering@lucent.com>
29057
29058         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
29059         (AC_REPLACE_FUNCS): Add memcpy and memset.
29060         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
29061         Add strpbrk.
29062         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
29063
29064 2000-01-12  Jim Meyering  <meyering@lucent.com>
29065
29066         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
29067         (jm_PREREQ): Use it.
29068         (jm_PREREQ_READUTMP): New macro.
29069         (jm_PREREQ): Use it.
29070
29071 2000-01-11  Paul Eggert  <eggert@twinsun.com>
29072
29073         Quote multibyte characters correctly.
29074         * m4/c-bs-a.m4: New file.
29075         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
29076         (jm_PREREQ): Use it.
29077
29078 2000-01-11  Paul Eggert  <eggert@twinsun.com>
29079
29080         * m4/uintmax_t.m4: Port to autoconf 2.13.
29081
29082 2000-01-08  Jim Meyering  <meyering@ascend.com>
29083
29084         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
29085         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
29086
29087 2000-01-04  Jim Meyering  <meyering@ascend.com>
29088
29089         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
29090         jm_STRUCT_DIRENT_D_TYPE.
29091         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
29092         jm_STRUCT_DIRENT_D_INO.
29093         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
29094         jm_STRUCT_UTIMBUF.
29095         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
29096         renamings.
29097         * m4/utime.m4: Likewise.
29098
29099         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
29100         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
29101
29102 2000-01-03  Paul Eggert  <eggert@twinsun.com>
29103
29104         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
29105         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
29106
29107 2000-01-02  Jim Meyering  <meyering@ascend.com>
29108
29109         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
29110         remember if this is necessary.
29111
29112 1999-12-26  Jim Meyering  <meyering@ascend.com>
29113
29114         * m4/jm-macros.m4: Use it here.
29115         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
29116
29117 1999-12-23  Jim Meyering  <meyering@ascend.com>
29118
29119         * m4/jm-macros.m4: Check for clock_gettime (moved from
29120         fileutils/configure.in)
29121         Check for gettimeofday.
29122
29123 1999-12-20  Jim Meyering  <meyering@ascend.com>
29124
29125         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
29126         autoconf-2.14a-1999-12-20.
29127
29128 1999-12-19  Jim Meyering  <meyering@ascend.com>
29129
29130         * m4/lstat-slash.m4: New file.
29131         * m4/jm-macros.m4: Use the new macro:
29132         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
29133
29134 1999-12-07  Jim Meyering  <meyering@ascend.com>
29135
29136         * m4/perl.m4: Require that File::Compare be available, too.
29137         Too many systems seem to lack it.
29138
29139         * m4/strftime.m4: Add checks for most of the cpp macros tested in
29140         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
29141
29142 1999-11-18  Paul Eggert  <eggert@twinsun.com>
29143
29144         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
29145         problem with the QNX 4.25 shell, which doesn't propagate exit
29146         status of failed commands inside shell assignments.
29147
29148 1999-11-17  Jim Meyering  <meyering@ascend.com>
29149
29150         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
29151
29152 1999-11-07  Jim Meyering  <meyering@ascend.com>
29153
29154         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
29155
29156 1999-11-06  Jim Meyering  <meyering@ascend.com>
29157
29158         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
29159         * m4/jm-macros.m4 (jm_MACROS): Use it here.
29160
29161 1999-11-05  Jim Meyering  <meyering@ascend.com>
29162
29163         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
29164         configure.in of textutils, fileutils, and sh-utils into this one
29165         (shared between those packages) file.
29166         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
29167         AC_STRUCT_ST_BLKSIZE.
29168
29169 1999-11-03  Jim Meyering  <meyering@ascend.com>
29170
29171         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
29172         of AC_CHECK_TYPE checks includes unistd.h.
29173         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
29174         Suggestion from Akim Demaille.
29175
29176 1999-10-30  Jim Meyering  <meyering@ascend.com>
29177
29178         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
29179         m4-quoted string.
29180         * m4/ls-mntd-fs.m4: Likewise.
29181         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
29182         * m4/jm-winsz1.m4: Likewise.
29183
29184         * m4/const.m4: Remove file, since the fix made it into the experimental
29185         version of autoconf.
29186         * m4/mktime.m4: Likewise.
29187
29188         * m4/check-type.m4: Remove file, now that the latest version of
29189         AC_CHECK_TYPE takes a third arg to specify additional #includes.
29190
29191         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
29192         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
29193         AC_CHECK_TYPE.
29194
29195 1999-10-04  Jim Meyering  <meyering@ascend.com>
29196
29197         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
29198
29199 1999-09-22  Paul Eggert  <eggert@twinsun.com>
29200
29201         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
29202         2.95.1 bug with HP-UX 10.20.
29203
29204 1999-09-17  Jim Meyering  <meyering@ascend.com>
29205
29206         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
29207         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
29208         due to missing strdup (against sh-utils-2.0).
29209
29210 1999-08-29  Jim Meyering  <meyering@ascend.com>
29211
29212         * m4/jm-macros.m4: Require jm_BISON.
29213         * m4/bison.m4: New file.
29214
29215 1999-08-17  Paul Eggert  <eggert@twinsun.com>
29216
29217         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
29218         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
29219
29220 1999-08-05  Jim Meyering  <meyering@ascend.com>
29221
29222         * m4/getline.m4: Rename test file from conftestdata to conftest.data
29223         to avoid conflicts with `conftest' on 8+3 filesystems.
29224         Suggestion from Eli Zaretskii.
29225
29226 1999-08-04  Jim Meyering  <meyering@ascend.com>
29227
29228         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
29229         fileutils and sh-utils (textutils's getline test was inadequate).
29230         (AM_FUNC_GETLINE): Run this test.
29231         (AC_CHECK_FUNCS): Check for getdelim.
29232         Reported by Bob Proulx.
29233
29234 1999-08-02  Jim Meyering  <meyering@ascend.com>
29235
29236         * m4/jm-macros.m4: Add a comment.
29237
29238 1999-08-01  Paul Eggert  <eggert@twinsun.com>
29239
29240         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
29241         <inttypes.h> defines strtoumax as a macro (and not as a
29242         function).
29243
29244 1999-08-01  Paul Eggert  <eggert@twinsun.com>
29245
29246         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
29247         that we can shift, multiply and divide unsigned long long
29248         values; Ultrix cc can't do it.
29249
29250 1999-08-01  Paul Eggert  <eggert@twinsun.com>
29251
29252         * m4/mktime.m4: New file, which is a preview of what should appear
29253         in the next public autoconf release.
29254
29255 1999-08-01  Paul Eggert  <eggert@twinsun.com>
29256
29257         * m4/lfs.m4: Remove this file.
29258         * m4/largefile.m4: New file.  It contains the old contents of
29259         lfs.m4, except that all names with prefix AC_LFS have been
29260         changed to use the prefix AC_SYS_LARGEFILE instead, to be
29261         compatible with future autoconf versions.  Also, some minor m4
29262         quoting problems have been fixed.
29263
29264 1999-08-01  Paul Eggert  <eggert@twinsun.com>
29265
29266         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
29267         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
29268         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
29269         and simplify the shell code.
29270
29271 1999-08-01  Jim Meyering  <meyering@ascend.com>
29272
29273         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
29274         m4.
29275
29276 1999-07-20  Jim Meyering  <meyering@ascend.com>
29277
29278         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
29279
29280 1999-07-15  Jim Meyering  <meyering@ascend.com>
29281
29282         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
29283
29284 1999-05-22  Jim Meyering  <meyering@ascend.com>
29285
29286         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
29287
29288 1999-05-20  Jim Meyering  <meyering@ascend.com>
29289
29290         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
29291         Add a colon after each `then' in case $4 is empty.
29292
29293 1999-05-16  Jim Meyering  <meyering@ascend.com>
29294
29295         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
29296
29297 1999-05-10  Jim Meyering  <meyering@ascend.com>
29298
29299         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
29300
29301         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
29302         AC_FUNC_MKTIME.
29303
29304 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
29305
29306         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
29307
29308 1999-05-04  Paul Eggert  <eggert@twinsun.com>
29309
29310         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
29311         not CPPFLAGS, so that linking works correctly in IRIX.
29312
29313 1999-04-30  Paul Eggert  <eggert@twinsun.com>
29314
29315         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
29316
29317 1999-04-20  Paul Eggert  <eggert@twinsun.com>
29318
29319         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
29320         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
29321         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
29322         jm_AC_TYPE_UNSIGNED_LONG_LONG.
29323         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
29324
29325         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
29326
29327 1999-04-20  Jim Meyering  <meyering@ascend.com>
29328
29329         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
29330         AC_REPLACE xstroull if necessary.  From Paul Eggert.
29331         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
29332
29333 1999-04-18  Jim Meyering  <meyering@ascend.com>
29334
29335         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
29336         * m4/jm-macros.m4: Use it.
29337
29338 1999-04-06  Jim Meyering  <meyering@ascend.com>
29339
29340         * m4/strftime.m4: Remove test for %f.
29341
29342 1999-03-29  Jim Meyering  <meyering@ascend.com>
29343
29344         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
29345         superset of the AC_TYPE_* checks in the textutils, fileutils,
29346         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
29347         AC_TYPE_PID_T.
29348
29349 1999-03-28  Jim Meyering  <meyering@ascend.com>
29350
29351         * m4/jm-macros.m4: Define GNU_PACKAGE here.
29352         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
29353         replaced e.g., in the *.sh files of the sh-utils.
29354
29355 1999-03-20  Jim Meyering  <meyering@ascend.com>
29356
29357         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
29358         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
29359         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
29360
29361 1999-03-19  Jim Meyering  <meyering@ascend.com>
29362
29363         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
29364
29365 1999-03-12  Jim Meyering  <meyering@ascend.com>
29366
29367         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
29368
29369 1999-03-07  Jim Meyering  <meyering@ascend.com>
29370
29371         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
29372         declared.
29373
29374 1999-02-17  Jim Meyering  <meyering@ascend.com>
29375
29376         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
29377         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
29378
29379 1999-02-07  Jim Meyering  <meyering@ascend.com>
29380
29381         * m4/group-member.m4: New file -- extracted from sh-utils'
29382         configure.in.
29383
29384         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
29385         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
29386
29387 1999-02-06  Jim Meyering  <meyering@ascend.com>
29388
29389         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
29390         * m4/fnmatch.m4: Likewise.
29391         * m4/getgroups.m4: Likewise.
29392         * m4/lstat.m4: Likewise.
29393         * m4/malloc.m4: Likewise.
29394         * m4/putenv.m4: Likewise.
29395         * m4/realloc.m4: Likewise.
29396         * m4/regex.m4: Likewise.
29397         * m4/stat.m4: Likewise.
29398         * m4/strftime.m4: Likewise.
29399         Suggestion from Alain Magloire.
29400
29401         * m4/chown.m4: Use `.$ac_objext', not `.o'.
29402         * m4/fnmatch.m4: Likewise.
29403         * m4/getgroups.m4: Likewise.
29404         * m4/getline.m4: Likewise.
29405         * m4/lstat.m4: Likewise.
29406         * m4/malloc.m4: Likewise.
29407         * m4/memcmp.m4: Likewise.
29408         * m4/putenv.m4: Likewise.
29409         * m4/realloc.m4: Likewise.
29410         * m4/regex.m4: Likewise.
29411         * m4/stat.m4: Likewise.
29412         * m4/strftime.m4: Likewise.
29413         Suggestion from Alain Magloire.
29414
29415         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
29416         an argument.
29417
29418         * m4/regex.m4: Add a run-time Test for proper operation of
29419         re_compile_pattern.
29420
29421 1999-01-31  Jim Meyering  <meyering@ascend.com>
29422
29423         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
29424
29425 1999-01-30  Jim Meyering  <meyering@ascend.com>
29426
29427         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
29428
29429         * m4/jm-mktime.m4: Make this a wrapper around the official
29430         AM_FUNC_MKTIME rather than my private copy, now that the official one
29431         is up to date.
29432         * m4/mktime.m4: Remove file.
29433
29434         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
29435         * m4/uptime.m4: Likewise.
29436         * m4/uintmax_t.m4: Likewise.
29437
29438 1999-01-28  Jim Meyering  <meyering@ascend.com>
29439
29440         * m4/jm-macros.m4: Use jm_AFS.
29441         * m4/afs.m4: New file (from fileutils' configure.in).
29442
29443         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
29444         * m4/chown.m4: Likewise.
29445         * m4/d-ino.m4: Likewise.
29446         * m4/d-type.m4: Likewise.
29447         * m4/fnmatch.m4: Likewise.
29448         * m4/getgroups.m4: Likewise.
29449         * m4/gettext.m4: Likewise.
29450         * m4/jm-mktime.m4: Likewise.
29451         * m4/jm-winsz2.m4: Likewise.
29452         * m4/lcmessage.m4: Likewise.
29453         * m4/ls-mntd-fs.m4: Likewise.
29454         * m4/malloc.m4: Likewise.
29455         * m4/memcmp.m4: Likewise.
29456         * m4/putenv.m4: Likewise.
29457         * m4/realloc.m4: Likewise.
29458         * m4/st_mtim.m4: Likewise.
29459         * m4/strftime.m4: Likewise.
29460
29461 1999-01-16  Jim Meyering  <meyering@ascend.com>
29462
29463         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
29464         (ARGMATCH_DIE_DECL): Define.
29465
29466 1999-01-12  Jim Meyering  <meyering@ascend.com>
29467
29468         * m4/Makefile.am.in: Rewrite to avoid using fmt.
29469         Reported by Lars Hecking.
29470
29471 1999-01-10  Jim Meyering  <meyering@ascend.com>
29472
29473         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
29474         gross kludge.
29475         * m4/inttypes_h.m4: Likewise.
29476         * m4/lstat.m4: Likewise.
29477         * m4/malloc.m4: Likewise.
29478         * m4/readdir.m4: Likewise.
29479         * m4/realloc.m4: Likewise.
29480         * m4/st_dm_mode.m4: Likewise.
29481         * m4/stat.m4: Likewise.
29482         * m4/utimbuf.m4: Likewise.
29483         * m4/utimes.m4: Likewise.
29484
29485         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
29486         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
29487         comments in config.h.in are meaningful.
29488
29489         * m4/jm-macros.m4: Require autoconf-2.13 here.
29490
29491         * m4/regex.m4: By default, don't use the included regex.c on systems
29492         with glibc 2.  Suggestion from Uli Drepper.
29493
29494 1999-01-02  Jim Meyering  <meyering@ascend.com>
29495
29496         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
29497
29498 1998-12-18  Jim Meyering  <meyering@ascend.com>
29499
29500         * m4/Makefile.am.in (Makefile.am): Simplify rule.
29501         Based on a suggestion from Lars Hecking.
29502
29503 1998-11-16  Paul Eggert  <eggert@twinsun.com>
29504
29505         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
29506
29507 1998-11-16  Jim Meyering  <meyering@ascend.com>
29508
29509         * m4/lfs.m4: Double-quote the `uname...` expression.
29510
29511 1998-11-14  Jim Meyering  <meyering@ascend.com>
29512
29513         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
29514         * m4/stat.m4: Likewise.
29515
29516 1998-11-03  Jim Meyering  <meyering@ascend.com>
29517
29518         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
29519         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
29520
29521 1998-10-18  Jim Meyering  <meyering@ascend.com>
29522
29523         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
29524
29525 1998-10-17  Jim Meyering  <meyering@ascend.com>
29526
29527         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
29528         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
29529         calls for those previously hard-coded headers.  Instead, take a new
29530         parameter.
29531         (jm_CHECK_DECLARATIONS): Reflect interface change.
29532         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
29533         (jm_CHECK_DECL_LOCALTIME_R): New macro.
29534
29535         * m4/mktime.m4: Test for spring-forward gap before long-running test.
29536
29537 1998-10-14  Jim Meyering  <meyering@ascend.com>
29538
29539         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
29540         instead of "TZ=America/Vancouver".  From Paul Eggert.
29541
29542 1998-10-11  Jim Meyering  <meyering@ascend.com>
29543
29544         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
29545         This adds a test for a recently added compatibility fix for mktime.c.
29546         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
29547
29548 1998-09-27  Jim Meyering  <meyering@ascend.com>
29549
29550         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
29551
29552         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
29553         ../configure.in, including a change from Gordon Matzigkeit to allow
29554         cross-compiling for the Hurd.
29555
29556         * m4/glibc.m4: New file/macro to test for the GNU C Library
29557         versions 1 and 2.  From Gordon Matzigkeit.
29558         Indent.
29559
29560 1998-09-21  Jim Meyering  <meyering@ascend.com>
29561
29562         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
29563
29564 1998-08-18  Paul Eggert  <eggert@twinsun.com>
29565
29566         Port nanosecond-resolution times to UnixWare 2.1.2 and
29567         pedantic Solaris 2.6.
29568
29569         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
29570         AC_STRUCT_ST_MTIM.
29571         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
29572         Generate name of ns member, instead of just 1 or undef.
29573         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
29574
29575 1998-08-15  Jim Meyering  <meyering@ascend.com>
29576
29577         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
29578         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
29579         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
29580         instead of jm_TYPE_SSIZE_T.
29581
29582 1998-08-12  Jim Meyering  <meyering@ascend.com>
29583
29584         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
29585
29586 1998-08-02  Jim Meyering  <meyering@ascend.com>
29587
29588         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
29589         in acconfig.h manually.
29590
29591 1998-07-31  Paul Eggert  <eggert@twinsun.com>
29592
29593         * m4/st_mtim.m4: New file.
29594
29595 1998-07-28  Jim Meyering  <meyering@ascend.com>
29596
29597         * m4/utimes.m4: Undef stat.
29598
29599 1998-07-25  Jim Meyering  <meyering@ascend.com>
29600
29601         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
29602         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
29603
29604 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
29605
29606         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
29607         uid and gid actually remain unchanged.
29608
29609 1998-07-07  Jim Meyering  <meyering@ascend.com>
29610
29611         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
29612
29613 1998-07-04  Jim Meyering  <meyering@ascend.com>
29614
29615         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
29616         to prove that this macro can be used in packages without regex.c.
29617
29618 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
29619
29620         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
29621         is to be used.
29622
29623 1998-07-03  Jim Meyering  <meyering@ascend.com>
29624
29625         * m4/gettext.m4: Add -lintl if it's found to be necessary.
29626
29627         * m4/gettext.m4: New file -- from gettext-0.10.35.
29628         * m4/lcmessage.m4: Likewise.
29629         * m4/progtest.m4: Likewise.
29630
29631         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
29632         * m4/jm-macros.m4: Require the new macro.
29633
29634 1998-06-29  Jim Meyering  <meyering@ascend.com>
29635
29636         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
29637         for the definition of NGROUPS (used in a system header included
29638         by sys/mount.h).
29639
29640 1998-06-28  Jim Meyering  <meyering@ascend.com>
29641
29642         * m4/ls-mntd-fs.m4: New file.
29643         * m4/fstypename.m4: New file.
29644
29645         * m4/jm-macros.m4: Require the new macro.
29646         * m4/jm-glibc-io.m4: New file.
29647
29648 1998-05-19  Jim Meyering  <meyering@ascend.com>
29649
29650         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
29651         * m4/lchown.m4: New file.
29652
29653         * m4/Makefile.am.in: New file.
29654         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
29655
29656 1998-05-14  Jim Meyering  <meyering@ascend.com>
29657
29658         * m4/Makefile.am (EXTRA_DIST): Add them.
29659         * m4/jm-macros.m4: New file.
29660         * m4/utimbuf.m4: New file.
29661
29662 1998-05-12  Jim Meyering  <meyering@ascend.com>
29663
29664         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
29665
29666 1998-05-11  Jim Meyering  <meyering@ascend.com>
29667
29668         * m4/isc-posix.m4: New file.
29669
29670 1998-05-10  Jim Meyering  <meyering@ascend.com>