452cb5572c31231e1024d99f8af293a4aa7bcead
[gnulib.git] / ChangeLog
1 2007-04-11  Bruno Haible  <bruno@clisp.org>
2
3         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
4         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
5         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
6         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
7         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
8         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
9         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
10         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
11         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
12         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
13         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
14         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
15         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
16         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
17         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
18         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
19         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
20         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
21         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
22         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
23         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
24         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
25         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
26         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
28         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
29         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
30         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31         Reported by Eric Blake.
32
33 2007-04-11  Bruno Haible  <bruno@clisp.org>
34
35         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
36
37 2007-04-10  Bruno Haible  <bruno@clisp.org>
38
39         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
40         for NaN and Infinity. Needed on FreeBSD 6.1.
41         * tests/test-vasnprintf-posix.c (test_function): Undo last change
42         regarding results for "%010a" of Infinity and NaN.
43         * tests/test-vasprintf-posix.c (test_function): Likewise.
44         * tests/test-snprintf-posix.h (test_function): Likewise.
45         * tests/test-sprintf-posix.h (test_function): Likewise.
46         * tests/test-fprintf-posix.h (test_function): Likewise.
47         * tests/test-printf-posix.h (test_function): Likewise.
48         * tests/test-fprintf-posix.out: Likewise.
49
50 2007-04-10  Bruno Haible  <bruno@clisp.org>
51
52         * modules/locale-tests: New file.
53         * tests/test-locale.c: New file.
54
55         * modules/locale: New file.
56         * lib/locale_.h: New file.
57         * m4/locale_h.m4: New file.
58
59 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
60             Bruno Haible  <bruno@clisp.org>
61
62         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
63         be determined, test for availability of the copysignf, copysign,
64         copysignl functions.
65         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
66         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
67         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
68
69 2007-04-09  Eric Blake  <ebb9@byu.net>
70
71         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
72         * modules/stdio (Makefile.am): Support fflush.
73         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
74         * modules/fflush: New file.
75         * lib/fflush.c: Likewise.
76         * m4/fflush.m4: Likewise.
77         * modules/fflush-tests: New test.
78         * tests/test-fflush.c: Likewise.
79         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
80
81 2007-04-06  Bruno Haible  <bruno@clisp.org>
82
83         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
84         (VASNPRINTF): Use signbit for faster determination whether to print a
85         minus sign.
86         * modules/vasnprintf (Files): Remove lib/float+.h.
87         * modules/fprintf-posix (Depends-on): Add signbit.
88         * modules/snprintf-posix (Depends-on): Likewise.
89         * modules/sprintf-posix (Depends-on): Likewise.
90         * modules/vasnprintf-posix (Depends-on): Likewise.
91         * modules/vasprintf-posix (Depends-on): Likewise.
92         * modules/vfprintf-posix (Depends-on): Likewise.
93         * modules/vsnprintf-posix (Depends-on): Likewise.
94         * modules/vsprintf-posix (Depends-on): Likewise.
95
96 2007-04-06  Bruno Haible  <bruno@clisp.org>
97
98         * tests/test-frexp.c (main): Test also the sign bit of zero results.
99         * tests/test-frexpl.c (main): Likewise.
100         * tests/test-ldexpl.c (main): Likewise.
101         * modules/frexp-tests (Depends-on): Add signbit.
102         * modules/frexpl-tests (Depdends-on): Likewise.
103         * modules/ldexpl-tests (Depdends-on): Likewise.
104
105 2007-04-06  Bruno Haible  <bruno@clisp.org>
106
107         * modules/signbit-tests: New file.
108         * tests/test-signbit.c: New file.
109
110         * modules/signbit: New file.
111         * lib/signbitf.c: New file.
112         * lib/signbitd.c: New file.
113         * lib/signbitl.c: New file.
114         * m4/signbit.m4: New file.
115         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
116         (signbit): New macro.
117         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
118         REPLACE_SIGNBIT.
119         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
120         REPLACE_FREXPL into math.h.
121
122 2007-04-06  Bruno Haible  <bruno@clisp.org>
123
124         * modules/isnanf-nolibm-tests: New file.
125         * tests/test-isnanf.c: New file.
126
127         * modules/isnanf-nolibm: New file.
128         * lib/isnanf.h: New file.
129         * lib/isnanf.c: New file.
130         * lib/isnan.c: Consider the USE_FLOAT macro.
131         * m4/isnanf.m4: New file.
132
133 2007-04-06  Bruno Haible  <bruno@clisp.org>
134
135         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
136         (Link): New section.
137
138         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
139
140 2007-04-06  Bruno Haible  <bruno@clisp.org>
141
142         Assume the 'long double' type.
143         * m4/longdouble.m4: Remove file.
144         * config/srclist.txt: Don't mention longdouble.m4.
145         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
146         * lib/float+.h: Likewise.
147         * lib/frexp.c: Likewise.
148         * lib/printf-args.h: Likewise.
149         * lib/printf-args.c: Likewise.
150         * lib/printf-frexp.c: Likewise.
151         * lib/printf-parse.c: Likewise.
152         * lib/vasnprintf.c: Likewise.
153         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
154         * m4/intl.m4: Likewise.
155         * m4/isnanl.m4: Likewise.
156         * m4/printf.m4: Likewise.
157         * m4/printf-frexpl.m4: Likewise.
158         * m4/vasnprintf.m4: Likewise.
159         * modules/allocsa (Files): Remove m4/longdouble.m4.
160         * modules/gettext (Files): Likewise.
161         * modules/relocatable-prog-wrapper (Files): Likewise.
162         * modules/vasnprintf (Files): Likewise.
163         * modules/isnanl (Files): Likewise.
164         (Include): Simplify.
165         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
166         (Include): Simplify.
167         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
168         (Include): Simplify.
169         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
170         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
171         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
172         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
173         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
174         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
175         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
176         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
177         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
178         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
179         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
180         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
181         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
182         * tests/test-isnanl.c: Likewise.
183         * tests/test-snprintf-posix.h: Likewise.
184         * tests/test-sprintf-posix.h: Likewise.
185         * tests/test-vasnprintf-posix.c: Likewise.
186         * tests/test-vasnprintf-posix2.c: Likewise.
187         * tests/test-vasprintf-posix.c: Likewise.
188
189 2007-04-06  Bruno Haible  <bruno@clisp.org>
190
191         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
192         * lib/math_.h [__DECC]: Include the overridden include file through
193         #include_next, outside the double-inclusion guard.
194         * lib/stdio_.h [__DECC]: Likewise.
195         * lib/stdlib_.h [__DECC]: Likewise.
196         * lib/string_.h [__DECC]: Likewise.
197         * lib/time_.h [__DECC]: Likewise.
198         * lib/wchar_.h [__DECC]: Likewise.
199         * lib/wctype_.h [__DECC]: Likewise.
200         * lib/inttypes_.h [__DECC]: Likewise.
201         Reported by Albert Chin <china@thewrittenword.com> in
202         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
203
204 2007-04-04  Eric Blake  <ebb9@byu.net>
205
206         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
207         1.5.x.
208
209 2007-04-04  Bruno Haible  <bruno@clisp.org>
210
211         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
212         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
213
214 2007-04-04  Bruno Haible  <bruno@clisp.org>
215
216         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
217         results for "%010a" of Infinity and NaN.
218         * tests/test-vasprintf-posix.c (test_function): Likewise.
219         * tests/test-snprintf-posix.h (test_function): Likewise.
220         * tests/test-sprintf-posix.h (test_function): Likewise.
221         * tests/test-fprintf-posix.h (test_function): Remove these tests.
222         * tests/test-printf-posix.h (test_function): Likewise.
223         * tests/test-fprintf-posix.out: Update.
224         Needed for FreeBSD 6.1.
225
226 2007-04-04  Bruno Haible  <bruno@clisp.org>
227
228         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
229         directly used by the gnulib modules nor by gnulib-tool.
230
231 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
232
233         * DEPENDENCIES: Give overall description of version dependency
234         desirability.  Use more-typical names for apps.
235         Add shell, coreutils, diffutils, grep, tar, gzip.
236
237 2007-04-04  Simon Josefsson  <simon@josefsson.org>
238
239         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
240
241 2007-04-04  Karl Berry  <karl@gnu.org>
242
243         * MODULES.html.sh (func_module): missing '.
244
245 2007-04-03  Bruno Haible  <bruno@clisp.org>
246
247         * modules/argmatch-tests (Makefile.am): New variable
248         test_argmatch_LDADD.
249         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
250         * modules/array-list-tests (Makefile.am): New variable
251         test_array_list_LDADD.
252         * modules/array-oset-tests (Makefile.am): New variable
253         test_array_oset_LDADD.
254         * modules/avltree-list-tests (Makefile.am): New variable
255         test_avltree_list_LDADD.
256         * modules/avltree-oset-tests (Makefile.am): New variable
257         test_avltree_oset_LDADD.
258         * modules/avltreehash-list-tests (Makefile.am): New variable
259         test_avltreehash_list_LDADD.
260         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
261         test_canonicalize_lgpl_LDADD.
262         * modules/carray-list-tests (Makefile.am): New variable
263         test_carray_list_LDADD.
264         * modules/dirname-tests (Makefile.am): New variable
265         test_dirname_LDADD.
266         * modules/linked-list-tests (Makefile.am): New variable
267         test_linked_list_LDADD.
268         * modules/linkedhash-list-tests (Makefile.am): New variable
269         test_linkedhash_list_LDADD.
270         * modules/rbtree-list-tests (Makefile.am): New variable
271         test_rbtree_list_LDADD.
272         * modules/rbtree-oset-tests (Makefile.am): New variable
273         test_rbtree_oset_LDADD.
274         * modules/rbtreehash-list-tests (Makefile.am): New variable
275         test_rbtreehash_list_LDADD.
276         * modules/xvasprintf-tests (Makefile.am): New variable
277         test_xvasprintf_LDADD.
278         Reported by Eric Blake.
279
280 2007-04-03  Eric Blake  <ebb9@byu.net>
281
282         * DEPENDENCIES: Weaken m4 requirements.
283
284 2007-04-03  Bruno Haible  <bruno@clisp.org>
285
286         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
287         * modules/isnanl-tests (configure.ac): Likewise.
288
289 2007-04-03  Ben Pfaff  <blp@gnu.org>
290
291         * modules/iconv_open: Add $(srcdir)/ to source directory
292         references in Makefile fragments that call gperf, to fix VPATH
293         builds.
294
295 2007-04-03  Bruno Haible  <bruno@clisp.org>
296
297         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
298         * lib/ldexpl.c: Undo last change.
299
300 2007-04-03  Bruno Haible  <bruno@clisp.org>
301
302         * modules/printf-frexpl (Depends-on): Undo last change.
303         (Files): Add m4/ldexpl.m4.
304
305 2007-04-03  Bruno Haible  <bruno@clisp.org>
306
307         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
308         * modules/isnanl (Link): New section.
309
310         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
311         * modules/frexp (Link): New section.
312
313         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
314         * modules/frexpl (Link): New section.
315
316         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
317         * modules/ldexpl (Link): New section.
318
319 2007-04-03  Bruno Haible  <bruno@clisp.org>
320
321         * modules/TEMPLATE-EXTENDED: New file.
322         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
323
324 2007-04-03  Bruno Haible  <bruno@clisp.org>
325
326         * DEPENDENCIES: New file.
327         Suggested by Simon Josefsson.
328
329 2007-04-03  Bruno Haible  <bruno@clisp.org>
330
331         * doc/gnulib.texi: Escape @.
332
333 2007-04-03  James Youngman  <jay@gnu.org>
334         and Paul Eggert  <eggert@cs.ucla.edu>
335
336         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
337         birthtime on all systems that have birthtime, not just those which
338         use st_birthtimensec rather than st_birthtim.  Putting zero in
339         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
340         that the birth time is not available for files on an NFS mount.
341
342 2007-04-03  Simon Josefsson  <simon@josefsson.org>
343
344         * modules/memxor: Move back from crypto/, suggested by Bruno.
345         * modules/crypto/hmac-sha1: Fix memxor dependency.
346
347         * modules/crypto/gc: Moved from ../.
348
349 2007-04-02  Eric Blake  <ebb9@byu.net>
350
351         * lib/ldexpl.c (includes): Avoid libm.
352
353         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
354
355 2007-04-02  Bruno Haible  <bruno@clisp.org>
356
357         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
358         on IRIX.
359
360 2007-04-02  Bruno Haible  <bruno@clisp.org>
361
362         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
363         x86 or x86_64 platforms running MacOS X.
364         Reported by Ryan Schmidt <@ryandesign.com>.
365
366 2007-04-02  Bruno Haible  <bruno@clisp.org>
367
368         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
369         i386.
370
371 2007-04-01  Simon Josefsson  <simon@josefsson.org>
372
373         * modules/crypto/arcfour: Moved from ../.
374         * modules/crypto/arcfour-tests: Moved from ../.
375         * modules/crypto/arctwo: Moved from ../.
376         * modules/crypto/arctwo-tests: Moved from ../.
377         * modules/crypto/des: Moved from ../.
378         * modules/crypto/des-tests: Moved from ../.
379         * modules/crypto/gc-arcfour: Moved from ../.
380         * modules/crypto/gc-arcfour-tests: Moved from ../.
381         * modules/crypto/gc-arctwo: Moved from ../.
382         * modules/crypto/gc-arctwo-tests: Moved from ../.
383         * modules/crypto/gc-des: Moved from ../.
384         * modules/crypto/gc-des-tests: Moved from ../.
385         * modules/crypto/gc-hmac-md5: Moved from ../.
386         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
387         * modules/crypto/gc-hmac-sha1: Moved from ../.
388         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
389         * modules/crypto/gc-md2: Moved from ../.
390         * modules/crypto/gc-md2-tests: Moved from ../.
391         * modules/crypto/gc-md4: Moved from ../.
392         * modules/crypto/gc-md4-tests: Moved from ../.
393         * modules/crypto/gc-md5: Moved from ../.
394         * modules/crypto/gc-md5-tests: Moved from ../.
395         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
396         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
397         * modules/crypto/gc-random: Moved from ../.
398         * modules/crypto/gc-rijndael: Moved from ../.
399         * modules/crypto/gc-rijndael-tests: Moved from ../.
400         * modules/crypto/gc-sha1: Moved from ../.
401         * modules/crypto/gc-sha1-tests: Moved from ../.
402         * modules/crypto/gc-tests: Moved from ../.
403         * modules/crypto/hmac-md5: Moved from ../.
404         * modules/crypto/hmac-md5-tests: Moved from ../.
405         * modules/crypto/hmac-sha1: Moved from ../.
406         * modules/crypto/hmac-sha1-tests: Moved from ../.
407         * modules/crypto/md2: Moved from ../.
408         * modules/crypto/md2-tests: Moved from ../.
409         * modules/crypto/md4: Moved from ../.
410         * modules/crypto/md4-tests: Moved from ../.
411         * modules/crypto/md5: Moved from ../.
412         * modules/crypto/md5-tests: Moved from ../.
413         * modules/crypto/memxor: Moved from ../.
414         * modules/crypto/rijndael: Moved from ../.
415         * modules/crypto/rijndael-tests: Moved from ../.
416         * modules/crypto/sha1: Moved from ../.
417
418 2007-03-30  James Youngman  <jay@gnu.org>
419
420         * tests/test-stat-time.c (prepare_test): use chmod() rather than
421         rename() to change the ctime of a file (because ctime is unaffected
422         by rename on jfs2 on AIX 5.1).
423         (main): Start by doing cleanup, in case a previous run failed leaving
424         test files behind.
425
426 2007-03-31  Bruno Haible  <bruno@clisp.org>
427
428         Support old proprietary implementations of iconv.
429         * modules/iconv_open: New file.
430         * lib/iconv_.h: New file.
431         * m4/iconv_h.m4: New file.
432         * lib/iconv_open.c: New file.
433         * lib/iconv_open-aix.gperf: New file.
434         * lib/iconv_open-hpux.gperf: New file.
435         * lib/iconv_open-irix.gperf: New file.
436         * lib/iconv_open-osf.gperf: New file.
437         * m4/iconv_open.m4: New file.
438         * modules/linebreak (Depends-on): Add iconv_open.
439         * modules/striconv (Depends-on): Likewise.
440         * modules/striconveh (Depends-on): Likewise.
441         * modules/unicodeio (Depends-on): Likewise.
442         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
443         (iconv_t)(-1).
444         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
445         conversion if cd is (iconv_t)(-1).
446         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
447         is not possible.
448
449 2007-03-31  Bruno Haible  <bruno@clisp.org>
450
451         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
452         work on Solaris either. Protect also second use of "autodetect_jp".
453
454 2007-03-31  Bruno Haible  <bruno@clisp.org>
455
456         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
457         the function is not present.
458
459 2007-03-31  Bruno Haible  <bruno@clisp.org>
460
461         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
462         the function is not present.
463
464 2007-03-31  Bruno Haible  <bruno@clisp.org>
465
466         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
467         a bug in HP-UX iconv_open().
468
469 2007-03-31  Bruno Haible  <bruno@clisp.org>
470
471         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
472         (Mathematics <math.h>): New section, add fpieee.
473         (Input/output <stdio.h>): Add fseterr.
474         (Mathematics <math.h>): New section, add printf-frexp.
475         (Container data structures): Add sublist.
476         (Core language properties): Add fpucw, inline.
477         (Functions for greatest-width integer types <inttypes.h>): Add
478         imaxabs, imaxdiv, inttypes.
479         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
480         isnanl-nolibm, ldexp.
481         (Mathematics <math.h>): New section, add printf-frexpl.
482         (Support for systems lacking POSIX:2001): Add fprintf-posix,
483         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
484         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
485         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
486         (Unicode string functions): Add unistr/u*-mbtoucr.
487         (Java): Add javacomp-script, javaexec-script.
488         (C#): Add csharpcomp-script, csharpexec-script.
489         (Support for building libraries and executables): Add havelib,
490         relocatable-*.
491         (Support for maintaining and releasing projects): Renamed from
492         'Support for maintaining and release projects'. Add announce-gen.
493
494 2007-03-31  Bruno Haible  <bruno@clisp.org>
495
496         * README: Talk primarily about git.
497         (git and CVS): Renamed from CVS.
498         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
499         gnulib is available through git.
500         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
501
502 2007-03-30  Bruno Haible  <bruno@clisp.org>
503
504         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
505         * lib/poll_.h: Likewise.
506         * lib/stat_.h: Likewise.
507         * lib/sys_time_.h: Likewise.
508         * lib/sysexit_.h: Likewise.
509         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
510         * lib/stdbool_.h: Likewise.
511         * lib/byteswap_.h: Add double-inclusion guard.
512
513 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
514
515         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
516
517 2007-03-30  Karl Berry  <karl@gnu.org>
518
519         * config/srclist-update: double space after USA in the license
520         substitution, since that's how it's usually (?) written.
521
522 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
523
524         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
525         reported by Bruno Haible.
526
527 2007-03-29  Bruno Haible  <bruno@clisp.org>
528
529         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
530         a bug in AIX iconv().
531
532 2007-03-29  Bruno Haible  <bruno@clisp.org>
533
534         * modules/ldexpl-tests: New file.
535         * tests/test-ldexpl.c: New file.
536
537 2007-03-29  Bruno Haible  <bruno@clisp.org>
538
539         * lib/ldexpl.c: Include fpucw.h.
540         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
541         multiplication.
542         * modules/ldexpl (Depends-on): Add fpucw.
543
544 2007-03-29  Bruno Haible  <bruno@clisp.org>
545
546         * modules/ldexpl: New file.
547         * m4/ldexpl.m4: New file.
548         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
549         set.
550         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
551         REPLACE_LDEXPL.
552         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
553         REPLACE_LDEXPL.
554         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
555         gl_FUNC_LDEXPL_WORKS.
556         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
557         * modules/mathl (Files): Remove lib/ldexpl.c.
558         (Depends-on): Add ldexpl.
559
560 2007-03-29  Bruno Haible  <bruno@clisp.org>
561
562         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
563
564 2007-03-29  Bruno Haible  <bruno@clisp.org>
565
566         * tests/test-striconveh.c (main): Don't assume that a direct conversion
567         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
568         and possibly also HP-UX.
569         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
570         work on AIX, IRIX, HP-UX, OSF/1.
571         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
572         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
573         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
574         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
575         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
576         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
577
578 2007-03-29  Bruno Haible  <bruno@clisp.org>
579
580         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
581
582 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
583
584         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
585         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
586
587 2007-03-29  Eric Blake  <ebb9@byu.net>
588
589         * lib/acl-internal.h: Remove redundant include.
590         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
591         Cygwin when a file is locked.
592
593 2007-03-29  Bruno Haible  <bruno@clisp.org>
594
595         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
596         file.
597         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
598
599 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
600
601         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
602         try to remove a parent directory if the child couldn't be removed
603         (except for the first rmdir, which could fail because the child
604         doesn't exist).  Problem reported by Jeff Blaine in
605         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
606
607 2007-03-28  Bruno Haible  <bruno@clisp.org>
608
609         * lib/striconveh.c (utf8conv_carefully): New function.
610         (mem_cd_iconveh_internal): Invoke it.
611
612 2007-03-28  Bruno Haible  <bruno@clisp.org>
613
614         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
615         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
616         input.
617         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
618         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
619         unistr/u8-uctomb.
620
621 2007-03-28  Bruno Haible  <bruno@clisp.org>
622
623         * modules/unistr/u8-mbtoucr: New file.
624         * lib/unistr/u8-mbtoucr.c: New file.
625         * modules/unistr/u16-mbtoucr: New file.
626         * lib/unistr/u16-mbtoucr.c: New file.
627         * modules/unistr/u16-mbtoucr: New file.
628         * lib/unistr/u16-mbtoucr.c: New file.
629         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
630
631 2007-03-27  Simon Josefsson  <simon@josefsson.org>
632             Bruno Haible  <bruno@clisp.org>
633
634         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
635         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
636         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
637
638         * m4/stdio_h.m4: Add stubs for vasprintf too.
639
640         * modules/stdio: Support vasprintf in sed command.
641
642         * modules/vasprintf: Depend on stdio for prototypes.  Remove
643         vasprintf.h.  Add stdio module indicator.
644
645         * lib/stdio_.h: Declare asprintf and vasprintf, based on
646         vasprintf.h.
647
648         * lib/vasprintf.h: File removed.
649
650         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
651         * lib/vasprintf.c: Ditto.
652         * lib/xvasprintf.c: Ditto.
653         * tests/test-vasprintf-posix.c: Ditto.
654         * tests/test-vasprintf.c: Ditto.
655
656 2007-03-27  Bruno Haible  <bruno@clisp.org>
657
658         Make vasnprintf multithread-safe.
659         * lib/vasnprintf.c (decimal_point_char): New function.
660         (VASNPRINTF): Use it.
661         Suggested by Simon Josefsson.
662
663 2007-03-27  Eric Blake  <ebb9@byu.net>
664
665         Support sub-second birthtime on cygwin.
666         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
667         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
668         (get_stat_birthtime): Also work with st_birthtim.
669
670 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
671
672         * lib/stat-time.h (USE_BIRTHTIME): Remove.
673         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
674         (get_stat_birthtime_ns): Do not try to use "spare" fields.
675         (get_stat_birthtime_ns): Simplify compile-time tests.
676         (get_stat_birthtime): Change the API to look like
677         get_stat_mtime etc., except return a negative tv_nsec on error.
678         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
679         Don't check for "spare" fields.
680         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
681         or for struct stat.st_birthtime, as these tests aren't used.
682         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
683
684 2007-03-27  Bruno Haible  <bruno@clisp.org>
685
686         * lib/stat-time.h: Include <sys/stat.h>.
687
688 2007-03-27  James Youngman  <jay@gnu.org>
689
690         * lib/stat-time.h (get_stat_birthtime): New function for
691           retrieving st_birthtime as provided by UFS2 (hence *BSD).
692         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
693           and its variants.
694         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
695         * modules/stat-time-test: New file.
696         * tests/test-stat-time.c: New test, devised by Bruno Haible.
697
698 2007-03-26  Bruno Haible  <bruno@clisp.org>
699
700         Better support of signalling NaNs.
701         * lib/atanl.c: Include isnanl.h.
702         (atanl): Perform test for NaN at the beginning of the function and
703         through a call to isnanl.
704         * lib/cosl.c: Include isnanl.h.
705         (cosl): Perform test for NaN at the beginning of the function and
706         through a call to isnanl.
707         * lib/ldexpl.c: Include isnanl.h.
708         (ldexpl): Perform test for NaN through a call to isnanl.
709         * lib/logl.c: Include isnanl.h.
710         (logl): Perform test for NaN at the beginning of the function and
711         through a call to isnanl.
712         * lib/sinl.c: Include isnanl.h.
713         (sinl): Perform test for NaN at the beginning of the function and
714         through a call to isnanl.
715         * lib/sqrtl.c: Include isnanl.h.
716         (sqrtl): Perform test for NaN at the beginning of the function and
717         through a call to isnanl.
718         * lib/tanl.c: Include isnanl.h.
719         (tanl): Perform test for NaN at the beginning of the function and
720         through a call to isnanl.
721         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
722         * modules/mathl (Depends-on): Add isnanl.
723
724 2007-03-26  Eric Blake  <ebb9@byu.net>
725
726         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
727         regression in logic sense of previous patch.
728
729 2007-03-26  Bruno Haible  <bruno@clisp.org>
730
731         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
732         unportable shell command "if ! ...".
733         Reported by Ralf Wildenhues.
734
735 2007-03-25  Bruno Haible  <bruno@clisp.org>
736
737         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
738         <sysexits.h> file, and only add EX_CONFIG.
739         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
740         absolute file name and whether it is sufficient. Substitute also
741         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
742         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
743         ABSOLUTE_SYSEXITS_H into sysexits.h.
744
745 2007-03-25  Bruno Haible  <bruno@clisp.org>
746
747         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
748         hints is NULL.
749
750 2007-03-25  Bruno Haible  <bruno@clisp.org>
751
752         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
753         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
754
755 2007-03-25  Bruno Haible  <bruno@clisp.org>
756
757         * lib/vasnprintf.c: Include langinfo.h.
758         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
759         multithread-safe.
760         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
761         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
762         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
763         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
764         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
765         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
766         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
767         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
768         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
769         Reported by Simon Josefsson.
770
771 2007-03-25  Bruno Haible  <bruno@clisp.org>
772
773         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
774         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
775         * modules/vasnprintf (Depends-on): Add stdint.
776
777 2007-03-25  Bruno Haible  <bruno@clisp.org>
778
779         * modules/fpieee: New file.
780         * m4/fpieee.m4: New file.
781         * modules/isnan-nolibm (Depends-on): Add fpieee.
782         * modules/isnanl-nolibm (Depends-on): Add fpieee.
783         * modules/isnanl (Depends-on): Add fpieee.
784
785 2007-03-25  Bruno Haible  <bruno@clisp.org>
786
787         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
788
789 2007-03-25  Bruno Haible  <bruno@clisp.org>
790
791         Avoid test failures on IRIX 6.5.
792         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
793         (main): Use it.
794         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
795         macros.
796         (main): Use them.
797
798 2007-03-25  Bruno Haible  <bruno@clisp.org>
799
800         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
801         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
802         exists but doesn't work.
803         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
804         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
805         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
806         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
807
808 2007-03-25  Bruno Haible  <bruno@clisp.org>
809
810         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
811         returns inf. Needed on IRIX 6.5.
812
813 2007-03-25  Bruno Haible  <bruno@clisp.org>
814
815         * tests/test-frexpl.c: Include isnanl-nolibm.h.
816         (main): Use isnanl instead of x != x idiom.
817         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
818
819         * tests/test-frexp.c: Include isnan.h.
820         (main): Use isnan instead of x != x idiom.
821         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
822
823 2007-03-25  Bruno Haible  <bruno@clisp.org>
824
825         * tests/test-frexp.c (NaN): New function/macro.
826         (main): Use it instead of 0.0 / 0.0.
827         * tests/test-isnan.c (NaN): New function/macro.
828         (main): Use it instead of 0.0 / 0.0.
829         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
830         (test_function): Use it instead of 0.0 / 0.0.
831         * tests/test-vasprintf-posix.c (NaN): New function/macro.
832         (test_function): Use it instead of 0.0 / 0.0.
833         * tests/test-snprintf-posix.h (NaN): New function/macro.
834         (test_function): Use it instead of 0.0 / 0.0.
835         * tests/test-sprintf-posix.h (NaN): New function/macro.
836         (test_function): Use it instead of 0.0 / 0.0.
837         * tests/test-fprintf-posix.h (NaN): New function/macro.
838         (test_function): Use it instead of 0.0 / 0.0.
839         * tests/test-printf-posix.h (NaN): New function/macro.
840         (test_function): Use it instead of 0.0 / 0.0.
841
842         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
843
844 2007-03-25  Bruno Haible  <bruno@clisp.org>
845
846         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
847
848 2007-03-25  Bruno Haible  <bruno@clisp.org>
849
850         * lib/regexec.c (merge_state_with_log): Make static.
851
852 2007-03-25  Bruno Haible  <bruno@clisp.org>
853
854         * lib/trigl.c (kernel_rem_pio2): Make static.
855
856 2007-03-25  Bruno Haible  <bruno@clisp.org>
857
858         * lib/sincosl.c (sincosl_table): Make static.
859
860 2007-03-25  Bruno Haible  <bruno@clisp.org>
861
862         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
863         if the compiler does not support C99.
864
865 2007-03-25  Bruno Haible  <bruno@clisp.org>
866
867         * modules/time (Makefile.am): Ensure all rule action lines start with a
868         tab.
869
870 2007-03-24  Bruno Haible  <bruno@clisp.org>
871
872         * modules/tsearch-tests: New file.
873         * tests/test-tsearch.sh: New file.
874         * tests/test-tsearch.c: New file, mostly copied from glibc.
875
876         * modules/search-tests: New file.
877         * tests/test-search.c: New file.
878
879         * modules/search: New file.
880         * lib/search_.h: New file, incorporating lib/tsearch.h.
881         * m4/search_h.m4: New file.
882         * lib/tsearch.h: Remove file.
883         * lib/tsearch.c: Include search.h instead of tsearch.h.
884         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
885         HAVE_TSEARCH.
886         * modules/tsearch (Files): Remove lib/tsearch.h.
887         (Depends-on): Add search.
888         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
889         (Include): Change tsearch.h into search.h.
890
891 2007-03-24  Bruno Haible  <bruno@clisp.org>
892
893         * modules/fpucw: New file.
894         * lib/fpucw.h: New file.
895         * lib/frexp.c: Include fpucw.h.
896         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
897         (FUNC): Use them.
898         * lib/printf-frexp.c: Include fpucw.h.
899         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
900         (FUNC): Use them.
901         * lib/vasnprintf.c: Include fpucw.h.
902         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
903         'long double' calculations.
904         * tests/test-frexpl.c: Include fpucw.h.
905         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
906         * tests/test-printf-frexpl.c: Include fpucw.h.
907         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
908         * modules/frexpl (Depends-on): Add fpucw.
909         * modules/printf-frexpl (Depends-on): Likewise.
910         * modules/fprintf-posix (Depends-on): Likewise.
911         * modules/snprintf-posix (Depends-on): Likewise.
912         * modules/sprintf-posix (Depends-on): Likewise.
913         * modules/vasnprintf-posix (Depends-on): Likewise.
914         * modules/vasprintf-posix (Depends-on): Likewise.
915         * modules/vfprintf-posix (Depends-on): Likewise.
916         * modules/vsnprintf-posix (Depends-on): Likewise.
917         * modules/vsprintf-posix (Depends-on): Likewise.
918         * modules/frexpl-tests (Depends-on): Likewise.
919         * modules/printf-frexpl-tests (Depends-on): Likewise.
920
921 2007-03-24  Bruno Haible  <bruno@clisp.org>
922
923         * lib/float+.h: New file.
924         * lib/isnan.c: Include float+.h.
925         (SIZE): New macro.
926         (FUNC): Compare only SIZE bytes of the value.
927         * lib/vasnprintf.c: Include float+.h.
928         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
929         SIZEOF_LDBL or SIZEOF_DBL bytes.
930         * modules/isnan-nolibm (Files): Add lib/float+.h.
931         * modules/isnanl-nolibm (Files): Add lib/float+.h.
932         * modules/isnanl (Files): Add lib/float+.h.
933         * modules/vasnprintf (Files): Add lib/float+.h.
934
935 2007-03-24  Bruno Haible  <bruno@clisp.org>
936
937         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
938         include isnanl-nolibm.h.
939
940 2007-03-24  Bruno Haible  <bruno@clisp.org>
941
942         * tests/test-read-file.c (main): Don't produce spurious output for
943         expected situations. Make the test fail if it encountered unexpected
944         results.
945
946 2007-03-24  Bruno Haible  <bruno@clisp.org>
947
948         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
949         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
950
951 2007-03-24  Bruno Haible  <bruno@clisp.org>
952
953         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
954
955 2007-03-24  Bruno Haible  <bruno@clisp.org>
956
957         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
958         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
959
960         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
961         * modules/utf8-ucs4: Turn into a symbolic link to module
962         unistr/u8-mbtouc.
963
964         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
965         utf8-ucs4-unsafe.
966         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
967         unistr/u8-mbtouc-unsafe.
968
969         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
970         * modules/utf16-ucs4: Turn into a symbolic link to module
971         unistr/u16-mbtouc.
972
973         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
974         utf16-ucs4-unsafe.
975         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
976         unistr/u16-mbtouc-unsafe.
977
978         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
979         * modules/ucs4-utf8: Turn into a symbolic link to module
980         unistr/u8-ubtomb.
981
982         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
983         * modules/ucs4-utf16: Turn into a symbolic link to module
984         unistr/u16-ubtomb.
985
986 2007-03-24  Bruno Haible  <bruno@clisp.org>
987
988         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
989         Enable the function only if HAVE_INLINE.
990         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
991         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
992         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
993         Enable the function only if HAVE_INLINE.
994         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
995         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
996         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
997         Enable the function only if HAVE_INLINE.
998         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
999         Enable the function only if HAVE_INLINE.
1000         * modules/utf8-ucs4: Update.
1001         * modules/utf8-ucs4-unsafe: Update.
1002         * modules/utf16-ucs4: Update.
1003         * modules/utf16-ucs4-unsafe: Update.
1004         * modules/ucs4-utf8: Update.
1005         * modules/ucs4-utf16: Update.
1006
1007 2007-03-24  Bruno Haible  <bruno@clisp.org>
1008
1009         * lib/utf8-ucs4.h: Remove file.
1010         * lib/utf8-ucs4-unsafe.h: Remove file.
1011         * lib/utf16-ucs4.h: Remove file.
1012         * lib/utf16-ucs4-unsafe.h: Remove file.
1013         * lib/ucs4-utf8.h: Remove file.
1014         * lib/ucs4-utf16.h: Remove file.
1015         * lib/unistr.h: Include their previous contents.
1016         * m4/utf-ucs4.m4: Remove file.
1017         * m4/ucs4-utf.m4: Remove file.
1018         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
1019         (Depends-on): Add unistr/base.
1020         (configure.ac): Remove gl_UTF_UCS4.
1021         (Makefile.am): Update.
1022         (Include): Change to unistr.h.
1023         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
1024         (Depends-on): Add unistr/base.
1025         (configure.ac): Remove gl_UTF_UCS4.
1026         (Makefile.am): Update.
1027         (Include): Change to unistr.h.
1028         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
1029         (Depends-on): Add unistr/base.
1030         (configure.ac): Remove gl_UTF_UCS4.
1031         (Makefile.am): Update.
1032         (Include): Change to unistr.h.
1033         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
1034         (Depends-on): Add unistr/base.
1035         (configure.ac): Remove gl_UTF_UCS4.
1036         (Makefile.am): Update.
1037         (Include): Change to unistr.h.
1038         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
1039         (Depends-on): Add unistr/base.
1040         (configure.ac): Remove gl_UCS4_UTF.
1041         (Makefile.am): Update.
1042         (Include): Change to unistr.h.
1043         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
1044         (Depends-on): Add unistr/base.
1045         (configure.ac): Remove gl_UCS4_UTF.
1046         (Makefile.am): Update.
1047         (Include): Change to unistr.h.
1048         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
1049         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
1050         utf8-ucs4-unsafe.h.
1051         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
1052         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
1053         utf16-ucs4-unsafe.h.
1054         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
1055         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
1056         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
1057         * lib/unistr/u8-strchr.c: Likewise.
1058         * lib/unistr/u8-strrchr.c: Likewise.
1059         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
1060         * lib/unistr/u16-strchr.c: Likewise.
1061         * lib/unistr/u16-strrchr.c: Likewise.
1062         * lib/striconveh.c: Update.
1063         * lib/linebreak.c: Update.
1064
1065 2007-03-24  Bruno Haible  <bruno@clisp.org>
1066
1067         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
1068         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
1069
1070 2007-03-22  Bruno Haible  <bruno@clisp.org>
1071
1072         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
1073
1074 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
1075
1076         * MODULES.html.sh (File system functions): New module write-any-file.
1077         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
1078         * m4/write-any-file.m4: New files.
1079
1080 2007-03-23  Eric Blake  <ebb9@byu.net>
1081
1082         * gnulib-tool: Rearrange space-tab sequences, since some editors
1083         like to eat them.
1084
1085 2007-03-23  Eric Blake  <ebb9@byu.net>
1086
1087         * lib/version-etc.c (version_etc_va): Update license wording to
1088         be more concise.  Recommended by Richard Stallman.
1089
1090 2007-03-22  Bruno Haible  <bruno@clisp.org>
1091
1092         * lib/poll.c (MSG_PEEK): New fallback definition.
1093
1094 2007-03-22  Bruno Haible  <bruno@clisp.org>
1095
1096         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
1097         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
1098         (main): Update.
1099         Fixes a compilation error on BeOS.
1100
1101 2007-03-22  Bruno Haible  <bruno@clisp.org>
1102
1103         * modules/frexpl-tests: New file.
1104         * tests/test-frexpl.c: New file.
1105
1106         * modules/frexpl: New file.
1107         * m4/frexpl.m4: New file.
1108         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
1109         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
1110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
1111         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
1112         (Depends-on): Add frexpl. Remove isnanl-nolibm.
1113         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
1114
1115 2007-03-22  Bruno Haible  <bruno@clisp.org>
1116
1117         * lib/frexpl.c: Share code with lib/frexp.c.
1118         * modules/mathl (Files): Add lib/frexp.c.
1119         (Depends-on): Add isnanl-nolibm.
1120
1121 2007-03-22  Bruno Haible  <bruno@clisp.org>
1122
1123         * modules/printf-frexp (Files): Add m4/frexp.m4.
1124         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
1125         only if the found frexp function actually works.
1126
1127 2007-03-22  Bruno Haible  <bruno@clisp.org>
1128
1129         * lib/frexp.c: Remove older implementation that uses divisions.
1130
1131 2007-03-21  Bruno Haible  <bruno@clisp.org>
1132
1133         * modules/frexp-tests: New file.
1134         * tests/test-frexp.c: New file.
1135
1136         * modules/frexp: New file.
1137         * lib/frexp.c: New file.
1138         * m4/frexp.m4: New file.
1139         * lib/math_.h (frexp): New declaration.
1140         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
1141         REPLACE_FREXP.
1142         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
1143
1144 2007-03-21  Bruno Haible  <bruno@clisp.org>
1145
1146         * modules/isnanl-tests: New file.
1147         * tests/test-isnanl.c: New file.
1148
1149         * modules/isnanl: New file.
1150         * lib/isnanl.h: New file.
1151         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
1152         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
1153         gl_FUNC_ISNANL_WORKS.
1154         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
1155         New macros.
1156
1157 2007-03-21  Bruno Haible  <bruno@clisp.org>
1158
1159         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
1160         lib/isnanl.h.
1161         (Include): Update.
1162         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
1163         * lib/vasnprintf.c: Update.
1164         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
1165         tests/test-isnanl.h, remove tests/test-isnanl.c.
1166         (Makefile.am): Update.
1167         * tests/test-isnanl-nolibm.c: New file.
1168         * tests/test-isnanl.h: New file.
1169         * tests/test-isnanl.c: Remove file.
1170
1171 2007-03-21  Jim Meyering  <jim@meyering.net>
1172
1173         When trying to open ".", treat ESTALE like EACCES.
1174         * lib/savewd.c (savewd_save): Resort to forking not just upon
1175         failure with EACCES, but also when errno is ESTALE.
1176
1177 2007-03-20  Bruno Haible  <bruno@clisp.org>
1178
1179         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
1180         Needed on AIX 5.1. Reported by Matthew Woehlke.
1181
1182 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1183
1184         Suggestions by Bruno Haible:
1185         * lib/acl-internal.h: Include "gettext.h" rather than rolling
1186         our own.
1187         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
1188         * modules/acl (Depends-on): Add gettext.
1189
1190 2007-03-19  Bruno Haible  <bruno@clisp.org>
1191
1192         * modules/iconvme: Remove file.
1193         * lib/iconvme.h: Remove file.
1194         * lib/iconvme.c: Remove file.
1195         * m4/iconvme.m4: Remove file.
1196
1197 2007-03-19  Bruno Haible  <bruno@clisp.org>
1198
1199         * doc/relocatable-maint.texi: Break long shell script line.
1200         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
1201
1202 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1203
1204         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
1205         handle file_has_acl.
1206         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
1207         * lib/acl.c: Move header inclusions and related macro defns into
1208         lib/acl-internal.h.
1209         (S_ISLNK): Remove defn, since that's now done for us.
1210         (file_has_acl): Move to lib/file-has-acl.c.
1211         Call acl_trivial if available.  This is the crucial part of the fix.
1212         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
1213         shared within the library.  Rewrite a bit, partly to make it compatible
1214         with the GNU coding style.
1215         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
1216         Remove unnecessary double-quotes.
1217         Don't test for acl_to_text; the build will catch that.
1218         Replace acl_entries if it doesn't exist and it is needed.
1219         Check for -lsec and acl_trivial (as used on Solaris 10).
1220         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
1221         lib/file-has-acl.c.
1222         (Depends-on): Add sys_stat, for S_ISLNK.
1223
1224 2007-03-19  Ben Pfaff  <blp@gnu.org>
1225
1226         * doc/gnulib.texi: Fix typos.
1227         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
1228
1229 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1230
1231         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
1232         If size is zero here, buf must be zero.
1233
1234 2007-03-19  Simon Josefsson  <simon@josefsson.org>
1235
1236         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
1237         <bruno@clisp.org>.
1238
1239 2007-03-18  Bruno Haible  <bruno@clisp.org>
1240
1241         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
1242         Suggested by Eric Blake.
1243
1244 2007-03-18  Ben Pfaff  <blp@gnu.org>
1245
1246         * doc/relocatable.texi: Recommend using as prefix a directory
1247         that does not exist and will never be created.  Based on
1248         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
1249         and others.
1250
1251 2007-03-17  Bruno Haible  <bruno@clisp.org>
1252
1253         * lib/fchownat.c: Include lchown.h.
1254
1255 2007-03-17  Bruno Haible  <bruno@clisp.org>
1256
1257         Fix endless loop when the given allocated size was > INT_MAX.
1258         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
1259         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
1260         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
1261         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
1262         * lib/sprintf.c (sprintf): Likewise.
1263
1264 2007-03-17  Bruno Haible  <bruno@clisp.org>
1265
1266         * tests/test-argp-2.sh (func_compare): Output a context diff.
1267
1268 2007-03-17  Bruno Haible  <bruno@clisp.org>
1269
1270         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
1271         locale's decimal-point character.
1272
1273 2007-03-17  Bruno Haible  <bruno@clisp.org>
1274
1275         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
1276         before comparing it. Needed because on some platforms (e.g. x86) a
1277         'long double' occupies less bytes than sizeof (long double).
1278
1279 2007-03-17  Bruno Haible  <bruno@clisp.org>
1280
1281         * tests/test-crc.c (main): Make printf statements 64-bit clean.
1282         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
1283         * tests/test-getaddrinfo.c (simple): Likewise.
1284         * tests/test-read-file.c (main): Likewise.
1285
1286 2007-03-17  Bruno Haible  <bruno@clisp.org>
1287
1288         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
1289
1290 2007-03-17  Bruno Haible  <bruno@clisp.org>
1291
1292         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
1293         unused variable.
1294
1295 2007-03-17  Bruno Haible  <bruno@clisp.org>
1296
1297         * tests/test-c-strcasecmp.c: Include c-strcase.h.
1298         * tests/test-c-strncasecmp.c: Likewise.
1299
1300 2007-03-17  Bruno Haible  <bruno@clisp.org>
1301
1302         * modules/stdlib (Depends-on): Add unistd.
1303         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
1304         Needed for MacOS X 10.3.
1305
1306 2007-03-17  Bruno Haible  <bruno@clisp.org>
1307
1308         * lib/unistr/u-strdup.h: Include <stdlib.h>.
1309
1310 2007-03-17  Bruno Haible  <bruno@clisp.org>
1311
1312         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
1313
1314 2007-03-17  Bruno Haible  <bruno@clisp.org>
1315
1316         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
1317         to reflect files copied from gnulib (with or without modifications).
1318         Suggested by Jim Meyering.
1319
1320 2007-03-17  Eric Blake  <ebb9@byu.net>
1321
1322         * NEWS: Document stdlib change from 2007-02-18.
1323
1324 2007-03-17  Jim Meyering  <jim@meyering.net>
1325
1326         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
1327         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
1328         someone uses a name containing shell meta-characters.
1329         Reported by Alfred M. Szmidt.
1330
1331         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
1332
1333 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
1334
1335         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
1336         and copy gettext configuration files only if configure.ac contains
1337         a use of AM_GNU_GETTEXT_VERSION.
1338
1339 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
1340
1341         * build-aux/bootstrap (gnulib_name): New variable.
1342         (gnulib_tool_options): Use it.
1343
1344 2007-03-13  Simon Josefsson  <simon@josefsson.org>
1345
1346         * tests/test-des.c: Use new namespace.
1347
1348 2007-03-15  Bruno Haible  <bruno@clisp.org>
1349
1350         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
1351         Reported by James Youngman <jay@gnu.org>.
1352
1353 2007-03-15  Bruno Haible  <bruno@clisp.org>
1354
1355         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
1356         declared prototype. Needed with cc on OSF/1 5.1.
1357
1358 2007-03-15  Bruno Haible  <bruno@clisp.org>
1359
1360         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
1361         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
1362         (struct gl_list_implementation): Add dispose_fn argument to the
1363         'create_empty', 'create' methods.
1364         (struct gl_list_impl_base): Add field 'dispose_fn'.
1365         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
1366         argument.
1367         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
1368         dispose_fn argument.
1369         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
1370         dispose_fn on the dropped values.
1371         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
1372         dispose_fn argument.
1373         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
1374         dropped values.
1375         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
1376         (gl_tree_remove_node): Call dispose_fn on the dropped value.
1377         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
1378         (gl_tree_remove_node): Call dispose_fn on the dropped value.
1379         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
1380         argument.
1381         (gl_tree_list_free): Call dispose_fn on the dropped values.
1382         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
1383         the dropped values.
1384         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
1385         Add dispose_fn argument.
1386         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
1387         Call dispose_fn on the dropped values.
1388         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
1389         Add dispose_fn argument.
1390         (gl_sublist_create): Initialize the 'dispose_fn' field.
1391         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
1392         * tests/test-array_list.c (main): Update.
1393         * tests/test-carray_list.c (main): Update.
1394         * tests/test-avltree_list.c (main): Update.
1395         * tests/test-rbtree_list.c (main): Update.
1396         * tests/test-avltreehash_list.c (main): Update.
1397         * tests/test-rbtreehash_list.c (main): Update.
1398         * tests/test-linked_list.c (main): Update.
1399         * tests/test-linkedhash_list.c (main): Update.
1400         * tests/test-array_oset.c (main): Update.
1401
1402 2007-03-15  Bruno Haible  <bruno@clisp.org>
1403
1404         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
1405         (gl_oset_create_empty): Add dispose_fn argument.
1406         (struct gl_oset_implementation): Add dispose_fn argument to
1407         'create_empty' method.
1408         (struct gl_oset_impl_base): Add dispose_fn field.
1409         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
1410         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
1411         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
1412         values.
1413         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
1414         (gl_tree_oset_free): Call dispose_fn on the dropped values.
1415         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
1416         dropped value.
1417         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
1418         dropped value.
1419         * tests/test-array_oset.c (main): Update.
1420         * tests/test-avltree_oset.c (main): Update.
1421         * tests/test-rbtree_oset.c (main): Update.
1422         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
1423
1424 2007-03-13  Bruno Haible  <bruno@clisp.org>
1425
1426         * tests/test-stdbool.c (i): Update after last patch.
1427
1428 2007-03-12  Bruno Haible  <bruno@clisp.org>
1429
1430         * lib/quotearg.c: Include <wctype.h> early, before the definition of
1431         the iswprint macro. Needed on Solaris 2.5.1.
1432
1433 2007-03-12  Bruno Haible  <bruno@clisp.org>
1434
1435         * tests/test-printf-frexp.c (main): Declare x as volatile.
1436
1437 2007-03-12  Simon Josefsson  <simon@josefsson.org>
1438
1439         * doc/gnulib.texi (Build robot for gnulib): New section.
1440
1441 2007-03-12  Jim Meyering  <jim@meyering.net>
1442
1443         * build-aux/bootstrap: New file.
1444         * build-aux/bootstrap.conf: New file, from coreutils.
1445
1446 2007-03-11  Bruno Haible  <bruno@clisp.org>
1447
1448         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
1449
1450 2007-03-12  Simon Josefsson  <simon@josefsson.org>
1451
1452         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
1453         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
1454         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
1455
1456 2007-03-11  Bruno Haible  <bruno@clisp.org>
1457
1458         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
1459         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
1460
1461 2007-03-11  Bruno Haible  <bruno@clisp.org>
1462
1463         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
1464         formula. Needed for SunPRO C 5.0.
1465
1466 2007-03-11  Bruno Haible  <bruno@clisp.org>
1467
1468         * modules/long-options (Depends-on): Add getopt.
1469
1470 2007-03-11  Bruno Haible  <bruno@clisp.org>
1471
1472         * modules/modechange (Depends-on): Add stdbool.
1473
1474 2007-03-11  Bruno Haible  <bruno@clisp.org>
1475
1476         * modules/i-ring (Depends-on): Add stdbool.
1477
1478 2007-03-11  Bruno Haible  <bruno@clisp.org>
1479
1480         * modules/gc-des (Depends-on): Add stdbool.
1481
1482 2007-03-11  Bruno Haible  <bruno@clisp.org>
1483
1484         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
1485
1486 2007-03-11  Bruno Haible  <bruno@clisp.org>
1487
1488         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
1489
1490 2007-03-11  Bruno Haible  <bruno@clisp.org>
1491
1492         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
1493
1494 2007-03-11  Bruno Haible  <bruno@clisp.org>
1495
1496         * lib/vasnprintf.c (sprintf): Undefine.
1497
1498 2007-03-11  Bruno Haible  <bruno@clisp.org>
1499
1500         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
1501         initializers in SunPRO C and Compaq C compilers.
1502
1503 2007-03-11  Bruno Haible  <bruno@clisp.org>
1504
1505         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
1506         decrementing code ANSI C compliant.
1507
1508 2007-03-11  Bruno Haible  <bruno@clisp.org>
1509
1510         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
1511         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
1512
1513 2007-03-11  Bruno Haible  <bruno@clisp.org>
1514
1515         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
1516         <stdbool.h> substitute doesn't pass.
1517
1518 2007-03-11  Bruno Haible  <bruno@clisp.org>
1519
1520         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
1521
1522 2007-03-11  Bruno Haible  <bruno@clisp.org>
1523
1524         * gnulib-tool (func_create_megatestdir): Create also an autobuild
1525         script, for submission to autobuild.josefsson.org.
1526
1527 2007-03-10  Bruno Haible  <bruno@clisp.org>
1528
1529         * modules/canonicalize-lgpl-tests: New file.
1530         * tests/test-canonicalize-lgpl.sh: New file.
1531         * tests/test-canonicalize-lgpl.c: New file.
1532
1533         * modules/c-strcase-tests: New file.
1534         * tests/test-c-strcase.sh: New file.
1535         * tests/test-c-strcasecmp.c: New file.
1536         * tests/test-c-strncasecmp.c: New file.
1537
1538         * modules/atexit-tests: New file.
1539         * tests/test-atexit.sh: New file.
1540         * tests/test-atexit.c: New file.
1541
1542 2007-03-10  Bruno Haible  <bruno@clisp.org>
1543
1544         * tests/test-binary-io.sh: Use temporary filenames that are not so
1545         likely to clash with those of other tests (in a parallel make).
1546         * tests/test-binary-io.c: Likewise.
1547
1548 2007-03-10  Bruno Haible  <bruno@clisp.org>
1549
1550         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
1551         fallback; use #error instead.
1552         Suggested by Simon Josefsson.
1553
1554 2007-03-10  Bruno Haible  <bruno@clisp.org>
1555
1556         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
1557         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
1558         first and the last.
1559
1560 2007-03-10  Bruno Haible  <bruno@clisp.org>
1561
1562         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
1563
1564 2007-03-10  Bruno Haible  <bruno@clisp.org>
1565
1566         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
1567         "make distcheck".
1568         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
1569         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
1570         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
1571
1572 2007-03-10  Bruno Haible  <bruno@clisp.org>
1573
1574         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
1575         variable.
1576         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
1577         variable.
1578
1579 2007-03-09  Eric Blake  <ebb9@byu.net>
1580         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
1581
1582         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
1583         types are not being provided by gnulib.
1584         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
1585         types are supported.
1586
1587 2007-03-10  Bruno Haible  <bruno@clisp.org>
1588
1589         * lib/stdio_.h (__attribute__): New macro.
1590         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
1591         vsprintf): Specify __attribute__ __format__ for GCC.
1592         Suggested by Eric Blake.
1593
1594 2007-03-09  Bruno Haible  <bruno@clisp.org>
1595
1596         * modules/printf-posix-tests: New file.
1597         * tests/test-printf-posix.sh: New file.
1598         * tests/test-printf-posix.c: New file.
1599
1600         * modules/printf-posix: New file.
1601         * lib/printf.c: New file.
1602         * m4/printf-posix-rpl.m4: New file.
1603         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
1604         REPLACE_PRINTF.
1605         * lib/stdio_.h (printf): New declaration.
1606         (format, __format__, ____printf____, ____scanf____, ____strftime____,
1607         ____strfmon____): New macros.
1608         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
1609         REPLACE_PRINTF.
1610
1611 2007-03-09  Bruno Haible  <bruno@clisp.org>
1612
1613         * tests/test-vasnprintf-posix2.sh: New file.
1614         * tests/test-vasnprintf-posix2.c: New file.
1615         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
1616         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
1617         (Makefile.am): Activate test-vasnprintf-posix2.sh.
1618
1619         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
1620         a locale dependent decimal point, rather than always '.'.
1621
1622 2007-03-09  Eric Blake  <ebb9@byu.net>
1623
1624         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
1625         spite of platforms like Tandem/NSK that define it to -1.
1626
1627 2007-03-08  Bruno Haible  <bruno@clisp.org>
1628
1629         * modules/vprintf-posix-tests: New file.
1630         * tests/test-vprintf-posix.sh: New file.
1631         * tests/test-vprintf-posix.c: New file.
1632         * tests/test-printf-posix.h: New file.
1633
1634         * modules/vprintf-posix: New file.
1635         * lib/vprintf.c: New file.
1636         * m4/vprintf-posix.m4: New file.
1637         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
1638         REPLACE_VPRINTF.
1639         * lib/stdio_.h (vprintf): New declaration.
1640         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
1641         REPLACE_VPRINTF.
1642
1643 2007-03-08  Bruno Haible  <bruno@clisp.org>
1644
1645         * modules/fprintf-posix-tests: New file.
1646         * tests/test-fprintf-posix.sh: New file.
1647         * tests/test-fprintf-posix.c: New file.
1648
1649         * modules/fprintf-posix: New file.
1650         * lib/fprintf.c: New file.
1651         * m4/fprintf-posix.m4: New file.
1652         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
1653         REPLACE_FPRINTF.
1654         * lib/stdio_.h (fprintf): New declaration.
1655         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
1656         REPLACE_FPRINTF.
1657
1658 2007-03-08  Bruno Haible  <bruno@clisp.org>
1659
1660         * modules/vfprintf-posix-tests: New file.
1661         * tests/test-vfprintf-posix.sh: New file.
1662         * tests/test-vfprintf-posix.c: New file.
1663         * tests/test-fprintf-posix.h: New file.
1664         * tests/test-fprintf-posix.out: New file.
1665
1666         * modules/vfprintf-posix: New file.
1667         * lib/vfprintf.c: New file.
1668         * m4/vfprintf-posix.m4: New file.
1669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
1670         REPLACE_VFPRINTF.
1671         * lib/stdio_.h (vfprintf): New declaration.
1672         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
1673         REPLACE_VFPRINTF.
1674
1675 2007-03-08  Bruno Haible  <bruno@clisp.org>
1676
1677         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
1678
1679 2007-03-08  Bruno Haible  <bruno@clisp.org>
1680
1681         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
1682         instead of 'expr' invocations.
1683         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1684         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1685         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1686         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1687         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1688         Suggested by Paul Eggert.
1689
1690 2007-03-08  Bruno Haible  <bruno@clisp.org>
1691
1692         * modules/fseterr-tests: New file.
1693         * tests/test-fseterr.c: New file.
1694
1695         * modules/fseterr: New file.
1696         * lib/fseterr.h: New file.
1697         * lib/fseterr.c: New file.
1698
1699 2007-03-08  Bruno Haible  <bruno@clisp.org>
1700
1701         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
1702         * lib/getopt_.h: Likewise.
1703         * lib/mbswidth.h: Likewise.
1704         * lib/setenv.h: Likewise.
1705         * lib/vasnprintf.h: Likewise.
1706         * lib/vasprintf.h: Likewise.
1707         * lib/verror.h: Likewise.
1708         * lib/xsetenv.h: Likewise.
1709         * lib/xvasprintf.h: Likewise.
1710
1711 2007-03-08  Jim Meyering  <jim@meyering.net>
1712
1713         * users.txt: Add parted.
1714
1715         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
1716
1717 2007-03-07  Bruno Haible  <bruno@clisp.org>
1718
1719         * m4/printf.m4: Make the shell script snippets copy&pastable.
1720
1721 2007-03-02  Bruno Haible  <bruno@clisp.org>
1722
1723         * lib/netinet_in_.h: New file.
1724         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
1725         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
1726         * modules/netinet_in (Files): Add lib/netinet_in_.h.
1727         (Depends-on): Add absolute-header.
1728         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
1729         into netinet/in.h.
1730
1731 2007-03-03  Bruno Haible  <bruno@clisp.org>
1732
1733         * lib/sys_select_.h: New file.
1734         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
1735         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
1736         * modules/sys_select (Files): Add lib/sys_select_.h.
1737         (Depends-on): Add absolute-header.
1738         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
1739         into sys/select.h.
1740
1741 2007-03-02  Bruno Haible  <bruno@clisp.org>
1742
1743         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
1744         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
1745         values.
1746         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
1747         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
1748         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
1749         * modules/sys_socket (Depends-on): Add absolute-header.
1750         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
1751         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
1752         (Include): Remove requirement of inclusion of <sys/types.h>.
1753
1754 2007-03-02  Bruno Haible  <bruno@clisp.org>
1755
1756         * lib/byteswap_.h (bswap_32): Fix formula.
1757
1758 2007-03-06  Bruno Haible  <bruno@clisp.org>
1759
1760         * modules/sprintf-posix-tests: New file.
1761         * tests/test-sprintf-posix.c: New file.
1762
1763         * modules/sprintf-posix: New file.
1764         * lib/sprintf.c: New file.
1765         * m4/sprintf-posix.m4: New file.
1766         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
1767         REPLACE_SPRINTF.
1768         * lib/stdio_.h (sprintf): New declaration.
1769         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
1770         REPLACE_SPRINTF.
1771
1772 2007-03-06  Bruno Haible  <bruno@clisp.org>
1773
1774         * modules/vsprintf-posix-tests: New file.
1775         * tests/test-vsprintf-posix.c: New file.
1776         * tests/test-sprintf-posix.h: New file.
1777
1778         * modules/vsprintf-posix: New file.
1779         * lib/vsprintf.c: New file.
1780         * m4/vsprintf-posix.m4: New file.
1781         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
1782         REPLACE_VSPRINTF.
1783         * lib/stdio_.h (vsprintf): New declaration.
1784         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
1785         REPLACE_VSPRINTF.
1786
1787 2007-03-06  Bruno Haible  <bruno@clisp.org>
1788
1789         * modules/vsnprintf (Depend-on): Remove minmax.
1790
1791 2007-03-06  Bruno Haible  <bruno@clisp.org>
1792
1793         * modules/snprintf-posix-tests: New file.
1794         * tests/test-snprintf-posix.c: New file.
1795
1796         * modules/snprintf-posix: New file.
1797         * m4/snprintf-posix.m4: New file.
1798         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
1799         gl_FUNC_SNPRINTF.
1800         (gl_FUNC_SNPRINTF): Invoke it.
1801         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
1802         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
1803         is set.
1804         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
1805
1806 2007-03-06  Bruno Haible  <bruno@clisp.org>
1807
1808         * modules/vsnprintf-posix-tests: New file.
1809         * tests/test-vsnprintf-posix.c: New file.
1810         * tests/test-snprintf-posix.h: New file.
1811
1812         * modules/vsnprintf-posix: New file.
1813         * m4/vsnprintf-posix.m4: New file.
1814         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
1815         gl_FUNC_VSNPRINTF.
1816         (gl_FUNC_VSNPRINTF): Invoke it.
1817         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
1818         * lib/stdio_.h (vsnprintf): Define as a replacement if
1819         REPLACE_VSNPRINTF is set.
1820         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
1821
1822 2007-03-06  Bruno Haible  <bruno@clisp.org>
1823
1824         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
1825         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
1826
1827 2007-03-06  Bruno Haible  <bruno@clisp.org>
1828
1829         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
1830         (asinl): Declare also if HAVE_DECL_ASINL is set.
1831         (atanl): Declare also if HAVE_DECL_ATANL is set.
1832         (ceill): Declare also if HAVE_DECL_CEILL is set.
1833         (cosl): Declare also if HAVE_DECL_COSL is set.
1834         (expl): Declare also if HAVE_DECL_EXPL is set.
1835         (floorl): Declare also if HAVE_DECL_FLOORL is set.
1836         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
1837         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
1838         (logl): Declare also if HAVE_DECL_LOGL is set.
1839         (sinl): Declare also if HAVE_DECL_SINL is set.
1840         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
1841         (tanl): Declare also if HAVE_DECL_TANL is set.
1842         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
1843         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
1844         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
1845         declaration of frexpl, ldexpl.
1846         * modules/printf-frexpl (Depends-on): Add math.
1847         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
1848
1849 2007-03-05  Bruno Haible  <bruno@clisp.org>
1850
1851         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
1852         frexpl and ldexpl are declared.
1853         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
1854
1855 2007-03-05  Bruno Haible  <bruno@clisp.org>
1856
1857         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
1858         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
1859
1860 2007-03-05  Bruno Haible  <bruno@clisp.org>
1861
1862         * lib/stdio_.h: Include <stddef.h>.
1863
1864 2007-03-05  Bruno Haible  <bruno@clisp.org>
1865
1866         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
1867
1868 2007-03-05  Bruno Haible  <bruno@clisp.org>
1869
1870         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
1871         NetBSD 4, from Ralf Wildenhues.
1872
1873 2007-03-04  Bruno Haible  <bruno@clisp.org>
1874
1875         * lib/vasprintf.h: Update #if logic for the case when the functions
1876         exist but are overridden.
1877
1878 2007-03-04  Bruno Haible  <bruno@clisp.org>
1879
1880         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
1881         implementations: glibc-2.4 and MacOS X 10.3.
1882         * tests/test-vasnprintf-posix.c (test_function): Test also the case
1883         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
1884         * tests/test-vasprintf-posix.c (test_function): Likewise.
1885
1886 2007-03-04  Bruno Haible  <bruno@clisp.org>
1887
1888         * modules/vasprintf-posix-tests: New file.
1889         * tests/test-vasprintf-posix.c: New file.
1890
1891         * modules/vasprintf-posix: New file.
1892         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
1893         defined.
1894         * m4/vasprintf-posix.m4: New file.
1895         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
1896         gl_FUNC_VASPRINTF.
1897         (gl_FUNC_VASPRINTF): Invoke it.
1898         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
1899         here.
1900         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
1901
1902 2007-03-04  Bruno Haible  <bruno@clisp.org>
1903
1904         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
1905         REPLACE_GETTIMEOFDAY.
1906         * modules/sys_time (Makefile.am): Likewise.
1907         * m4/sys_time_h.m4: Likewise.
1908         * m4/gettimeofday.m4: Likewise.
1909
1910 2007-03-04  Bruno Haible  <bruno@clisp.org>
1911
1912         * modules/vasnprintf-posix-tests: New file.
1913         * tests/test-vasnprintf-posix.c: New file.
1914
1915         * modules/vasnprintf-posix: New file.
1916         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
1917         printf-frexpl.h.
1918         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
1919         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
1920         REPLACE_VASNPRINTF is defined.
1921         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
1922         gl_FUNC_VASNPRINTF.
1923         (gl_FUNC_VASNPRINTF): Invoke it.
1924         * m4/vasnprintf-posix.m4: New file.
1925         * m4/printf.m4: New file.
1926
1927 2007-03-04  Bruno Haible  <bruno@clisp.org>
1928
1929         Compile progreloc.c only if --enable-relocatable is specified.
1930         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
1931         if --enable-relocatable was specified.
1932         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
1933         lib_SOURCES.
1934
1935 2007-03-04  Jim Meyering  <jim@meyering.net>
1936
1937         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
1938         Use it consistently, rather than enumerating errno constants.
1939
1940 2007-03-04  Bruno Haible  <bruno@clisp.org>
1941
1942         * modules/xvasprintf-tests: New file.
1943         * tests/test-xvasprintf.c: New file.
1944
1945         * modules/vasprintf-tests: New file.
1946         * tests/test-vasprintf.c: New file.
1947
1948         * modules/vasnprintf-tests: New file.
1949         * tests/test-vasnprintf.c: New file.
1950
1951         * modules/vsnprintf-tests: New file.
1952         * tests/test-vsnprintf.c: New file.
1953
1954         * modules/snprintf-tests: New file.
1955         * tests/test-snprintf.c: New file.
1956
1957 2007-03-04  Bruno Haible  <bruno@clisp.org>
1958
1959         Compile relocatable.c only if --enable-relocatable is specified.
1960         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
1961         gl_RELOCATABLE_LIBRARY.
1962         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
1963         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
1964         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
1965         gl_RELOCATABLE_LIBRARY.
1966         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
1967         (Makefile.am): Remove lib_SOURCES.
1968         * modules/relocatable-lib-lgpl (configure.ac): Invoke
1969         gl_RELOCATABLE_LIBRARY.
1970         (Makefile.am): Remove lib_SOURCES.
1971         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
1972         always.
1973         * modules/relocatable-prog-wrapper (configure.ac): Invoke
1974         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
1975
1976 2007-03-04  Bruno Haible  <bruno@clisp.org>
1977
1978         * modules/argmatch-tests: New file.
1979         * tests/test-argmatch.c: New file.
1980
1981         * tests/test-allocsa.c (main): Halve the number of loop runs.
1982
1983         * modules/alloca-opt-tests: New file.
1984         * tests/test-alloca-opt.c: New file.
1985
1986 2007-03-04  Jim Meyering  <jim@meyering.net>
1987
1988         Work around difference between Linux ACLs and Solaris 10 ZFS.
1989         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
1990         for EINVAL.
1991
1992 2007-03-03  Bruno Haible  <bruno@clisp.org>
1993
1994         * modules/relocatable-prog (Depends-on): Add back progreloc's
1995         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
1996
1997 2007-03-03  Bruno Haible  <bruno@clisp.org>
1998
1999         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
2000         * modules/relocatable-lib: New file.
2001
2002 2007-03-03  Bruno Haible  <bruno@clisp.org>
2003
2004         * modules/relocatable-prog: Renamed from modules/relocatable.
2005         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
2006
2007 2007-03-03  Bruno Haible  <bruno@clisp.org>
2008
2009         * modules/relocatable-script (Files): Add doc/relocatable.texi,
2010         m4/relocatable-lib.m4.
2011         (Depends-on): Remove 'relocatable'.
2012         (configure.ac): Add gl_RELOCATABLE_NOP.
2013
2014 2007-03-03  Bruno Haible  <bruno@clisp.org>
2015
2016         * modules/relocatable-prog-wrapper: New file.
2017         * modules/relocatable (Depends-on): Add it. Remove all other
2018         dependencies except progname.
2019         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
2020
2021         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
2022         (gl_FUNC_STRERROR): Nop.
2023         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
2024
2025         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
2026         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
2027
2028         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
2029         (gl_FUNC_READLINK): Update.
2030
2031         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
2032
2033 2007-03-03  Bruno Haible  <bruno@clisp.org>
2034
2035         * lib/xreadlink.c: Include <unistd.h> unconditionally.
2036         * modules/xreadlink (Depends-on): Add unistd.
2037         * modules/xreadlink-with-size (Depends-on): Likewise.
2038
2039 2007-03-03  Bruno Haible  <bruno@clisp.org>
2040
2041         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
2042         extracted from gt_FUNC_SETENV.
2043         (gt_FUNC_SETENV): Remove macro.
2044         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
2045         remove gt_FUNC_SETENV.
2046
2047 2007-03-03  Bruno Haible  <bruno@clisp.org>
2048
2049         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
2050         ENABLE_RELOCATABLE here.
2051         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
2052
2053 2007-03-03  Bruno Haible  <bruno@clisp.org>
2054
2055         * modules/rbtreehash-list-tests (Depends-on): Add progname.
2056         * tests/test-rbtreehash_list.c: Include progname.h.
2057         (main): Call set_program_name.
2058
2059         * modules/rbtree-oset-tests (Depends-on): Add progname.
2060         * tests/test-rbtree_oset.c: Include progname.h.
2061         (main): Call set_program_name.
2062
2063         * modules/rbtree-list-tests (Depends-on): Add progname.
2064         * tests/test-rbtree_list.c: Include progname.h.
2065         (main): Call set_program_name.
2066
2067         * modules/linked-list-tests (Depends-on): Add progname.
2068         * tests/test-linked_list.c: Include progname.h.
2069         (main): Call set_program_name.
2070
2071 2007-03-03  Bruno Haible  <bruno@clisp.org>
2072
2073         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
2074         All uses of __restrict changed to _Restrict_.
2075         * lib/glob_.h (__restrict): Remove macro.
2076
2077 2007-03-02  Bruno Haible  <bruno@clisp.org>
2078
2079         * modules/gettext (configure.ac): Require gettext infrastructure
2080         from version 0.16.1.
2081
2082 2007-03-02  Bruno Haible  <bruno@clisp.org>
2083
2084         * modules/linkedhash-list-tests (Depends-on): Add progname.
2085         * tests/test-linkedhash_list.c: Include progname.h.
2086         (main): Call set_program_name.
2087
2088         * modules/carray-list-tests (Depends-on): Add progname.
2089         * tests/test-carray_list.c: Include progname.h.
2090         (main): Call set_program_name.
2091
2092         * modules/avltreehash-list-tests (Depends-on): Add progname.
2093         * tests/test-avltreehash_list.c: Include progname.h.
2094         (main): Call set_program_name.
2095
2096         * modules/avltree-oset-tests (Depends-on): Add progname.
2097         * tests/test-avltree_oset.c: Include progname.h.
2098         (main): Call set_program_name.
2099
2100         * modules/avltree-list-tests (Depends-on): Add progname.
2101         * tests/test-avltree_list.c: Include progname.h.
2102         (main): Call set_program_name.
2103
2104         * modules/array-oset-tests (Depends-on): Add progname.
2105         * tests/test-array_oset.c: Include progname.h.
2106         (main): Call set_program_name.
2107
2108         * modules/array-list-tests (Depends-on): Add progname.
2109         * tests/test-array_list.c: Include progname.h.
2110         (main): Call set_program_name.
2111
2112         * modules/argp-tests (Depends-on): Add progname.
2113         * tests/test-argp.c: Include argp.h first. Include progname.h.
2114         (main): Call set_program_name.
2115
2116 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
2117
2118         * doc/gnulib-tool.texi (Initial import): Reword description of
2119         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
2120         limited effect even if defined after the first system include.
2121
2122 2007-03-01  Bruno Haible  <bruno@clisp.org>
2123
2124         * build-aux/config.libpath: Update to libtool-1.5.22.
2125         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2126
2127 2007-03-01  Bruno Haible  <bruno@clisp.org>
2128
2129         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
2130         foo_CFLAGS.
2131         Reported by Ralf Wildenhues.
2132
2133 2007-03-01  Bruno Haible  <bruno@clisp.org>
2134
2135         * build-aux/install-reloc: Remove object files left over by some
2136         compilers.
2137         Reported by Ralf Wildenhues.
2138
2139 2007-03-01  Bruno Haible  <bruno@clisp.org>
2140
2141         * build-aux/install-reloc: Break long lines.
2142
2143 2007-03-01  Bruno Haible  <bruno@clisp.org>
2144
2145         * doc/relocatable.texi: Document that it may not work on OpenBSD.
2146         Reported by Ralf Wildenhues.
2147
2148 2007-03-01  Bruno Haible  <bruno@clisp.org>
2149
2150         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
2151         include ordering constraints.
2152
2153 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
2154
2155         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
2156         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
2157         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
2158         as another example.
2159         * lib/time_.h: Fix misspelling.
2160         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
2161         Require gl_HEADER_TIME_H_DEFAULTS.
2162         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
2163         * m4/time_r.m4 (gl_TIME_R): Likewise.
2164         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
2165
2166 2007-03-01  Bruno Haible  <bruno@clisp.org>
2167
2168         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
2169         * m4/utimens.m4 (gl_UTIMENS): Likewise.
2170
2171 2007-03-01  Jim Meyering  <jim@meyering.net>
2172
2173         * modules/xreadlink (Maintainer): Add my name.
2174         * modules/xreadlink-with-size (Depends-on): Alphabetize.
2175
2176 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
2177             Bruno Haible  <bruno@clisp.org>
2178
2179         * build-aux/install-reloc: Compile also c-ctype.c.
2180         * build-aux/relocatable.sh.in: New file.
2181         * doc/relocatable.texi: New file.
2182         * doc/relocatable-maint.texi: New file.
2183         * doc/gnulib.texi: Include relocatable-maint.texi.
2184         * lib/progreloc.c: Include unistd.h unconditionally.
2185         * lib/relocwrapper.c: Include unistd.h unconditionally.
2186         Include c-ctype.h.
2187         (add_dotbin): Use c_tolower.
2188         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
2189         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
2190         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
2191         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
2192         to m4/relocatable-lib.m4.
2193         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
2194         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
2195         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
2196         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
2197         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
2198         * modules/relocatable: New file.
2199         * modules/relocatable-lib: New file.
2200         * modules/relocatable-script: New file.
2201
2202 2007-02-28  Bruno Haible  <bruno@clisp.org>
2203
2204         Import --enable-relocatable infrastructure.
2205         * build-aux/config.libpath: New file, from GNU gettext.
2206         * build-aux/install-reloc: New file, from GNU gettext.
2207         * build-aux/reloc-ldflags: New file, from GNU gettext.
2208         * lib/relocatable.h: New file, from GNU gettext.
2209         * lib/relocatable.c: New file, from GNU gettext.
2210         * lib/relocwrapper.c: New file, from GNU gettext.
2211         * m4/relocatable.m4: New file, from GNU gettext.
2212
2213 2007-02-28  Bruno Haible  <bruno@clisp.org>
2214
2215         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
2216
2217         * modules/xreadlink: New file, from GNU gettext with modifications.
2218         * lib/xreadlink.c: New file, from GNU gettext.
2219         * lib/xreadlink.h: Add comments.
2220         (xreadlink): New declaration.
2221
2222         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
2223         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
2224         lib/xreadlink-with-size.c.
2225         (configure.ac): Remove gl_XREADLINK invocation.
2226         (Makefile.am): Augment lib_SOURCES.
2227         * m4/xreadlink.m4: Remove file.
2228         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
2229         (xreadlink_with_size): Renamed from xreadink.
2230         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
2231         * modules/canonicalize (Depends-on): Replace xreadlink with
2232         xreadlink-with-size.
2233         * lib/canonicalize.c (canonicalize_filename_mode): Update.
2234
2235 2007-02-25  Jim Meyering  <jim@meyering.net>
2236
2237         * build-aux/announce-gen: When complaining about excess arguments,
2238         list them.
2239
2240 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
2241
2242         * README: Document signed integer overflow situation more
2243         accurately.
2244
2245 2007-02-25  Bruno Haible  <bruno@clisp.org>
2246
2247         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
2248         'a' or 'A' conversion.
2249
2250 2007-02-25  Bruno Haible  <bruno@clisp.org>
2251
2252         * modules/filename: Renamed from modules/pathname.
2253         (Files): Replace lib/pathname.h with lib/filename.h. Replace
2254         lib/concatpath.c with lib/concat-filename.c.
2255         (Makefile.am): Update.
2256         (Include): Replace pathname.h with filename.h.
2257         * lib/filename.h: Renamed from lib/pathname.h.
2258         (concatenated_filename): Renamed from concatenated_pathname.
2259         * lib/concat-filename.c: Renamed from lib/concatpath.c.
2260         (concatenated_filename): Renamed from concatenated_pathname.
2261         * lib/findprog.c: Include filename.h instead of pathname.h.
2262         (find_in_path): Update.
2263         * lib/javacomp.c: Include filename.h instead of pathname.h.
2264         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
2265         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
2266         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
2267         is_oldgcj_14_13_usable, is_javac_usable): Update.
2268         * lib/javaexec.c: Include filename.h instead of pathname.h.
2269         (execute_java_class): Update.
2270         * modules/findprog: Update.
2271         * modules/javacomp: Update.
2272         * modules/javaexec: Update.
2273         * MODULES.html.sh (File system functions): Add 'filename', remove
2274         'pathname'.
2275
2276 2007-02-25  Bruno Haible  <bruno@clisp.org>
2277
2278         * modules/printf-frexpl-tests: New file.
2279         * tests/test-printf-frexpl.c: New file.
2280
2281         * modules/printf-frexpl: New file.
2282         * lib/printf-frexpl.h: New file.
2283         * lib/printf-frexpl.c: New file.
2284         * m4/printf-frexpl.m4: New file.
2285
2286 2007-02-25  Bruno Haible  <bruno@clisp.org>
2287
2288         * modules/printf-frexp-tests: New file.
2289         * tests/test-printf-frexp.c: New file.
2290
2291         * modules/printf-frexp: New file.
2292         * lib/printf-frexp.h: New file.
2293         * lib/printf-frexp.c: New file.
2294         * m4/printf-frexp.m4: New file.
2295
2296 2007-02-25  Bruno Haible  <bruno@clisp.org>
2297
2298         Assume automake >= 1.10 for the tests.
2299         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
2300         * modules/arctwo-tests: Likewise.
2301         * modules/argp-tests: Likewise.
2302         * modules/avltree-list-tests: Likewise.
2303         * modules/avltree-oset-tests: Likewise.
2304         * modules/avltreehash-list-tests: Likewise.
2305         * modules/carray-list-tests: Likewise.
2306         * modules/crc-tests: Likewise.
2307         * modules/des-tests: Likewise.
2308         * modules/gc-arcfour-tests: Likewise.
2309         * modules/gc-arctwo-tests: Likewise.
2310         * modules/gc-des-tests: Likewise.
2311         * modules/gc-hmac-md5-tests: Likewise.
2312         * modules/gc-hmac-sha1-tests: Likewise.
2313         * modules/gc-md2-tests: Likewise.
2314         * modules/gc-md4-tests: Likewise.
2315         * modules/gc-md5-tests: Likewise.
2316         * modules/gc-pbkdf2-sha1-tests: Likewise.
2317         * modules/gc-rijndael-tests: Likewise.
2318         * modules/gc-sha1-tests: Likewise.
2319         * modules/gc-tests: Likewise.
2320         * modules/getaddrinfo-tests: Likewise.
2321         * modules/hmac-md5-tests: Likewise.
2322         * modules/hmac-sha1-tests: Likewise.
2323         * modules/linked-list-tests: Likewise.
2324         * modules/linkedhash-list-tests: Likewise.
2325         * modules/lock-tests: Likewise.
2326         * modules/md2-tests: Likewise.
2327         * modules/md4-tests: Likewise.
2328         * modules/md5-tests: Likewise.
2329         * modules/rbtree-list-tests: Likewise.
2330         * modules/rbtree-oset-tests: Likewise.
2331         * modules/rbtreehash-list-tests: Likewise.
2332         * modules/read-file-tests: Likewise.
2333         * modules/rijndael-tests: Likewise.
2334         * modules/stdint-tests: Likewise.
2335         * modules/tls-tests: Likewise.
2336
2337 2007-02-24  Bruno Haible  <bruno@clisp.org>
2338
2339         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
2340         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
2341         function; instead check whether isnan with a double argument links.
2342         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
2343         function; instead check whether isnan with a 'long double' argument
2344         links.
2345         Reported by Eric Blake <ebb9@byu.net>.
2346
2347 2007-02-24  Bruno Haible  <bruno@clisp.org>
2348
2349         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
2350         defined.
2351         * lib/isnanl.c: Remove all code. Just include isnan.c.
2352         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
2353
2354 2007-02-25  Jim Meyering  <jim@meyering.net>
2355
2356         Avoid conflicting types for 'unsetenv' on FreeBSD.
2357         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
2358         conflicting with FreeBSD's (5.0 and 6.1) function declaration
2359         in stdlib.h.
2360
2361 2007-02-24  Bruno Haible  <bruno@clisp.org>
2362
2363         * modules/isnanl-nolibm-tests: New file.
2364         * tests/test-isnanl.c: New file.
2365
2366         * modules/isnanl-nolibm: New file.
2367         * lib/isnanl.h: New file.
2368         * lib/isnanl.c: New file.
2369         * m4/isnanl.m4: New file.
2370
2371 2007-02-24  Bruno Haible  <bruno@clisp.org>
2372
2373         * modules/isnan-nolibm-tests: New file.
2374         * tests/test-isnan.c: New file.
2375
2376         * modules/isnan-nolibm: New file.
2377         * lib/isnan.h: New file.
2378         * lib/isnan.c: New file.
2379         * m4/isnan.m4: New file.
2380
2381 2007-02-24  Bruno Haible  <bruno@clisp.org>
2382
2383         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
2384         assume that an exponent fits in 20 bits.
2385
2386 2007-02-24  Jim Meyering  <jim@meyering.net>
2387
2388         * m4/regex.m4: Update the description of the configure-time option,
2389         --without-included-regex, to state accurately what the defaults are,
2390         and perhaps to give people an idea why using this option is risky.
2391
2392 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2393
2394         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
2395         loops on small arguments.  This attempts to avoid the problem
2396         Bruno Haible reported for AIX 4.3.2 in
2397         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
2398
2399 2007-02-23  Bruno Haible  <bruno@clisp.org>
2400
2401         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
2402         Needed for help2man.
2403
2404 2007-02-23  Karl Berry  <karl@gnu.org>
2405
2406         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
2407         exists, foo.h should be cvs-ignored, not committed.
2408
2409 2007-02-23  Eric Blake  <ebb9@byu.net>
2410
2411         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
2412         * lib/stat-time.h (includes): Likewise.
2413         * lib/utimecmp.c (includes): Likewise.
2414         * lib/utimens.h (includes): Likewise.
2415         * lib/getdate.y (includes): Also include "timespec.h" for use
2416         internal to the module.
2417         * modules/utimens (Depends-on): Revert yesterday's patch.
2418         * modules/nanosleep (Depends-on): Add missing dependency.
2419
2420 2007-02-22  Bruno Haible  <bruno@clisp.org>
2421
2422         * lib/glob.c: Don't include getlogin_r.h.
2423
2424 2007-02-22  Jim Meyering  <jim@meyering.net>
2425
2426         * modules/utimens (Depends-on): Add timespec, required for
2427         utimens.h's inclusion of timespec.h.
2428
2429 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
2430
2431         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
2432         long unreadable paths in GNU/Linux.  Problem reported by Andreas
2433         Schwab in
2434         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
2435         I'll try to think of a better way to fix the Solaris problem.
2436
2437         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
2438         like glibc; on Solaris 10, it fails with errno == EINVAL.
2439         POSIX says the behavior is unspecified if the first argument is NULL,
2440         so play it safe and never pass NULL to the system getcwd.
2441
2442 2007-02-21  Jim Meyering  <jim@meyering.net>
2443
2444         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
2445         of gettimeofday.  It would conflict with the one now always
2446         provided via sys_time_.h.  Reported by Matthew Woehlke, as
2447         an IRIX 6.5 build failure.
2448
2449 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2450
2451         Minor fixups to port to Solaris 10 with Sun C 5.8.
2452         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
2453         * modules/getcwd (Depends-on): Add dirfd.
2454         * lib/putenv.c (putenv): #undef it.
2455         (rpl_putenv): New decl.
2456         (malloc, free): Include <stdlib.h> rather than prototyping separately.
2457
2458 2007-02-20  Bruno Haible  <bruno@clisp.org>
2459
2460         * modules/stdio-tests: New file.
2461         * tests/test-stdio.c: New file.
2462
2463         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
2464         (Depends-on): Add stdio.
2465         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
2466         (Include): Use <stdio.h> instead of vsnprintf.h.
2467         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
2468         HAVE_DECL_VSNPRINTF.
2469         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
2470
2471         * modules/snprintf (Files): Remove lib/snprintf.h.
2472         (Depends-on): Add stdio.
2473         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
2474         (Include): Use <stdio.h> instead of snprintf.h.
2475         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
2476         HAVE_DECL_SNPRINTF.
2477         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
2478         * lib/getaddrinfo.c: Likewise.
2479
2480         * modules/stdio: New file.
2481         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
2482         * lib/snprintf.h: Remove file.
2483         * lib/vsnprintf.h: Remove file.
2484         * lib/.cppi-disable: Remove snprintf.h.
2485         * m4/stdio_h.m4: New file.
2486         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
2487
2488 2007-02-20  Jim Meyering  <jim@meyering.net>
2489
2490         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
2491         used by e.g., mingw.  From Bruno Haible.
2492
2493 2007-02-19  Bruno Haible  <bruno@clisp.org>
2494
2495         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
2496         warnings.
2497         Reported by Ben Pfaff <blp@cs.stanford.edu>.
2498
2499 2007-02-19  Bruno Haible  <bruno@clisp.org>
2500
2501         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
2502         from mingw users.
2503
2504 2007-02-19  Bruno Haible  <bruno@clisp.org>
2505
2506         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
2507         warnings.
2508         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
2509
2510 2007-02-19  Jim Meyering  <jim@meyering.net>
2511
2512         Don't use FD after a successful "fdopendir (fd)".
2513         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
2514         Reset it by calling dirfd on the just-obtained DIR*.
2515
2516         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
2517         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
2518
2519 2007-02-18  Bruno Haible  <bruno@clisp.org>
2520
2521         * lib/readlink.c: Include <unistd.h>.
2522         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
2523         HAVE_READLINK.
2524         * modules/readlink (Depends-on): Add unistd.
2525         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2526         (Include): Add <unistd.h>.
2527
2528         * lib/getlogin_r.h: Remove file.
2529         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
2530         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
2531         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
2532         HAVE_DECL_GETLOGIN_R.
2533         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
2534         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2535         (Include): Use <unistd.h> instead of getlogin_r.h.
2536
2537         * lib/getcwd.h: Remove file.
2538         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
2539         * lib/xgetcwd.c: Likewise.
2540         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
2541         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
2542         * modules/getcwd (Files): Remove lib/getcwd.h.
2543         (Depends-on): Add unistd.
2544         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2545         (Include): Use <unistd.h> instad of getcwd.h.
2546
2547         * lib/ftruncate.c: Include <unistd.h> first.
2548         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
2549         Set HAVE_FTRUNCATE.
2550         * modules/ftruncate (Depends-on): Add unistd.
2551         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2552
2553         * lib/fchdir.c: Include <unistd.h> first.
2554         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
2555         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
2556         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
2557         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2558         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
2559
2560         * lib/dup2.c: Include <unistd.h> first.
2561         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
2562         HAVE_DUP2.
2563         * modules/dup2 (Depends-on): Add unistd.
2564         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2565
2566         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
2567         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
2568         REPLACE_CHOWN. Don't define chown as a macro here.
2569         * modules/chown (Depends-on): Add unistd.
2570         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2571
2572         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
2573         Add definition for GL_LINK_WARNING.
2574         (chown, dup2): New declarations.
2575         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
2576         link warning.
2577         (ftruncate): New declaration.
2578         (getcwd): New declaration, taken from old getcwd.h.
2579         (getlogin_r): New declaration, taken from old getlogin_r.h.
2580         (readlink): New declaration.
2581         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
2582         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
2583         (gl_PREREQ_UNISTD): Remove macro.
2584         (gl_UNISTD_MODULE_INDICATOR): New macro.
2585         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
2586         many new variables. Don't set UNISTD_H.
2587         * modules/unistd (Description): Change.
2588         (Depends-on): Add link-warning.
2589         (configure.ac): Update.
2590         (Makefile.am): Create unistd.h always. Substitute many new variables
2591         into it.
2592
2593 2007-02-18  Bruno Haible  <bruno@clisp.org>
2594
2595         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
2596         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
2597         HAVE_GETSUBOPT.
2598         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
2599         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
2600         * lib/getsubopt.h: Remove file.
2601         * modules/getsubopt (Files): Remove lib/getsubopt.h.
2602         (Depends-on): Add stdlib.
2603         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
2604         (Includes): Use <stdlib.h> instead of getsubopt.h.
2605         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
2606         Set HAVE_GETSUBOPT.
2607         * lib/getsubopt.c: Don't include getsubopt.h.
2608
2609 2007-02-18  Bruno Haible  <bruno@clisp.org>
2610
2611         * modules/fchdir (Depends-on): Add dup2.
2612
2613 2007-02-18  Bruno Haible  <bruno@clisp.org>
2614
2615         * lib/stdlib_.h: Handle glibc's special invocation convention
2616         specially.
2617
2618 2007-02-18  Bruno Haible  <bruno@clisp.org>
2619
2620         * modules/stdlib-tests: New file.
2621         * tests/test-stdlib.c: New file.
2622
2623         * modules/mkstemp (Files): Remove lib/mkstemp.h.
2624         (Depends-on): Add stdlib.
2625         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
2626         (Includes): Use <stdlib.h> instead of mkstemp.h.
2627         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
2628         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
2629         * lib/mkstemp.c: Don't include mkstemp.h.
2630         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
2631         * lib/stdlib--.h: Don't include mkstemp.h.
2632
2633         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
2634         (Depends-on): Add stdlib.
2635         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
2636         (Includes): Use <stdlib.h> instead of mkdtemp.h.
2637         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
2638         HAVE_MKDTEMP.
2639         * lib/mkdtemp.c: Don't include mkdtemp.h.
2640         * lib/clean-temp.c: Don't include mkdtemp.h.
2641
2642         * modules/exit (Files): Remove lib/exit.h.
2643         (Depends-on): Add stdlib.
2644         (Makefile.am): Remove lib_SOURCES.
2645         (Include): Use <stdlib.h> instead of exit.h.
2646         * lib/argmatch.c: Don't include exit.h.
2647         * lib/execute.c: Likewise.
2648         * lib/pagealign_alloc.c: Likewise.
2649         * lib/pipe.c: Likewise.
2650         * lib/wait-process.c: Likewise.
2651         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
2652         * lib/exitfail.c: Likewise.
2653         * lib/savewd.c: Likewise.
2654         * lib/xsetenv.c: Likewise.
2655
2656         * modules/stdlib: New file.
2657         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
2658         and extra comments about mkstemp().
2659         * lib/exit.h: Remove file.
2660         * lib/mkdtemp.h: Remove file.
2661         * lib/mkstemp.h: Remove file.
2662         * m4/stdlib_h.m4: New file.
2663         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
2664
2665 2007-02-18  Bruno Haible  <bruno@clisp.org>
2666
2667         * modules/math-tests: New file.
2668         * tests/test-math.c: New file.
2669
2670         * modules/math: New file.
2671         * modules/mathl (Files): Remove lib/mathl.h.
2672         (Depends-on): Add math.
2673         (Makefile.am): Don't mention mathl.h.
2674         (Include): Use <math.h> instead of mathl.h.
2675         * lib/math_.h: New file.
2676         * lib/mathl.h: Remove file.
2677         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
2678         mathl.h.
2679         * lib/asinl.c: Likewise.
2680         * lib/atanl.c: Likewise.
2681         * lib/ceill.c: Likewise.
2682         * lib/cosl.c: Likewise.
2683         * lib/expl.c: Likewise.
2684         * lib/floorl.c: Likewise.
2685         * lib/frexpl.c: Likewise.
2686         * lib/ldexpl.c: Likewise.
2687         * lib/logl.c: Likewise.
2688         * lib/sincosl.c: Likewise.
2689         * lib/sinl.c: Likewise.
2690         * lib/sqrtl.c: Likewise.
2691         * lib/tanl.c: Likewise.
2692         * lib/trigl.c: Likewise.
2693         * m4/math_h.m4: New file.
2694         * MODULES.html.sh (Mathematics): Add math.
2695
2696 2007-02-17  Bruno Haible  <bruno@clisp.org>
2697
2698         * modules/wctype-tests: New file.
2699         * tests/test-wctype.c: New file.
2700
2701         * modules/wchar-tests: New file.
2702         * tests/test-wchar.c: New file.
2703
2704         * modules/unistd-tests: New file.
2705         * tests/test-unistd.c: New file.
2706
2707         * modules/time-tests: New file.
2708         * tests/test-time.c: New file.
2709
2710         * modules/sysexits-tests: New file.
2711         * tests/test-sysexits.c: New file.
2712
2713         * modules/sys_time-tests: New file.
2714         * tests/test-sys_time.c: New file.
2715
2716         * modules/sys_stat-tests: New file.
2717         * tests/test-sys_stat.c: New file.
2718
2719         * modules/sys_socket-tests: New file.
2720         * tests/test-sys_socket.c: New file.
2721
2722         * modules/sys_select-tests: New file.
2723         * tests/test-sys_select.c: New file.
2724
2725         * modules/string-tests: New file.
2726         * tests/test-string.c: New file.
2727
2728         * modules/stdbool-tests: New file.
2729         * tests/test-stdbool.c: New file.
2730
2731         * modules/netinet_in-tests: New file.
2732         * tests/test-netinet_in.c: New file.
2733
2734         * modules/inttypes-tests: New file.
2735         * tests/test-inttypes.c: New file.
2736
2737         * modules/fcntl-tests: New file.
2738         * tests/test-fcntl.c: New file.
2739
2740         * modules/byteswap-tests: New file.
2741         * tests/test-byteswap.c: New file.
2742
2743         * modules/arpa_inet-tests: New file.
2744         * tests/test-arpa_inet.c: New file.
2745
2746 2007-02-17  Bruno Haible  <bruno@clisp.org>
2747
2748         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
2749         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
2750         if the corresponding module is not enabled. Emit link warnings if
2751         the function is used nevertheless.
2752         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
2753         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
2754         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
2755         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
2756         * modules/inttypes (Depends-on): Add link-warning.
2757         (Makefile.am): Copy the contents of build-aux/link-warning.h into
2758         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
2759         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
2760         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
2761         * modules/imaxdiv (configure.ac): Likewise.
2762         * modules/strtoimax (configure.ac): Likewise.
2763         * modules/strtoumax (configure.ac): Likewise.
2764
2765 2007-02-17  Bruno Haible  <bruno@clisp.org>
2766
2767         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
2768         gl_STRING_MODULE_INDICATOR_DEFAULTS.
2769         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
2770         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
2771
2772 2007-02-17  Bruno Haible  <bruno@clisp.org>
2773
2774         * modules/link-warning: New file.
2775         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
2776         * lib/string_.h (GL_LINK_WARNING): Remove definition.
2777         * modules/string (Depends-on): Add link-warning.
2778         (Makefile.am): Copy the contents of build-aux/link-warning.h into
2779         string.h.
2780         * MODULES.html.sh (Support for building libraries and executables): Add
2781         link-warning.
2782
2783 2007-02-17  Bruno Haible  <bruno@clisp.org>
2784
2785         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
2786         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
2787         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
2788         long lines.
2789
2790 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
2791             Bruno Haible  <bruno@clisp.org>
2792
2793         * modules/tmpfile: New file.
2794         * lib/tmpfile.c: New file.
2795         * m4/tmpfile.m4: New file.
2796         * MODULES.html.sh (func_all_modules): New section "Input/output".
2797
2798 2007-02-15  Bruno Haible  <bruno@clisp.org>
2799
2800         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
2801         (supports_delete_on_close): New function.
2802         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
2803
2804 2007-02-14  Bruno Haible  <bruno@clisp.org>
2805
2806         * modules/mbspcasecmp-tests: New file.
2807         * tests/test-mbspcasecmp.sh: New file.
2808         * tests/test-mbspcasecmp.c: New file.
2809
2810         New module mbspcasecmp.
2811         * modules/mbspcasecmp: New file.
2812         * lib/mbspcasecmp.c: New file.
2813         * lib/string_.h (strncasecmp): Change warning message.
2814         (mbspcasecmp): New declaration.
2815         * m4/mbspcasecmp.m4: New file.
2816         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
2817         GNULIB_MBSPCASECMP.
2818         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
2819         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
2820
2821 2007-02-14  Bruno Haible  <bruno@clisp.org>
2822
2823         * modules/mbsncasecmp-tests: New file.
2824         * tests/test-mbsncasecmp.sh: New file.
2825         * tests/test-mbsncasecmp.c: New file.
2826
2827         New module mbsncasecmp.
2828         * modules/mbsncasecmp: New file.
2829         * lib/mbsncasecmp.c: New file.
2830         * lib/string_.h (mbsncasecmp): New declaration.
2831         * m4/mbsncasecmp.m4: New file.
2832         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
2833         GNULIB_MBSNCASECMP.
2834         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
2835         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
2836
2837 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
2838
2839         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
2840         Verify that it doesn't overlap with our flags.
2841         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
2842         do not have the desired effect in multibyte locales; instead, use
2843         mbscasecmp.
2844         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
2845         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
2846         we don't require GNU fnmatch ourselves (if our users require it, they
2847         should do so explicitly).
2848
2849         Fix regex code so it doesn't rely on strcasecmp.
2850         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
2851         Otherwise, include gnulib's langinfo.h.
2852         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
2853         undesirable behavior in non-C locales.  Instead, rely on localecharset.
2854         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
2855         * modules/regex (FILES): Remove m4/codeset.m4.
2856         (Depends-on): Add localcharset.  Remove strcase.
2857
2858 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2859
2860         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
2861         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
2862
2863 2007-02-13  Bruno Haible  <bruno@clisp.org>
2864
2865         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
2866         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2867
2868 2007-02-12  Bruno Haible  <bruno@clisp.org>
2869
2870         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
2871         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
2872         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
2873         time warning rather than a link error.
2874
2875 2007-02-12  Bruno Haible  <bruno@clisp.org>
2876
2877         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
2878         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2879         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2880
2881 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2882
2883         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
2884         args, not 2.
2885
2886 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2887
2888         New module 'time', so that apps can include <time.h> as per
2889         POSIX and GNU instead of separate include files like time_r.h
2890         and timegm.h.  This implementation tries out a simpler approach
2891         for replacing decls in standard include files (as compared to
2892         the string module), somewhat as an experiment.
2893
2894         * config/srclist.txt: Comment out mktime.c for now.
2895         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
2896         since it doesn't apply any more.  Use generic wording instead.
2897         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
2898         'time'.
2899         * lib/time_.h, m4/time_h.m4, modules/time: New files.
2900         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
2901         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
2902         Don't include <sys/types.h>; no longer needed since we assume C89.
2903         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
2904         * lib/strftime.c: Likewise.
2905         * lib/time_r.c: Likewise.
2906         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
2907         * lib/nanosleep.c: Include <time.h> first, to check interface.
2908         * lib/strptime.c: Likewise.
2909         * lib/time_r.c: Likewise.
2910         * lib/timegm.c: Likewise.
2911         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
2912         needed.
2913         * lib/timegm.c: Don't include timegm.h; no longer needed.
2914         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
2915         time.h now handles any problems in that area.
2916         (struct timespec, nanosleep): Remove; time.h now arranges for these.
2917         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
2918         that time.h defines struct timespec.
2919         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
2920         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
2921         handles that.
2922         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
2923         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
2924         needed.  Set REPLACE_LOCALTIME.
2925         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
2926         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
2927         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
2928         nanosleep; time_h.m4 now does that.  Don't require
2929         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
2930         module handles this now.
2931         * modules/getdate (Depends-on): Remove timespec.  Add time.
2932         * modules/nanosleep (Depends-on): Likewise.
2933         * modules/stat-time (Depends-on): Likewise.
2934         * modules/nanosleep (Include): Include time.h, not timespec.h.
2935         * modules/strptime (Files): Remove lib/strptime.h.
2936         (Depends-on): Add extensions, time.
2937         (Include): Include time.h, not strptime.h.
2938         * modules/time_r (Files): Remove lib/time_r.h.
2939         (Depends-on): Add time.
2940         (Include): Include time.h, not time_r.h.
2941         * modules/timegm: Likewise.
2942         * modules/timespec (Description): Now does timespec-related decls
2943         of our own, instead of struct timespec itself.
2944         (Depends-on): Add time; remove extensions.
2945         (Maintainer): Add self.
2946         * modules/utimecmp (Depends-on): Add time; remove timespec.
2947         * modules/utimens (Depends-on): Likewise.
2948         * modules/xnanosleep (Depends-on): Likewise.
2949
2950 2007-02-11  Bruno Haible  <bruno@clisp.org>
2951
2952         * lib/c-strstr.c: Include allocsa.h.
2953         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
2954         * lib/c-strcasestr.c: Include allocsa.h.
2955         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
2956         * lib/strcasestr.c: Include allocsa.h.
2957         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
2958         * lib/mbsstr.c: Include allocsa.h.
2959         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
2960         allocsa/freesa instead of malloc/free.
2961         * lib/mbscasestr.c: Include allocsa.h.
2962         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
2963         allocsa/freesa instead of malloc/free.
2964         * modules/c-strstr (Depends-on): Add allocsa.
2965         * modules/c-strcasestr (Depends-on): Likewise.
2966         * modules/strcasestr (Depends-on): Likewise.
2967         * modules/mbsstr (Depends-on): Likewise.
2968         * modules/mbscasestr (Depends-on): Likewise.
2969
2970 2007-02-11  Bruno Haible  <bruno@clisp.org>
2971
2972         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
2973
2974         * modules/mbsspn-tests: New file.
2975         * tests/test-mbsspn.sh: New file.
2976         * tests/test-mbsspn.c: New file.
2977
2978 2007-02-11  Bruno Haible  <bruno@clisp.org>
2979
2980         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
2981
2982         * modules/mbspbrk-tests: New file.
2983         * tests/test-mbspbrk.sh: New file.
2984         * tests/test-mbspbrk.c: New file.
2985
2986 2007-02-11  Bruno Haible  <bruno@clisp.org>
2987
2988         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
2989         unneeded cast.
2990
2991         * modules/mbscspn-tests: New file.
2992         * tests/test-mbscspn.sh: New file.
2993         * tests/test-mbscspn.c: New file.
2994
2995 2007-02-11  Bruno Haible  <bruno@clisp.org>
2996
2997         * modules/mbscasecmp-tests: New file.
2998         * tests/test-mbscasecmp.sh: New file.
2999         * tests/test-mbscasecmp.c: New file.
3000
3001 2007-02-11  Bruno Haible  <bruno@clisp.org>
3002
3003         Ensure O(n) worst-case complexity of mbscasestr.
3004         * lib/mbscasestr.c: Include stdbool.h.
3005         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
3006         functions.
3007         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
3008         the bookkeeping indicates that it's worth it.
3009         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
3010
3011         * modules/mbscasestr-tests: New file.
3012         * tests/test-mbscasestr1.c: New file.
3013         * tests/test-mbscasestr2.sh: New file.
3014         * tests/test-mbscasestr2.c: New file.
3015         * tests/test-mbscasestr3.sh: New file.
3016         * tests/test-mbscasestr3.c: New file.
3017         * tests/test-mbscasestr4.sh: New file.
3018         * tests/test-mbscasestr4.c: New file.
3019         * m4/locale-tr.m4: New file.
3020
3021 2007-02-11  Bruno Haible  <bruno@clisp.org>
3022
3023         Ensure O(n) worst-case complexity of mbsstr.
3024         * lib/mbsstr.c: Include stdbool.h.
3025         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
3026         functions.
3027         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
3028         bookkeeping indicates that it's worth it.
3029         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
3030
3031         * modules/mbsstr-tests: New file.
3032         * tests/test-mbsstr1.c: New file.
3033         * tests/test-mbsstr2.sh: New file.
3034         * tests/test-mbsstr2.c: New file.
3035         * tests/test-mbsstr3.sh: New file.
3036         * tests/test-mbsstr3.c: New file.
3037         * m4/locale-fr.m4: New file.
3038
3039 2007-02-11  Bruno Haible  <bruno@clisp.org>
3040
3041         * lib/mbsrchr.c (mbsrchr): Fix bug.
3042
3043         * modules/mbsrchr-tests: New file.
3044         * tests/test-mbsrchr.sh: New file.
3045         * tests/test-mbsrchr.c: New file.
3046
3047 2007-02-11  Bruno Haible  <bruno@clisp.org>
3048
3049         * lib/mbschr.c (mbschr): Fix bug.
3050
3051         * modules/mbschr-tests: New file.
3052         * tests/test-mbschr.sh: New file.
3053         * tests/test-mbschr.c: New file.
3054         * m4/locale-zh.m4: New file.
3055
3056 2007-02-11  Bruno Haible  <bruno@clisp.org>
3057
3058         Support for copying multibyte string iterators.
3059         * lib/mbiter.h: Include <string.h>.
3060         (mbiter_multi_copy): New function.
3061         (mbi_copy): New macro.
3062         * lib/mbuiter.h: Include <string.h>.
3063         (mbuiter_multi_copy): New function.
3064         (mbui_copy): New macro.
3065
3066 2007-02-11  Bruno Haible  <bruno@clisp.org>
3067
3068         New module mbslen.
3069         * modules/mbslen: New file.
3070         * lib/mbslen.c: New file.
3071         * lib/string_.h (mbslen): New declaration.
3072         * m4/mbslen.m4: New file.
3073         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3074         GNULIB_MBSLEN.
3075         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
3076         * MODULES.html.sh (Internationalization functions): Add mbslen.
3077
3078 2007-02-11  Bruno Haible  <bruno@clisp.org>
3079
3080         Ensure O(n) worst-case complexity of strcasestr substitute.
3081         * lib/strcasestr.c: Include stdbool.h.
3082         (knuth_morris_pratt): New function.
3083         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
3084         bookkeeping indicates that it's worth it.
3085         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
3086
3087         * modules/strcasestr-tests: New file.
3088         * tests/test-strcasestr.c: New file.
3089
3090 2007-02-11  Bruno Haible  <bruno@clisp.org>
3091
3092         Ensure O(n) worst-case complexity of c_strcasestr.
3093         * lib/c-strcasestr.c: Include stdbool.h, string.h.
3094         (knuth_morris_pratt): New function.
3095         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
3096         the bookkeeping indicates that it's worth it.
3097         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
3098
3099         * modules/c-strcasestr-tests: New file.
3100         * tests/test-c-strcasestr.c: New file.
3101
3102 2007-02-11  Bruno Haible  <bruno@clisp.org>
3103
3104         Ensure O(n) worst-case complexity of c_strstr.
3105         * lib/c-strstr.c: Include stdbool.h, string.h.
3106         (knuth_morris_pratt): New function.
3107         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
3108         bookkeeping indicates that it's worth it.
3109         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
3110
3111         * lib/c-strstr.c: Complete rewrite for maintainability.
3112
3113         * modules/c-strstr-tests: New file.
3114         * tests/test-c-strstr.c: New file.
3115
3116 2007-02-11  Bruno Haible  <bruno@clisp.org>
3117
3118         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
3119         5.2.1 and earlier, whereby \055 was treated just like the range
3120         delimiter '-'.
3121         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
3122
3123 2007-02-08  Bruno Haible  <bruno@clisp.org>
3124
3125         * modules/regex (Depends-on): Add stdbool.
3126         Reported by Dalibor Topic <robilad@kaffe.org>.
3127
3128 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
3129
3130         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
3131         Prefer returning from main to exiting from it.
3132         Remove unnecessary parens after sizeof.
3133
3134 2007-02-05  Bruno Haible  <bruno@clisp.org>
3135
3136         New module mbssep.
3137         * modules/mbssep: New file.
3138         * lib/mbssep.c: New file.
3139         * lib/string_.h (strsep): Add a conditional link warning.
3140         (mbssep): New declaration.
3141         * m4/mbssep.m4: New file.
3142         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3143         GNULIB_MBSSEP.
3144         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
3145         * MODULES.html.sh (Internationalization functions): Add mbssep.
3146
3147 2007-02-05  Bruno Haible  <bruno@clisp.org>
3148
3149         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
3150         Optimize search in case of 1 delimiter.
3151
3152 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
3153
3154         * lib/acl.h: Include sys/types.h before sys/acl.h.
3155
3156 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
3157
3158         Merge upstream fix for glibc bugzilla #3957:
3159
3160         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
3161
3162         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
3163         bit for RE_HAT_LISTS_NOT_NEWLINE.
3164         (build_charclass_op): Remove bogus comment.
3165
3166 2007-02-05  Simon Josefsson  <simon@josefsson.org>
3167
3168         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
3169
3170 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
3171
3172         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
3173         * lib/memmem.c [!defined _LIBC]: Include config.h.
3174
3175 2007-02-04  Bruno Haible  <bruno@clisp.org>
3176
3177         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
3178         warning message.
3179
3180 2007-02-04  Bruno Haible  <bruno@clisp.org>
3181
3182         New module mbstok_r.
3183         * modules/mbstok_r: New file.
3184         * lib/mbstok_r.c: New file.
3185         * lib/string_.h (strtok_r): Change argument names to match the
3186         comments. Add a conditional link warning.
3187         (mbstok_r): New declaration.
3188         * m4/mbstok_r.m4: New file.
3189         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3190         GNULIB_MBSTOK_R.
3191         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
3192         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
3193
3194 2007-02-04  Bruno Haible  <bruno@clisp.org>
3195
3196         New module mbsspn.
3197         * modules/mbsspn: New file.
3198         * lib/mbsspn.c: New file.
3199         * lib/string_.h (strspn): Add a conditional link warning.
3200         (mbsspn): New declaration.
3201         * m4/mbsspn.m4: New file.
3202         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3203         GNULIB_MBSSPN.
3204         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
3205         * MODULES.html.sh (Internationalization functions): Add mbsspn.
3206
3207 2007-02-04  Bruno Haible  <bruno@clisp.org>
3208
3209         New module mbspbrk.
3210         * modules/mbspbrk: New file.
3211         * lib/mbspbrk.c: New file.
3212         * lib/string_.h (strpbrk): Add a conditional link warning.
3213         (mbspbrk): New declaration.
3214         * m4/mbspbrk.m4: New file.
3215         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3216         GNULIB_MBSPBRK.
3217         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
3218         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
3219
3220 2007-02-04  Bruno Haible  <bruno@clisp.org>
3221
3222         New module mbscspn.
3223         * modules/mbscspn: New file.
3224         * lib/mbscspn.c: New file.
3225         * lib/string_.h (strcspn): Add a conditional link warning.
3226         (mbscspn): New declaration.
3227         * m4/mbscspn.m4: New file.
3228         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3229         GNULIB_MBSCSPN.
3230         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
3231         * MODULES.html.sh (Internationalization functions): Add mbscspn.
3232
3233 2007-02-04  Bruno Haible  <bruno@clisp.org>
3234
3235         New module mbscasestr, reduced goal of strcasestr.
3236         * modules/mbscasestr: New file.
3237         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
3238         (mbscasestr): Renamed from strcasestr.
3239         * lib/strcasestr.c: Don't include mbuiter.h.
3240         (strcasestr): Remove support for multibyte locales.
3241         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
3242         Change the conditional link warning.
3243         (mbscasestr): New declaration.
3244         * m4/mbscasestr.m4: New file.
3245         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
3246         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
3247         REPLACE_STRCASESTR.
3248         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
3249         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3250         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
3251         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
3252         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
3253         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
3254         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
3255         (Depends-on): Remove mbuiter.
3256         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
3257
3258 2007-02-04  Bruno Haible  <bruno@clisp.org>
3259
3260         Simplify handling of strncasecmp.
3261         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
3262         the conditional link warning.
3263         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3264         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
3265         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
3266         * modules/strcase (configure.ac): Don't invoke
3267         gl_STRING_MODULE_INDICATOR.
3268         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
3269
3270 2007-02-04  Bruno Haible  <bruno@clisp.org>
3271
3272         New module mbscasecmp, reduced goal of strcasecmp.
3273         * modules/mbscasecmp: New file.
3274         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
3275         (mbscasecmp): Renamed from strcasecmp.
3276         * lib/strcasecmp.c: Don't include mbuiter.h.
3277         (strcasecmp): Remove support for multibyte locales.
3278         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
3279         Change the conditional link warning.
3280         (mbscasecmp): New declaration.
3281         * m4/mbscasecmp.m4: New file.
3282         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
3283         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
3284         REPLACE_STRCASECMP.
3285         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
3286         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3287         GNULIB_MBSCASECMP.
3288         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
3289         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
3290         * modules/strcase (Files): Remove m4/mbrtowc.m4.
3291         (Depends-on): Remove mbuiter.
3292         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
3293
3294 2007-02-04  Bruno Haible  <bruno@clisp.org>
3295
3296         New module mbsstr. Remove module strstr.
3297         * modules/mbsstr: New file.
3298         * modules/strstr: Remove file.
3299         * lib/mbsstr.c: Renamed from lib/strstr.c.
3300         (mbsstr): Renamed from strstr.
3301         * lib/string_.h (strstr): Remove declaration. Change the conditional
3302         link warning.
3303         (mbsstr): New declaration.
3304         * m4/mbsstr.m4: New file.
3305         * m4/strstr.m4: Remove file.
3306         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
3307         REPLACE_STRSTR.
3308         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
3309         Don't initialize GNULIB_STRSTR.
3310         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
3311         substitute GNULIB_STRSTR and REPLACE_STRSTR.
3312         * MODULES.html.sh (Internationalization functions): Add mbsstr.
3313         (Support for systems lacking ANSI C 89): Remove strstr.
3314
3315 2007-02-04  Bruno Haible  <bruno@clisp.org>
3316
3317         New module mbsrchr.
3318         * modules/mbsrchr: New file.
3319         * lib/mbsrchr.c: New file.
3320         * lib/string_.h (strrchr): Add a conditional link warning.
3321         (mbsrchr): New declaration.
3322         * m4/mbsrchr.m4: New file.
3323         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3324         GNULIB_MBSRCHR.
3325         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
3326         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
3327
3328 2007-02-04  Bruno Haible  <bruno@clisp.org>
3329
3330         New module mbschr.
3331         * modules/mbschr: New file.
3332         * lib/mbschr.c: New file.
3333         * lib/string_.h (strchr): Add a conditional link warning.
3334         (mbschr): New declaration.
3335         * m4/mbschr.m4: New file.
3336         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
3337         GNULIB_MBSCHR.
3338         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
3339         * MODULES.html.sh (Internationalization functions): Add mbschr.
3340
3341 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
3342
3343         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
3344
3345         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
3346
3347 2007-02-04  Bruno Haible  <bruno@clisp.org>
3348
3349         New module description section 'configure.ac-early'.
3350         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
3351         (func_get_autoconf_early_snippet): New function.
3352         (func_import, func_create_testdir): Use it. Remove special cases for
3353         modules 'extensions' and 'lock'.
3354         * modules/extensions (configure.ac-early): Require
3355         gl_USE_SYSTEM_EXTENSIONS.
3356         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
3357
3358 2007-02-04  Bruno Haible  <bruno@clisp.org>
3359
3360         Make use of gcj-4.3's -fsource and -ftarget option.
3361         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
3362         and if so try the options -fsource and -ftarget.
3363         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
3364         source_version, ftarget_option, target_version arguments.
3365         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
3366         (is_envjavac_oldgcj_14_14_usable): Renamed from
3367         is_envjavac_gcj_14_14_usable.
3368         (is_envjavac_oldgcj_14_13_usable): Renamed from
3369         is_envjavac_gcj_14_13_usable.
3370         (is_gcj_present): Update.
3371         (is_gcj_43, is_gcj43_usable): New functions.
3372         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
3373         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
3374         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
3375         try the options -fsource and -ftarget.
3376
3377 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
3378
3379         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
3380         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
3381         larger value.
3382
3383 2007-02-03  Jim Meyering  <jim@meyering.net>
3384
3385         Give tools a better chance to allocate space for very large buffers.
3386         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
3387
3388         Make pwd and readlink work also when run with an unreadable parent dir
3389         on systems with openat support.
3390         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
3391         provided getcwd function, even when we have openat support.
3392         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
3393
3394 2007-02-02  Bruno Haible  <bruno@clisp.org>
3395
3396         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
3397         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
3398         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
3399         portability problems if one of these functions is only used on specific
3400         platforms.
3401         Reported by Paul Eggert.
3402
3403 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
3404
3405         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
3406         is causing more trouble than it's curing.
3407         * lib/regex_internal.h (__mempcpy): Remove.
3408         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
3409         (and make the code a tad smaller to boot).
3410         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
3411
3412 2007-02-02  Jim Meyering  <jim@meyering.net>
3413
3414         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
3415         section, not in the Makefile.am: one.
3416
3417 2007-02-02  Eric Blake  <ebb9@byu.net>
3418
3419         * lib/strchrnul.c: Always include config.h first.
3420
3421         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
3422         gnulib strstr is not necessary here.
3423
3424 2007-02-02  Simon Josefsson  <simon@josefsson.org>
3425
3426         * m4/socklen.m4: Fix typo.
3427
3428 2007-02-02  Eric Blake  <ebb9@byu.net>
3429
3430         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
3431         * modules/netinet_in (Makefile.am): Likewise.
3432
3433 2007-02-01  Bruno Haible  <bruno@clisp.org>
3434
3435         * lib/string_.h (GL_LINK_WARNING): New macro.
3436         (strcasecmp, strstr, strcasestr): If provided by the system,
3437         conditionally define as a macro that leads to a warning instead of to
3438         an error.
3439         (strncasecmp): Conditionally define as a macro that leads to a warning.
3440
3441 2007-02-01  Karl Berry  <karl@gnu.org>
3442
3443         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
3444
3445 2007-02-01  Bruno Haible  <bruno@clisp.org>
3446
3447         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
3448         renamings.
3449
3450 2007-02-01  Eric Blake  <ebb9@byu.net>
3451
3452         * modules/regex (Depends-on): Revert dependence on mempcpy.
3453         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
3454         module's definition of mempcpy.
3455         Reported by Paul Eggert.
3456
3457 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
3458
3459         * lib/string_.h: If the gnulib module XYZ is not present, undefine
3460         the symbol XYZ before redefining it.  This fixes a problem with
3461         programs that don't use XYZ, when compiled on systems that define
3462         XYZ to something else.
3463
3464 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
3465
3466         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
3467         occurs when "mkdir -m foo" creates a setgid directory that is (1)
3468         writeable to group or other and (2) is intended to have a special
3469         mode bit that is set or cleared.  In such a case, the directory
3470         should be neither group- nor other-writeable until the special
3471         mode bits are right.
3472
3473 2007-01-31  Eric Blake  <ebb9@byu.net>
3474
3475         * modules/mountlist (Depends-on): Add strstr.
3476
3477         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
3478         bug.
3479         * modules/string (Makefile.am): Remove redundant replacement.
3480         * modules/regex (Depends-on): Add mempcpy.
3481
3482 2007-01-31  Bruno Haible  <bruno@clisp.org>
3483
3484         New module description field 'Link'.
3485         * gnulib-tool (func_usage): Document --extract-link-directive.
3486         (sed_extract_prog): Recognize 'Link' directive.
3487         (func_get_link_directive): New function.
3488         (func_import): Show summary of link directives.
3489         Handle --extract-link-directive option.
3490         * modules/acl (Link): New section.
3491         * modules/clock-time (Link): New section.
3492         * modules/euidaccess (Link): New section.
3493         * modules/gettext (Link): New section.
3494         * modules/iconv (Link): New section.
3495         * modules/lock (Link): New section.
3496         * modules/nanosleep (Link): New section.
3497         * modules/readline (Link): New section.
3498
3499 2007-01-27  Bruno Haible  <bruno@clisp.org>
3500
3501         Enforce the use of gnulib modules for unportable <string.h> functions.
3502         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
3503         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
3504         (gl_HEADER_STRING_H_BODY): Require it.
3505         * lib/string_.h: If the gnulib module XYZ is not present, redefine
3506         the symbol XYZ to one that gives a link error.
3507         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
3508         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
3509         * modules/mempcpy (configure.ac): Likewise.
3510         * modules/memrchr (configure.ac): Likewise.
3511         * modules/stpcpy (configure.ac): Likewise.
3512         * modules/stpncpy (configure.ac): Likewise.
3513         * modules/strcase (configure.ac): Likewise.
3514         * modules/strcasestr (configure.ac): Likewise.
3515         * modules/strchrnul (configure.ac): Likewise.
3516         * modules/strdup (configure.ac): Likewise.
3517         * modules/strndup (configure.ac): Likewise.
3518         * modules/strnlen (configure.ac): Likewise.
3519         * modules/strpbrk (configure.ac): Likewise.
3520         * modules/strsep (configure.ac): Likewise.
3521         * modules/strstr (configure.ac): Likewise.
3522         * modules/strtok_r (configure.ac): Likewise.
3523
3524 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
3525
3526         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
3527
3528 2007-01-30  Jim Meyering  <jim@meyering.net>
3529
3530         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
3531
3532 2007-01-29  Bruno Haible  <bruno@clisp.org>
3533
3534         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
3535         * lib/execute.c: Likewise.
3536         * lib/pipe.c: Likewise.
3537         * lib/printf-args.h: Likewise.
3538         * lib/printf-args.c: Likewise.
3539         * lib/printf-parse.c: Likewise.
3540         * lib/vasnprintf.c: Likewise.
3541
3542 2007-01-29  Eric Blake  <ebb9@byu.net>
3543
3544         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
3545         declaration.
3546
3547 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
3548
3549         * lib/strptime.h (strptime): Use 'restrict' for args where
3550         POSIX requires this.
3551         * lib/strptime.c (strptime): Likewise.
3552         Change license notice from LGPL to GPL, since gnulib-tool will
3553         change this as needed.
3554         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
3555         defined.
3556         Include "strptime.h" first, to check interface.
3557         Do not #undef _LIBC and _NL_CURRENT.
3558         Do not include <stdlib.h>; no longer needed.
3559         Include "time_r.h" and declare ptime_locale_status
3560         only if _LIBC is not defined.
3561         (__P): Remove unused macro.
3562         (match_string): Bring back glibc version, but use it only if _LIBC
3563         is defined.
3564         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
3565         Remove unnecessary assertion and abort() call.
3566         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
3567         * m4/strptime.m4: Fix serial number comment.
3568         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
3569         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
3570         (Depends-on): Add time_r.
3571
3572 2007-01-29  Bruno Haible  <bruno@clisp.org>
3573
3574         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
3575         strptime.
3576         * modules/strptime (Depends-on): Add stdbool.
3577         * lib/strptime.h: Include <time.h> always. Add comments.
3578
3579 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
3580
3581         * modules/strptime: New file.
3582         * lib/strptime.h: New file.
3583         * lib/strptime.c: New file.
3584         * m4/strptime.m4: New file.
3585
3586 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
3587
3588         * MODULES.html.sh: New module mpsort.
3589         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
3590
3591         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
3592         a circularity problem with HP-UX ia64 reported by Bob Proulx in
3593         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
3594         All uses changed.
3595         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
3596         All uses changed.
3597         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
3598         to _Restrict_.
3599         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
3600         the parameter matches the prototype.
3601
3602 2007-01-28  Jim Meyering  <jim@meyering.net>
3603
3604         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
3605         sys/time.h here, reverting that part of the previous patch:
3606         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
3607
3608 2007-01-28  Bruno Haible  <bruno@clisp.org>
3609
3610         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
3611         value of $(SYS_TIME_H).
3612         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
3613         remove it conditionally, too. [added by Jim Meyering]
3614         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
3615         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
3616         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
3617         GETTIMEOFDAY_REPLACEMENT to 1.
3618
3619 2007-01-28  Bruno Haible  <bruno@clisp.org>
3620
3621         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
3622         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
3623         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
3624         Set UNISTD_H instead of UNISTD_H2.
3625         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
3626
3627 2007-01-28  Bruno Haible  <bruno@clisp.org>
3628
3629         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
3630         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
3631
3632 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3633
3634         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
3635         (func_create_testdir): Ensure C locale for `grep' and `tr'
3636         character ranges.
3637         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
3638         ACLOCAL_AMFLAGS parsing state machine.
3639
3640 2007-01-27  Bruno Haible  <bruno@clisp.org>
3641
3642         * modules/unistr/base: Update.
3643
3644 2007-01-27  Bruno Haible  <bruno@clisp.org>
3645
3646         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
3647         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
3648         * modules/unistr/u32-mbtouc-unsafe: Renamed from
3649         modules/unistr/u32-mbtouc.
3650         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
3651         * lib/unistr.h: Update.
3652         * lib/linebreak.c: Update.
3653         * modules/unistr/u32-mbtouc: Renamed from
3654         modules/unistr/u32-mbtouc-safe.
3655         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
3656         * lib/unistr.h: Update.
3657         * lib/unistr/u32-to-u8.c: Update.
3658         * lib/unistr/u32-to-u16.c: Update.
3659
3660 2007-01-27  Bruno Haible  <bruno@clisp.org>
3661
3662         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
3663         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
3664         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
3665         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
3666         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
3667         * modules/unistr/u16-mbtouc-unsafe: Renamed from
3668         modules/unistr/u16-mbtouc.
3669         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
3670         * lib/unistr.h: Update.
3671         * lib/linebreak.c: Update.
3672         * modules/linebreak: Update.
3673         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
3674         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
3675         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
3676         * modules/unistr/u16-mbtouc: Renamed from
3677         modules/unistr/u16-mbtouc-safe.
3678         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
3679         * lib/unistr.h: Update.
3680         * lib/unistr/u16-to-u8.c: Update.
3681         * modules/unistr/u16-to-u8: Update.
3682         * lib/unistr/u16-to-u32.c: Update.
3683         * modules/unistr/u16-to-u32: Update.
3684
3685 2007-01-27  Bruno Haible  <bruno@clisp.org>
3686
3687         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
3688         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
3689         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
3690         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
3691         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
3692         * modules/unistr/u8-mbtouc-unsafe: Renamed from
3693         modules/unistr/u8-mbtouc.
3694         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
3695         * lib/unistr.h: Update.
3696         * lib/striconveh.c: Update.
3697         * modules/striconveh: Update.
3698         * lib/linebreak.c: Update.
3699         * modules/linebreak: Update.
3700         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
3701         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
3702         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
3703         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
3704         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
3705         * lib/unistr.h: Update.
3706         * lib/striconveh.c: Update.
3707         * modules/striconveh: Update.
3708         * lib/unistr/u8-to-u16.c: Update.
3709         * modules/unistr/u8-to-u16: Update.
3710         * lib/unistr/u8-to-u32.c: Update.
3711         * modules/unistr/u8-to-u32: Update.
3712
3713 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3714
3715         Sync from Libtool.
3716         * lib/argz.c: Do not include strings.h nor memory.h, include
3717         string.h unconditionally.  Patch by Simon Josefsson.
3718
3719 2007-01-27  Bruno Haible  <bruno@clisp.org>
3720
3721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
3722         from gl_HEADER_STRING_H_BODY.
3723         (gl_HEADER_STRING_H_BODY): Require it.
3724         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
3725         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
3726         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
3727         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
3728         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
3729         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
3730         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
3731         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
3732         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
3733         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
3734         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
3735         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
3736         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
3737         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
3738         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
3739
3740 2007-01-27  Bruno Haible  <bruno@clisp.org>
3741
3742         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
3743         check_PROGRAMS into noinst_PROGRAMS.
3744         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
3745         check_PROGRAMS in this case.
3746         (func_import): Set for_test to false.
3747         (func_create_testdir): Set for_test to true.
3748
3749 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
3750             Bruno Haible  <bruno@clisp.org>
3751
3752         * modules/strcasestr (Files): Remove lib/strcasestr.h.
3753         (Depends-on): Add string.
3754         (Includes): Use <string.h> instead of strcasestr.h.
3755         * modules/string (Makefile.am): Also substitute the value of
3756         REPLACE_STRCASESTR.
3757         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
3758         assume strcasestr is declared in <string.h> not <strings.h>. Also
3759         set REPLACE_STRCASESTR.
3760         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
3761         REPLACE_STRCASESTR.
3762         * lib/strcasestr.h: Remove file.
3763         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
3764         * lib/string_.h (strcasestr): New declaration.
3765
3766 2007-01-27  Bruno Haible  <bruno@clisp.org>
3767
3768         * lib/string_.h: Use 'extern'.
3769
3770 2007-01-27  Jim Meyering  <jim@meyering.net>
3771
3772         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
3773         of set-but-not-used local, "q".
3774
3775         * lib/mempcpy.c: Include <config.h> before <string.h>.
3776         This fixes a compilation error on HP-UX, due to the system's
3777         "restrict"-using mempcpy prototype.
3778
3779 2007-01-26  Bruno Haible  <bruno@clisp.org>
3780
3781         Small optimization.
3782         * lib/javacomp.c: Include c-strstr.h.
3783          (is_envjavac_gcj): Use c_strstr instead of strstr.
3784         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
3785
3786 2007-01-26  Bruno Haible  <bruno@clisp.org>
3787
3788         * MODULES.html.sh (Unicode string functions): Add the new modules.
3789
3790         * modules/uniconv/u32-strconv-to-locale: New file.
3791         * lib/uniconv/u32-strconv-to-locale.c: New file.
3792
3793         * modules/uniconv/u16-strconv-to-locale: New file.
3794         * lib/uniconv/u16-strconv-to-locale.c: New file.
3795
3796         * modules/uniconv/u8-strconv-to-locale: New file.
3797         * lib/uniconv/u8-strconv-to-locale.c: New file.
3798
3799         * modules/uniconv/u32-strconv-from-locale: New file.
3800         * lib/uniconv/u32-strconv-from-locale.c: New file.
3801
3802         * modules/uniconv/u16-strconv-from-locale: New file.
3803         * lib/uniconv/u16-strconv-from-locale.c: New file.
3804
3805         * modules/uniconv/u8-strconv-from-locale: New file.
3806         * lib/uniconv/u8-strconv-from-locale.c: New file.
3807
3808         * modules/uniconv/u32-strconv-to-enc: New file.
3809         * lib/uniconv/u32-strconv-to-enc.c: New file.
3810         * modules/uniconv/u32-strconv-to-enc-tests: New file.
3811         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
3812
3813         * modules/uniconv/u16-strconv-to-enc: New file.
3814         * lib/uniconv/u16-strconv-to-enc.c: New file.
3815         * lib/uniconv/u-strconv-to-enc.h: New file.
3816         * modules/uniconv/u16-strconv-to-enc-tests: New file.
3817         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
3818
3819         * modules/uniconv/u8-strconv-to-enc: New file.
3820         * lib/uniconv/u8-strconv-to-enc.c: New file.
3821         * modules/uniconv/u8-strconv-to-enc-tests: New file.
3822         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
3823
3824         * modules/uniconv/u32-strconv-from-enc: New file.
3825         * lib/uniconv/u32-strconv-from-enc.c: New file.
3826         * modules/uniconv/u32-strconv-from-enc-tests: New file.
3827         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
3828
3829         * modules/uniconv/u16-strconv-from-enc: New file.
3830         * lib/uniconv/u16-strconv-from-enc.c: New file.
3831         * modules/uniconv/u16-strconv-from-enc-tests: New file.
3832         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
3833
3834         * modules/uniconv/u8-strconv-from-enc: New file.
3835         * lib/uniconv/u8-strconv-from-enc.c: New file.
3836         * lib/uniconv/u-strconv-from-enc.h: New file.
3837         * modules/uniconv/u8-strconv-from-enc-tests: New file.
3838         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
3839
3840         * modules/uniconv/u32-conv-from-enc: New file.
3841         * lib/uniconv/u32-conv-from-enc.c: New file.
3842         * modules/uniconv/u32-conv-from-enc-tests: New file.
3843         * tests/uniconv/test-u32-conv-from-enc.c: New file.
3844
3845         * modules/uniconv/u16-conv-from-enc: New file.
3846         * lib/uniconv/u16-conv-from-enc.c: New file.
3847         * lib/uniconv/u-conv-from-enc.h: New file.
3848         * modules/uniconv/u16-conv-from-enc-tests: New file.
3849         * tests/uniconv/test-u16-conv-from-enc.c: New file.
3850
3851         * modules/uniconv/u8-conv-from-enc: New file.
3852         * lib/uniconv/u8-conv-from-enc.c: New file.
3853         * modules/uniconv/u8-conv-from-enc-tests: New file.
3854         * tests/uniconv/test-u8-conv-from-enc.c: New file.
3855
3856         * modules/uniconv/base: New file.
3857         * lib/uniconv.h: New file.
3858
3859 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
3860
3861         * doc/gnulib-tool.texi (Initial import): Update to match current
3862         behavior with strdup module.
3863         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
3864         * lib/memmem.h: Remove; all uses removed.  This is now done
3865         by <string.h>.
3866         * lib/mempcpy.h: Likewise.
3867         * lib/memrchr.h: Likewise.
3868         * lib/stpcpy.h: Likewise.
3869         * lib/stpncpy.h: Likewise.
3870         * lib/strcase.h: Likewise.
3871         * lib/strchrnul.h: Likewise.
3872         * lib/strdup.h: Likewise.
3873         * lib/strndup.h: Likewise.
3874         * lib/strnlen.h: Likewise.
3875         * lib/strpbrk.h: Likewise.
3876         * lib/strsep.h: Likewise.
3877         * lib/strstr.h: Likewise.
3878         * lib/strtok_r.h: Likewise.
3879         * lib/string_.h: New file.
3880         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
3881         Rely on <string.h> instead.
3882         * lib/canon-host.c: Likewise.
3883         * lib/chdir-long.c: Likewise.
3884         * lib/concatpath.c: Likewise.
3885         * lib/exclude.c: Likewise.
3886         * lib/fchdir.c: Likewise.
3887         * lib/getaddrinfo.c: Likewise.
3888         * lib/getcwd.c: Likewise.
3889         * lib/getsubopt.c: Likewise.
3890         * lib/glob.c: Likewise.
3891         * lib/hard-locale.c: Likewise.
3892         * lib/iconvme.c: Likewise.
3893         * lib/javacomp.c: Likewise.
3894         * lib/mempcpy.c: Likewise.
3895         * lib/memrchr.c: Likewise.
3896         * lib/regex_internal.h: Likewise.
3897         * lib/stpncpy.c: Likewise.
3898         * lib/strcasecmp.c: Likewise.
3899         * lib/strchrnul.c: Likewise.
3900         * lib/strdup.c: Likewise.
3901         * lib/striconv.c: Likewise.
3902         * lib/striconveh.c: Likewise.
3903         * lib/striconveha.c: Likewise.
3904         * lib/strncasecmp.c: Likewise.
3905         * lib/strndup.c: Likewise.
3906         * lib/strnlen.c: Likewise.
3907         * lib/strsep.c: Likewise.
3908         * lib/strstr.c: Likewise.
3909         * lib/strtok_r.c: Likewise.
3910         * lib/userspec.c: Likewise.
3911         * lib/w32spawn.h: Likewise.
3912         * lib/xstrndup.c: Likewise.
3913         * lib/mountlist.c (strstr): Remove decl.
3914         * m4/string_h.m4: New file.
3915         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
3916         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
3917         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
3918         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
3919         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
3920         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
3921         Set REPLACE_STRCASECMP if necessary.
3922         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
3923         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
3924         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
3925         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
3926         HAVE_DECL_STRDUP if necessary.
3927         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
3928         since gl_FUNC_STRNDUP does that now.
3929         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
3930         Check for decl here...
3931         (gl_PREREQ_STRNLEN): ... not here.
3932         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
3933         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
3934         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
3935         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
3936         necessary.
3937         * modules/string: New file.
3938         * modules/memmem (Files): Remove special-purpose include file.
3939         (Depends-on): Add string.
3940         (Include): Include <string.h>, not the removed file.
3941         * modules/mempcpy: Likewise.
3942         * modules/memrchr: Likewise.
3943         * modules/stpcpy: Likewise.
3944         * modules/stpncpy: Likewise.
3945         * modules/strcase: Likewise.
3946         * modules/strchrnul: Likewise.
3947         * modules/strdup: Likewise.
3948         * modules/strndup: Likewise.
3949         * modules/strnlen: Likewise.
3950         * modules/strpbrk: Likewise.
3951         * modules/strsep: Likewise.
3952         * modules/strstr: Likewise.
3953         * modules/strtok_r: Likewise.
3954         * tests/test-dirname.c: Don't include "strdup.h", since
3955         <string.h> now suffices.
3956         * tests/test-memmem.c: Don't include "memmem.h", since
3957         <string.h> now suffices.
3958
3959 2007-01-25  Bruno Haible  <bruno@clisp.org>
3960
3961         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
3962         *resultp is 0.
3963
3964         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
3965         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
3966         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
3967         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
3968
3969         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
3970         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
3971         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
3972         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
3973         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
3974         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
3975
3976 2007-01-24  Bruno Haible  <bruno@clisp.org>
3977
3978         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
3979         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
3980         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
3981         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
3982         gl_FUNC_FTS_CORE.
3983         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
3984         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
3985         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
3986         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
3987         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
3988         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
3989         gl_FUNC_FCHOWNAT.
3990         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
3991         gl_FUNC_STRFTIME.
3992         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
3993         Reported by Ralf Wildenhues.
3994
3995 2007-01-24  Bruno Haible  <bruno@clisp.org>
3996
3997         Drop AC_REQUIRE calls that are redundant with the module dependencies.
3998         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
3999         gl_GETADDRINFO.
4000         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
4001         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
4002         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
4003
4004 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
4005
4006         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
4007         Don't use 'exit'; just return from 'main'.
4008         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
4009
4010         * lib/fnmatch_.h: Readjust white space and comments to match
4011         glibc, to avoid spurious diffs.
4012
4013 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4014
4015         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
4016         2004-12-01 change by Jakub Jelinek, since this code won't compile
4017         if !LIBC.  Problem reported by Bob Proulx.
4018
4019 2007-01-23  Bruno Haible  <bruno@clisp.org>
4020
4021         * lib/striconveh.c: Include c-strcaseeq.h.
4022         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
4023         * modules/striconveh (Depends-on): Add c-strcaseeq.
4024
4025 2007-01-23  Bruno Haible  <bruno@clisp.org>
4026
4027         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
4028
4029         * modules/c-strcaseeq: New file.
4030         * lib/c-strcaseeq.h: New file.
4031
4032         * modules/streq: New file.
4033         * lib/streq.h: New file.
4034
4035 2007-01-23  Bruno Haible  <bruno@clisp.org>
4036
4037         * modules/striconveha-tests: New file.
4038         * tests/test-striconveha.c: New file.
4039
4040         * lib/striconveha.h: Include <stdbool.h>.
4041         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
4042         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
4043         (mem_iconveha_notranslit): Renamed from mem_iconveha.
4044         (mem_iconveha): New function.
4045         (str_iconveha_notranslit): Renamed from str_iconveha.
4046         (str_iconveha): New function.
4047         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
4048         c-strcase.
4049
4050 2007-01-23  Bruno Haible  <bruno@clisp.org>
4051
4052         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
4053         encodings without forgiving before trying any encoding with handler.
4054         (str_iconveha): Try all encodings without forgiving before trying any
4055         encoding with handler.
4056
4057 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4058
4059         Import the following changes from libc.
4060
4061         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
4062
4063         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
4064
4065         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
4066
4067         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
4068         normal_bracket label.
4069
4070         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
4071
4072         [BZ #361]
4073         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
4074         to normal_bracket after fetching the next character.
4075
4076 2007-01-22  Bruno Haible  <bruno@clisp.org>
4077
4078         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
4079         argument.
4080         * lib/striconveh.c (iconv_carefully_1): New function.
4081         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
4082         argument.
4083         (str_cd_iconveh): Update.
4084         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
4085         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
4086         * tests/test-striconveh.c (MAGIC): New macro.
4087         (new_offsets): New function.
4088         (main): Test call with and without offsets.
4089
4090 2007-01-22  Bruno Haible  <bruno@clisp.org>
4091
4092         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
4093         * modules/sys_select (Makefile.am): Likewise.
4094         * modules/sys_socket (Makefile.am): Likewise.
4095         * modules/sys_time (Makefile.am): Likewise.
4096
4097 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
4098
4099         * modules/gettimeofday (License): Change from GPL to LGPL, since
4100         gettimeofday is a library function.
4101
4102 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4103
4104         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
4105
4106 2007-01-21  Bruno Haible  <bruno@clisp.org>
4107
4108         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
4109
4110 2007-01-21  Bruno Haible  <bruno@clisp.org>
4111
4112         * modules/striconveha: New file.
4113         * lib/striconveha.h: New file.
4114         * lib/striconveha.c: New file.
4115         * MODULES.html.sh (Internationalization functions): Add striconveha.
4116         * lib/striconv.c (str_iconv): Optimize the case of an empty input
4117         string.
4118         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
4119
4120 2007-01-21  Bruno Haible  <bruno@clisp.org>
4121
4122         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
4123         * lib/striconveh.c (str_iconveh): Likewise.
4124
4125 2007-01-21  Bruno Haible  <bruno@clisp.org>
4126
4127         * lib/striconveh.h (mem_iconveh): New declaration.
4128         * lib/striconveh.c (mem_iconveh): New function.
4129         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
4130
4131 2007-01-21  Bruno Haible  <bruno@clisp.org>
4132
4133         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
4134
4135         * lib/striconveh.h (mem_cd_iconveh): Change specification.
4136         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
4137         original result buffer.
4138         (str_cd_iconveh): Update.
4139         * tests/test-striconveh.c (main): Update.
4140
4141         * lib/striconv.h (mem_cd_iconv): Change specification.
4142         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
4143         result buffer.
4144         (str_cd_iconv): Update.
4145         * tests/test-striconv.c (main): Update.
4146
4147 2007-01-21  Bruno Haible  <bruno@clisp.org>
4148
4149         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
4150
4151 2007-01-20  Jim Meyering  <jim@meyering.net>
4152
4153         * lib/userspec.c (parse_with_separator): If a user or group string
4154         starts with "+", skip the corresponding name-to-ID look-up, since
4155         such a look-up must fail: user and group names may not include "+".
4156
4157 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
4158
4159         * lib/poll.c: Include sys/time.h and time.h unconditionally,
4160         since we now assume the sys_time module.
4161         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
4162         check for sys/time.h; no longer needed.
4163         * modules/poll (Depends-on): Depend on sys_time.
4164
4165 2007-01-18  Bruno Haible  <bruno@clisp.org>
4166
4167         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
4168         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
4169
4170         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
4171         gettimeofday.
4172
4173         * tests/test-gettimeofday.c: Include <time.h>.
4174         (dummy): Remove variable.
4175
4176         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
4177         gl_HEADER_SYS_TIME_H.
4178         (gl_HEADER_SYS_TIME_H): New macro.
4179
4180         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
4181         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4182         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
4183         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
4184         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4185         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
4186         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
4187         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4188         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
4189         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
4190         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4191
4192         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
4193         last change; it caused a compilation error when cross-compiling to
4194         Cygwin.
4195
4196 2007-01-18  Jim Meyering  <jim@meyering.net>
4197
4198         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
4199         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
4200         than the race-prone "test -d sys || mkdir sys".
4201         (configure.ac): Use AC_PROG_MKDIR_P.
4202         * modules/sys_select: Likewise.
4203         * modules/sys_socket: Likewise.
4204         * modules/sys_time: Likewise.
4205
4206 2007-01-18  Eric Blake  <ebb9@byu.net>
4207
4208         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
4209         replace gettimeofday.
4210         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
4211         name, to avoid infinite recursion.
4212
4213 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
4214
4215         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
4216         module sys_time.
4217         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
4218         assume timespec.h defines struct timeval.
4219         * lib/settime.c: Likewise.
4220         * lib/utimens.c: Likewise.
4221         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
4222         since we now assume the gettimeofday module.
4223         * lib/tempname.c (__gen_tempname): Likewise.
4224         * lib/gettimeofday.h: Remove.
4225         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
4226         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
4227         Include <time.h>, for 'time()'.
4228         (localtime_buffer_addr): Also use this workaround if
4229         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
4230         to simplify the uses.  All uses changed.
4231         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
4232         that #undef is inside {}, and 'const' follows type name consistently.
4233         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
4234         (gettimeofday): Do not use the maximum possible value for
4235         tv->tv_usec, since that might break usages other than ls.c.
4236         Instead, we'll leave ls.c alone.  This undoes today's patch
4237         by Bruno.  Add a compile-time warning for 1s-clock resolution;
4238         we've never observed the problem but might as well keep the
4239         canary.
4240         * lib/nanosleep.c: Include timespec.h first, for interface check.
4241         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
4242         now assume the sys_time module.
4243         * lib/tempname.c: Likewise.
4244         * lib/timespec.h: Likewise.
4245         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
4246         needed.
4247         * lib/strftime.c: Likewise.
4248         * lib/timespec.h: Likewise.
4249         * lib/posixtm.c: Include posixtm.h first, for interface check.
4250         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
4251         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
4252         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
4253         * lib/sys_time_.h: New file.
4254         * lib/timespec.h (struct timespec): Use long int, not long.
4255         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
4256         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
4257         Remove obsolescent call to AC_HEADER_TIME.
4258         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
4259         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4260         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
4261         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
4262         Likewise.
4263         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
4264         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
4265         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
4266         into the sys_time module.  Check for gettimeofday just once.
4267         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
4268         for gettimeofday signature to just check the signature.  Merely
4269         compile it, since linking doesn't test signature.  Improve test for
4270         whether gettimeofday.o is actually needed.
4271         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
4272         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
4273         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
4274         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4275         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
4276         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
4277         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
4278         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
4279         than worrying about sys/time.h.
4280         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
4281         Don't bother worrying about TIME_WITH_SYS_TIME.
4282         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
4283         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
4284         * m4/sys_time_h.m4: New file.
4285         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
4286         Don't include sys/time.h.  Return from main rather than exiting.
4287         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
4288         all uses changed.
4289         * modules/gethrxtime (Depends-on): Add sys_time.
4290         * modules/gettime (Depends-on): Likewise.
4291         * modules/gettimeofday (Depends-on): Likewise.
4292         * modules/nanosleep (Depends-on): Likewise.
4293         * modules/settime (Depends-on): Likewise.
4294         * modules/tempname (Depends-on): Likewise.
4295         * modules/utimens (Depends-on): Likewise.
4296         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
4297         (Include:) Change back to <sys/time.h>.
4298         (Maintainer:) Add self.
4299         * modules/sys_time: New file.
4300         * modules/tempname (Depends-on): Add gettimeofday.
4301         * tests/test-gettimeofday.c: Include <sys/time.h>
4302         rather than gettimeofday.h.
4303
4304 2007-01-17  Bruno Haible  <bruno@clisp.org>
4305
4306         * gnulib-tool (func_get_license): Revert last patch. Instead, let
4307         the license default to GPL.
4308         (func_create_testdir): Don't complain if a module is LGPL and its
4309         tests module depends on GPLed modules.
4310
4311 2007-01-17  Bruno Haible  <bruno@clisp.org>
4312
4313         * lib/gettimeofday.c (gettimeofday): Add code for the case
4314         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
4315         maximum possible value for tv->tv_usec, rather than the minimum one.
4316
4317 2005-10-08  Martin Lambers  <marlam@marlam.de>
4318 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
4319 2007-01-16  Bruno Haible  <bruno@clisp.org>
4320
4321         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
4322         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
4323         gl_FUNC_GETTIMEOFDAY.
4324         (Include): Add gettimeofday.h.
4325         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
4326         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
4327         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
4328         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
4329         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
4330         * lib/gettimeofday.h: New file.
4331         * lib/gettimeofday.c: Include <sys/timeb.h>.
4332         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
4333         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4334         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
4335         fall back on time().
4336
4337         * tests/test-gettimeofday.c: New file.
4338         * modules/gettimeofday-tests: New file.
4339
4340 2007-01-16  Eric Blake  <ebb9@byu.net>
4341
4342         * modules/fnmatch (Depends-on): Depend on wchar.
4343         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
4344         * m4/fnmatch.m4: Likewise.
4345         * modules/mbchar (Makefile.am): Assume <wchar.h>.
4346         * m4/mbchar.m4: Likewise.
4347         * modules/mbswidth (Depends-on): Depend on wchar.
4348         * lib/mbswidth.c: Assume <wchar.h>.
4349         * m4/mbswidth.m4: Likewise.
4350         * modules/quotearg (Depends-on): Depend on wchar.
4351         * lib/quotearg.c: Assume <wchar.h>.
4352         * m4/quotearg.m4: Likewise.
4353         * modules/regex (Depends-on): Depend on wchar.
4354         * lib/regex_internal.h: Assume <wchar.h>.
4355         * m4/regex.m4: Likewise.
4356         * modules/stdint (Depends-on): Depend on wchar.
4357         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
4358         * m4/stdint.m4: Likewise.
4359         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
4360         * modules/strftime (Depends-on): Depend on wchar.
4361         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
4362         * modules/strtol (Depends-on): Depend on wchar.
4363         * lib/strtol.c: Assume <wchar.h>.
4364         * modules/wcwidth (Depends-on): Depend on wchar.
4365         * lib/wcwidth.h: Assume <wchar.h>.
4366         * m4/wcwidth.m4: Likewise.
4367
4368 2007-01-16  Bruno Haible  <bruno@clisp.org>
4369
4370         * modules/csharpexec-script: New, created from...
4371         * modules/csharpexec: ... this.
4372
4373 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
4374
4375         * modules/javaexec-script: New, created from...
4376         * modules/javaexec: ... this.
4377
4378 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4379
4380         * modules/poll (Dependencies): Add sys_select.
4381
4382 2007-01-15  Jim Meyering  <jim@meyering.net>
4383
4384         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
4385         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
4386         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
4387         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
4388
4389 2007-01-15  Bruno Haible  <bruno@clisp.org>
4390
4391         * modules/striconveh: New file.
4392         * lib/striconveh.h: New file.
4393         * lib/striconveh.c: New file.
4394         * MODULES.html.sh (Internationalization functions): Add striconveh.
4395
4396         * modules/striconveh-tests: New file.
4397         * tests/test-striconveh.c: New file.
4398
4399 2007-01-15  Bruno Haible  <bruno@clisp.org>
4400
4401         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
4402         not from GNU libiconv or GNU libc.
4403
4404 2007-01-15  Bruno Haible  <bruno@clisp.org>
4405
4406         * doc/gnulib-intro.texi (Copyright): Explain the different license
4407         terms for module descriptions, autoconf macros, tests, documentation.
4408
4409 2007-01-14  Bruno Haible  <bruno@clisp.org>
4410
4411         * modules/striconv-tests: New file.
4412         * tests/test-striconv.c: New file.
4413
4414 2007-01-14  Bruno Haible  <bruno@clisp.org>
4415
4416         * modules/iconv-tests: New file.
4417         * tests/test-iconv.c: New file.
4418
4419 2007-01-14  Bruno Haible  <bruno@clisp.org>
4420
4421         * gnulib-tool (func_get_license): For test modules, use the license of
4422         the main module.
4423
4424 2007-01-14  Bruno Haible  <bruno@clisp.org>
4425
4426         * modules/iconv (Include): Clarify that <iconv.h> can only be included
4427         if iconv is found to exist.
4428
4429 2007-01-14  Bruno Haible  <bruno@clisp.org>
4430
4431         * modules/c-ctype-tests: New file.
4432         * tests/test-c-ctype.c: New file.
4433
4434 2007-01-14  Bruno Haible  <bruno@clisp.org>
4435
4436         * modules/binary-io-tests: New file.
4437         * tests/test-binary-io.sh: New file.
4438         * tests/test-binary-io.c: New file.
4439
4440 2007-01-14  Bruno Haible  <bruno@clisp.org>
4441
4442         * modules/array-oset-tests: New file.
4443         * tests/test-array_oset.c: New file.
4444
4445 2007-01-14  Bruno Haible  <bruno@clisp.org>
4446
4447         * modules/array-list-tests: New file.
4448         * tests/test-array_list.c: New file.
4449
4450 2007-01-14  Bruno Haible  <bruno@clisp.org>
4451
4452         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
4453         and make.
4454         Reported by Simon Josefsson in
4455         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
4456
4457 2007-01-14  Bruno Haible  <bruno@clisp.org>
4458
4459         * modules/allocsa-tests: New file.
4460         * tests/test-allocsa.c: New file.
4461
4462 2007-01-14  Bruno Haible  <bruno@clisp.org>
4463
4464         * modules/fchdir (Depends-on): Add absolute-header.
4465         * modules/unistd (Depends-on): Likewise.
4466
4467 2006-12-30  Bruno Haible  <bruno@clisp.org>
4468
4469         * modules/fchdir: New file.
4470         * modules/unistd (Files): Add lib/unistd_.h.
4471         (Makefile.am): Generate unistd.h from unistd_.h.
4472         * lib/fchdir.c: New file.
4473         * lib/dirent_.h: New file.
4474         * lib/unistd_.h: New file.
4475         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
4476         * m4/fchdir.m4: New file.
4477         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
4478         (gl_HEADER_UNISTD): Invoke it.
4479         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
4480         function.
4481         * lib/backupfile.c (opendir, closedir): Undefine.
4482         * lib/chown.c (open, close): Undefine.
4483         * lib/clean-temp.c (open, close): Undefine.
4484         * lib/copy-file.c (open, close): Undefine.
4485         * lib/execute.c (open, close): Undefine.
4486         * lib/fsusage.c (open, close): Undefine.
4487         * lib/gc-gnulib.c (open, close): Undefine.
4488         * lib/getcwd.c (opendir, closedir): Undefine.
4489         * lib/glob.c (opendir, closedir): Undefine.
4490         * lib/javacomp.c (open, close): Undefine.
4491         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
4492         * lib/openat-proc.c (open, close): Undefine.
4493         * lib/pagealign_alloc.c (open, close): Undefine.
4494         * lib/pipe.c (open, close): Undefine.
4495         * lib/progreloc.c (open, close): Undefine.
4496         * lib/savedir.c (opendir, closedir): Undefine.
4497         * lib/utime.c (open, close): Undefine.
4498         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
4499
4500 2007-01-10  Bruno Haible  <bruno@clisp.org>
4501
4502         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
4503
4504 2007-01-12  Eric Blake  <ebb9@byu.net>
4505
4506         Provide a robust <wchar.h>.  Further simplifications are now
4507         possible in other modules, but not included here.
4508         * modules/wchar: New module.
4509         * m4/wchar.m4: New file.
4510         * lib/wchar_.h: Likewise.
4511         * modules/mbchar (Depends-on): Depend on wchar, as the first use
4512         of the new module.
4513         * MODULES.html.sh (Extended multibyte and wide character utilities):
4514         New section.
4515
4516 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
4517
4518         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
4519         to a reasonable default for memory allocation.
4520         (xreadlink): Don't allocate a huge buffer, to work around a buggy
4521         file system that reports garbage st_size values for symlinks.
4522         Problem reported by Liyang Hu.
4523
4524 2007-01-11  Simon Josefsson  <simon@josefsson.org>
4525
4526         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
4527         Emacs .#* auto-save files).
4528
4529 2007-01-11  Bruno Haible  <bruno@clisp.org>
4530
4531         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
4532         directory.
4533
4534 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
4535
4536         Use @...@ consistently in lib/wctype_.h.
4537         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
4538         on it being set to 1 or 0.
4539         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
4540         go back to AC_SUBSTing it.
4541         * modules/wctype (Makefile.am): Undo previous change.
4542
4543 2007-01-10  Eric Blake  <ebb9@byu.net>
4544
4545         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
4546         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
4547         * modules/wctype (Makefile.am): Likewise.
4548         Reported by Chris McGuire.
4549
4550 2007-01-10  Jim Meyering  <jim@meyering.net>
4551
4552         fts.c: a small readability/maintainability improvement
4553         * lib/fts.c (fts_read): Make this code slightly more readable and
4554         maintainable by hoisting the "sp->fts_cur = p" assignments to
4555         immediately follow the statements that set P.  Derived from
4556         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
4557
4558 2007-01-10  Eric Blake  <ebb9@byu.net>
4559
4560         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
4561         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
4562         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
4563         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
4564         Reported by Chris McGuire.
4565
4566 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4567
4568         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
4569         in sed script.
4570
4571 2007-01-09  Bruno Haible  <bruno@clisp.org>
4572
4573         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
4574         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
4575         variables.
4576         (func_module): Use them.
4577
4578 2007-01-09  Bruno Haible  <bruno@clisp.org>
4579
4580         * modules/unistr/base: New file.
4581         * lib/unistr.h: New file.
4582
4583         * modules/unistr/u8-to-u16: New file.
4584         * lib/unistr/u8-to-u16.c: New file.
4585
4586         * modules/unistr/u8-to-u32: New file.
4587         * lib/unistr/u8-to-u32.c: New file.
4588
4589         * modules/unistr/u16-to-u8: New file.
4590         * lib/unistr/u16-to-u8.c: New file.
4591
4592         * modules/unistr/u16-to-u32: New file.
4593         * lib/unistr/u16-to-u32.c: New file.
4594
4595         * modules/unistr/u32-to-u8: New file.
4596         * lib/unistr/u32-to-u8.c: New file.
4597
4598         * modules/unistr/u32-to-u16: New file.
4599         * lib/unistr/u32-to-u16.c: New file.
4600
4601         * modules/unistr/u8-check: New file.
4602         * modules/unistr/u16-check: New file.
4603         * modules/unistr/u32-check: New file.
4604         * lib/unistr/u8-check.c: New file.
4605         * lib/unistr/u16-check.c: New file.
4606         * lib/unistr/u32-check.c: New file.
4607
4608         * modules/unistr/u8-chr: New file.
4609         * modules/unistr/u16-chr: New file.
4610         * modules/unistr/u32-chr: New file.
4611         * lib/unistr/u8-chr.c: New file.
4612         * lib/unistr/u16-chr.c: New file.
4613         * lib/unistr/u32-chr.c: New file.
4614
4615         * modules/unistr/u8-cmp: New file.
4616         * modules/unistr/u16-cmp: New file.
4617         * modules/unistr/u32-cmp: New file.
4618         * lib/unistr/u8-cmp.c: New file.
4619         * lib/unistr/u16-cmp.c: New file.
4620         * lib/unistr/u32-cmp.c: New file.
4621
4622         * modules/unistr/u8-cpy: New file.
4623         * modules/unistr/u16-cpy: New file.
4624         * modules/unistr/u32-cpy: New file.
4625         * lib/unistr/u8-cpy.c: New file.
4626         * lib/unistr/u16-cpy.c: New file.
4627         * lib/unistr/u32-cpy.c: New file.
4628         * lib/unistr/u-cpy.h: New file.
4629
4630         * modules/unistr/u8-cpy-alloc: New file.
4631         * modules/unistr/u16-cpy-alloc: New file.
4632         * modules/unistr/u32-cpy-alloc: New file.
4633         * lib/unistr/u8-cpy-alloc.c: New file.
4634         * lib/unistr/u16-cpy-alloc.c: New file.
4635         * lib/unistr/u32-cpy-alloc.c: New file.
4636         * lib/unistr/u-cpy-alloc.h: New file.
4637
4638         * modules/unistr/u8-endswith: New file.
4639         * modules/unistr/u16-endswith: New file.
4640         * modules/unistr/u32-endswith: New file.
4641         * lib/unistr/u8-endswith.c: New file.
4642         * lib/unistr/u16-endswith.c: New file.
4643         * lib/unistr/u32-endswith.c: New file.
4644         * lib/unistr/u-endswith.h: New file.
4645
4646         * modules/unistr/u8-mblen: New file.
4647         * modules/unistr/u16-mblen: New file.
4648         * modules/unistr/u32-mblen: New file.
4649         * lib/unistr/u8-mblen.c: New file.
4650         * lib/unistr/u16-mblen.c: New file.
4651         * lib/unistr/u32-mblen.c: New file.
4652
4653         * modules/unistr/u8-mbtouc: New file.
4654         * modules/unistr/u16-mbtouc: New file.
4655         * modules/unistr/u32-mbtouc: New file.
4656         * lib/unistr/u8-mbtouc.c: New file.
4657         * lib/unistr/u16-mbtouc.c: New file.
4658         * lib/unistr/u32-mbtouc.c: New file.
4659
4660         * modules/unistr/u8-mbtouc-safe: New file.
4661         * modules/unistr/u16-mbtouc-safe: New file.
4662         * modules/unistr/u32-mbtouc-safe: New file.
4663         * lib/unistr/u8-mbtouc-safe.c: New file.
4664         * lib/unistr/u16-mbtouc-safe.c: New file.
4665         * lib/unistr/u32-mbtouc-safe.c: New file.
4666
4667         * modules/unistr/u8-move: New file.
4668         * modules/unistr/u16-move: New file.
4669         * modules/unistr/u32-move: New file.
4670         * lib/unistr/u8-move.c: New file.
4671         * lib/unistr/u16-move.c: New file.
4672         * lib/unistr/u32-move.c: New file.
4673         * lib/unistr/u-move.h: New file.
4674
4675         * modules/unistr/u8-next: New file.
4676         * modules/unistr/u16-next: New file.
4677         * modules/unistr/u32-next: New file.
4678         * lib/unistr/u8-next.c: New file.
4679         * lib/unistr/u16-next.c: New file.
4680         * lib/unistr/u32-next.c: New file.
4681
4682         * modules/unistr/u8-prev: New file.
4683         * modules/unistr/u16-prev: New file.
4684         * modules/unistr/u32-prev: New file.
4685         * lib/unistr/u8-prev.c: New file.
4686         * lib/unistr/u16-prev.c: New file.
4687         * lib/unistr/u32-prev.c: New file.
4688
4689         * modules/unistr/u8-set: New file.
4690         * modules/unistr/u16-set: New file.
4691         * modules/unistr/u32-set: New file.
4692         * lib/unistr/u8-set.c: New file.
4693         * lib/unistr/u16-set.c: New file.
4694         * lib/unistr/u32-set.c: New file.
4695         * lib/unistr/u-set.h: New file.
4696
4697         * modules/unistr/u8-startswith: New file.
4698         * modules/unistr/u16-startswith: New file.
4699         * modules/unistr/u32-startswith: New file.
4700         * lib/unistr/u8-startswith.c: New file.
4701         * lib/unistr/u16-startswith.c: New file.
4702         * lib/unistr/u32-startswith.c: New file.
4703         * lib/unistr/u-startswith.h: New file.
4704
4705         * modules/unistr/u8-stpcpy: New file.
4706         * modules/unistr/u16-stpcpy: New file.
4707         * modules/unistr/u32-stpcpy: New file.
4708         * lib/unistr/u8-stpcpy.c: New file.
4709         * lib/unistr/u16-stpcpy.c: New file.
4710         * lib/unistr/u32-stpcpy.c: New file.
4711         * lib/unistr/u-stpcpy.h: New file.
4712
4713         * modules/unistr/u8-stpncpy: New file.
4714         * modules/unistr/u16-stpncpy: New file.
4715         * modules/unistr/u32-stpncpy: New file.
4716         * lib/unistr/u8-stpncpy.c: New file.
4717         * lib/unistr/u16-stpncpy.c: New file.
4718         * lib/unistr/u32-stpncpy.c: New file.
4719         * lib/unistr/u-stpncpy.h: New file.
4720
4721         * modules/unistr/u8-strcat: New file.
4722         * modules/unistr/u16-strcat: New file.
4723         * modules/unistr/u32-strcat: New file.
4724         * lib/unistr/u8-strcat.c: New file.
4725         * lib/unistr/u16-strcat.c: New file.
4726         * lib/unistr/u32-strcat.c: New file.
4727         * lib/unistr/u-strcat.h: New file.
4728
4729         * modules/unistr/u8-strchr: New file.
4730         * modules/unistr/u16-strchr: New file.
4731         * modules/unistr/u32-strchr: New file.
4732         * lib/unistr/u8-strchr.c: New file.
4733         * lib/unistr/u16-strchr.c: New file.
4734         * lib/unistr/u32-strchr.c: New file.
4735
4736         * modules/unistr/u8-strcmp: New file.
4737         * modules/unistr/u16-strcmp: New file.
4738         * modules/unistr/u32-strcmp: New file.
4739         * lib/unistr/u8-strcmp.c: New file.
4740         * lib/unistr/u16-strcmp.c: New file.
4741         * lib/unistr/u32-strcmp.c: New file.
4742
4743         * modules/unistr/u8-strcpy: New file.
4744         * modules/unistr/u16-strcpy: New file.
4745         * modules/unistr/u32-strcpy: New file.
4746         * lib/unistr/u8-strcpy.c: New file.
4747         * lib/unistr/u16-strcpy.c: New file.
4748         * lib/unistr/u32-strcpy.c: New file.
4749         * lib/unistr/u-strcpy.h: New file.
4750
4751         * modules/unistr/u8-strcspn: New file.
4752         * modules/unistr/u16-strcspn: New file.
4753         * modules/unistr/u32-strcspn: New file.
4754         * lib/unistr/u8-strcspn.c: New file.
4755         * lib/unistr/u16-strcspn.c: New file.
4756         * lib/unistr/u32-strcspn.c: New file.
4757         * lib/unistr/u-strcspn.h: New file.
4758
4759         * modules/unistr/u8-strdup: New file.
4760         * modules/unistr/u16-strdup: New file.
4761         * modules/unistr/u32-strdup: New file.
4762         * lib/unistr/u8-strdup.c: New file.
4763         * lib/unistr/u16-strdup.c: New file.
4764         * lib/unistr/u32-strdup.c: New file.
4765         * lib/unistr/u-strdup.h: New file.
4766
4767         * modules/unistr/u8-strlen: New file.
4768         * modules/unistr/u16-strlen: New file.
4769         * modules/unistr/u32-strlen: New file.
4770         * lib/unistr/u8-strlen.c: New file.
4771         * lib/unistr/u16-strlen.c: New file.
4772         * lib/unistr/u32-strlen.c: New file.
4773         * lib/unistr/u-strlen.h: New file.
4774
4775         * modules/unistr/u8-strmblen: New file.
4776         * modules/unistr/u16-strmblen: New file.
4777         * modules/unistr/u32-strmblen: New file.
4778         * lib/unistr/u8-strmblen.c: New file.
4779         * lib/unistr/u16-strmblen.c: New file.
4780         * lib/unistr/u32-strmblen.c: New file.
4781
4782         * modules/unistr/u8-strmbtouc: New file.
4783         * modules/unistr/u16-strmbtouc: New file.
4784         * modules/unistr/u32-strmbtouc: New file.
4785         * lib/unistr/u8-strmbtouc.c: New file.
4786         * lib/unistr/u16-strmbtouc.c: New file.
4787         * lib/unistr/u32-strmbtouc.c: New file.
4788
4789         * modules/unistr/u8-strncat: New file.
4790         * modules/unistr/u16-strncat: New file.
4791         * modules/unistr/u32-strncat: New file.
4792         * lib/unistr/u8-strncat.c: New file.
4793         * lib/unistr/u16-strncat.c: New file.
4794         * lib/unistr/u32-strncat.c: New file.
4795         * lib/unistr/u-strncat.h: New file.
4796
4797         * modules/unistr/u8-strncmp: New file.
4798         * modules/unistr/u16-strncmp: New file.
4799         * modules/unistr/u32-strncmp: New file.
4800         * lib/unistr/u8-strncmp.c: New file.
4801         * lib/unistr/u16-strncmp.c: New file.
4802         * lib/unistr/u32-strncmp.c: New file.
4803
4804         * modules/unistr/u8-strncpy: New file.
4805         * modules/unistr/u16-strncpy: New file.
4806         * modules/unistr/u32-strncpy: New file.
4807         * lib/unistr/u8-strncpy.c: New file.
4808         * lib/unistr/u16-strncpy.c: New file.
4809         * lib/unistr/u32-strncpy.c: New file.
4810         * lib/unistr/u-strncpy.h: New file.
4811
4812         * modules/unistr/u8-strnlen: New file.
4813         * modules/unistr/u16-strnlen: New file.
4814         * modules/unistr/u32-strnlen: New file.
4815         * lib/unistr/u8-strnlen.c: New file.
4816         * lib/unistr/u16-strnlen.c: New file.
4817         * lib/unistr/u32-strnlen.c: New file.
4818         * lib/unistr/u-strnlen.h: New file.
4819
4820         * modules/unistr/u8-strpbrk: New file.
4821         * modules/unistr/u16-strpbrk: New file.
4822         * modules/unistr/u32-strpbrk: New file.
4823         * lib/unistr/u8-strpbrk.c: New file.
4824         * lib/unistr/u16-strpbrk.c: New file.
4825         * lib/unistr/u32-strpbrk.c: New file.
4826         * lib/unistr/u-strpbrk.h: New file.
4827
4828         * modules/unistr/u8-strrchr: New file.
4829         * modules/unistr/u16-strrchr: New file.
4830         * modules/unistr/u32-strrchr: New file.
4831         * lib/unistr/u8-strrchr.c: New file.
4832         * lib/unistr/u16-strrchr.c: New file.
4833         * lib/unistr/u32-strrchr.c: New file.
4834
4835         * modules/unistr/u8-strspn: New file.
4836         * modules/unistr/u16-strspn: New file.
4837         * modules/unistr/u32-strspn: New file.
4838         * lib/unistr/u8-strspn.c: New file.
4839         * lib/unistr/u16-strspn.c: New file.
4840         * lib/unistr/u32-strspn.c: New file.
4841         * lib/unistr/u-strspn.h: New file.
4842
4843         * modules/unistr/u8-strstr: New file.
4844         * modules/unistr/u16-strstr: New file.
4845         * modules/unistr/u32-strstr: New file.
4846         * lib/unistr/u8-strstr.c: New file.
4847         * lib/unistr/u16-strstr.c: New file.
4848         * lib/unistr/u32-strstr.c: New file.
4849         * lib/unistr/u-strstr.h: New file.
4850
4851         * modules/unistr/u8-strtok: New file.
4852         * modules/unistr/u16-strtok: New file.
4853         * modules/unistr/u32-strtok: New file.
4854         * lib/unistr/u8-strtok.c: New file.
4855         * lib/unistr/u16-strtok.c: New file.
4856         * lib/unistr/u32-strtok.c: New file.
4857         * lib/unistr/u-strtok.h: New file.
4858
4859         * modules/unistr/u8-uctomb: New file.
4860         * modules/unistr/u16-uctomb: New file.
4861         * modules/unistr/u32-uctomb: New file.
4862         * lib/unistr/u8-uctomb.c: New file.
4863         * lib/unistr/u16-uctomb.c: New file.
4864         * lib/unistr/u32-uctomb.c: New file.
4865
4866         * MODULES.html.sh (Unicode string functions): Add the new modules.
4867
4868 2007-01-08  Bruno Haible  <bruno@clisp.org>
4869
4870         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
4871         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
4872         subdirectories.
4873
4874 2007-01-08  Karl Berry  <karl@gnu.org>
4875
4876         * doc/error.texi: mention that main() fns must set program_name
4877         when progname is used.
4878
4879 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
4880
4881         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
4882         WCTYPE_H is empty, for the benefit of builds from non-distclean
4883         directories.  Problem reported by Eric Blake in
4884         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
4885
4886 2007-01-08  Bruno Haible  <bruno@clisp.org>
4887
4888         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
4889         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
4890         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
4891         PROVIDE_CANONICALIZE_FILENAME_MODE.
4892         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
4893
4894 2007-01-08  Bruno Haible  <bruno@clisp.org>
4895
4896         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
4897         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
4898         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
4899         * lib/fts.c: Likewise.
4900         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
4901
4902 2006-12-25  Bruno Haible  <bruno@clisp.org>
4903
4904         * modules/utf8-ucs4-safe: New file.
4905         * lib/utf8-ucs4-safe.h: New file.
4906         * lib/unistr/utf8-ucs4-safe.c: New file.
4907
4908         * modules/utf16-ucs4-safe: New file.
4909         * lib/utf16-ucs4-safe.h: New file.
4910         * lib/unistr/utf16-ucs4-safe.c: New file.
4911
4912         * MODULES.html.sh (Unicode string functions): Add the new modules.
4913
4914 2007-01-08  Bruno Haible  <bruno@clisp.org>
4915
4916         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
4917         (Depends-on): Add unitypes.
4918         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
4919         (u8_mbtouc_aux): Move out to separate file.
4920         (u8_mbtouc): Use ucs4_t, uint8_t types.
4921         * lib/unistr/utf8-ucs4.c: New file.
4922
4923         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
4924         (Depends-on): Add unitypes.
4925         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
4926         (u16_mbtouc_aux): Move out to separate file.
4927         (u16_mbtouc): Use ucs4_t, uint16_t types.
4928         * lib/unistr/utf16-ucs4.c: New file.
4929
4930         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
4931         (Depends-on): Add unitypes.
4932         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
4933         (u8_uctomb_aux): Move out to separate file.
4934         (u8_uctomb): Use ucs4_t, uint8_t types.
4935         * lib/unistr/ucs4-utf8.c: New file.
4936
4937         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
4938         (Depends-on): Add unitypes.
4939         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
4940         (u16_uctomb_aux): Move out to separate file.
4941         (u16_uctomb): Use ucs4_t, uint16_t types.
4942         * lib/unistr/ucs4-utf16.c: New file.
4943
4944 2006-12-25  Bruno Haible  <bruno@clisp.org>
4945
4946         * modules/unitypes: New file.
4947         * lib/unitypes.h: New file.
4948         * MODULES.html.sh (func_all_modules): New section "Unicode string
4949         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
4950         this section. Add unitypes.
4951
4952 2007-01-08  Bruno Haible  <bruno@clisp.org>
4953
4954         Avoid variable names that conflict with those from libtool.
4955         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
4956         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
4957         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
4958         library_names_spec to acl_library_names_spec, hardcode_* to
4959         acl_hardcode_*.
4960         Reported by Ralf Wildenhues.
4961
4962 2007-01-08  Bruno Haible  <bruno@clisp.org>
4963
4964         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
4965         definition.
4966         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
4967         definition.
4968         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
4969         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
4970         definition.
4971         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
4972         definition.
4973         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
4974         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
4975         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
4976         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
4977         definition.
4978         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
4979         definition.
4980         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
4981         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
4982         GC_USE_<algorithm>.
4983         * lib/gc-libgcrypt.c: Likewise.
4984         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
4985         * modules/gc-arctwo (configure.ac): Likewise.
4986         * modules/gc-des (configure.ac): Likewise.
4987         * modules/gc-hmac-md5 (configure.ac): Likewise.
4988         * modules/gc-hmac-sha1 (configure.ac): Likewise.
4989         * modules/gc-md2 (configure.ac): Likewise.
4990         * modules/gc-md4 (configure.ac): Likewise.
4991         * modules/gc-md5 (configure.ac): Likewise.
4992         * modules/gc-random (configure.ac): Likewise.
4993         * modules/gc-rijndael (configure.ac): Likewise.
4994         * modules/gc-sha1 (configure.ac): Likewise.
4995
4996 2007-01-08  Bruno Haible  <bruno@clisp.org>
4997
4998         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
4999         macro definition.
5000         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
5001         definition.
5002         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
5003         definition.
5004         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
5005         * modules/fcntl-safer (configure.ac): Likewise.
5006         * modules/fopen-safer (configure.ac): Likewise.
5007         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
5008         GNULIB_FWRITEERROR macro definition.
5009
5010 2007-01-08  Bruno Haible  <bruno@clisp.org>
5011
5012         * m4/gnulib-common.m4: New file.
5013         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
5014         (func_get_filelist): Add m4/gnulib-common.m4.
5015
5016 2007-01-08  Bruno Haible  <bruno@clisp.org>
5017
5018         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
5019         command.
5020
5021 2007-01-08  Jim Meyering  <jim@meyering.net>
5022
5023         Use a more robust test for a "can't happen" condition.
5024         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
5025         narrowed the st_size value.  Presuming the "can't happen" condition
5026         is true, that narrowing could conceivably convert an invalid st_size
5027         value into a valid one.  Instead, use a change based on Matthew
5028         Woehlke's original patch.
5029
5030         Slight readability improvement: use an assert-like macro
5031         in place of literal "abort ()" uses.
5032         * lib/fts.c (fts_assert): Define.
5033         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
5034         Use this macro instead of a bare 'abort'.
5035
5036 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
5037
5038         Don't worry about using IRIX 5.3's wctype.h broken definitions;
5039         simply work around them.
5040         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
5041         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
5042         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
5043         declaring.
5044         Don't bother to define as macros, since the standard doesn't require it.
5045         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
5046         longer worry about IRIX 5.3.
5047         (HAVE_WCTYPE_CTMP_BUG): Remove.
5048
5049 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
5050
5051         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
5052         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
5053         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
5054         Problems reported by Georg Schwarz for IRIX 5.3.
5055
5056         * gnulib-tool (autoconf_minversion): Take the maximum version number
5057         found, not the minimum.  Problem reported by James Youngman.
5058
5059 2007-01-03  Karl Berry  <karl@gnu.org>
5060
5061         * doc/error.texi: new file, explaining interaction with progname.
5062         * doc/gnulib.texi: include it.  Update copyright.
5063
5064 2007-01-03  Simon Josefsson  <simon@josefsson.org>
5065
5066         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
5067         AC_CANONICAL_HOST, to improve autobuild outputs.
5068
5069 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
5070             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
5071
5072         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
5073         sockets, server sockets, and other file descriptors.  Count errors
5074         to compute the return value.  Reorder the code a bit to be easier
5075         to follow.  Don't set event bits that were not requested (except
5076         POLLERR and POLLHUP).
5077
5078 2007-01-01  Bruno Haible  <bruno@clisp.org>
5079
5080         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
5081
5082 2007-01-03  Jim Meyering  <jim@meyering.net>
5083
5084         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
5085
5086 2007-01-02  Bruno Haible  <bruno@clisp.org>
5087
5088         * modules/settime (Include): Require timespec.h.
5089         * modules/nanosleep (Include): Likewise.
5090
5091 2007-01-01  Bruno Haible  <bruno@clisp.org>
5092
5093         * gnulib-tool (func_emit_copyright_notice): Bump year.
5094         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
5095
5096 2007-01-01  Bruno Haible  <bruno@clisp.org>
5097
5098         Improve support for OpenBSD.
5099         * build-aux/config.rpath (libname_spec): Export.
5100         (library_names_spec): New variable. Export.
5101         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
5102         library_names_spec from the config.rpath output. Locate shared library
5103         through the name pattern in library_names_spec.
5104
5105 2007-01-01  Eric Blake  <ebb9@byu.net>
5106
5107         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
5108
5109 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
5110
5111         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
5112         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
5113         assume the C locale, and avoid an "eval" that could cause trouble.
5114         Problem with SORT reported by Bob Proulx.
5115
5116         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
5117         Define.  Trivial patch from Henning Nielsen Lund, originally
5118         sent to bug-grep@gnu.org today.
5119
5120 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
5121
5122         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
5123         struct stat.  Problem reported by Henning Nielsen Lund.
5124         * lib/acl.c: Include acl.h first, to check interface.  Don't
5125         bother to include sys/types.h and sys/stat.h again.
5126
5127 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
5128
5129         Import the following change from libc; problem reported by
5130         Sven Verdoolaege.
5131
5132         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
5133
5134         [BZ #1373]
5135         * lib/argp.h: Remove __NTH for __argp_usage inline function.
5136
5137 2006-12-28  Jim Meyering  <jim@meyering.net>
5138
5139         * build-aux/announce-gen: Do not assume that the package
5140         builds any of tar.gz, tar.bz2, and .xdelta files.
5141         Suggestion from Simon Josefsson.
5142
5143 2006-12-28  Simon Josefsson  <simon@josefsson.org>
5144
5145         * modules/announce-gen: New file.
5146
5147 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5148
5149         * lib/mbchar.h: Just include <wctype.h>; the wctype module
5150         handles its gotchas now.
5151         * lib/mbswidth.c: Likewise.
5152         * lib/wcwidth.h: Likewise.
5153         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
5154         and iswcntrl; the wctype module does this stuff now.
5155         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
5156         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5157         * modules/mbchar (Depends-on): Add wctype.
5158         * modules/mbswidth (Depends-on): Likewise.
5159         * modules/wcwidth (Depends-on): Likewise.
5160
5161 2006-12-27  Eric Blake  <ebb9@byu.net>
5162
5163         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
5164         module uses more than what <wctype.h> is required to provide.
5165
5166 2006-12-26  Eric Blake  <ebb9@byu.net>
5167
5168         * gnulib-tool (sed_extract_prog): Avoid space-tab.
5169
5170 2006-12-26  Eric Blake  <ebb9@byu.net>
5171
5172         * modules/absolute-header: New module.
5173         * modules/fcntl (Depends-on): Depend on it.
5174         * modules/inttypes (Depends-on): Likewise.
5175         * modules/stdint (Depends-on): Likewise.
5176         * modules/sys_stat (Depends-on): Likewise.
5177         * modules/wctype (Depends-on): Likewise.
5178         * MODULES.html.sh (Support for building libraries and
5179         executables): Document it.
5180
5181 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5182
5183         * gnulib-tool (SED): Remove, undoing previous change.
5184         The problem was that it broke coreutils on Solaris, because
5185         "sed --posix" leaked into a makefile.
5186         (sed): New alias, if 'alias' and GNU sed.
5187
5188 2006-12-24  Jim Meyering  <jim@meyering.net>
5189
5190         Work around an fchownat bug in glibc-2.4:
5191         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
5192         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
5193         in spite of the -P option.
5194         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
5195         New macros.
5196         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
5197         * modules/openat (Files): Add lib/fchownat.c.
5198         * lib/openat.c (fchownat): Don't define here.  Move to...
5199         * lib/fchownat.c: ...this new file.
5200
5201 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5202
5203         Fix bug reported by Bruno Haible in
5204         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
5205         where quotearg.c didn't compile on Mac OS X 10.2 because it
5206         lacks <wchar.h> and wint_t.
5207         * lib/wctype_.h (__wctype_wint_t): New type.
5208         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
5209         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
5210         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
5211         Arg is now of type __wctype_wint_t, not wint_t.
5212         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
5213         substitute HAVE_WINT_T.
5214         * modules/wctype (Files): Add m4/wint_t.m4.
5215         (wctype.h): Substitute HAVE_WINT_T.
5216
5217 2006-12-23  Bruno Haible  <bruno@clisp.org>
5218
5219         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
5220
5221 2006-12-23  Bruno Haible  <bruno@clisp.org>
5222
5223         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
5224         S_ISLNK.
5225         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
5226         mingw.
5227
5228 2006-12-22  Bruno Haible  <bruno@clisp.org>
5229
5230         * lib/copy-file.c: Include acl.h.
5231         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
5232         Close the file descriptors only after being done with copy_acl.
5233         * modules/copy-file (Depends-on): Add acl.
5234
5235 2006-12-22  Bruno Haible  <bruno@clisp.org>
5236
5237         * gnulib-tool (SED): New variable.
5238         Use $SED instead of sed everywhere.
5239
5240 2006-12-22  Bruno Haible  <bruno@clisp.org>
5241
5242         * modules/no-c++: New file.
5243         * m4/no-c++.m4: New file.
5244         * MODULES.html.sh (Support for building libraries and executables):
5245         Add no-c++.
5246
5247 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5248
5249         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
5250         Include <limits.h>, and use its INT_MAX to rewrite the
5251         j loop so that it does not overflow 'int'.  Problem reported by
5252         Ralf Wildenhues in
5253         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
5254         Play it safe by shifting left by 1 rather than multiplying by 2,
5255         as GCC is less likely to optimize this away when the value
5256         is signed (when it assumes overflow leads to undefined behavior).
5257         Also, don't assume time_t uses two's complement.
5258
5259 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
5260
5261         * MODULES.html.sh: New module wctype.
5262         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
5263         * lib/fnmatch.c: Don't bother to include <wchar.h> before
5264         <wctype.h>, since the new wctype module should fix this.
5265         * lib/quotearg.c: Include <wctype.h> unconditionally, since
5266         the wctype module should arrange for it.
5267         * lib/regex_internal.h: Likewise.
5268         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
5269         since the wctype module should handle this now.
5270         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
5271         * modules/fnmatch (Depends-on): Add wctype.
5272         * modules/quotearg (Depends-on): Likewise.
5273         * modules/regex (Depends-on): Likewise.
5274
5275 2006-12-19  Bruno Haible  <bruno@clisp.org>
5276
5277         * lib/strdup.h [C++]: Wrap definitions in extern "C".
5278         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
5279
5280 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5281
5282         * modules/savewd (Depends-on): Fix dependency on fcntl.
5283
5284 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5285
5286         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
5287         conforms to C99, rather than relying on the user's environment
5288         setting of STDINT_H.
5289
5290 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5291         and Eric Blake  <ebb9@byu.net>
5292
5293         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
5294         This is more consistent with the other defines here.
5295         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
5296         Port to z/OS.  Problem reported by Paul Gilmartin.
5297         Change local vars to use gl_ prefix rather than ac_.
5298         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
5299         with other defines.
5300         * modules/double-slash-root: New module.
5301         * modules/dirname (Files): Remove m4/double-slash-root.m4.
5302         (Depends-on): Add double-slash-root.
5303         * MODULES.html.sh (File system functions): Mention new module.
5304
5305 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
5306
5307         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
5308         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
5309         This is for the benefit of gzip, which doesn't do i18n.
5310
5311 2006-12-12  Jim Meyering  <jim@meyering.net>
5312
5313         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
5314         Reported by Andreas Schwab <schwab@suse.de>.
5315
5316 2006-12-12  Bruno Haible  <bruno@clisp.org>
5317
5318         Merge these changes.
5319         2006-09-05  Bruno Haible  <bruno@clisp.org>
5320         * lib/iconvme.c (iconv_string): No need to save and restore errno when
5321         iconv_alloc succeeded.
5322         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
5323         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
5324         test for " && dest " at the end - dest is always != NULL there. Call
5325         iconv with 4xNULL arguments initially, to reset the state. Call iconv
5326         with 2xNULL arguments, also to flush the state storage. Handle the
5327         IRIX iconv behaviour. Realloc the final result, to throw away unused
5328         memory.
5329
5330 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
5331
5332         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
5333         and fchmodat unconditionally, since glibc 2.4 has them.
5334         Problem reported by Arkadiusz Miskiewicz.
5335
5336 2006-12-10  Bruno Haible  <bruno@clisp.org>
5337
5338         * gnulib-tool (func_import): Show the include files only for those
5339         modules that are copied and specified.
5340         Reported by Karl Berry.
5341
5342 2006-12-08  Jim Meyering  <jim@meyering.net>
5343
5344         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
5345         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
5346
5347         * build-aux/announce-gen: Add two new options, both optional:
5348         --bootstrap-tools=TOOL_LIST
5349               a comma-separated list of tools, e.g.,
5350               autoconf,automake,bison,gnulib
5351         --gnulib-snapshot-date=DATE
5352               if gnulib is in the bootstrap tool list,
5353               then report this as the snapshot date.
5354               If not specified, use the current date/time.
5355               If you specify a date here, be sure it's UTC.
5356
5357 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5358
5359         * tests/test-argp-2.sh: Fix test to match actual output.
5360         (func_compare): Fix sed script to be portable.
5361
5362 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
5363
5364         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
5365         workaround for this case.  It is not autoconfigured now; offhand
5366         it's hard to see how to autoconfigure it.
5367
5368 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
5369
5370         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
5371         a directory that is about to be chowned.  Such a directory's
5372         initial file permissions should permit the owner only and this
5373         should not be changed until after the chown, since the group and
5374         other bits would be incorrect if they granted permission before
5375         the chown.
5376
5377         Fix porting problem for iswctype reported by Georg Schwarz in:
5378         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
5379         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
5380         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
5381         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
5382         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5383
5384 2006-12-03  Jim Meyering  <jim@meyering.net>
5385
5386         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
5387         p->fts_statp may not yet be defined.
5388         (fts_read): Instead, set it in the caller, once p->fts_statp is
5389         sure to be defined, and corresponds to a top-level directory.
5390         This bug made du -x fail.  Here's the coreutils test case:
5391         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
5392         Reported by Mike Frysinger.
5393
5394 2006-12-01  Jim Meyering  <jim@meyering.net>
5395
5396         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
5397         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
5398         Reported by Simon Josefsson.
5399
5400 2006-11-30  Jim Meyering  <jim@meyering.net>
5401
5402         * m4/warning.m4: Use the all-permissive copyright notice
5403         recommended by RMS (rather than LGPL).
5404         * m4/vararrays.m4: Likewise.
5405         * m4/flexmember.m4: Likewise.
5406
5407 2006-11-29  Bruno Haible  <bruno@clisp.org>
5408
5409         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
5410         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
5411         using +=.
5412         Reported by Simon Josefsson <simon@josefsson.org>.
5413
5414 2006-11-28  James Youngman <jay@gnu.org>
5415
5416         * README: Advise users that they might find the bug-gnulib@gnu.org
5417         and autotools-announce@gnu.org mailing lists useful.
5418
5419 2006-11-28  Bruno Haible  <bruno@clisp.org>
5420
5421         * m4/ptrdiff_max.m4: Remove file.
5422
5423 2006-11-21  Bruno Haible  <bruno@clisp.org>
5424
5425         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
5426         _AC_COMPUTE_INT.
5427         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
5428         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
5429         _AC_COMPUTE_INT.
5430         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
5431         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
5432         _AC_COMPUTE_INT.
5433         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
5434
5435 2006-11-28  Jim Meyering  <jim@meyering.net>
5436
5437         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
5438         warning from "gcc -Wshadow" about shadowing the builtin.
5439
5440 2006-11-27  Bruno Haible  <bruno@clisp.org>
5441
5442         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
5443         _AC_COMPUTE_INT.
5444         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
5445
5446 2006-11-27  Bruno Haible  <bruno@clisp.org>
5447             Paul Eggert  <eggert@cs.ucla.edu>
5448
5449         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
5450
5451 2006-11-26  Bruno Haible  <bruno@clisp.org>
5452
5453         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
5454         noinst_LTLIBRARIES.
5455
5456 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
5457             Bruno Haible  <bruno@clisp.org>
5458
5459         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
5460         if compiling with "gcc -ansi".
5461
5462 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
5463
5464         Fix some incompatibilities with gcc -ansi -pedantic.
5465         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
5466         if compiling pedantically with GCC, unless it's C99 or later.
5467         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
5468         it mishandles gcc -ansi -pedantic as well.
5469         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
5470         if gcc -pedantic.
5471         * lib/regexec.c (check_node_accept_bytes): Don't use auto
5472         initializers for struct if -pedantic, unless it's C99 or later.
5473
5474 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
5475
5476         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
5477         Don't close an fd more than once. Identical atimes indicate
5478         success, not failure.
5479
5480 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
5481
5482         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
5483
5484 2006-11-23  Jim Meyering  <jim@meyering.net>
5485
5486         * build-aux/announce-gen: New file.  From coreutils.
5487
5488 2006-11-22  Jim Meyering  <jim@meyering.net>
5489
5490         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
5491         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
5492         (fts_read): Use a temporary to narrow the overused st_size member
5493         before using it in a switch statement.  Reported by Matthew Woehlke.
5494
5495         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
5496         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
5497
5498 2006-11-20  Bruno Haible  <bruno@clisp.org>
5499
5500         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
5501         changequote instead of pairs of brackets.
5502         Reported by Andreas Schwab <schwab@suse.de>.
5503
5504 2006-11-21  Jim Meyering  <jim@meyering.net>
5505
5506         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
5507         so as to remain compatible with older compilers.
5508         Patch from Michael Deutschmann.
5509
5510 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5511
5512         * MODULES.html.sh (File system functions): Add openat.
5513
5514         * lib/openat.h (rpl_fstatat): New macro, if
5515         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
5516         (fstatat): Define to rpl_fstatat under the same conditions,
5517         unless COMPILING_FSTATAT.
5518         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
5519         seems to have the bug.
5520         * lib/fstatat.c: New file.
5521         * modules/openat (Files): Add it.
5522
5523 2006-11-20  Bruno Haible  <bruno@clisp.org>
5524
5525         * Makefile: New file.
5526
5527 2006-11-20  Jim Meyering  <jim@meyering.net>
5528
5529         The beginnings of syntax-related checks for gnulib.
5530         * lib/Makefile: New file.
5531         * lib/t-idcache: New script.  Ensure that the two halves of
5532         idcache.c stay in sync.
5533
5534         * lib/idcache.c: Adjust comments in user- and group- portions to
5535         be more accurate, and to be consistent with one another.
5536
5537 2006-11-20  Jim Meyering  <jim@meyering.net>
5538
5539         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
5540         continue using the flexible array member (thus, this module performs
5541         half as many malloc calls), with the addition that...
5542         (getgroup, getuser): Consistently record a non-match via an empty
5543         "name" string, and map an empty string match to a NULL return value.
5544         * modules/idcache (Depends-on): Re-add flexmember.
5545
5546         * lib/idcache.c (getuser): Remove all uses of the register keyword.
5547         (getuidbyname, getgroup, getgidbyname): Likewise.
5548
5549         Use cleaner syntax: NULL rather than 0.
5550         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
5551
5552 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5553
5554         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
5555         It mishandled the case where the group was missing.
5556         Problem reported by Greg Schafer.
5557         * modules/idcache: Likewise.
5558
5559 2006-11-18  Jim Meyering  <jim@meyering.net>
5560
5561         * check-module (%exempt_header): Add exception for some
5562         conditionally-included headers.
5563
5564         * modules/i-ring (Depends-on): Add verify.
5565         (License): Change to LGPL.
5566
5567 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
5568
5569         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
5570         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
5571         and inttostr.h.  Use snprintf rather than uinttostr, so that
5572         LGPLed code doesn't depend on GPLed.
5573
5574 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
5575
5576         * modules/inline (License): Change from GPL to LGPL.
5577
5578 2006-11-17  Jim Meyering  <jim@meyering.net>
5579
5580         * modules/d-type (License): Switch to LGPL.
5581
5582 2006-11-15  Bruno Haible  <bruno@clisp.org>
5583
5584         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
5585
5586 2006-11-15  Eric Blake  <ebb9@byu.net>
5587
5588         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
5589         the module dependency.
5590
5591 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5592             Bruno Haible  <bruno@clisp.org>
5593
5594         * gnulib-tool (func_create_testdir): Add license consistency check.
5595
5596 2006-11-15  Eric Blake  <ebb9@byu.net>
5597
5598         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
5599         random "(cached)" in configure output.
5600
5601 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5602
5603         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
5604         test for conforming inttypes.h is both announced and cached.
5605
5606         * MODULES.html.sh (seen_modules, seen_files): New variables.
5607         (func_module): Rewrite to use a few less gnulib-tool and sed
5608         invocations.  Avoid a couple of quadratic algorithms for ...
5609         (missed_modules, missed_files): ... these, with ...
5610         (func_append, func_tmpdir): ... these new functions, from
5611         gnulib-tool.  Analogously, install traps for cleanup.
5612
5613         * tests/test-gc.c (main): Remove unused variables.
5614         * tests/test-read-file.c: Include stdlib.h, for 'free'.
5615
5616 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
5617
5618         * modules/inttostr (License): Change to LGPL.
5619
5620 2006-11-14  Eric Blake  <ebb9@byu.net>
5621
5622         * modules/tempname (License): Change to LGPL.
5623
5624 2006-11-14  Eric Blake  <ebb9@byu.net>
5625
5626         * doc/functions.texi (Function Portability): *printf functions on
5627         Cygwin now understand all POSIX size specifiers.
5628
5629 2006-11-14  Bruno Haible  <bruno@clisp.org>
5630
5631         * modules/c-ctype (License): Change to LGPL.
5632
5633 2006-11-12  Bruno Haible  <bruno@clisp.org>
5634
5635         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
5636         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
5637         for GNOME libraries, for which the include files are installed in
5638         subdirectories of $prefix/include.
5639
5640 2006-11-12  Bruno Haible  <bruno@clisp.org>
5641
5642         * m4/lib-link.m4: Require at least autoconf-2.54.
5643         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
5644         name to underscores for the --with option.
5645
5646 2006-11-13  Bruno Haible  <bruno@clisp.org>
5647
5648         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
5649         the tests directory.
5650         Reported by Ralf Wildenhues.
5651
5652 2006-11-13  Bruno Haible  <bruno@clisp.org>
5653
5654         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
5655         (func_emit_initmacro_end): Undo the override here.
5656         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
5657         Works around the famous automake error in coreutils.
5658
5659 2006-11-13  Eric Blake  <ebb9@byu.net>
5660
5661         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
5662         element, not its node.
5663
5664 2006-11-12  Bruno Haible  <bruno@clisp.org>
5665
5666         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
5667         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
5668
5669 2006-11-12  Bruno Haible  <bruno@clisp.org>
5670
5671         * gnulib-tool: New option --local-symlink.
5672         (func_usage): Document it.
5673         (lsymbolic): New variable.
5674         (func_import, func_create_testdir): If --symlink was not specified,
5675         test whether --local-symlink was specified and the file comes from
5676         the local_gnulib_dir.
5677
5678 2006-11-12  Bruno Haible  <bruno@clisp.org>
5679
5680         * gnulib-tool (func_ln): New function.
5681         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
5682
5683 2006-11-12  Bruno Haible  <bruno@clisp.org>
5684
5685         Finish support for source files in subdirectories.
5686         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
5687         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
5688         AUTOMAKE_OPTIONS.
5689         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
5690
5691 2006-11-12  Bruno Haible  <bruno@clisp.org>
5692
5693         * gnulib-tool (func_get_automake_snippet): Synthesize also an
5694         EXTRA_lib_SOURCES augmentation.
5695         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
5696
5697 2006-11-12  Jim Meyering  <jim@meyering.net>
5698
5699         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
5700         file descriptors.  This also averts a failure on systems with
5701         native openat support when a traversed directory lacks "x" access.
5702         * lib/fts_.h: Include "i-ring.h"
5703         (struct FTS) [fts_fd_ring]: New member.
5704         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
5705         (FCHDIR): Add parentheses.
5706         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
5707         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
5708         When descending, rather than simply closing the previous
5709         fts_cwd_fd value, push that file descriptor onto the ring.
5710         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
5711         (fts_open): Initialize the new fd_ring member.
5712         (fts_close): Clear the ring.
5713         (fts_safe_changedir): When possible, use our new fd_ring to skip
5714         the diropen and fstat and dev/ino comparison that would normally
5715         accompany a virtual `chdir ("..")'.
5716
5717         * modules/fts (Depends-on): Add i-ring.
5718         * modules/i-ring: New module.
5719         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
5720         * m4/i-ring.m4: New file.
5721
5722 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5723
5724         * gnulib-tool (func_create_testdir): Fix replacement of
5725         `build-aux' in configure.ac.  Run autotools in gltests
5726         subdirectory.
5727         (func_create_testdir, func_create_megatestdir, test): There is
5728         no need for '--force' in most autotool invocations in a new
5729         tree.  Actually fail the whole test if any of the tools, or the
5730         configure or make stages fail.
5731
5732         Sync from Automake.
5733         * build-aux/gnupload: Revert last change.  Add pointer to upload
5734         instructions of the GNU Maintenance Instructions.
5735         Suggestion by Karl Berry.
5736
5737 2006-11-10  Jim Meyering  <jim@meyering.net>
5738
5739         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
5740
5741 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
5742
5743         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
5744         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
5745         (bind_textdomain_codeset) [! ENABLE_NLS]:
5746         Evaluate all the arguments.  That way, callers get compatible behavior
5747         if the arguments have side effects.  Also, it avoids some GCC
5748         diagnostics in some cases; Joel E. Denny reported problems when Bison
5749         was configured with --enable-gcc-warnigs.
5750
5751 2006-11-10  Jim Meyering  <jim@meyering.net>
5752
5753         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
5754         relevant options in CFLAGS (like -O, -fno-inline) are taken into
5755         account.
5756
5757 2006-11-10  Jim Meyering  <jim@meyering.net>
5758
5759         * modules/inline: New file/module.
5760         * modules/xalloc (Files): Remove m4/inline.m4.
5761         (Depends-on): Add inline, instead.
5762         * modules/oset: Likewise.
5763         * modules/list: Likewise.
5764
5765 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
5766
5767         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
5768         Problem reported by Matthew Woehlke.
5769
5770 2006-11-09  Bruno Haible  <bruno@clisp.org>
5771
5772         * lib/tempname.c (gen_tempname): Remove variant that invokes
5773         __gen_tempname.
5774         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
5775         __gen_tempname.
5776
5777 2006-11-08  Bruno Haible  <bruno@clisp.org>
5778
5779         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
5780         to 'yes' instead of 'cross-compiling'.
5781
5782 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
5783
5784         * lib/quotearg.h (quotearg_free): New decl.
5785         * lib/quotearg.c (quotearg_free): New function.
5786         (slot0, nslots, slotvec0, slotvec):
5787         Now file-scope so that quotearg_free can get at them.
5788
5789 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5790
5791         Sync from Automake.
5792         * build-aux/gnupload: Add missing 'gnu' to example URL.
5793         Report by Karl Berry.
5794
5795 2006-11-08  Bruno Haible  <bruno@clisp.org>
5796
5797         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
5798         Suggested by Paul Eggert.
5799
5800 2006-11-08  Jim Meyering  <jim@meyering.net>
5801
5802         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
5803         It's already included if !_LIBC.
5804         (fts_safe_changedir): Add a comment.
5805
5806 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
5807
5808         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
5809         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
5810         Matthew Woehlke.
5811
5812         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
5813         definitions up, to avoid colliding with change below.
5814         (static_inline) [HAVE_INLINE]: New macro.
5815         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
5816         Provide extern decls when !HAVE_INLINE.  Do not define unless
5817         static_inline is defined, either by us or by xmalloc.c.  Use
5818         static_inline rather than static inline.
5819         (XCALLOC): Optimize sizeof(T) = 1 case.
5820         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
5821
5822 2006-11-07  Bruno Haible  <bruno@clisp.org>
5823
5824         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
5825         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
5826         AC_C_INLINE.
5827         * modules/xalloc (Files): Add m4/inline.m4.
5828
5829 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5830
5831         * README: Fix typo.
5832         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
5833         (Miscellanous Notes): ...from this.
5834
5835 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
5836
5837         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
5838         Mention that offsetof should be used instead of sizeof.
5839         From Bruno Haible.
5840
5841 2006-11-07  Bruno Haible  <bruno@clisp.org>
5842
5843         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
5844
5845 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
5846
5847         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
5848         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
5849         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
5850         (gl_tree_add_before, gl_tree_add_after):
5851         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
5852         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
5853         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
5854         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
5855         (gl_linked_add_after, gl_linked_add_at): Likewise.
5856         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
5857         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
5858         (gl_tree_add_before, gl_tree_add_after): Likewise.
5859         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
5860         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
5861         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
5862
5863 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5864
5865         * lib/gl_oset.h: Use C comment style, not C++ comment style.
5866
5867 2006-11-06  Bruno Haible  <bruno@clisp.org>
5868
5869         * m4/inline.m4: New file.
5870         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
5871         * modules/list (Files): Add m4/inline.m4.
5872         * modules/oset (Files): Likewise.
5873
5874 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
5875
5876         * lib/idcache.c: Include <stddef.h>, for offsetof.
5877         (struct userid.name): Change from char * to a flexible array member.
5878         All uses changed.
5879         * modules/idcache (Depends-on): Add flexmember.
5880
5881         * MODULES.html.sh (Core language properties): New module flexmember.
5882         * modules/flexmember, m4/flexmember.m4: New files.
5883
5884         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
5885         inline functions that are identical with the old xnmalloc_inline,
5886         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
5887         that we can avoid some unnecessary integer multiplications and
5888         divisions in the common case where the element size is known at
5889         compile time.
5890         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
5891         needed.
5892         (xnboundedmalloc): Remove.
5893         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
5894         arguments, for consistency with rest of this header.
5895         (xcharalloc): Rewrite using XNMALLOC.
5896         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
5897         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
5898         versions have been moved to lib/xalloc.h and renamed to be the
5899         non-*_inline versions.
5900         (xmalloc, xrealloc): Implement without reference to the xnmalloc
5901         and xnrealloc functions, since those functions are now inline and
5902         now call us.
5903         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
5904         renaming described above.
5905         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
5906         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
5907         captures the dependency in AC_C_INLINE.
5908
5909         New module canonicalize-lgpl, proposed by Charles Wilson in
5910         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
5911         with a few small changes afterwards.
5912         * MODULES.html.sh (File system functions): New module
5913         canonicalize-lgpl.
5914         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
5915         and canonicalize_file_name.
5916         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
5917         * modules/canonicalize-lgpl: New files.
5918
5919 2006-11-05  Bruno Haible  <bruno@clisp.org>
5920
5921         * gnulib-tool (func_import, func_create_testdir): Create directories
5922         also for files in subdirectories of lib/.
5923
5924 2006-11-05  Bruno Haible  <bruno@clisp.org>
5925
5926         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
5927         ANSI C compliant.
5928
5929 2006-11-03  Bruno Haible  <bruno@clisp.org>
5930
5931         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
5932         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
5933         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
5934         (xnboundedmalloc): New inline function.
5935         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
5936         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
5937         xmalloc.
5938         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
5939         xmalloc.
5940         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
5941         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
5942         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
5943         xmalloc.
5944         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
5945         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
5946         xmalloc.
5947         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
5948         gl_tree_add_after): Use XMALLOC instead of xmalloc.
5949         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
5950         xmalloc.
5951         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
5952         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
5953         gl_tree_add_after): Use XMALLOC instead of xmalloc.
5954         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
5955         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
5956         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
5957         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
5958
5959 2006-11-03  Bruno Haible  <bruno@clisp.org>
5960
5961         * lib/c-ctype.h [C++]: Define functions without name mangling.
5962         * lib/fwriteerror.h [C++]: Likewise.
5963         * lib/gcd.h [C++]: Likewise.
5964         * lib/linebreak.h [C++]: Likewise.
5965
5966 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
5967
5968         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
5969         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
5970         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
5971         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
5972         Check for functions and headers just once.
5973         Check for declaration of canonicalize_file_name.
5974         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
5975
5976 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
5977
5978         * gnulib-tool (func_import): Fix typo in actioncmd.
5979
5980 2006-11-02  Bruno Haible  <bruno@clisp.org>
5981
5982         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
5983         newline sequence in the Makefile.am snippet as a space, like "make"
5984         does.
5985         Reported by Roger Persson <perrog@gmail.com>.
5986
5987 2006-11-01  Bruno Haible  <bruno@clisp.org>
5988
5989         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
5990         already declared in <string.h>.
5991         * lib/strcase.h (strncasecmp): Don't declare it if yes.
5992
5993 2006-11-01  Bruno Haible  <bruno@clisp.org>
5994
5995         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
5996         * lib/strcase.h: Include <string.h>.
5997         (strcasecmp): Define to rpl_strcasecmp here.
5998
5999 2006-11-01  Bruno Haible  <bruno@clisp.org>
6000
6001         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
6002
6003 2006-11-01  Eric Blake  <ebb9@byu.net>
6004
6005         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
6006
6007         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
6008
6009 2006-10-29  Bruno Haible  <bruno@clisp.org>
6010
6011         Make it compile in C++ mode.
6012         * lib/full-write.c (full_rw): Add a cast.
6013
6014 2006-11-01  Bruno Haible  <bruno@clisp.org>
6015
6016         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
6017         be POSIX compliant.
6018         Reported by Roger Persson <perrog@gmail.com>.
6019
6020 2006-11-01  Eric Blake  <ebb9@byu.net>
6021
6022         * lib/getopt_.h: Fix comments.
6023
6024 2006-10-31  Eric Blake  <ebb9@byu.net>
6025
6026         * modules/tmpdir (Depends-on): Add sys_stat.
6027         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
6028         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
6029         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
6030         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
6031         tempname.
6032
6033 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
6034
6035         Avoid some C++ diagnostics reported by Bruno Haible.
6036         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
6037         xmalloc.
6038         (quotearg_alloc): Use xcharalloc rather than xmalloc.
6039         (struct slotvec): Move to top level.
6040         (quotearg_n_options): Rewrite to avoid xmalloc.
6041         * lib/xalloc.h (xcharalloc): New function.
6042         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
6043         [defined __cplusplus]: Add function template that provides result
6044         type propagation.  This part of the change is from Bruno Haible.
6045
6046 2006-10-29  Bruno Haible  <bruno@clisp.org>
6047
6048         Make it compile in C++ mode.
6049         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
6050         * lib/strnlen1.c (strnlen1): Cast memchr result.
6051         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
6052         * lib/clean-temp.c (string_equals, string_hash): Add casts.
6053         (create_temp_dir): Rename local variable 'template'.
6054         (compile_csharp_using_sscli): Add cast.
6055         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
6056         * lib/findprog.c (find_in_path): Likewise.
6057         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
6058         * lib/wait-process.c (register_slave_subprocess): Likewise.
6059
6060 2006-10-22  Bruno Haible  <bruno@clisp.org>
6061
6062         * modules/tsearch: New file.
6063         * lib/tsearch.h: New file.
6064         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
6065         * m4/tsearch.m4: New file.
6066         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
6067
6068 2006-10-29  Eric Blake  <ebb9@byu.net>
6069
6070         * lib/arcfour.c: Assume config.h.
6071         * lib/arctwo.c: Likewise.
6072         * lib/base64.c: Likewise.
6073         * lib/check-version.c: Likewise.
6074         * lib/crc.c: Likewise.
6075         * lib/des.c: Likewise.
6076         * lib/gc-gnulib.c: Likewise.
6077         * lib/gc-libgcrypt.c: Likewise.
6078         * lib/gc-pbkdf2-sha1.c: Likewise.
6079         * lib/getaddrinfo.c: Likewise.
6080         * lib/getdelim.c: Likewise.
6081         * lib/getline.c: Likewise.
6082         * lib/hmac-md5.c: Likewise.
6083         * lib/hmac-sha1.c: Likewise.
6084         * lib/iconvme.c: Likewise.
6085         * lib/md2.c: Likewise.
6086         * lib/md4.c: Likewise.
6087         * lib/memxor.c: Likewise.
6088         * lib/read-file.c: Likewise.
6089         * lib/readline.c: Likewise.
6090         * lib/rijndael-alg-fst.c: Likewise.
6091         * lib/rijndael-api-fst.c: Likewise.
6092         * lib/xgetdomainname.c: Likewise.
6093
6094 2006-10-28  Eric Blake  <ebb9@byu.net>
6095
6096         * lib/xstrndup.c: Assume config.h.
6097
6098 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6099
6100         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
6101         stat-macros.h is now for our own macros, whereas stat_h is for
6102         macros in the <sys/stat.h> name space.
6103         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
6104         (STAT_MACROS_H): Remove.
6105         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
6106         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
6107         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
6108         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
6109         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
6110         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
6111         Move these macros to ...
6112         * lib/stat_.h: here.  Don't include stat-macros.h.
6113         * lib/canonicalize.c: Don't include stat-macros.h.
6114         * lib/chown.c: Likewise.
6115         * lib/euidaccess.c: Likewise.
6116         * lib/file-type.c: Likewise.
6117         * lib/filemode.c: Likewise.
6118         * lib/glob.c: Likewise.
6119         * lib/isapipe.c: Likewise.
6120         * lib/lchown.c: Likewise.
6121         * lib/lstat.c: Likewise.
6122         * lib/mkdir-p.c: Likewise.
6123         * lib/rmdir.c: Likewise.
6124         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
6125         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
6126         unless mkdir isn't declared, to speed up 'configure'.
6127         Always create sys/stat.h, since it's unlikely any real sys/stat.h
6128         would define all the S_* symbols.
6129         * modules/canonicalize (Depends-on):
6130         Depend on sys_stat, not stat-macros.
6131         * modules/chown: Likewise.
6132         * modules/euidaccess: Likewise.
6133         * modules/filemode: Likewise.
6134         * modules/file-type: Likewise.
6135         * modules/glob: Likewise.
6136         * modules/isapipe: Likewise.
6137         * modules/lchown: Likewise.
6138         * modules/lstat: Likewise.
6139         * modules/mkancesdirs: Likewise.
6140         * modules/rmdir: Likewise.
6141         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
6142         * modules/modechange: Likewise.
6143         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
6144         (configure.ac): Remove gl_STAT_MACROS.
6145         * modules/sys_stat (Depends-on): Remove stat-macros.
6146
6147 2006-10-27  Bruno Haible  <bruno@clisp.org>
6148
6149         * m4/signed.m4: Remove file.
6150         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
6151         invocation.
6152         * modules/vasnprintf (Files): Remove m4/signed.m4.
6153
6154 2006-10-27  Bruno Haible  <bruno@clisp.org>
6155
6156         Update to GNU gettext 0.16.
6157         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
6158         m4/inttypes-h.m4, m4/signed.m4.
6159         * m4/gettext.m4: Update to GNU gettext 0.16.
6160         * m4/intl.m4: New file, from GNU gettext.
6161         * m4/intldir.m4: New file, from GNU gettext.
6162         * config/srclist.txt: Update
6163
6164 2006-10-27  Eric Blake  <ebb9@byu.net>
6165
6166         * MODULES.html.sh: Document tempname.
6167         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
6168         dependencies.
6169         (Files): Move lib/tempname.c...
6170         * modules/tempname: ...to this new module.
6171         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
6172         (gl_PREREQ_TEMPNAME): Move...
6173         * m4/tempname.m4: ...to this new file.
6174         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
6175         * modules/sys_stat (Depends-on): Add stat-macros.
6176         * lib/stat_.h (includes): Pick up stat macros.
6177         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
6178         if stat macros are broken.
6179         * lib/tempname.c (includes): No need to include "stat-macros.h".
6180         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
6181         (direxists, __path_search) [!_LIBC]: Don't compile these in
6182         gnulib; the tmpdir module covers that.
6183         * lib/tempname.h: New file.
6184
6185 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
6186
6187         * COPYING: Explain how gnulib-tool converts licence headers.
6188         Almost all wording by Eric Blake.
6189
6190 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
6191
6192         * lib/mbchar.h (is_basic_table): Make read-only.
6193         * lib/mbchar.c (is_basic_table): Likewise.
6194         Reported by John Darrington.
6195
6196 2006-10-25  Bruno Haible  <bruno@clisp.org>
6197
6198         * lib/progname.h (set_program_name): Undefine before defining.
6199
6200 2006-10-25  Bruno Haible  <bruno@clisp.org>
6201
6202         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
6203         false for non-gcc C++ compilers.
6204         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
6205
6206 2006-10-24  Bruno Haible  <bruno@clisp.org>
6207
6208         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
6209         iconv implementations like Irix iconv.
6210
6211 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
6212
6213         * modules/vararrays: New file.
6214         * m4/vararrays.m4: New file, taken from diffutils.
6215         * MODULES.html.sh: New module vararrays.
6216
6217 2006-10-24  Karl Berry  <karl@gnu.org>
6218
6219         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
6220         Don't call GNU Unix.
6221
6222 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6223
6224         * users.txt: Add Libtool.
6225
6226         Sync from Libtool:
6227
6228         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
6229
6230         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
6231         to gnulib's policy of including config.h unconditionally.
6232
6233 2006-10-24  Bruno Haible  <bruno@clisp.org>
6234
6235         * modules/wcwidth (Files): Add m4/wint_t.m4.
6236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
6237         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
6238
6239 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
6240
6241         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
6242         to pacify GCC with some -W flags enabled.  Problem reported by
6243         Bruno Haible.
6244
6245 2006-10-24  Jim Meyering  <jim@meyering.net>
6246
6247         * MODULES.html.sh: Remove uinttostr.  It's not a module.
6248         Reported by Karl Berry.
6249
6250 2006-10-23  Bruno Haible  <bruno@clisp.org>
6251
6252         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
6253
6254 2006-10-24  Bruno Haible  <bruno@clisp.org>
6255
6256         * lib/gl_list.h: Use C comment style, not C++ comment style.
6257
6258 2006-10-23  Eric Blake  <ebb9@byu.net>
6259
6260         * lib/getaddrinfo.c (includes): Add missing include.
6261
6262 2006-10-23  Bruno Haible  <bruno@clisp.org>
6263             Paul Eggert  <eggert@cs.ucla.edu>
6264
6265         Ability to rename obstack_free.
6266         * lib/obstack.h (__obstack_free): New macro. Declare instead of
6267         obstack_free.
6268         (obstack_free): Invoke the __obstack_free macro.
6269         * lib/obstack.c (obstack_free): Use __obstack_free macro.
6270
6271 2006-10-23  Bruno Haible  <bruno@clisp.org>
6272             Paul Eggert  <eggert@cs.ucla.edu>
6273
6274         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
6275         __argc, __argv from the declaration. (They are defined as macros on
6276         mingw.)
6277
6278 2006-10-22  Bruno Haible  <bruno@clisp.org>
6279
6280         * doc/gnulib-intro.texi: New file.
6281         * doc/gnulib.texi: Include it.
6282
6283 2006-10-21  Bruno Haible  <bruno@clisp.org>
6284
6285         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
6286         "Introduction", "Miscellanous Notes", "Particular Modules".
6287
6288 2006-10-21  Bruno Haible  <bruno@clisp.org>
6289
6290         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6291         Change mostlyclean-local rule to avoid sh syntax error from bash
6292         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
6293
6294 2006-10-23  Jim Meyering  <jim@meyering.net>
6295
6296         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
6297         in place of snprintf.
6298
6299         * modules/inttostr (Files): Add lib/uinttostr.c.
6300         * lib/uinttostr.c (inttostr): New file/function.
6301         * lib/inttostr.h (uinttostr): Declare.
6302         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
6303         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
6304         Add uinttostr.
6305         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
6306
6307 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
6308
6309         * lib/canonicalize.c (ELOOP): Define if not already defined.
6310         Problem reported by Bruno Haible in
6311         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
6312
6313 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
6314
6315         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
6316         Problem reported by Perry Smith and Ville Laurikari.
6317
6318         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
6319         uses.
6320
6321 2006-10-19  Bruno Haible  <bruno@clisp.org>
6322
6323         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
6324         for mingw.
6325
6326 2006-10-19  Bruno Haible  <bruno@clisp.org>
6327
6328         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
6329         Needed for mingw.
6330
6331 2006-10-19  Bruno Haible  <bruno@clisp.org>
6332
6333         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
6334
6335 2006-10-19  Bruno Haible  <bruno@clisp.org>
6336
6337         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
6338         it.
6339
6340 2006-10-19  Bruno Haible  <bruno@clisp.org>
6341
6342         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
6343         invocation.
6344
6345 2006-10-19  Bruno Haible  <bruno@clisp.org>
6346
6347         * gnulib-tool (func_create_testdir): Don't include ftruncate and
6348         mountlist by default.
6349
6350 2006-10-16  Bruno Haible  <bruno@clisp.org>
6351
6352         * lib/c-strstr.c: Include c-strstr.h.
6353
6354 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
6355
6356         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
6357         in a slash.
6358
6359 2006-10-18  Bruno Haible  <bruno@clisp.org>
6360
6361         * lib/lock.h [C++]: Wrap definitions in extern "C".
6362
6363 2006-10-18  Bruno Haible  <bruno@clisp.org>
6364
6365         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
6366         gl_LIBOBJS list.
6367
6368 2006-10-18  Bruno Haible  <bruno@clisp.org>
6369
6370         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
6371
6372 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
6373
6374         * lib/xstrtol.h: Include gettext.h.
6375         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
6376         Problem reported by Eric Blake.
6377         * modules/xstrtol (Depends-on): Add gettext-h.
6378
6379 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
6380
6381         * lib/strftime.c (advance): New macro.
6382         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
6383         incomplete type, so you can't add 0 to it.  Problem and patch
6384         reported by Eelco Dolstra for dietlibc.
6385
6386 2006-10-18  Jim Meyering  <jim@meyering.net>
6387
6388         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
6389         type for a local, and rename it: s/up/user_proc/.
6390
6391 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
6392
6393         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
6394         READ_UTMP_USER_PROCESS.
6395         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
6396
6397 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
6398
6399         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
6400         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
6401
6402 2006-10-17  Eric Blake  <ebb9@byu.net>
6403
6404         * lib/sigprocmask.c (sigprocmask): Fix typo.
6405
6406         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
6407
6408         * modules/clean-temp (Makefile.am): Don't add to make output...
6409         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
6410         config.h.
6411
6412 2006-10-17  Bruno Haible  <bruno@clisp.org>
6413
6414         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
6415         differently if DEFAULT_TEXT_DOMAIN is set.
6416
6417 2006-10-16  Bruno Haible  <bruno@clisp.org>
6418
6419         * lib/clean-temp.c: Include fwriteerror.h.
6420
6421 2006-10-16  Bruno Haible  <bruno@clisp.org>
6422
6423         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
6424
6425 2006-10-16  Bruno Haible  <bruno@clisp.org>
6426
6427         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
6428         * lib/sigprocmask.h: Include <sys/types.h>.
6429         (sigset_t): Use the system's definition if present.
6430
6431 2006-10-17  Eric Blake  <ebb9@byu.net>
6432
6433         * lib/xvasprintf.c (includes): Assume config.h.
6434         * lib/xasprintf.c (includes): Likewise.
6435
6436 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
6437
6438         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
6439         at least as wide as intmax_t.
6440
6441 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
6442
6443         (Imported from Automake.)
6444         * build-aux/gnupload: Update to version 1.1 of directive file.
6445
6446 2006-10-16  Eric Blake  <ebb9@byu.net>
6447
6448         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
6449         match Automake 1.10a.
6450
6451 2006-10-14  Bruno Haible  <bruno@clisp.org>
6452
6453         * modules/sigprocmask: New file.
6454         * lib/sigprocmask.h: New file.
6455         * lib/sigprocmask.c: New file.
6456         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
6457         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
6458         request sigprocmask.o.
6459         (gl_PREREQ_SIGPROCMASK): New macro.
6460         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
6461         (Depends-on): Add sigprocmask.
6462         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
6463         gt_SIGNALBLOCKING. Test for 'raise' only once.
6464         * lib/fatal-signal.c: Include sigprocmask.h.
6465         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
6466         unblock_fatal_signals): Define always.
6467         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
6468         sigprocmask.
6469
6470 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
6471
6472         Sync from Automake.
6473         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
6474         which incorrectly sets the mode of an existing destination
6475         directory.  In some cases the unpatched install-sh could do the
6476         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
6477         system.  We hope this is rare in practice, but it's clearly worth
6478         fixing.  Problem reported by Alex Unleashed in
6479         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
6480         Also, don't bother to check for -m bugs unless we're using -m;
6481         suggested by Stepan Kasal.
6482
6483 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6484
6485         Sync from Automake.
6486         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
6487         `-c' flag, so they appear at the same position as in %FASTDEP%
6488         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
6489         which ignores unknown options only after the first non-option.
6490         Bug report against M4 by Nelson H. F. Beebe.
6491
6492 2006-10-13  Jim Meyering  <jim@meyering.net>
6493
6494         Fix a bug in yesterday's change.
6495         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
6496         p->fts_statp->st_dev would be used uninitialized.
6497         Ensures that we always call fts_stat on the very first entry.
6498         Miklos Szeredi reported that find -xdev stopped working.
6499
6500 2006-10-12  Bruno Haible  <bruno@clisp.org>
6501
6502         * gnulib-tool (func_get_automake_snippet): Append an automatically
6503         computed EXTRA_DIST augmentation.
6504         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
6505         * modules/alloca-opt (Makefile.am): Likewise.
6506         * modules/allocsa (Makefile.am): Likewise.
6507         * modules/arcfour (Makefile.am): Likewise.
6508         * modules/arctwo (Makefile.am): Likewise.
6509         * modules/argmatch (Makefile.am): Likewise.
6510         * modules/argz (Makefile.am): Likewise.
6511         * modules/atexit (Makefile.am): Likewise.
6512         * modules/backupfile (Makefile.am): Likewise.
6513         * modules/byteswap (Makefile.am): Likewise.
6514         * modules/c-strtod (Makefile.am): Likewise.
6515         * modules/c-strtold (Makefile.am): Likewise.
6516         * modules/calloc (Makefile.am): Likewise.
6517         * modules/canon-host (Makefile.am): Likewise.
6518         * modules/canonicalize (Makefile.am): Likewise.
6519         * modules/chdir-long (Makefile.am): Likewise.
6520         * modules/chdir-safer (Makefile.am): Likewise.
6521         * modules/check-version (Makefile.am): Likewise.
6522         * modules/chown (Makefile.am): Likewise.
6523         * modules/cloexec (Makefile.am): Likewise.
6524         * modules/close-stream (Makefile.am): Likewise.
6525         * modules/closeout (Makefile.am): Likewise.
6526         * modules/crc (Makefile.am): Likewise.
6527         * modules/csharpexec (Makefile.am): Likewise.
6528         * modules/cycle-check (Makefile.am): Likewise.
6529         * modules/des (Makefile.am): Likewise.
6530         * modules/dev-ino (Makefile.am): Likewise.
6531         * modules/dirfd (Makefile.am): Likewise.
6532         * modules/dirname (Makefile.am): Likewise.
6533         * modules/dup2 (Makefile.am): Likewise.
6534         * modules/eealloc (Makefile.am): Likewise.
6535         * modules/error (Makefile.am): Likewise.
6536         * modules/euidaccess (Makefile.am): Likewise.
6537         * modules/exclude (Makefile.am): Likewise.
6538         * modules/exitfail (Makefile.am): Likewise.
6539         * modules/fcntl-safer (Makefile.am): Likewise.
6540         * modules/fcntl (Makefile.am): Likewise.
6541         * modules/file-type (Makefile.am): Likewise.
6542         * modules/fileblocks (Makefile.am): Likewise.
6543         * modules/filemode (Makefile.am): Likewise.
6544         * modules/filenamecat (Makefile.am): Likewise.
6545         * modules/fnmatch (Makefile.am): Likewise.
6546         * modules/fopen-safer (Makefile.am): Likewise.
6547         * modules/fpending (Makefile.am): Likewise.
6548         * modules/fprintftime (Makefile.am): Likewise.
6549         * modules/free (Makefile.am): Likewise.
6550         * modules/fsusage (Makefile.am): Likewise.
6551         * modules/ftruncate (Makefile.am): Likewise.
6552         * modules/fts (Makefile.am): Likewise.
6553         * modules/gc-arcfour (Makefile.am): Likewise.
6554         * modules/gc-des (Makefile.am): Likewise.
6555         * modules/gc-hmac-md5 (Makefile.am): Likewise.
6556         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
6557         * modules/gc-md4 (Makefile.am): Likewise.
6558         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
6559         * modules/gc-sha1 (Makefile.am): Likewise.
6560         * modules/gc (Makefile.am): Likewise.
6561         * modules/getaddrinfo (Makefile.am): Likewise.
6562         * modules/getcwd (Makefile.am): Likewise.
6563         * modules/getdelim (Makefile.am): Likewise.
6564         * modules/getdomainname (Makefile.am): Likewise.
6565         * modules/getgroups (Makefile.am): Likewise.
6566         * modules/gethostname (Makefile.am): Likewise.
6567         * modules/gethrxtime (Makefile.am): Likewise.
6568         * modules/getline (Makefile.am): Likewise.
6569         * modules/getloadavg (Makefile.am): Likewise.
6570         * modules/getlogin_r (Makefile.am): Likewise.
6571         * modules/getndelim2 (Makefile.am): Likewise.
6572         * modules/getopt (Makefile.am): Likewise.
6573         * modules/getpagesize (Makefile.am): Likewise.
6574         * modules/getpass-gnu (Makefile.am): Likewise.
6575         * modules/getpass (Makefile.am): Likewise.
6576         * modules/getsubopt (Makefile.am): Likewise.
6577         * modules/gettime (Makefile.am): Likewise.
6578         * modules/gettimeofday (Makefile.am): Likewise.
6579         * modules/getugroups (Makefile.am): Likewise.
6580         * modules/getusershell (Makefile.am): Likewise.
6581         * modules/glob (Makefile.am): Likewise.
6582         * modules/group-member (Makefile.am): Likewise.
6583         * modules/hard-locale (Makefile.am): Likewise.
6584         * modules/hash (Makefile.am): Likewise.
6585         * modules/hmac-md5 (Makefile.am): Likewise.
6586         * modules/hmac-sha1 (Makefile.am): Likewise.
6587         * modules/human (Makefile.am): Likewise.
6588         * modules/idcache (Makefile.am): Likewise.
6589         * modules/imaxabs (Makefile.am): Likewise.
6590         * modules/imaxdiv (Makefile.am): Likewise.
6591         * modules/inet_ntop (Makefile.am): Likewise.
6592         * modules/inet_pton (Makefile.am): Likewise.
6593         * modules/intprops (Makefile.am): Likewise.
6594         * modules/inttostr (Makefile.am): Likewise.
6595         * modules/inttypes (Makefile.am): Likewise.
6596         * modules/isapipe (Makefile.am): Likewise.
6597         * modules/javaversion (Makefile.am): Likewise.
6598         * modules/lchmod (Makefile.am): Likewise.
6599         * modules/lchown (Makefile.am): Likewise.
6600         * modules/localcharset (Makefile.am): Likewise.
6601         * modules/long-options (Makefile.am): Likewise.
6602         * modules/lstat (Makefile.am): Likewise.
6603         * modules/malloc (Makefile.am): Likewise.
6604         * modules/mathl (Makefile.am): Likewise.
6605         * modules/mbchar (Makefile.am): Likewise.
6606         * modules/md2 (Makefile.am): Likewise.
6607         * modules/md4 (Makefile.am): Likewise.
6608         * modules/md5 (Makefile.am): Likewise.
6609         * modules/memcasecmp (Makefile.am): Likewise.
6610         * modules/memchr (Makefile.am): Likewise.
6611         * modules/memcmp (Makefile.am): Likewise.
6612         * modules/memcoll (Makefile.am): Likewise.
6613         * modules/memcpy (Makefile.am): Likewise.
6614         * modules/memmem (Makefile.am): Likewise.
6615         * modules/memmove (Makefile.am): Likewise.
6616         * modules/mempcpy (Makefile.am): Likewise.
6617         * modules/memrchr (Makefile.am): Likewise.
6618         * modules/memset (Makefile.am): Likewise.
6619         * modules/memxor (Makefile.am): Likewise.
6620         * modules/mkancesdirs (Makefile.am): Likewise.
6621         * modules/mkdir-p (Makefile.am): Likewise.
6622         * modules/mkdir (Makefile.am): Likewise.
6623         * modules/mkdtemp (Makefile.am): Likewise.
6624         * modules/mkstemp (Makefile.am): Likewise.
6625         * modules/mktime (Makefile.am): Likewise.
6626         * modules/modechange (Makefile.am): Likewise.
6627         * modules/mountlist (Makefile.am): Likewise.
6628         * modules/nanosleep (Makefile.am): Likewise.
6629         * modules/obstack (Makefile.am): Likewise.
6630         * modules/openat (Makefile.am): Likewise.
6631         * modules/pagealign_alloc (Makefile.am): Likewise.
6632         * modules/pathmax (Makefile.am): Likewise.
6633         * modules/physmem (Makefile.am): Likewise.
6634         * modules/poll (Makefile.am): Likewise.
6635         * modules/posixtm (Makefile.am): Likewise.
6636         * modules/posixver (Makefile.am): Likewise.
6637         * modules/putenv (Makefile.am): Likewise.
6638         * modules/quote (Makefile.am): Likewise.
6639         * modules/quotearg (Makefile.am): Likewise.
6640         * modules/raise (Makefile.am): Likewise.
6641         * modules/read-file (Makefile.am): Likewise.
6642         * modules/readline (Makefile.am): Likewise.
6643         * modules/readlink (Makefile.am): Likewise.
6644         * modules/readtokens (Makefile.am): Likewise.
6645         * modules/readutmp (Makefile.am): Likewise.
6646         * modules/realloc (Makefile.am): Likewise.
6647         * modules/regex (Makefile.am): Likewise.
6648         * modules/rename-dest-slash (Makefile.am): Likewise.
6649         * modules/rename (Makefile.am): Likewise.
6650         * modules/rijndael (Makefile.am): Likewise.
6651         * modules/rmdir (Makefile.am): Likewise.
6652         * modules/rpmatch (Makefile.am): Likewise.
6653         * modules/safe-read (Makefile.am): Likewise.
6654         * modules/safe-write (Makefile.am): Likewise.
6655         * modules/same-inode (Makefile.am): Likewise.
6656         * modules/same (Makefile.am): Likewise.
6657         * modules/save-cwd (Makefile.am): Likewise.
6658         * modules/savedir (Makefile.am): Likewise.
6659         * modules/setenv (Makefile.am): Likewise.
6660         * modules/settime (Makefile.am): Likewise.
6661         * modules/sha1 (Makefile.am): Likewise.
6662         * modules/sig2str (Makefile.am): Likewise.
6663         * modules/snprintf (Makefile.am): Likewise.
6664         * modules/stat-macros (Makefile.am): Likewise.
6665         * modules/stat-time (Makefile.am): Likewise.
6666         * modules/stdbool (Makefile.am): Likewise.
6667         * modules/stdint (Makefile.am): Likewise.
6668         * modules/stdlib-safer (Makefile.am): Likewise.
6669         * modules/stpcpy (Makefile.am): Likewise.
6670         * modules/stpncpy (Makefile.am): Likewise.
6671         * modules/strcase (Makefile.am): Likewise.
6672         * modules/strcasestr (Makefile.am): Likewise.
6673         * modules/strchrnul (Makefile.am): Likewise.
6674         * modules/strcspn (Makefile.am): Likewise.
6675         * modules/strdup (Makefile.am): Likewise.
6676         * modules/strerror (Makefile.am): Likewise.
6677         * modules/strftime (Makefile.am): Likewise.
6678         * modules/strndup (Makefile.am): Likewise.
6679         * modules/strnlen (Makefile.am): Likewise.
6680         * modules/strpbrk (Makefile.am): Likewise.
6681         * modules/strsep (Makefile.am): Likewise.
6682         * modules/strstr (Makefile.am): Likewise.
6683         * modules/strtod (Makefile.am): Likewise.
6684         * modules/strtoimax (Makefile.am): Likewise.
6685         * modules/strtok_r (Makefile.am): Likewise.
6686         * modules/strtol (Makefile.am): Likewise.
6687         * modules/strtoll (Makefile.am): Likewise.
6688         * modules/strtoul (Makefile.am): Likewise.
6689         * modules/strtoull (Makefile.am): Likewise.
6690         * modules/strtoumax (Makefile.am): Likewise.
6691         * modules/strverscmp (Makefile.am): Likewise.
6692         * modules/sys_socket (Makefile.am): Likewise.
6693         * modules/sys_stat (Makefile.am): Likewise.
6694         * modules/sysexits (Makefile.am): Likewise.
6695         * modules/time_r (Makefile.am): Likewise.
6696         * modules/timegm (Makefile.am): Likewise.
6697         * modules/timespec (Makefile.am): Likewise.
6698         * modules/tmpfile-safer (Makefile.am): Likewise.
6699         * modules/trim (Makefile.am): Likewise.
6700         * modules/unistd-safer (Makefile.am): Likewise.
6701         * modules/unlinkdir (Makefile.am): Likewise.
6702         * modules/unlocked-io (Makefile.am): Likewise.
6703         * modules/userspec (Makefile.am): Likewise.
6704         * modules/utime (Makefile.am): Likewise.
6705         * modules/utimecmp (Makefile.am): Likewise.
6706         * modules/utimens (Makefile.am): Likewise.
6707         * modules/vasnprintf (Makefile.am): Likewise.
6708         * modules/vasprintf (Makefile.am): Likewise.
6709         * modules/vsnprintf (Makefile.am): Likewise.
6710         * modules/xalloc (Makefile.am): Likewise.
6711         * modules/xgetcwd (Makefile.am): Likewise.
6712         * modules/xnanosleep (Makefile.am): Likewise.
6713         * modules/xreadlink (Makefile.am): Likewise.
6714         * modules/xstrtod (Makefile.am): Likewise.
6715         * modules/xstrtol (Makefile.am): Likewise.
6716         * modules/xstrtold (Makefile.am): Likewise.
6717         * modules/yesno (Makefile.am): Likewise.
6718         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
6719
6720 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
6721
6722         * modules/error (Makefile.am): Distribute files through
6723         EXTRA_DIST, not lib_SOURCES.
6724
6725 2006-10-12  Eric Blake  <ebb9@byu.net>
6726
6727         * modules/error (Makefile.am): Distribute files in /lib.
6728         * modules/obstack (Makefile.am): Likewise.
6729
6730 2006-10-12  Bruno Haible  <bruno@clisp.org>
6731
6732         * modules/acl (Makefile.am): Distribute all files in lib/ through
6733         EXTRA_DIST.
6734         * modules/arcfour (Makefile.am): Likewise.
6735         * modules/arctwo (Makefile.am): Likewise.
6736         * modules/argmatch (Makefile.am): Likewise.
6737         * modules/argz (Makefile.am): Likewise.
6738         * modules/atexit (Makefile.am): Likewise.
6739         * modules/backupfile (Makefile.am): Likewise.
6740         * modules/c-strtod (Makefile.am): Likewise.
6741         * modules/c-strtold (Makefile.am): Likewise.
6742         * modules/calloc (Makefile.am): Likewise.
6743         * modules/canon-host (Makefile.am): Likewise.
6744         * modules/canonicalize (Makefile.am): Likewise.
6745         * modules/chdir-long (Makefile.am): Likewise.
6746         * modules/chdir-safer (Makefile.am): Likewise.
6747         * modules/check-version (Makefile.am): Likewise.
6748         * modules/chown (Makefile.am): Likewise.
6749         * modules/cloexec (Makefile.am): Likewise.
6750         * modules/close-stream (Makefile.am): Likewise.
6751         * modules/closeout (Makefile.am): Likewise.
6752         * modules/crc (Makefile.am): Likewise.
6753         * modules/cycle-check (Makefile.am): Likewise.
6754         * modules/des (Makefile.am): Likewise.
6755         * modules/dirfd (Makefile.am): Likewise.
6756         * modules/dirname (Makefile.am): Likewise.
6757         * modules/dup2 (Makefile.am): Likewise.
6758         * modules/euidaccess (Makefile.am): Likewise.
6759         * modules/exclude (Makefile.am): Likewise.
6760         * modules/exitfail (Makefile.am): Likewise.
6761         * modules/fcntl-safer (Makefile.am): Likewise.
6762         * modules/file-type (Makefile.am): Likewise.
6763         * modules/fileblocks (Makefile.am): Likewise.
6764         * modules/filemode (Makefile.am): Likewise.
6765         * modules/filenamecat (Makefile.am): Likewise.
6766         * modules/fnmatch (Makefile.am): Likewise.
6767         * modules/fopen-safer (Makefile.am): Likewise.
6768         * modules/fpending (Makefile.am): Likewise.
6769         * modules/fprintftime (Makefile.am): Likewise.
6770         * modules/free (Makefile.am): Likewise.
6771         * modules/fsusage (Makefile.am): Likewise.
6772         * modules/ftruncate (Makefile.am): Likewise.
6773         * modules/fts (Makefile.am): Likewise.
6774         * modules/gc (Makefile.am): Likewise.
6775         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
6776         * modules/getaddrinfo (Makefile.am): Likewise.
6777         * modules/getcwd (Makefile.am): Likewise.
6778         * modules/getdelim (Makefile.am): Likewise.
6779         * modules/getdomainname (Makefile.am): Likewise.
6780         * modules/getgroups (Makefile.am): Likewise.
6781         * modules/gethostname (Makefile.am): Likewise.
6782         * modules/gethrxtime (Makefile.am): Likewise.
6783         * modules/getline (Makefile.am): Likewise.
6784         * modules/getloadavg (Makefile.am): Likewise.
6785         * modules/getlogin_r (Makefile.am): Likewise.
6786         * modules/getopt (Makefile.am): Likewise.
6787         * modules/getpass (Makefile.am): Likewise.
6788         * modules/getpass-gnu (Makefile.am): Likewise.
6789         * modules/getsubopt (Makefile.am): Likewise.
6790         * modules/gettime (Makefile.am): Likewise.
6791         * modules/gettimeofday (Makefile.am): Likewise.
6792         * modules/getugroups (Makefile.am): Likewise.
6793         * modules/getusershell (Makefile.am): Likewise.
6794         * modules/glob (Makefile.am): Likewise.
6795         * modules/group-member (Makefile.am): Likewise.
6796         * modules/hard-locale (Makefile.am): Likewise.
6797         * modules/hash (Makefile.am): Likewise.
6798         * modules/hmac-md5 (Makefile.am): Likewise.
6799         * modules/hmac-sha1 (Makefile.am): Likewise.
6800         * modules/human (Makefile.am): Likewise.
6801         * modules/idcache (Makefile.am): Likewise.
6802         * modules/imaxabs (Makefile.am): Likewise.
6803         * modules/imaxdiv (Makefile.am): Likewise.
6804         * modules/inet_ntop (Makefile.am): Likewise.
6805         * modules/inet_pton (Makefile.am): Likewise.
6806         * modules/inttostr (Makefile.am): Likewise.
6807         * modules/isapipe (Makefile.am): Likewise.
6808         * modules/lchown (Makefile.am): Likewise.
6809         * modules/long-options (Makefile.am): Likewise.
6810         * modules/lstat (Makefile.am): Likewise.
6811         * modules/malloc (Makefile.am): Likewise.
6812         * modules/mathl (Makefile.am): Likewise.
6813         * modules/mbchar (Makefile.am): Likewise.
6814         * modules/md2 (Makefile.am): Likewise.
6815         * modules/md4 (Makefile.am): Likewise.
6816         * modules/md5 (Makefile.am): Likewise.
6817         * modules/memcasecmp (Makefile.am): Likewise.
6818         * modules/memchr (Makefile.am): Likewise.
6819         * modules/memcmp (Makefile.am): Likewise.
6820         * modules/memcoll (Makefile.am): Likewise.
6821         * modules/memcpy (Makefile.am): Likewise.
6822         * modules/memmem (Makefile.am): Likewise.
6823         * modules/memmove (Makefile.am): Likewise.
6824         * modules/mempcpy (Makefile.am): Likewise.
6825         * modules/memrchr (Makefile.am): Likewise.
6826         * modules/memset (Makefile.am): Likewise.
6827         * modules/memxor (Makefile.am): Likewise.
6828         * modules/mkancesdirs (Makefile.am): Likewise.
6829         * modules/mkdir (Makefile.am): Likewise.
6830         * modules/mkdir-p (Makefile.am): Likewise.
6831         * modules/mkdtemp (Makefile.am): Likewise.
6832         * modules/mkstemp (Makefile.am): Likewise.
6833         * modules/mktime (Makefile.am): Likewise.
6834         * modules/modechange (Makefile.am): Likewise.
6835         * modules/mountlist (Makefile.am): Likewise.
6836         * modules/nanosleep (Makefile.am): Likewise.
6837         * modules/openat (Makefile.am): Likewise.
6838         * modules/pagealign_alloc (Makefile.am): Likewise.
6839         * modules/physmem (Makefile.am): Likewise.
6840         * modules/poll (Makefile.am): Likewise.
6841         * modules/posixtm (Makefile.am): Likewise.
6842         * modules/posixver (Makefile.am): Likewise.
6843         * modules/putenv (Makefile.am): Likewise.
6844         * modules/quote (Makefile.am): Likewise.
6845         * modules/quotearg (Makefile.am): Likewise.
6846         * modules/raise (Makefile.am): Likewise.
6847         * modules/read-file (Makefile.am): Likewise.
6848         * modules/readline (Makefile.am): Likewise.
6849         * modules/readlink (Makefile.am): Likewise.
6850         * modules/readtokens (Makefile.am): Likewise.
6851         * modules/readutmp (Makefile.am): Likewise.
6852         * modules/realloc (Makefile.am): Likewise.
6853         * modules/regex (Makefile.am): Likewise.
6854         * modules/rename (Makefile.am): Likewise.
6855         * modules/rename-dest-slash (Makefile.am): Likewise.
6856         * modules/rijndael (Makefile.am): Likewise.
6857         * modules/rmdir (Makefile.am): Likewise.
6858         * modules/rpmatch (Makefile.am): Likewise.
6859         * modules/safe-read (Makefile.am): Likewise.
6860         * modules/safe-write (Makefile.am): Likewise.
6861         * modules/same (Makefile.am): Likewise.
6862         * modules/save-cwd (Makefile.am): Likewise.
6863         * modules/savedir (Makefile.am): Likewise.
6864         * modules/setenv (Makefile.am): Likewise.
6865         * modules/settime (Makefile.am): Likewise.
6866         * modules/sha1 (Makefile.am): Likewise.
6867         * modules/sig2str (Makefile.am): Likewise.
6868         * modules/snprintf (Makefile.am): Likewise.
6869         * modules/stdlib-safer (Makefile.am): Likewise.
6870         * modules/stpcpy (Makefile.am): Likewise.
6871         * modules/stpncpy (Makefile.am): Likewise.
6872         * modules/strcase (Makefile.am): Likewise.
6873         * modules/strcasestr (Makefile.am): Likewise.
6874         * modules/strchrnul (Makefile.am): Likewise.
6875         * modules/strcspn (Makefile.am): Likewise.
6876         * modules/strdup (Makefile.am): Likewise.
6877         * modules/strerror (Makefile.am): Likewise.
6878         * modules/strftime (Makefile.am): Likewise.
6879         * modules/strndup (Makefile.am): Likewise.
6880         * modules/strnlen (Makefile.am): Likewise.
6881         * modules/strpbrk (Makefile.am): Likewise.
6882         * modules/strsep (Makefile.am): Likewise.
6883         * modules/strstr (Makefile.am): Likewise.
6884         * modules/strtod (Makefile.am): Likewise.
6885         * modules/strtoimax (Makefile.am): Likewise.
6886         * modules/strtok_r (Makefile.am): Likewise.
6887         * modules/strtol (Makefile.am): Likewise.
6888         * modules/strtoll (Makefile.am): Likewise.
6889         * modules/strtoul (Makefile.am): Likewise.
6890         * modules/strtoull (Makefile.am): Likewise.
6891         * modules/strtoumax (Makefile.am): Likewise.
6892         * modules/strverscmp (Makefile.am): Likewise.
6893         * modules/time_r (Makefile.am): Likewise.
6894         * modules/timegm (Makefile.am): Likewise.
6895         * modules/tmpfile-safer (Makefile.am): Likewise.
6896         * modules/unistd-safer (Makefile.am): Likewise.
6897         * modules/unlinkdir (Makefile.am): Likewise.
6898         * modules/userspec (Makefile.am): Likewise.
6899         * modules/utime (Makefile.am): Likewise.
6900         * modules/utimecmp (Makefile.am): Likewise.
6901         * modules/utimens (Makefile.am): Likewise.
6902         * modules/vasnprintf (Makefile.am): Likewise.
6903         * modules/vasprintf (Makefile.am): Likewise.
6904         * modules/vsnprintf (Makefile.am): Likewise.
6905         * modules/xalloc (Makefile.am): Likewise.
6906         * modules/xgetcwd (Makefile.am): Likewise.
6907         * modules/xnanosleep (Makefile.am): Likewise.
6908         * modules/xreadlink (Makefile.am): Likewise.
6909         * modules/xstrtod (Makefile.am): Likewise.
6910         * modules/xstrtol (Makefile.am): Likewise.
6911         * modules/xstrtold (Makefile.am): Likewise.
6912         * modules/yesno (Makefile.am): Likewise.
6913
6914 2006-10-12  Jim Meyering  <jim@meyering.net>
6915
6916         * m4/getloadavg.m4: Revert the change below.
6917
6918         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
6919         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
6920         fail with a symlink, which is what coreutils' ./bootstrap now
6921         creates by default.
6922
6923 2006-10-12  Bruno Haible  <bruno@clisp.org>
6924
6925         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
6926         mingw.
6927         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
6928         MSVC and mingw explicitly.
6929
6930 2006-10-11  Simon Josefsson  <jas@extundo.com>
6931             Bruno Haible  <bruno@clisp.org>
6932
6933         Add support for multiple gnulib-tool invocations in the scope of a
6934         single configure.ac file.
6935         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
6936         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
6937         with the same contents as the _LIBADD variable.
6938         (func_emit_initmacro_start, func_emit_initmacro_end,
6939         func_emit_initmacro_done): New functions.
6940         (func_import, func_create_testdir): Invoke them. Allow the identifiers
6941         gl_LIBOBJS and gl_LTLIBOBJS.
6942
6943 2006-10-11  Bruno Haible  <bruno@clisp.org>
6944
6945         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
6946         (func_create_testdir): Don't create po/Makefile.am, don't invoke
6947         autoreconf. Instead, invoke autopoint explicitly but move back the
6948         *.m4 files from gnulib.
6949
6950 2006-10-11  Bruno Haible  <bruno@clisp.org>
6951
6952         * gnulib-tool (func_usage): Make module names after --create-testdir
6953         optional.
6954         (func_create_testdir): If no module was specified, use nearly all
6955         modules.
6956
6957 2006-10-12  Jim Meyering  <jim@meyering.net>
6958
6959         Big performance improvement for fts-based tools that use FTS_NOSTAT.
6960         Avoid spurious inode-mismatch problems on non-POSIX file systems.
6961         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
6962         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
6963         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
6964         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
6965         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
6966         (fts_set_stat_required): New function.
6967         (fts_open): Defer the calls to fts_stat, if possible or requested.
6968         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
6969         into fts_stat itself.
6970         (fts_read): Perform any required (deferred) fts_stat call.
6971         (fts_build): Likewise, for the directory we're about to open and read.
6972         In the readdir loop, carefully decide whether each entry will require
6973         an eventual call to fts_stat, using dirent.d_type info if available.
6974         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
6975         a command line argument into this function.  Update all callers.
6976         Map a return value of FTS_DOT to FTS_D for a command line argument.
6977         * modules/fts (Depends-on): Add d-type.  Alphabetize.
6978         Thanks to Miklos Szeredi for his tenacity and for the initial
6979         bug report about "find" failing on a FUSE-based file system.
6980
6981         * lib/fts.c (fts_open): Use consistent indentation.
6982
6983 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
6984
6985         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
6986         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
6987         reported by Jim Meyering.  All uses of cache variables renamed
6988         to match Autoconf's.
6989         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
6990         the other one.
6991
6992         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
6993         Fix misspelling in diagnostic.
6994
6995 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
6996
6997         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
6998         defined.  Problem reported by Matthew Woehlke.
6999
7000         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
7001         Add support for Tandem NonStop R series.
7002         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
7003         Use new macro.
7004
7005         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
7006         (has_trailing_slash): Omit size arg; all callers changed.
7007         Omit 'inline', since it doesn't help performance and we'd
7008         need to configure it.
7009         Don't count //, ///, etc. as having a trailing slash.
7010         As a side effect, this removes a C99ism reported by Matthew Woehlke.
7011         (rpl_rename_dest_slash): On failure, use rename's errno rather
7012         than (in some cases) an incorrect or junk errno.
7013         Simplify code by removing need to compute length; this does
7014         cause it to make two passes instead of one over the file name,
7015         but it's worth it.
7016
7017         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
7018         change, since Autoconf's version may no longer be appropriate now
7019         that we are using CVS Autoconf's version.  Add support for Tandem.
7020
7021 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
7022             Bruno Haible  <bruno@clisp.org>
7023
7024         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
7025         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
7026         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
7027         gl_AC_TYPE_LONG_LONG.
7028
7029         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
7030         instead of HAVE_LONG_LONG.
7031         * lib/printf-args.c (printf_fetchargs): Likewise.
7032         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
7033         * lib/vasnprintf.c (VASNPRINTF): Likewise.
7034         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
7035         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
7036         gl_AC_TYPE_LONG_LONG.
7037
7038 2006-10-11  Bruno Haible  <bruno@clisp.org>
7039
7040         * m4/longlong.m4: Add comments.
7041         * m4/ulonglong.m4: Likewise.
7042
7043 2006-10-10  Bruno Haible  <bruno@clisp.org>
7044
7045         Make it possible to #define stpcpy, strdup to aliases.
7046         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
7047         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
7048
7049 2006-10-10  Bruno Haible  <bruno@clisp.org>
7050
7051         Make it possible to #define gcd to an alias.
7052         * lib/gcd.c: Include config.h.
7053
7054 2006-10-10  Bruno Haible  <bruno@clisp.org>
7055
7056         Make it possible to #define c_isascii to an alias.
7057         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
7058         defined. Undefine the macros before defining them, to avoid gcc
7059         warnings.
7060         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
7061         define NO_C_CTYPE_MACROS early.
7062
7063 2006-10-10  Bruno Haible  <bruno@clisp.org>
7064
7065         Make it possible to #define set_program_name to an alias.
7066         * lib/progname.c: Don't undefine set_program_name; instead, undefine
7067         ENABLE_RELOCATABLE early.
7068
7069 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
7070
7071         Port to Tandem NSK OSS, which has 64-bit signed int but at most
7072         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
7073         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
7074         More generally, don't assume that 64-bit signed int is available
7075         if unsigned int is, and vice versa.
7076         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
7077         unsigned symbols, not on their signed counterparts.
7078         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
7079         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
7080         (UINT64_C, UINTMAX_C):
7081         Likewise.
7082         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
7083         unsigned counterparts.
7084         (Have_long_long, Unsigned): New macros.
7085         (Int): Renamed from INT.
7086         (strtoimax): Use the new macros.
7087         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
7088         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
7089         * modules/inttypes (inttypes.h): Substitute
7090         HAVE_UNSIGNED_LONG_LONG_INT.
7091         * modules/stdint (stdint.h): Likewise.
7092         (Files): Add m4/ulonglong.m4.
7093
7094 2006-10-10  Bruno Haible  <bruno@clisp.org>
7095
7096         Fix a gcc -Wshadow warning.
7097         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
7098         to 'bucket'.
7099         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
7100         gl_linked_indexof_from_to): Likewise.
7101         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
7102         Likewise.
7103         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
7104         Likewise.
7105         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
7106         Reported by Eric Blake.
7107
7108 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
7109
7110         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
7111         for NetBSD.  Problem reported by Bruno Haible.
7112
7113 2006-10-09  Jim Meyering  <jim@meyering.net>
7114
7115         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
7116         Patch from Bruno Haible.
7117
7118 2006-10-09  Jim Meyering  <jim@meyering.net>
7119
7120         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
7121         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
7122         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
7123
7124 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7125
7126         Don't include <config.h> twice; this doesn't work in some cases,
7127         e.g., when config.h has "#define intmax_t long long int" and
7128         we include <config.h>, <inttypes.h>, <config.h> in that order.
7129         Problem reported by Matthew Woehlke in:
7130         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
7131         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
7132         * lib/fts-cycle.c: Don't include config.h.
7133         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
7134         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
7135         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
7136         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
7137         inttypes.h.
7138         * lib/xstrtoumax.c: Likewise.
7139         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
7140         __strtol and the like, so that this module is more like its siblings.
7141         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
7142         Remove; no longer needed now that we assume gnulib inttypes.h.
7143
7144 2006-10-08  Bruno Haible  <bruno@clisp.org>
7145
7146         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
7147         option.
7148
7149 2006-10-07  Jim Meyering  <jim@meyering.net>
7150
7151         * modules/inttypes (inttypes.h): Revert what seems to have been
7152         an inadvertent part of today's change: use "|", not "/" in the
7153         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
7154
7155 2006-10-07  Bruno Haible  <bruno@clisp.org>
7156
7157         * modules/sublist: New file.
7158
7159 2006-10-07  Bruno Haible  <bruno@clisp.org>
7160
7161         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
7162         * modules/argz (argz.h): Likewise.
7163         * modules/arpa_inet (arpa/inet.h): Likewise.
7164         * modules/byteswap (byteswap.h): Likewise.
7165         * modules/configmake (configmake.h): Likewise.
7166         * modules/fcntl (fcntl.h): Likewise.
7167         * modules/fnmatch (fnmatch.h): Likewise.
7168         * modules/getopt (getopt.h): Likewise.
7169         * modules/glob (glob.h): Likewise.
7170         * modules/inttypes (inttypes.h): Likewise.
7171         * modules/netinet_in (netinet/in.h): Likewise.
7172         * modules/poll (poll.h): Likewise.
7173         * modules/stdbool (stdbool.h): Likewise.
7174         * modules/stdint (stdint.h): Likewise.
7175         * modules/sys_select (sys/select.h): Likewise.
7176         * modules/sys_socket (sys/socket.h): Likewise.
7177         * modules/sys_stat (sys/stat.h): Likewise.
7178         * modules/sysexits (sysexits.h): Likewise.
7179         * modules/unistd (unistd.h): Likewise.
7180         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7181         Add a "DO NOT EDIT" comment to the generated file.
7182         (func_import): Likewise for gnulib-comp.m4.
7183
7184 2006-10-07  Bruno Haible  <bruno@clisp.org>
7185
7186         * lib/gl_sublist.h: New file.
7187         * lib/gl_sublist.c: New file.
7188
7189 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
7190
7191         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
7192         name (relative to the original working directory) and the file
7193         name component (relative to the temporary working directory).  All
7194         callers changed.
7195         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
7196         * lib/mkdir-p.c (make_dir_parents): Likewise.
7197         * lib/mkdir-p.h (make_dir_parents): Likewise.
7198
7199 2006-10-06  Eric Blake  <ebb9@byu.net>
7200
7201         Define several macros for use by the clean-temp module.
7202         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
7203         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
7204         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
7205
7206         * lib/clean-temp.h (close_stream_temp): New declaration.
7207         * lib/clean-temp.c (includes): Pull in headers according to what
7208         other modules are in use.
7209         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
7210
7211 2006-10-06  Bruno Haible  <bruno@clisp.org>
7212
7213         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
7214         instead of fopen, fwriteerror.
7215
7216 2006-10-06  Bruno Haible  <bruno@clisp.org>
7217
7218         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
7219         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
7220         int.
7221         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
7222         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
7223         Return an error indicator.
7224         Suggested by Eric Blake.
7225
7226 2006-10-06  Bruno Haible  <bruno@clisp.org>
7227
7228         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
7229         Reported by Eric Blake.
7230
7231 2006-10-06  Bruno Haible  <bruno@clisp.org>
7232
7233         * modules/closeout (Description): Mention stderr too.
7234
7235 2006-10-06  Bruno Haible  <bruno@clisp.org>
7236         and Paul Eggert  <eggert@cs.ucla.edu>
7237
7238         * lib/closeout.c (close_stdout): Also close stderr.
7239         * lib/closeout.h: Update comment.
7240
7241 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7242
7243         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
7244         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
7245         * lib/dirchownmod.c: Include lchown.h.
7246         * lib/lchown.c: Don't include files that lchown.h now includes.
7247         Don't declare chown, since lchown.h now does that.
7248         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
7249         (lchown): Define to rpl_chown if lchown is declared but
7250         does not exist.  Declare using a prototype if lchown is not
7251         declared.  Add a copyright notice.
7252         * lib/mkstemp.h: Include <unistd.h>.
7253         * lib/openat.c: Include lchown.h.
7254
7255         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
7256         we now test for that separately.
7257         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
7258         rather than O_NOFOLLOW, when testing whether it's possible to
7259         avoid a race condition reliably.
7260         * lib/savewd.c (savewd_chdir): Likewise.
7261
7262         Remove macros that are no longer needed now that stdint.h is
7263         reliable.
7264         * lib/fsusage.c (UINTMAX_MAX): Remove.
7265         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
7266         * lib/utimecmp.c (SIZE_MAX): Remove.
7267
7268         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
7269
7270         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
7271         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
7272         O_NOATIME works.
7273
7274 2006-10-05  Bruno Haible  <bruno@clisp.org>
7275
7276         * lib/gl_list.h (gl_sortedlist_search_from_to,
7277         gl_sortedlist_indexof_from_to): New declarations.
7278         (gl_list_implementation): New fields sortedlist_search_from_to,
7279         sortedlist_indexof_from_to.
7280         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
7281         inline functions.
7282         * lib/gl_list.c (gl_sortedlist_search_from_to,
7283         gl_sortedlist_indexof_from_to): New functions.
7284         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
7285         function.
7286         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
7287         (gl_array_sortedlist_search_from_to): New function.
7288         (gl_array_list_implementation): Update.
7289         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
7290         function.
7291         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
7292         (gl_carray_sortedlist_search_from_to): New function.
7293         (gl_carray_list_implementation): Update.
7294         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
7295         gl_linked_sortedlist_indexof_from_to): New functions.
7296         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
7297         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
7298         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
7299         gl_tree_sortedlist_indexof_from_to): New functions.
7300         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
7301         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
7302         Update.
7303         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
7304         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
7305         Update.
7306
7307 2006-10-05  Bruno Haible  <bruno@clisp.org>
7308
7309         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
7310         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
7311         (struct gl_list_implementation): Add fields search_from_to,
7312         indexof_from_to. Remove fields search, indexof.
7313         (gl_list_search): Use the search_from_to method.
7314         (gl_list_search_from, gl_list_search_from_to): New functions.
7315         (gl_list_indexof): Use the indexof_from_to method.
7316         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
7317         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
7318         (gl_list_search_from, gl_list_search_from_to): New functions.
7319         (gl_list_indexof): Use the indexof_from_to method.
7320         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
7321         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
7322         gl_array_indexof. Add start_index, end_index arguments.
7323         (gl_array_search_from_to): Renamed from gl_array_search. Add
7324         start_index, end_index arguments.
7325         (gl_array_remove, gl_array_list_implementation): Update.
7326         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
7327         gl_carray_indexof. Add start_index, end_index arguments.
7328         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
7329         start_index, end_index arguments.
7330         (gl_carray_remove, gl_carray_list_implementation): Update.
7331         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
7332         gl_linked_search. Add start_index, end_index arguments.
7333         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
7334         start_index, end_index arguments.
7335         (gl_linked_remove): Update.
7336         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
7337         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
7338         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
7339         field to 'size_t'.
7340         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
7341         gl_tree_search. Add start_index, end_index arguments.
7342         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
7343         start_index, end_index arguments.
7344         (gl_tree_remove): Update.
7345         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
7346         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
7347         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
7348         function.
7349         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
7350         gl_tree_search. Add start_index, end_index arguments.
7351         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
7352         start_index, end_index arguments.
7353         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
7354         Update.
7355         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
7356
7357 2006-10-05  Bruno Haible  <bruno@clisp.org>
7358
7359         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
7360
7361         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
7362         fwriteerror_temp): New declarations.
7363         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
7364         (descriptors): New variable.
7365         (cleanup): First, close the descriptors.
7366         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
7367         fclose_temp, fwriteerror_temp): New functions.
7368
7369 2006-10-04  Jim Meyering  <jim@meyering.net>
7370
7371         * lib/fts.c (fts_open): Tiny comment change.
7372
7373 2006-10-04  Bruno Haible  <bruno@clisp.org>
7374
7375         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
7376         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
7377         gl_LOCK_BODY.
7378         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
7379         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
7380         gl_LOCK_EARLY_BODY.
7381         (gl_LOCK): Require gl_LOCK_BODY.
7382
7383 2006-10-04  Bruno Haible  <bruno@clisp.org>
7384
7385         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
7386         (gl_oset_search_atleast): New declaration.
7387         (struct gl_oset_implementation): Add field 'search_atleast'.
7388         (gl_oset_search_atleast): New inline function.
7389         * lib/gl_oset.c (gl_oset_search_atleast): New function.
7390         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
7391         (gl_array_oset_implementation): Update.
7392         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
7393         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
7394         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
7395
7396 2006-10-04  Bruno Haible  <bruno@clisp.org>
7397
7398         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
7399
7400 2006-10-03  Bruno Haible  <bruno@clisp.org>
7401
7402         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
7403         from gl_avltreehash_list_implementation.
7404
7405 2006-10-03  Bruno Haible  <bruno@clisp.org>
7406
7407         * lib/gl_oset.c (gl_oset_add): Fix return type.
7408
7409 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
7410
7411         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
7412
7413 2006-10-02  Eric Blake  <ebb9@byu.net>
7414
7415         * modules/strnlen (Depends-on): Add extensions.
7416
7417 2006-10-02  Eric Blake  <ebb9@byu.net>
7418
7419         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
7420         definition in 2.60+.
7421
7422 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
7423
7424         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
7425         checks.
7426
7427 2006-10-02  Bruno Haible  <bruno@clisp.org>
7428
7429         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
7430         to the AUTOMAKE_OPTIONS.
7431         Reported by Jim Meyering.
7432
7433 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
7434
7435         Work around bug in Solaris 10 /proc file system:
7436         /proc/self/fd/NNN/.. isn't the parent directory of
7437         the directory whose file descriptor is NNN.  This needs to
7438         be worked around at run time, not compile time, since a
7439         program might be built on Solaris 8, where things work, and
7440         run on Solaris 10.
7441         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
7442         to use the following interface instead:
7443         (OPENAT_BUFFER_SIZE): New macro.
7444         (openat_proc_name): New function.
7445         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
7446         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
7447         Likewise.
7448         * lib/openat-proc.c: New file.
7449         * modules/openat (Files): Add lib/openat-proc.c.
7450         (Depends-on): Add same-inode, stdbool.
7451         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
7452
7453 2006-09-29  Bruno Haible  <bruno@clisp.org>
7454
7455         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
7456         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
7457         argument. Set stdout_closed before testing for ferror, not after.
7458         (fwriteerror, fwriteerror_no_ebadf): New functions.
7459
7460 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7461
7462         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
7463
7464 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
7465
7466         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
7467         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
7468
7469 2006-09-28  Jim Meyering  <jim@meyering.net>
7470
7471         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
7472         Include <unistd.h>.
7473
7474 2006-09-28  Bruno Haible  <bruno@clisp.org>
7475
7476         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
7477         * modules/linkedhash-list (Depends-on): Likewise.
7478         * modules/rbtreehash-list (Depends-on): Likewise.
7479
7480 2006-09-28  Bruno Haible  <bruno@clisp.org>
7481
7482         * lib/strndup.h: Simplify the redefinition of strndup.
7483         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
7484         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
7485
7486 2006-09-28  Bruno Haible  <bruno@clisp.org>
7487
7488         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
7489         * lib/gl_linkedhash_list.c: Likewise.
7490         * lib/gl_rbtreehash_list.c: Likewise.
7491
7492 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
7493
7494         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
7495         getaddrinfo.
7496
7497         * lib/__fpending.h: Don't include <stdio_ext.h> unless
7498         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
7499         it causes <stdio_ext.h> to cause a compile-time error.
7500         Problem reported by Nelson H. F. Beebe.
7501         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
7502         of HAVE_DECL___PENDING.
7503
7504         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
7505         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
7506         declaration.
7507
7508 2006-09-27  Jim Meyering  <jim@meyering.net>
7509
7510         This file could end up with a definition for a function
7511         named __strndup, rather than rpl_strndup on a system with
7512         incomplete weak_alias support.
7513         * lib/strndup.c (strndup): Rename from __strndup.
7514         Remove #defines that used to map __strndup to strndup.
7515         Don't use K&R prototypes.
7516         Remove LIBC-related code, since this file is not sync'd with glibc.
7517         * lib/strndup.h: Revamp, accordingly.
7518         * m4/strndup.m4: Modernize.
7519
7520 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
7521
7522         * modules/savewd (Depends-on): Add 'raise'.
7523         * lib/savewd.c: Include <signal.h>, for 'raise'.
7524
7525 2006-09-26  Jim Meyering  <jim@meyering.net>
7526
7527         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
7528         when we detect Darwin 8.7.0's acl_get_file bug.
7529         Rearrange to perform the new (below) run-test while $LIBS
7530         contains any acl-related library.  Set USE_ACL at the end.
7531         (gl_ACL_GET_FILE): New function.
7532
7533 2006-09-26  Eric Blake  <ebb9@byu.net>
7534
7535         * lib/verror.c: Include <config.h> unconditionally.
7536
7537 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
7538
7539         * modules/clock-time (Maintainer): Add self.
7540         * modules/getlogin_r (Depends-on): Add extensions.
7541
7542 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7543
7544         * modules/clock-time: New module.
7545         * modules/nanosleep (Depends-on): Add clock-time.
7546         * modules/gethrxtime (Depends-on): Likewise.
7547         * modules/gettime (Depends-on): Likewise.
7548         * modules/settime (Depends-on): Likewise.
7549
7550         * modules/fts-lgpl: Depend on openat.
7551         * modules/mkancesdirs: Depend on savewd.
7552         * modules/mkdir-p: Likewise.
7553
7554 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7555
7556         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
7557
7558         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
7559         `gl_have_arbitrary_file_name_length_limit' to
7560         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
7561         actually works between configure runs.
7562
7563 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7564             Bruno Haible  <bruno@clisp.org>
7565
7566         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
7567
7568 2006-09-25  Jim Meyering  <jim@meyering.net>
7569
7570         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
7571         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
7572
7573 2006-09-25  Eric Blake  <ebb9@byu.net>
7574
7575         * gnulib-tool (func_import, func_create_testdir): Fix typos in
7576         exec's in 2006-09-18 patch when shuffling fds.
7577
7578 2006-09-25  Bruno Haible  <bruno@clisp.org>
7579
7580         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
7581         Reported by Jim Meyering.
7582
7583 2006-09-24  Jim Meyering  <jim@meyering.net>
7584
7585         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
7586         compare a pointer against a literal "0".  That caused failures with
7587         at least HP-UX's hpcc.
7588
7589 2006-09-22  Simon Josefsson  <jas@extundo.com>
7590
7591         * modules/gc-sha1:
7592         * modules/gc-md4:
7593         * modules/gc-hmac-sha1:
7594         * modules/gc-hmac-md5:
7595         * modules/gc-des:
7596         * modules/gc-arcfour: Distribute more files.
7597
7598 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7599
7600         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
7601         (gl_linked_iterator_from_to): Initialize struct completely.
7602         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
7603         (gl_tree_iterator_from_to): Likewise
7604         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
7605         * lib/gl_array_list.c [lint] (gl_array_iterator)
7606         (gl_array_iterator_from_to): Likewise.
7607         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
7608         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
7609         (gl_carray_iterator_from_to): Likewise.
7610
7611         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
7612         * lib/md4.c (md4_process_block): Remove unused variable.
7613         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
7614         parentheses for clarity.
7615
7616 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7617
7618         * modules/bison-i18n (Depends-on): Add gettext.
7619
7620 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7621
7622         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
7623         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
7624         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
7625         also add missing comma that caused broken test.
7626         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
7627         stdlib.h, for `abort'.
7628         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
7629         variables.
7630         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
7631         include unistd.h if present, for `rmdir'.
7632         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
7633         variables.
7634         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
7635         in the process include standard headers for prototypes.
7636         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
7637         gets declared on GNU/Linux.
7638         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
7639         unistd.h, for `rmdir'.
7640         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
7641
7642         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
7643         always true.
7644         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
7645
7646         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
7647
7648 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7649
7650         * gnulib-tool (func_version): Create output all at once.  This
7651         may help avoid triggering unnecessary SIGPIPEs, and at any
7652         rate it doesn't hurt.
7653
7654 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7655             Bruno Haible  <bruno@clisp.org>
7656
7657         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
7658         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
7659         * m4/signed.m4 (bh_C_SIGNED): Likewise.
7660
7661         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
7662         (gl_FUNC_VASPRINTF): Invoke it.
7663
7664 2006-09-22  Bruno Haible  <bruno@clisp.org>
7665
7666         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
7667         getloadavg.c as first argument.
7668
7669 2006-09-22  Bruno Haible  <bruno@clisp.org>
7670
7671         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
7672         at the beginning of the gl_INIT macro.
7673         * modules/getloadavg (configure.ac): Pass $gl_source_base to
7674         gl_GETLOADAVG.
7675
7676 2006-09-22  Bruno Haible  <bruno@clisp.org>
7677
7678         * gnulib-tool (func_create_megatestdir): Don't include the config-h
7679         module.
7680         Suggested by Ralf Wildenhues.
7681
7682 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
7683
7684         Import this patch from libc:
7685
7686         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
7687
7688         * lib/regex_internal.c (re_string_reconstruct): Handle
7689         offset < pstr->valid_raw_len && pstr->offsets_needed case.
7690         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
7691         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
7692         re_string_context_at.
7693
7694         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
7695         now requires it.
7696         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
7697         gl_REGEX now does it for us.
7698         (gl_REGEX): Add test taken from
7699         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
7700
7701         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
7702         Check that large offsets work.  Modernize Autoconf usages.
7703         Prefer "yes" to mean a good thing rather than a bad.
7704         Don't put "#define mkstemp" in config.h, as this might interfere
7705         with standard system headers that "#define mkstemp mkstemp64".
7706
7707         * modules/mkstemp (Depends-on): Add extensions, so that
7708         mkstemp is visible on some platforms.
7709         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
7710         (Include): Change to "mkstemp.h" from <stdlib.h>.
7711         (Files): Add mkstemp.h.
7712
7713         * lib/mkstemp.h: New file, since some standard headers
7714         #define mkstemp.
7715         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
7716         Include "mkstemp.h".
7717         Make the _LIBC code resemble glibc original more,
7718         e.g., use K&R style.
7719         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
7720         (mkstemp): Remove, since mkstemp.h does this for us.
7721         * lib/stdlib--.h: Include mkstemp.h.
7722
7723         Import this patch from libc:
7724
7725         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
7726
7727         * lib/tempname.c (__gen_tempname): Change attempts_min
7728         into a macro.  Use preprocessor to decide how to initialize
7729         attempts [Coverity CID 67].
7730
7731 2006-09-20  Bruno Haible  <bruno@clisp.org>
7732
7733         * lib/mkdtemp.c: Import from libc.
7734         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
7735                 * sysdeps/posix/tempname.c (__gen_tempname): Change
7736                 attempts_min into a macro.  Use preprocessor to decide how to
7737                 initialize attempts [Coverity CID 67].
7738         2001-11-27  Paul Eggert  <eggert@twinsun.com>
7739                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
7740                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
7741
7742 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7743
7744         * gnulib-tool (func_exit): New function, to allow to pass the
7745         exit status portably through the trap.  Use everywhere.
7746         (--help, --version): Signal a write error.
7747         (trap): catch SIGPIPE, for write errors.
7748         Exit at the end of the trap, with the correct exit status.
7749
7750 2006-09-19  Karl Berry  <karl@gnu.org>
7751
7752         * doc/gnulib.texi: note about the license texinfo files.
7753
7754 2006-09-19  Eric Blake  <ebb9@byu.net>
7755
7756         * gnulib-tool: Avoid space-tab.
7757
7758 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7759
7760         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
7761         that prevented coreutils 6.1 from building.  Problem reported
7762         by Petter Reinholdtsen.
7763
7764 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7765
7766         * gnulib-tool (avoidlist): Fix typo that broke options like
7767         --avoid=lock that are used by coreutils bootstrap.
7768
7769 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
7770
7771         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
7772         more systematically.
7773
7774 2006-09-18  Jim Meyering  <jim@meyering.net>
7775
7776         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
7777
7778 2006-09-18  Bruno Haible  <bruno@clisp.org>
7779
7780         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
7781
7782 2006-09-18  Bruno Haible  <bruno@clisp.org>
7783
7784         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
7785         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
7786         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
7787         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
7788         * m4/gettext.m4: Require autoconf >= 2.52.
7789         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
7790         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
7791         of gl_cv_header_inttypes_h.
7792
7793 2006-09-18  Bruno Haible  <bruno@clisp.org>
7794
7795         * lib/javaversion.c: Include configmake.h.
7796
7797 2006-09-18  Bruno Haible  <bruno@clisp.org>
7798
7799         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
7800         avoid that the while loops be executed in a subshell.
7801
7802 2006-09-18  Bruno Haible  <bruno@clisp.org>
7803
7804         * MODULES.html.sh (func_module): Break long lines.
7805         Suggested by Bruce Korb <bkorb@gnu.org>.
7806
7807 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7808
7809         Speed up by a factor of 1.12.
7810         * gnulib-tool (nl): New variable.
7811         (func_import): Rewrite include directive extraction to only read each
7812         directive once.
7813
7814 2006-09-17  Bruno Haible  <bruno@clisp.org>
7815
7816         * modules/javaversion (Makefile.am): Remove DEFS setting.
7817         (Depends-on): Add configmake, for PKGDATADIR definition.
7818
7819 2006-09-17  Bruno Haible  <bruno@clisp.org>
7820
7821         * gnulib-tool (func_create_testdir): Rewrite all files at once.
7822
7823 2006-09-17  Bruno Haible  <bruno@clisp.org>
7824
7825         * gnulib-tool (func_append): New function, stolen from libtool.m4.
7826         (func_modules_transitive_closure, func_modules_add_dummy,
7827         func_modules_to_filelist, func_import, func_create_testdir,
7828         func_create_megatestdir, ...): Use it wherever possible.
7829         Suggested by Ralf Wildenhues.
7830
7831 2006-09-16  Karl Berry  <karl@gnu.org>
7832
7833         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
7834         to avoid sectioning errors.
7835         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
7836         [ifinfo]: blank line after @center-ed titles.
7837         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
7838         Spell FSF address consistently with others.
7839         (These changes approved by rms.)
7840
7841 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7842
7843         Speed up by a factor of 1.61.
7844         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
7845         already checked module names again.
7846
7847 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7848
7849         Speed up by a factor of 1.13.
7850         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
7851         for new_files, and the input to func_add_or_update.
7852
7853 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7854
7855         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
7856         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
7857
7858 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
7859
7860         * modules/mkancesdirs (Depends-on): Add fcntl.
7861         * modules/savewd: New file.
7862         * MODULES.html.sh (File system functions): Add savewd.
7863
7864         * modules/configmake (Makefile.am): Add support for the
7865         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
7866
7867 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
7868
7869         * m4/savewd.m4: New file.
7870
7871 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
7872
7873         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
7874         (dirchownmod): New arg FD.  All callers changed.
7875         Use FD rather than opening the directory ourself, as opening is
7876         now the caller's responsibility.
7877         * lib/dirchownmod.h: Likewise.
7878         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
7879         hosts that require <sys/types.h> before <sys/stat.h>.  Include
7880         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
7881         (test_dir): Remove.
7882         (mkancesdirs): Return length of prefix of FILE that has already
7883         been made, or -2 if there is a child doing the work.  Redo
7884         algorithm so that it is O(N) rather than O(N**2).  Optimize away
7885         ".", and treat ".." specially since it might stray back into
7886         already-created areas.  Use a subprocess if necessary.  New arg
7887         WD; all users changed.  MAKE_DIR function should now return 1
7888         if it creates a directory that is not readable.  Return -2 if
7889         a child process is spun off.
7890         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
7891         Adjust signature to match code.
7892         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
7893         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
7894         all users changed.
7895         * lib/savewd.c, lib/savewd.h: New files.
7896
7897 2006-09-15  Jim Meyering  <jim@meyering.net>
7898
7899         * modules/rename-dest-slash: New module.
7900         * MODULES.html.sh (posix_compat): Add it here.
7901
7902         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
7903
7904 2006-09-15  Jim Meyering  <jim@meyering.net>
7905
7906         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
7907         file.
7908
7909         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
7910
7911 2006-09-15  Jim Meyering  <jim@meyering.net>
7912
7913         * lib/rename-dest-slash.c (has_trailing_slash): Use
7914         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
7915         (rpl_rename_dest_slash): Perform the cheaper trailing slash
7916         test before testing whether SRC is a directory.
7917         Suggestions from Bruno Haible.
7918
7919         Avoid a warning about an unused variable.
7920         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
7921         into the #ifdef block where it's used.
7922
7923         * lib/rename-dest-slash.c: New file.
7924
7925 2006-09-14  Bruno Haible  <bruno@clisp.org>
7926
7927         * lib/allocsa.c: Include <config.h> unconditionally.
7928         * lib/asnprintf.c: Likewise.
7929         * lib/asprintf.c: Likewise.
7930         * lib/c-strcasecmp.c: Likewise.
7931         * lib/c-strcasestr.c: Likewise.
7932         * lib/c-strncasecmp.c: Likewise.
7933         * lib/c-strstr.c: Likewise.
7934         * lib/classpath.c: Likewise.
7935         * lib/clean-temp.c: Likewise.
7936         * lib/concatpath.c: Likewise.
7937         * lib/copy-file.c: Likewise.
7938         * lib/csharpcomp.c: Likewise.
7939         * lib/csharpexec.c: Likewise.
7940         * lib/execute.c: Likewise.
7941         * lib/fatal-signal.c: Likewise.
7942         * lib/findprog.c: Likewise.
7943         * lib/fwriteerror.c: Likewise.
7944         * lib/gl_array_list.c: Likewise.
7945         * lib/gl_array_oset.c: Likewise.
7946         * lib/gl_avltree_list.c: Likewise.
7947         * lib/gl_avltree_oset.c: Likewise.
7948         * lib/gl_avltreehash_list.c: Likewise.
7949         * lib/gl_carray_list.c: Likewise.
7950         * lib/gl_linked_list.c: Likewise.
7951         * lib/gl_linkedhash_list.c: Likewise.
7952         * lib/gl_list.c: Likewise.
7953         * lib/gl_oset.c: Likewise.
7954         * lib/gl_rbtree_list.c: Likewise.
7955         * lib/gl_rbtree_oset.c: Likewise.
7956         * lib/gl_rbtreehash_list.c: Likewise.
7957         * lib/imaxabs.c: Likewise.
7958         * lib/imaxdiv.c: Likewise.
7959         * lib/javacomp.c: Likewise.
7960         * lib/javaexec.c: Likewise.
7961         * lib/javaversion.c: Likewise.
7962         * lib/linebreak.c: Likewise.
7963         * lib/localcharset.c: Likewise.
7964         * lib/lock.c: Likewise.
7965         * lib/mbchar.c: Likewise.
7966         * lib/mbswidth.c: Likewise.
7967         * lib/mkdtemp.c: Likewise.
7968         * lib/pipe.c: Likewise.
7969         * lib/printf-args.c: Likewise.
7970         * lib/printf-parse.c: Likewise.
7971         * lib/progname.c: Likewise.
7972         * lib/progreloc.c: Likewise.
7973         * lib/readlink.c: Likewise.
7974         * lib/sh-quote.c: Likewise.
7975         * lib/stpcpy.c: Likewise.
7976         * lib/stpncpy.c: Likewise.
7977         * lib/strcasecmp.c: Likewise.
7978         * lib/strcasestr.c: Likewise.
7979         * lib/strcspn.c: Likewise.
7980         * lib/striconv.c: Likewise.
7981         * lib/strncasecmp.c: Likewise.
7982         * lib/strnlen1.c: Likewise.
7983         * lib/strstr.c: Likewise.
7984         * lib/strtok_r.c: Likewise.
7985         * lib/tls.c: Likewise.
7986         * lib/tmpdir.c: Likewise.
7987         * lib/unicodeio.c: Likewise.
7988         * lib/unsetenv.c: Likewise.
7989         * lib/vasnprintf.c: Likewise.
7990         * lib/vasprintf.c: Likewise.
7991         * lib/wait-process.c: Likewise.
7992         * lib/xallocsa.c: Likewise.
7993         * lib/xsetenv.c: Likewise.
7994         * lib/xstriconv.c: Likewise.
7995
7996 2006-09-13  Simon Josefsson  <jas@extundo.com>
7997
7998         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
7999         that internally, suggested by Ralf Wildenhues
8000         <Ralf.Wildenhues@gmx.de>.
8001
8002 2006-09-13  Simon Josefsson  <jas@extundo.com>
8003
8004         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
8005         @LIBOBJS@.
8006         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8007
8008 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8009
8010         * lib/_fpending.c: Include <config.h> unconditionally, since we no
8011         longer worry about uses that don't define HAVE_CONFIG_H.
8012         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
8013         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
8014         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
8015         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
8016         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
8017         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
8018         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
8019         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
8020         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
8021         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
8022         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
8023         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
8024         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
8025         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
8026         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
8027         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
8028         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
8029         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
8030         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
8031         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
8032         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
8033         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
8034         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
8035         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
8036         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
8037         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
8038         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
8039         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
8040         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
8041         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
8042         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
8043         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
8044         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
8045         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
8046         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
8047         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
8048         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
8049         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
8050         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
8051         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
8052         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
8053         Likewise.
8054
8055 2006-09-13  Eric Blake  <ebb9@byu.net>
8056
8057         * lib/getopt.c: Fix typo in last commit.
8058
8059 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
8060
8061         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
8062         dgettext.
8063
8064 2006-09-12  Jim Meyering  <jim@meyering.net>
8065
8066         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
8067         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
8068         Reported by Nelson H. F. Beebe.
8069
8070 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
8071
8072         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
8073         program_invocation_name and program_invocation_short_name are
8074         initialized.
8075         * lib/argp-namefrob.h: Move declarations of program_invocation_name
8076         and program_invocation_short_name to argp.h, so they are visible
8077         to user programs.
8078         * lib/argp.h: Likewise
8079
8080 2006-09-10  Bruno Haible  <bruno@clisp.org>
8081
8082         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
8083         m4/inttypes_h.m4, m4/uintmax_t.m4.
8084
8085 2006-09-10  Bruno Haible  <bruno@clisp.org>
8086
8087         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
8088         gl_AC_TYPE_UINTMAX_T.
8089
8090 2006-09-10  Bruno Haible  <bruno@clisp.org>
8091
8092         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
8093
8094 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
8095
8096         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
8097         convention.  Text proposed by Bruno Haible.
8098         (struct argp_option): Document the use of N_() wrappers.
8099
8100         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
8101         '\v', and translate the two parts separately, instead of feeding
8102         the whole string to gettext.  This allows to exclude
8103         '\v' from the strings visible to the translator by writing doc
8104         strings as N_("..") "\v" N_("..").
8105
8106 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
8107
8108         * config/srclist.txt: Undo latest change; the bug was fixed.
8109
8110 2006-09-09  Bruno Haible  <bruno@clisp.org>
8111
8112         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
8113         assignments if building a library without libtool.
8114         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
8115         in func_emit_lib_Makefile_am.
8116         (func_import): When building a static library libfoo.a, arrange to
8117         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
8118         (func_create_testdir): Likewise.
8119         * modules/gc (configure.ac, Makefile.am): If building statically,
8120         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
8121         * modules/iconvme (configure.ac, Makefile.am): Likewise.
8122         * modules/striconv (configure.ac, Makefile.am): Likewise.
8123         Based on a suggestion by Ralf Wildenhues.
8124
8125 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8126
8127         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
8128         Check for unistd.h too, since Autoconf doesn't assume POSIX.
8129         Also:
8130
8131         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8132         Add year_2050_test to catch glibc bug 2821
8133         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
8134
8135         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
8136         Prefer #ifdef to #if.
8137
8138         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
8139         Return from 'main' instead of calling 'exit'.
8140
8141 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8142
8143         * lib/mktime.c (guess_time_tm): Fix bug where mktime
8144         returned the maximum time_t value rather than (time_t) -1.
8145         Problem originally reported by William Bardwell
8146         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
8147
8148         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
8149         Moved to here ...
8150         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
8151         ... from here.
8152
8153 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8154
8155         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
8156         2821 is fixed.
8157
8158 2006-09-08  Jim Meyering  <jim@meyering.net>
8159
8160         Don't make generated files read-only.  That would bother too many
8161         people.  However, do retain the ability to work when targets are
8162         read-only: remove the destination and temporary files before writing
8163         them (when generated via sed or echo), or by using the -f option for
8164         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
8165         * modules/alloca-opt, modules/argz, modules/arpa_inet:
8166         * modules/byteswap, modules/configmake, modules/fcntl:
8167         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
8168         * modules/localcharset, modules/netinet_in, modules/poll:
8169         * modules/stdbool, modules/stdint, modules/sys_select:
8170         * modules/sys_socket, modules/sys_stat, modules/sysexits:
8171
8172 2006-09-08  Jim Meyering  <jim@meyering.net>
8173
8174         Avoid new build failure on FreeBSD 6.0.
8175         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
8176         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
8177         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
8178
8179 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8180
8181         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
8182
8183 2006-09-07  Jim Meyering  <jim@meyering.net>
8184
8185         Fix global typo in last change: use chmod u-w, not chmod u-x.
8186         Spotted by Paul Eggert and Bruce Korb.
8187         * modules/alloca-opt, modules/argz, modules/arpa_inet:
8188         * modules/byteswap, modules/configmake, modules/fcntl:
8189         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
8190         * modules/localcharset, modules/netinet_in, modules/poll:
8191         * modules/stdbool, modules/stdint, modules/sys_select:
8192         * modules/sys_socket, modules/sys_stat, modules/sysexits:
8193
8194 2006-09-06  Jim Meyering  <jim@meyering.net>
8195
8196         Make generated files be read-only.
8197         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
8198         Ensure that each generated file is now read-only.
8199         * modules/argz: Likewise.
8200         * modules/arpa_inet: Likewise.
8201         * modules/byteswap: Likewise.
8202         * modules/configmake: Likewise.
8203         * modules/fcntl: Likewise.
8204         * modules/fnmatch: Likewise.
8205         * modules/getopt: Likewise.
8206         * modules/glob: Likewise.
8207         * modules/inttypes: Likewise.
8208         * modules/netinet_in: Likewise.
8209         * modules/poll: Likewise.
8210         * modules/stdbool: Likewise.
8211         * modules/stdint: Likewise.
8212         * modules/sys_select: Likewise.
8213         * modules/sys_socket: Likewise.
8214         * modules/sys_stat: Likewise.
8215         * modules/sysexits: Likewise.
8216         * modules/localcharset: Same as above, but continue using temporary
8217         file named "t-$@" (why different?) rather than the "$@-t" used
8218         everywhere else.
8219
8220         * modules/sysexits (Makefile.am): Replace literal occurrences
8221         of "sysexit.h" more readable, and more consistent, "$@".
8222
8223 2006-09-06  Bruno Haible  <bruno@clisp.org>
8224
8225         * modules/striconv: New file.
8226         * modules/xstriconv: New file.
8227         * MODULES.html.sh (Internationalization functions): Add striconv,
8228         xstriconv.
8229
8230 2006-09-06  Bruno Haible  <bruno@clisp.org>
8231
8232         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
8233         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
8234         not using libtool correctly.
8235
8236 2006-09-06  Bruno Haible  <bruno@clisp.org>
8237
8238         * lib/striconv.h: New file.
8239         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
8240         iconvstring.c.
8241         * lib/xstriconv.h: New file.
8242         * lib/xstriconv.c: New file.
8243
8244 2006-09-06  Bruno Haible  <bruno@clisp.org>
8245
8246         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
8247         lib_..._LDFLAGS.
8248
8249 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8250
8251         * lib/argz_.h: Sync from Libtool.
8252
8253         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
8254                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8255
8256         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
8257
8258 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
8259
8260         * modules/trim: New file.
8261
8262 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
8263
8264         * lib/trim.h: New file.
8265         * lib/trim.c: New file.
8266
8267 2006-09-05  Bruno Haible  <bruno@clisp.org>
8268
8269         * MODULES.html.sh (String handling): Add trim.
8270
8271 2006-09-04  Karl Berry  <karl@gnu.org>
8272
8273         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
8274         until next release.
8275
8276 2006-09-03  Bruno Haible  <bruno@clisp.org>
8277
8278         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
8279         correctly.
8280
8281 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8282
8283         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
8284         not gl_GETLOADAVG.  Omit unneeded semicolons.
8285         Problems reported by Ralf Wildenhues in
8286         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
8287         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
8288         at the end, which is the usual gnulib style.
8289
8290         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
8291         of doing all the work ourselves.
8292         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
8293         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
8294
8295 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8296
8297         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
8298         Problem reported by Ralf Wildenhues in
8299         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
8300
8301         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
8302         HAVE_STRUCT_STATFS_F_FSTYPENAME.
8303
8304 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8305
8306         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
8307         yesterday's patch by changing test -n to test -z.
8308
8309 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8310
8311         * modules/getloadavg (Files): Add m4/getloadavg.m4.
8312         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
8313         the former is now obsolescent.
8314
8315         * modules/chdir-long (Depends-on): Add fcntl.
8316
8317 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8318
8319         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
8320         obsolescent, and programs should use gnulib instead.
8321         * m4/getloadavg.m4: New file, with contents taken from Autoconf
8322         but with prefixes changed.
8323
8324 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8325
8326         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
8327         or stdbool.h, because they might not exist while configuring.
8328
8329         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
8330         Don't include unistd.h or limits.h; not needed, since chdir-long.h
8331         does that for us.
8332         (O_DIRECTORY): Remove.
8333
8334 2006-08-31  Eric Blake  <ebb9@byu.net>
8335
8336         * gnulib-tool: Don't let emacs change spaces to TAB.
8337
8338 2006-08-31  Bruno Haible  <bruno@clisp.org>
8339
8340         * gnulib-tool: When calling func_import more than once, do it in a
8341         subshell.
8342         Reported by Eric Blake <ebb9@byu.net>.
8343
8344 2006-08-31  Bruno Haible  <bruno@clisp.org>
8345
8346         * gnulib-tool (nl): Remove variable.
8347         (sed_transform_lib_file): Use more robust test for config-h module.
8348         (func_import): Fix typo in 2006-08-25 patch.
8349
8350 2006-08-31  Bruno Haible  <bruno@clisp.org>
8351
8352         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
8353         specified, augment Makefile.am variables instead of assigning them.
8354
8355 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8356
8357         Work around a bug in both the Linux and SunOS 64-bit kernels:
8358         nanosleep mishandles sleeps for longer than 2**31 seconds.
8359         Problem reported by Frank v Waveren in
8360         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
8361         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
8362         Check for nanosleep bug.
8363         (LIB_NANOSLEEP): Append clock_gettime library if needed.
8364
8365 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8366
8367         Work around a bug in both the Linux and SunOS 64-bit kernels:
8368         nanosleep mishandles sleeps for longer than 2**31 seconds.
8369         Problem reported by Frank v Waveren in
8370         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
8371         * lib/nanosleep.c (BILLION): New constant.
8372         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
8373         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
8374         implementation.
8375
8376 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8377
8378         * modules/nanosleep (Depends-on): Add gettime.
8379
8380 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8381         and Simon Josefsson  <jas@extundo.com>
8382         and Oskar Liljeblad  <oskar@osk.mine.nu>
8383
8384         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
8385         * gnulib-tool (func_import): New license type 'unmodifiable license
8386         text'.
8387         * modules/fdl: Use it.  Longer description.
8388         * module/gpl, module/lgpl: New files.
8389
8390 2006-08-30  Jim Meyering  <jim@meyering.net>
8391
8392         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
8393         shadowing the parameter.
8394
8395 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8396
8397         Sync from Libtool:
8398
8399         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8400
8401         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
8402         sharing with gnulib.  Report by Eric Blake.
8403
8404 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
8405
8406         * modules/isapipe: New file.
8407         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
8408
8409 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
8410
8411         * modules/configmake (Makefile.am): Add a comment, and omit
8412         the CONFIGMAKE_ prefix from generated macro names.  Suggested
8413         by Bruno Haible.
8414
8415 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
8416
8417         * m4/isapipe.m4: New file.
8418
8419 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
8420
8421         * lib/isapipe.c, lib/isapipe.h: New files.
8422
8423 2006-08-29  Jim Meyering  <jim@meyering.net>
8424
8425         * modules/configmake (Makefile.am): Make configmake.h depend on
8426         Makefile.  Otherwise, a stale configmake.h could hang around.
8427
8428 2006-08-29  Eric Blake  <ebb9@byu.net>
8429
8430         * lib/error.c (error_at_line, print_errno_message): Match libc, after
8431         resolution of upstream bug 3044.
8432
8433 2006-08-29  Bruno Haible  <bruno@clisp.org>
8434
8435         * modules/localcharset (Depends-on): Add configmake.
8436         (Makefile.am): Remove setting of LIBDIR through DEFS.
8437
8438 2006-08-29  Bruno Haible  <bruno@clisp.org>
8439
8440         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
8441         defined.
8442
8443 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
8444
8445         * modules/fcntl: New file.
8446         * modules/chdir-safer (Depends-on): Add fcntl.
8447         * modules/fts: Likewise.
8448         * modules/mkdir-p: Likewise.
8449
8450         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
8451         This undoes the most recent change, since we're now addressing the
8452         problem in a different way.
8453
8454         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
8455         into output, since the output might be called Makefile.am even
8456         if $makefile_name is something different.
8457         (func_import): Use $makefile_am rather than
8458         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
8459         empty.
8460
8461         * modules/inttypes (Files): Add m4/inttypes-h.m4.
8462
8463 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
8464
8465         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
8466         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
8467         recent change to stdint.m4, since we're now addressing the problem in a
8468         different way.
8469
8470 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
8471
8472         * m4/fcntl_h.m4: New file.
8473
8474 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
8475
8476         * lib/fcntl_.h: New file.
8477         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
8478         the fcntl module.
8479         * lib/dirchownmod.c: Likewise.
8480         * lib/fts.c: Likewise.
8481
8482         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
8483         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
8484         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
8485         just before including <inttypes.h>, to avoid circular inclusion.
8486
8487 2006-08-28  Jim Meyering  <jim@meyering.net>
8488
8489         * doc/visibility.texi: Actually read and correct the grammar of the
8490         sentence affected by yesterday's change.
8491
8492 2006-08-28  Eric Blake  <ebb9@byu.net>
8493
8494         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
8495         needs wrapper.
8496
8497 2006-08-28  Eric Blake  <ebb9@byu.net>
8498
8499         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
8500
8501 2006-08-28  Eric Blake  <ebb9@byu.net>
8502
8503         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
8504
8505 2006-08-28  Bruno Haible  <bruno@clisp.org>
8506
8507         * modules/c-strstr: New file, from GNU gettext.
8508         * MODULES.html.sh (String handling): Add c-strstr.
8509
8510 2006-08-28  Bruno Haible  <bruno@clisp.org>
8511
8512         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
8513         macros.
8514         Reported by Eric Blake.
8515
8516 2006-08-28  Bruno Haible  <bruno@clisp.org>
8517
8518         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
8519         (VASNPRINTF): Return a string of length > INT_MAX without failing.
8520         * lib/vasprintf.c: Include errno.h, limits.h.
8521         (EOVERFLOW): New fallback definition.
8522         (vasprintf): Test here whether the string length is > INT_MAX.
8523         * lib/vsnprintf.c: Include errno.h, limits.h.
8524         (EOVERFLOW): New fallback definition.
8525         (vsnprintf): Fix bug when generated string was too long for the buffer.
8526         Test here whether the string length is > INT_MAX.
8527
8528 2006-08-28  Bruno Haible  <bruno@clisp.org>
8529
8530         * lib/inttypes_.h (SCNX*): Remove definitions.
8531         Reported by Eric Blake.
8532
8533 2006-08-28  Bruno Haible  <bruno@clisp.org>
8534
8535         * lib/c-strstr.h: New file, from GNU gettext.
8536         * lib/c-strstr.c: New file, from GNU gettext.
8537
8538 2006-08-28  Bruno Haible  <bruno@clisp.org>
8539
8540         * gnulib-tool: Reorder some statements.
8541
8542 2006-08-28  Bruno Haible  <bruno@clisp.org>
8543
8544         * gnulib-tool: New option --makefile-name.
8545         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
8546         $makefile_name.
8547         (func_import): Write $makefile_name to the cache file, and read it from
8548         there unless explicitly specified. Use $makefile_name as file name
8549         instead of Makefile.am. Adjust the recommendations accordingly.
8550
8551 2006-08-28  Bruno Haible  <bruno@clisp.org>
8552
8553         * gnulib-tool (func_verify_module): Check against misapplying patch.
8554
8555 2006-08-28  Bruno Haible  <bruno@clisp.org>
8556
8557         * gnulib-tool (func_relativize, func_relconcat): New functions.
8558         Give an error if --local-dir is given with --update.
8559         Remove trailing slashes from $local_gnulib_dir.
8560         (func_import): Store the relativized $local_gnulib_dir in
8561         gnulib-cache.m4, and read it from there if not specified explicitly.
8562
8563 2006-08-28  Bruno Haible  <bruno@clisp.org>
8564
8565         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
8566         is the current directory. Respect also $local_gnulib_dir.
8567
8568 2006-08-28  Bruno Haible  <bruno@clisp.org>
8569             Simon Josefsson  <jas@extundo.com>
8570
8571         BeOS portability.
8572         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
8573
8574 2006-08-27  Jim Meyering  <jim@meyering.net>
8575
8576         * doc/visibility.texi: Remove duplicate word: "pointer".
8577
8578 2006-08-26  Bruno Haible  <bruno@clisp.org>
8579
8580         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
8581         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
8582         (Makefile.am): Create inttypes.h from inttypes_.h.
8583         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
8584
8585         * modules/imaxabs: New file.
8586
8587         * modules/imaxdiv: New file.
8588
8589 2006-08-26  Bruno Haible  <bruno@clisp.org>
8590
8591         * m4/inttypes.m4: New file.
8592         * m4/_inttypes_h.m4: Remove file.
8593         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
8594         PRI_MACROS_BROKEN.
8595         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
8596
8597         * m4/imaxabs.m4: New file.
8598
8599         * m4/imaxdiv.m4: New file.
8600
8601 2006-08-26  Bruno Haible  <bruno@clisp.org>
8602
8603         * lib/inttypes_.h: New file.
8604         * lib/inttypes.h: Remove file.
8605         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
8606
8607         * lib/imaxabs.c: New file.
8608
8609         * lib/imaxdiv.c: New file.
8610
8611 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8612
8613         New config-h module, so that "make" output needn't be cluttered
8614         by -DHAVE_CONFIG_H.
8615         * MODULES.html.sh (Support for building libraries and executables):
8616         Add config-h.
8617         * modules/config-h: New file.
8618         * gnulib-tool (nl, sed_transform_lib_file): New vars.
8619         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
8620         the config-h module is used.
8621
8622         New configmake module, so that "make" output needn't be cluttered
8623         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
8624         * MODULES.html.sh (Support for building libraries and executables):
8625         Add configmake.
8626         * modules/configmake: New file.
8627
8628 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8629
8630         * m4/config-h.m4: New file.
8631
8632 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8633
8634         * config/srclist.txt: Add elisp-comp.
8635
8636 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8637
8638         * MODULES.html.sh (Support for building libraries and executables):
8639         Add elisp-comp.
8640         * build-aux/elisp-comp: New file.
8641         * modules/elisp-comp: New file.
8642
8643 2006-08-24  Bruno Haible  <bruno@clisp.org>
8644
8645         * gnulib-tool (func_create_testdir): Use non-default values of
8646         sourcebase and m4base.
8647
8648 2006-08-24  Bruno Haible  <bruno@clisp.org>
8649
8650         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
8651         HTML structure.
8652
8653 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8654
8655         * modules/openat (Depends-on): Add lchown.
8656
8657 2006-08-23  Bruno Haible  <bruno@clisp.org>
8658
8659         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
8660         of gl_LOCK_EARLY instead of gl_LOCK.
8661
8662 2006-08-23  Bruno Haible  <bruno@clisp.org>
8663
8664         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
8665         on OSF/1 to no.
8666         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
8667
8668 2006-08-23  Bruno Haible  <bruno@clisp.org>
8669
8670         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
8671         as unusable.
8672
8673         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
8674         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
8675         (gl_LOCK): New macro.
8676
8677 2006-08-22  Simon Josefsson  <jas@extundo.com>
8678
8679         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
8680         to md5 module.
8681
8682 2006-08-22  Simon Josefsson  <jas@extundo.com>
8683
8684         * MODULES.html.sh: Add "Support for maintaining and release
8685         projects".
8686
8687         * build-aux/gnupload: New file, from coreutils.
8688
8689 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
8690
8691         Avoid the need for AC_LIBSOURCES in m4 macros.
8692         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
8693         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
8694         * modules/check-version (EXTRA_DIST): Add check-version.h.
8695         * modules/crc (EXTRA_DIST): Add crc.h.
8696         * modules/des (EXTRA_DIST): Add des.h.
8697         * modules/gc (EXTRA_DIST): Add gc.h.
8698         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
8699         * modules/getline (EXTRA_DIST): Add getline.h.
8700         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
8701         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
8702         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
8703         * modules/md2 (EXTRA_DIST): Add md2.h.
8704         * modules/md4 (EXTRA_DIST): Add md4.h.
8705         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
8706         * modules/read-file (EXTRA_DIST): Add read-file.h.
8707         * modules/readline (EXTRA_DIST): Add readline.h.
8708         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
8709         rijndael-api-fst.h.
8710
8711 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
8712
8713         * m4/rijndael.m4 (gl_ARCFOUR):
8714         * m4/arctwo.m4 (gl_ARCTWO):
8715         * m4/check-version.m4 (gl_CHECK_VERSION):
8716         * m4/crc.m4 (gl_CRC):
8717         * m4/des.m4 (gl_DES):
8718         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
8719         * m4/gc.m4 (gl_GC):
8720         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
8721         * m4/getline.m4 (gl_FUNC_GETLINE):
8722         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
8723         * m4/hmac-md5.m4 (gl_HMAC_MD5):
8724         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
8725         * m4/md2.m4 (gl_MD2):
8726         * m4/md4.m4 (gl_MD4):
8727         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
8728         * m4/read-file.m4 (gl_FUNC_READ_FILE):
8729         * m4/readline.m4 (gl_FUNC_READLINE):
8730         * m4/rijndael.m4 (gl_RIJNDAEL):
8731         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
8732         to get the necessary .h files and whatnot.
8733
8734 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
8735
8736         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
8737         gnulib rather than the other way around.
8738         * config/srclistvars.sh (COREUTILS): Remove.
8739
8740 2006-08-22  Jim Meyering  <jim@meyering.net>
8741
8742         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
8743
8744         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
8745
8746 2006-08-22  Eric Blake  <ebb9@byu.net>
8747
8748         * modules/regexprops-generic: New file.
8749         * MODULES.html.sh (Support for building documentation): List it.
8750
8751 2006-08-22  Eric Blake  <ebb9@byu.net>
8752
8753         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
8754         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
8755         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
8756         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
8757
8758 2006-08-22  Bruno Haible  <bruno@clisp.org>
8759
8760         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
8761         and lib_LTLIBRARIES like the other lib_* variables.
8762
8763 2006-08-22  Bruno Haible  <bruno@clisp.org>
8764
8765         * build-aux/x-to-1.in: New file, from GNU gettext.
8766
8767 2006-08-22  Bruno Haible  <bruno@clisp.org>
8768
8769         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
8770         <utmpx.h> exists.
8771
8772 2006-08-22  Bruno Haible  <bruno@clisp.org>
8773
8774         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
8775         <utmpx.h> exists.
8776
8777 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
8778
8779         BeOS portability.
8780         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
8781         exist.
8782         Problem reported by Bruno Haible.
8783
8784 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
8785
8786         Avoid the need for AC_LIBSOURCES in m4 macros.
8787         * modules/acl (EXTRA_DIST): Add acl.h.
8788         * modules/argmatch (Files): Add m4/argmatch.m4.
8789         (configure.ac): Add gl_ARGMATCH.
8790         (EXTRA_DIST): Renamed from lib_SOURCES, for
8791         consistency with the other modules.  Remove argmatch.c.
8792         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
8793         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
8794         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
8795         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
8796         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
8797         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
8798         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
8799         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
8800         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
8801         * modules/closeout (EXTRA_DIST): Add closeout.h.
8802         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
8803         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
8804         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
8805         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
8806         dirname.h; remove basename.c and stripslash.c.
8807         * modules/exclude (EXTRA_DIST): Add exclude.h.
8808         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
8809         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
8810         * modules/file-type (EXTRA_DIST): Add file-type.h.
8811         * modules/filemode (EXTRA_DIST): Add filemode.h.
8812         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
8813         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
8814         * modules/fpending (EXTRA_DIST): Add __fpending.h.
8815         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
8816         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
8817         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
8818         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
8819         * modules/getdate (EXTRA_DIST): Add getdate.c.
8820         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
8821         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
8822         * modules/getpass (EXTRA_DIST): Add getpass.h.
8823         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
8824         * modules/group-member (EXTRA_DIST): Add group-member.h.
8825         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
8826         * modules/hash (EXTRA_DIST): Add hash.h.
8827         * modules/human (EXTRA_DIST): Add human.h.
8828         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
8829         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
8830         * modules/lchown (EXTRA_DIST): Add lchown.h.
8831         * modules/long-options (EXTRA_DIST): Add long-options.h.
8832         * modules/lstat (EXTRA_DIST): Add lstat.h.
8833         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
8834         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
8835         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
8836         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
8837         * modules/memxor (EXTRA_DIST): Add memxor.h.
8838         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
8839         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
8840         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
8841         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
8842         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
8843         * modules/physmem (EXTRA_DIST): Add physmem.h.
8844         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
8845         * modules/posixver (EXTRA_DIST): Add posixver.h.
8846         * modules/quote (EXTRA_DIST): Add quote.h.
8847         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
8848         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
8849         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
8850         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
8851         regex_internal.h regexec.c.
8852         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
8853         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
8854         * modules/same (EXTRA_DIST): Add same.h.
8855         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
8856         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
8857         * modules/savedir (EXTRA_DIST): Add savedir.h.
8858         * modules/sha1 (EXTRA_DIST): Add sha1.h.
8859         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
8860         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
8861         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
8862         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
8863         * modules/strdup (EXTRA_DIST): Add strdup.h.
8864         * modules/strftime (EXTRA_DIST): Add strftime.h.
8865         * modules/strndup (EXTRA_DIST): Add strndup.h.
8866         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
8867         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
8868         * modules/time_r (EXTRA_DIST): Add time_r.h.
8869         * modules/timespec (EXTRA_DIST): Add timespec.h.
8870         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
8871         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
8872         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
8873         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
8874         * modules/userspec (EXTRA_DIST): Add userspec.h.
8875         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
8876         * modules/utimens (EXTRA_DIST): Add utimens.h.
8877         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
8878         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
8879         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
8880         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
8881         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
8882         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
8883         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
8884         * modules/yesno (EXTRA_DIST): Add yesno.h.
8885
8886 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
8887
8888         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
8889
8890         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
8891         * m4/dev-ino.m4, same-inode.m4: Remove.
8892
8893         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
8894         * m4/acl.m4 (AC_FUNC_ACL):
8895         * m4/backupfile.m4 (gl_BACKUPFILE):
8896         * m4/c-strtod.m4 (gl_C99_STRTOLD):
8897         * m4/canon-host.m4 (gl_CANON_HOST):
8898         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
8899         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
8900         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
8901         * m4/cloexec.m4 (gl_CLOEXEC):
8902         * m4/close-stream.m4 (gl_CLOSE_STREAM):
8903         * m4/closeout.m4 (gl_CLOSEOUT):
8904         * m4/dirfd.m4 (gl_FUNC_DIRFD):
8905         * m4/dirname.m4 (gl_DIRNAME):
8906         * m4/exclude.m4 (gl_EXCLUDE):
8907         * m4/exitfail.m4 (gl_EXITFAIL):
8908         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
8909         * m4/file-type.m4 (gl_FILE_TYPE):
8910         * m4/filemode.m4 (gl_FILEMODE):
8911         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
8912         * m4/fpending.m4 (gl_FUNC_FPENDING):
8913         * m4/fprintftime.m4 (gl_FPRINTFTIME):
8914         * m4/fts.m4 (gl_FUNC_FTS):
8915         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
8916         * m4/getdate.m4 (gl_GETDATE):
8917         * m4/gethrxtime.m4 (gl_GETHRXTIME):
8918         * m4/getpagesize.m4 (gl_GETPAGESIZE):
8919         * m4/getpass.m4 (gl_FUNC_GETPASS):
8920         * m4/gettime.m4 (gl_GETTIME):
8921         * m4/getugroups.m4 (gl_GETUGROUPS):
8922         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
8923         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
8924         * m4/hard-locale.m4 (gl_HARD_LOCALE):
8925         * m4/hash.m4 (gl_HASH):
8926         * m4/idcache.m4 (gl_IDCACHE):
8927         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
8928         * m4/lchown.m4 (gl_FUNC_LCHOWN):
8929         * m4/long-options.m4 (gl_LONG_OPTIONS):
8930         * m4/lstat.m4 (gl_FUNC_LSTAT):
8931         * m4/md5.m4 (gl_MD5):
8932         * m4/memcasecmp.m4 (gl_MEMCASECMP):
8933         * m4/memcoll.m4 (gl_MEMCOLL):
8934         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
8935         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
8936         * m4/memxor.m4 (gl_MEMXOR):
8937         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
8938         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
8939         * m4/modechange.m4 (gl_MODECHANGE):
8940         * m4/mountlist.m4 (gl_MOUNTLIST):
8941         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
8942         * m4/openat.m4 (gl_FUNC_OPENAT):
8943         * m4/pathmax.m4 (gl_PATHMAX):
8944         * m4/physmem.m4 (gl_PHYSMEM):
8945         * m4/posixtm.m4 (gl_POSIXTM):
8946         * m4/posixver.m4 (gl_POSIXVER):
8947         * m4/quote.m4 (gl_QUOTE):
8948         * m4/quotearg.m4 (gl_QUOTEARG):
8949         * m4/readtokens.m4 (gl_READTOKENS):
8950         * m4/readutmp.m4 (gl_READUTMP):
8951         * m4/regex.m4 (gl_REGEX):
8952         * m4/safe-read.m4 (gl_SAFE_READ):
8953         * m4/safe-write.m4 (gl_SAFE_WRITE):
8954         * m4/same.m4 (gl_SAME):
8955         * m4/save-cwd.m4 (gl_SAVE_CWD):
8956         * m4/savedir.m4 (gl_SAVEDIR):
8957         * m4/settime.m4 (gl_SETTIME):
8958         * m4/sha1.m4 (gl_SHA1):
8959         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
8960         * m4/stat-macros.m4 (gl_STAT_MACROS):
8961         * m4/stat-time.m4 (gl_STAT_TIME):
8962         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
8963         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
8964         * m4/strdup.m4 (gl_FUNC_STRDUP):
8965         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
8966         * m4/strndup.m4 (gl_FUNC_STRNDUP):
8967         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
8968         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
8969         * m4/time_r.m4 (gl_TIME_R):
8970         * m4/timespec.m4 (gl_TIMESPEC):
8971         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
8972         * m4/unlinkdir.m4 (gl_UNLINKDIR):
8973         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
8974         * m4/userspec.m4 (gl_USERSPEC):
8975         * m4/utimecmp.m4 (gl_UTIMECMP):
8976         * m4/utimens.m4 (gl_UTIMENS):
8977         * m4/xalloc.m4 (gl_XALLOC):
8978         * m4/xgetcwd.m4 (gl_XGETCWD):
8979         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
8980         * m4/xreadlink.m4 (gl_XREADLINK):
8981         * m4/xstrtod.m4 (gl_XSTRTOD):
8982         * m4/yesno.m4 (gl_YESNO):
8983         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
8984         to get the necessary .h files and whatnot.
8985
8986 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
8987             Bruno Haible  <bruno@clisp.org>
8988
8989         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
8990         /bin/sh understanding of '!' conditional negation.
8991
8992 2006-08-21  Jim Meyering  <jim@meyering.net>
8993
8994         * modules/openat (Depends-on): Really alphabetize.
8995
8996         * modules/acl (Depends-on): Add error and quote.
8997
8998         * check-module (find_included_lib_files): Add at-func.c to the
8999         ok-to-include-more-than-once white list.
9000
9001         * modules/openat (Depends-on): Add lstat.  Alphabetize.
9002
9003 2006-08-21  Bruno Haible  <bruno@clisp.org>
9004
9005         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9006         Emit a pkgdata_DATA variable only if some snippets add contents to it.
9007         Reported by Martin Lambers <marlam@marlam.de>.
9008
9009 2006-08-21  Bruno Haible  <bruno@clisp.org>
9010
9011         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
9012         specify an installation location, don't emit a noinst_LIBRARIES or
9013         noinst_LTLIBRARIES assignment.
9014
9015 2006-08-21  Bruno Haible  <bruno@clisp.org>
9016
9017         BeOS portability.
9018         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
9019         BeOS has mbrtowc() but no <wctype.h>.
9020
9021 2006-08-21  Bruno Haible  <bruno@clisp.org>
9022
9023         BeOS portability.
9024         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
9025         exist.
9026
9027 2006-08-21  Bruno Haible  <bruno@clisp.org>
9028
9029         BeOS portability.
9030         * lib/mbchar.h: Include <wctype.h> only if it exists.
9031
9032 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
9033
9034         Remove files that are no longer needed by their respective modules.
9035         * m4/obstack.m4: Remove.
9036         * m4/strerror_r.m4: Remove.
9037         * m4/uint32_t.m4: Remove.
9038         * m4/uintptr_t.m4: Remove.
9039         * m4/ullong_max.m4: Remove.
9040         * m4/xstrtoimax.m4: Remove.
9041         * m4/xstrtoumax.m4: Remove.
9042
9043         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
9044         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
9045         dependencies now capture this.
9046
9047         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
9048         Do not use AC_LIBSOURCES, since gnulib modules now do this.
9049         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
9050         * m4/human.m4 (gl_HUMAN): Likewise.
9051         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
9052         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
9053
9054         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
9055
9056         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
9057         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
9058         stdint.
9059         * m4/human.m4 (gl_HUMAN): Likewise.
9060         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
9061         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
9062         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
9063         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
9064         * m4/xstrtol (gl_XSTRTOL): Likewise.
9065
9066         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
9067         AC_TYPE_LONG_LONG_INT.
9068         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
9069         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
9070         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
9071         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
9072
9073         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
9074         on stdbool.
9075
9076         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
9077         (gl_PREREQ_XSTRTOUL): Remove.
9078
9079         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
9080
9081         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
9082         mode.
9083
9084 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
9085
9086         Add and change modules to make it easier for coreutils to use
9087         gnulib-tool.
9088         * modules/backupfile (Files): Remove m4/d-ino.m4.
9089         (Depends-on): Add d-ino.
9090         * modules/cycle-check (Depends-on): Add stdint.
9091         (lib_SOURCES): Add cycle-check.h.
9092         * modules/d-ino: New module.
9093         * modules/d-type: New module.
9094         * modules/error (Files): Remove m4/strerror_r.m4.
9095         * modules/filemode (Files): Add m4/st_dm_mode.m4.
9096         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
9097         m4/inttypes_h.m4, m4/uintmax_t.m4.
9098         (Depends-on): Add stdint.
9099         (lib_SOURCES): Add fsusage.h.
9100         * modules/getcwd (Files): Remove d-ino.m4.
9101         (Depends-on): Add d-ino.
9102         * modules/getndelim2 (Depends-on): Add stdint.
9103         * modules/glob (Files): Remove m4/d-type.m4.
9104         (Depends-on): Add d-type.
9105         * modules/host-os: New module.
9106         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
9107         m4/inttypes_h.m4, m4/uintmax_t.m4.
9108         * Depends-on: Add stdint.
9109         (lib_SOURCES): Add human.h.
9110         * modules/inttostr (Files): Remove m4/intmax_t.m4,
9111         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
9112         m4/uintmax_t.m4, m4/ulonglong.m4.
9113         (Depends-on): Add stdint.
9114         (EXTRA_DIST): Add inttostr.h.
9115         * modules/lchmod: New module.
9116         * modules/link-follow: New module.
9117         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
9118         (Depends-on): Add lchmod.
9119         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
9120         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
9121         (Depends-on): Add stdint.
9122         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
9123         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
9124         (Depends-on): Add stdint.
9125         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
9126         * modules/perl: New module.
9127         * modules/regex (Depends-on): Add stdint.
9128         * modules/rmdir-errno: New module.
9129         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
9130         m4/intmax_t.m4.
9131         (Depends-on): Add stdint.
9132         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
9133         m4/uintmax_t.m4.
9134         (Depends-on): Add stdint.
9135         * modules/unlink-busy: New module.
9136         * modules/utimecmp (Depends-on): Add stdint.
9137         * modules/uptime: New module.
9138         * modules/winsz-ioctl: New module.
9139         * modules/winsz-termios: New module.
9140         * modules/xnanosleep (Depends-on): Add nanosleep.
9141         * modules/ullong_max: Remove.
9142         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
9143         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
9144         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
9145         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
9146         (Depends-on): Add inttypes.
9147         (lib_SOURCES): Add xstrtol.h.
9148         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
9149         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
9150         * MODULES.html.sh: Move 'assert' into the assert section.
9151         Move 'dummy' into the linking section.
9152         Remove ullong_max.
9153         Add section for compatibility checks for POSIX:2001 functions,
9154         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
9155         winsz-ioctl, and winsz-termios into it.
9156         Add lchmod.
9157         Add top-level Misc section and put host-os, perl, and uptime
9158         into it.
9159
9160 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
9161
9162         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
9163         now assume the stdint module.  Do not include inttypes.h.
9164         * lib/fsusage.h: Likewise.
9165         * lib/getndelim2.c: Likewise.
9166         * lib/human.h: Likewise.
9167         * lib/inttostr.h: Likewise.
9168         * lib/obstack.c: Likewise.
9169         * lib/regex_internal.h: Likewise.
9170         * lib/tempname.c: Likewise.
9171         * lib/utimecmp.c: Likewise.
9172         * lib/xstrtol.h: Likewise.
9173
9174         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
9175
9176         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
9177         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
9178         * lib/xtime.h: Likewise.
9179
9180 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
9181
9182         * modules/openat (Files): Add lib/fchmodat.c.
9183         Fixes problem reported by Jay Youngman.
9184
9185 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
9186
9187         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
9188         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
9189
9190 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
9191             Bruno Haible  <bruno@clisp.org>
9192
9193         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
9194         and is a script that invokes bison. Tighten the code. Add comments.
9195
9196 2006-08-18  Jim Meyering  <jim@meyering.net>
9197
9198         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
9199         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
9200         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
9201         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
9202
9203 2006-08-18  Bruno Haible  <bruno@clisp.org>
9204
9205         * modules/bison-i18n: New file.
9206         * MODULES.html.sh (Internationalization functions): Add it.
9207
9208 2006-08-18  Bruno Haible  <bruno@clisp.org>
9209
9210         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
9211         sys/statvfs.h. When getmntinfo was found, check its declaration and
9212         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
9213
9214 2006-08-18  Bruno Haible  <bruno@clisp.org>
9215
9216         * m4/bison-i18n.m4: New file, from bison.
9217
9218 2006-08-18  Bruno Haible  <bruno@clisp.org>
9219
9220         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
9221         (ME_DUMMY): Treat "kernfs" as a dummy.
9222         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
9223
9224 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
9225
9226         Update from coreutils.
9227
9228         2006-08-15  Jim Meyering  <jim@meyering.net>
9229
9230         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
9231
9232         2006-01-17  Jim Meyering  <jim@meyering.net>
9233
9234         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
9235
9236         2006-01-11  Jim Meyering  <jim@meyering.net>
9237
9238         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
9239         Check for the lchmod function.
9240
9241 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
9242
9243         Update from coreutils.
9244
9245         * lib/__fpending.h: Add copyright notice.
9246         * lib/fprintftime.h: Likewise.
9247         * lib/savedir.c: Use (C) in copyright notice.
9248         * lib/savedir.h: Likewise.
9249
9250         2006-08-15  Jim Meyering  <jim@meyering.net>
9251
9252         * lib/at-func.c: New file, with the logic of all emulated at-functions.
9253         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
9254         in support of the EXPECTED_ERRNO macro.
9255         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
9256         definitions.  Instead, define the appropriate symbols and include
9257         "at-func.c".
9258         * lib/mkdirat.c (mkdirat): Likewise.
9259         * lib/fchmodat.c (fchmodat): Likewise.
9260         (ENOSYS): Remove definition.
9261         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
9262         it.  Don't include "unistd--.h" -- it wasn't ever used.
9263
9264         2006-01-17  Jim Meyering  <jim@meyering.net>
9265
9266         Rewrite fts.c not to change the current working directory,
9267         by using openat, fstatat, fdopendir, etc..
9268
9269         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
9270         (HAVE_OPENAT_SUPPORT): Define.
9271         [_LIBC] (fchdir): Don't undef or define; no longer used.
9272         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
9273         Now, this `function' always succeeds, and consumes its file descriptor
9274         parameter -- so callers must not close such FDs.  Update callers.
9275         (diropen_fd, opendirat, cwd_advance_fd): New functions.
9276         (diropen): Add parameter, SP.  Adjust all callers.
9277         Implement using diropen_fd, rather than open.
9278         (fts_open): Initialize new member, fts_cwd_fd.
9279         Remove fts_rft-setting code.
9280         (fts_close): Close fts_cwd_fd, if necessary.
9281         (__opendir2): Define in terms of opendir or opendirat,
9282         depending on whether the FST_NOCHDIR flag is set.
9283         (fts_build): Since fts_safe_changedir consumes its FD, and since
9284         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
9285         and close the dup'd file descriptor upon failure.
9286         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
9287         (fts_safe_changedir): Tweak semantics to reflect that this function
9288         now calls cwd_advance_fd and hence consumes its FD argument.
9289         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
9290         [struct FTS] (fts_rft): Remove now-unused member.
9291         [struct FTS] (fts_cycle.state): Improve comment.
9292
9293         * lib/openat.c (openat_needs_fchdir): New function.
9294         * lib/openat.h (openat_needs_fchdir): Declare it.
9295
9296 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
9297
9298         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
9299         Problem and fix reported by Pádraig Brady in
9300         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
9301
9302 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
9303
9304         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
9305
9306 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
9307
9308         * lib/memcoll.c (memcoll): Optimize for the common case where the
9309         arguments are bytewise equal.
9310
9311 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
9312
9313         * doc/regexprops-generic.texi: Add a copyright notice.
9314
9315 2006-08-15  Bruno Haible  <bruno@clisp.org>
9316
9317         * modules/tmpdir (License): Change to LGPL.
9318
9319 2006-08-15  Bruno Haible  <bruno@clisp.org>
9320
9321         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
9322         module.
9323
9324 2006-08-14  Simon Josefsson  <jas@extundo.com>
9325
9326         * config/srclist.txt: Add gnupload.
9327
9328 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
9329
9330         Change copyright notice from LGPL 2 to GPL 2, since that's the
9331         standard form used in the gnulib repository.
9332         * tests/test-lock.c: Likewise.
9333         * tests/test-stdint.c: Likewise.
9334         * tests/test-tls.c: Likewise.
9335
9336         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
9337         prelude-manager.  User shorter URLs for GNU projects, without '?'.
9338         Add copyright notice.
9339
9340         * check-module: Add copyright notice.  Output a copyright
9341         notice if "--version" is specified.
9342         * modules/COPYING: New file.
9343         * tests/test-getaddrinfo.c: Add copyright notice.
9344         * tests/test-verify.c: Likewise.
9345
9346 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
9347
9348         Change copyright notice from LGPL 2 to GPL 2, since that's the
9349         standard form used in the gnulib repository.
9350         * lib/lock.c: LGPL -> GPL.
9351         * lib/lock.h: Likewise.
9352         * lib/strnlen1.c: Likewise.
9353         * lib/strnlen1.h: Likewise.
9354         * lib/tls.c: Likewise.
9355         * lib/tls.h: Likewise.
9356         * lib/tmpdir.c: Likewise.
9357
9358         * lib/TODO: Remove; this belongs only in coreutils.
9359
9360 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
9361
9362         Add copyright notices to long-enough files that lack them, since
9363         otherwise the files aren't clearly free.  Use the same notice that
9364         getdate.texi already uses.
9365         * doc/alloca-opt.texi: Add copyright notice.
9366         * doc/alloca.texi: Likewise.
9367         * doc/ctime.texi: Likewise.
9368         * doc/functions.texi: Likewise.
9369         * doc/gcd.texi: Likewise.
9370         * doc/gnulib-tool.texi: Likewise.
9371         * doc/inet_ntoa.texi: Likewise.
9372         * doc/visibility.texi: Likewise.
9373
9374         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
9375         * doc/quote.texi: Add copyright notice.
9376
9377         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
9378         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
9379         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
9380         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
9381         is now obsolete, and give a pointer to the Sun list.
9382         Add copyright notice.
9383
9384 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
9385
9386         * config/srclistvars.sh: Add copyright notice.
9387
9388 2006-08-14  Eric Blake  <ebb9@byu.net>
9389
9390         Import the following change from libc:
9391
9392         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
9393
9394         Upstream bug 2997.
9395         * lib/misc/error.c: Add space between program name and message if file
9396         name is missing.
9397
9398 2006-08-12  Karl Berry  <karl@gnu.org>
9399
9400         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
9401         remove, these originate in gnulib now.
9402
9403 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9404
9405         * doc/Makefile (standards.info standards.html standards.dvi):
9406         Also depend on make-stds.texi.
9407
9408 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
9409
9410         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
9411         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
9412
9413         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
9414         in wchar_t.  Problem reported by Eric Blake.
9415
9416         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
9417         LEN is smaller than SIZE.  Suggested by Bruno Haible.
9418         Also, help the compiler to keep LEN in a register.
9419
9420 2006-08-11  Eric Blake  <ebb9@byu.net>
9421
9422         * users.txt: Sort.  Add tar.
9423
9424 2006-08-11  Bruno Haible  <bruno@clisp.org>
9425
9426         * users.txt: New file.
9427
9428 2006-08-11  Bruno Haible  <bruno@clisp.org>
9429
9430         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
9431         before <wchar.h>. Needed for OSF/1 and BSD/OS.
9432
9433 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9434
9435         * modules/snprintf (Depends-on): Remove minmax.
9436         (Maintainer): Add self and Bruno.
9437
9438 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9439
9440         * lib/.cppi-disable: Add snprintf.h, socket_.h.
9441         * lib/snprintf.c: Include <errno.h> and <limits.h>.
9442         (EOVERFLOW): Define if the system does not.
9443         Do not include "minmax.h"; it wasn't used.
9444         (snprintf): Don't assume size_t promotes to an unsigned type.
9445         Fix bug when generated string was too long for the buffer: the
9446         buffer's contents are supposed to be the initial prefix of the
9447         output.  Don't assume vasnprintf returns EOVERFLOW if the size
9448         exceeds INT_MAX; do the check ourselves.
9449
9450         Import the following changes from libc:
9451
9452         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
9453
9454         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
9455         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
9456         set wc to the byte which couldn't be converted.
9457         (re_string_reconstruct): Don't clear valid_raw_len before calling
9458         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
9459         tip_context using re_string_context_at.
9460
9461         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
9462
9463         * lib/posix/regex.h: g++ still cannot handled [restrict].
9464
9465         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
9466
9467         * lib/posix/regex.h: Remove special handling for VMS.
9468
9469 2006-08-10  Jim Meyering  <jim@meyering.net>
9470
9471         * modules/same-inode: New module.
9472         * modules/dev-ino: New module.
9473         * modules/cycle-check: Depend on these modules, rather than simply
9474         including their .h files.
9475         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
9476         required via m4/cycle-check.m4.
9477         * modules/same: Depend on new same-inode module, rather than
9478         including same-inode.h.
9479         * modules/chdir-safer: New file.
9480
9481         * modules/chown (Depends-on): Add stat-macros.
9482
9483 2006-08-10  Jim Meyering  <jim@meyering.net>
9484
9485         * m4/cycle-check.m4: New file.
9486         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
9487         * m4/dev-ino.m4, m4/same-inode.m4: New files.
9488
9489 2006-08-10  Eric Blake  <ebb9@byu.net>
9490
9491         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
9492         in from original proposal.
9493
9494 2006-08-10  Eric Blake  <ebb9@byu.net>
9495         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9496
9497         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
9498         namespace.
9499
9500 2006-08-10  Bruno Haible  <bruno@clisp.org>
9501
9502         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
9503         as well.
9504
9505 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
9506
9507         Sync from coreutils.
9508
9509         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
9510
9511         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
9512         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
9513
9514 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
9515
9516         * modules/restrict: Remove; no longer needed now that we assume
9517         Autoconf 2.59 or later.
9518         * MODULES.html.sh: Remove 'restrict'.
9519         * modules/argp (Depends-on): Remove 'restrict'.
9520         * modules/base64 (Depends-on): Likewise.
9521         * modules/gc (Depends-on): Likewise.
9522         * modules/getaddrinfo (Depends-on): Likewise.
9523         * modules/glob (Depends-on): Likewise.
9524         * modules/inet_ntop (Depends-on): Likewise.
9525         * modules/inet_pton (Depends-on): Likewise.
9526         * modules/memxor (Depends-on): Likewise.
9527         * modules/regex (Depends-on): Likewise.
9528         * modules/strtok_r (Depends-on): Likewise.
9529         * modules/time_r (Depends-on): Likewise.
9530
9531 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
9532
9533         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
9534         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
9535         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
9536         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
9537         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
9538         * m4/memxor.m4 (gl_MEMXOR): Likewise.
9539         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
9540         gl_C_RESTRICT replaced by AC_C_RESTRICT.
9541
9542         Merge from coreutils.
9543         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
9544         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
9545         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
9546         * m4/time_r.m4 (gl_TIME_R): Likewise.
9547
9548 2006-08-09  Karl Berry  <karl@gnu.org>
9549
9550         * config/srclist.txt: no more gettext-tools, per Bruno.
9551
9552 2006-08-08  Eric Blake  <ebb9@byu.net>
9553
9554         * modules/verror: New module.
9555         * MODULES.html.sh: Document it.
9556
9557 2006-08-08  Eric Blake  <ebb9@byu.net>
9558
9559         * lib/verror.h, lib/verror.c: New files.
9560
9561 2006-08-08  Eric Blake  <ebb9@byu.net>
9562
9563         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
9564         verror_at_line output complies with GNU Coding Standards even when
9565         file is NULL.
9566
9567 2006-08-07  Bruno Haible  <bruno@clisp.org>
9568
9569         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
9570         versions of AIX.
9571         Reported by Ralf Wildenhues.
9572
9573 2006-08-07  Bruno Haible  <bruno@clisp.org>
9574
9575         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
9576         in an AC_DEFUN. Needed so that the autoconf snippets can use
9577         AC_REQUIRE.
9578
9579 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9580
9581         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9582         Initialize pkgdata_DATA.
9583         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
9584         overriding it.
9585
9586 2006-08-06  Eric Blake  <ebb9@byu.net>
9587
9588         * lib/error.h: Fold in some upstream changes from glibc.
9589         * lib/error.c: Likewise.
9590
9591 2006-08-04  Bruno Haible  <bruno@clisp.org>
9592
9593         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9594         Make the mostlyclean-local rule depend on mostlyclean-generic.
9595         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
9596
9597 2006-07-31  Bruno Haible  <bruno@clisp.org>
9598
9599         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
9600         <stdlib.h>, <string.h>.
9601
9602 2006-07-30  Bruno Haible  <bruno@clisp.org>
9603
9604         * modules/readlink (License): Change to LGPL.
9605
9606 2006-07-30  Bruno Haible  <bruno@clisp.org>
9607
9608         * modules/javaversion (Makefile.am): Distribute javaversion.java and
9609         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
9610         set PKGDATADIR to point to it.
9611
9612 2006-07-30  Bruno Haible  <bruno@clisp.org>
9613
9614         * modules/csharpexec (configure.ac): Comment out macro invocation.
9615         * modules/javaexec (configure.ac): Likewise.
9616         * modules/javacomp-script (configure.ac): Likewise.
9617
9618         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
9619
9620 2006-07-30  Bruno Haible  <bruno@clisp.org>
9621
9622         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
9623         linked-list.
9624
9625 2006-07-30  Bruno Haible  <bruno@clisp.org>
9626
9627         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
9628
9629 2006-07-30  Bruno Haible  <bruno@clisp.org>
9630
9631         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9632         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
9633         get removed.
9634
9635 2006-07-29  Bruno Haible  <bruno@clisp.org>
9636
9637         Make it possible for gnulib-tool to work with locally modified or
9638         augmented gnulib repositories.
9639         * gnulib-tool (func_usage): Document --local-dir option.
9640         (local_gnulib_dir): New variable.
9641         Handle --local-dir option.
9642         (func_lookup_file): New function.
9643         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
9644         (func_get_description, func_get_filelist, func_get_description,
9645         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
9646         func_get_automake_snippet, func_get_include_directive,
9647         func_get_license, func_get_maintainer): Use func_lookup_file.
9648         (func_import, func_create_testdir): Use func_lookup_file.
9649
9650 2006-07-29  Bruno Haible  <bruno@clisp.org>
9651
9652         * modules/setenv (Depends-on): Add unistd.
9653
9654 2006-07-29  Bruno Haible  <bruno@clisp.org>
9655
9656         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
9657
9658 2006-07-29  Bruno Haible  <bruno@clisp.org>
9659
9660         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
9661
9662 2006-07-29  Bruno Haible  <bruno@clisp.org>
9663
9664         * gnulib-tool (import, update): If there is no Makefile.am, look at
9665         aclocal.m4, instead of bailing out.
9666
9667 2006-07-29  Bruno Haible  <bruno@clisp.org>
9668
9669         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
9670         Categorize the options by when they are useful.
9671
9672 2006-07-29  Bruno Haible  <bruno@clisp.org>
9673
9674         * gnulib-tool (func_usage): Document option --no-libtool.
9675         Handle option --no-libtool.
9676         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
9677         for changed semantics of $libtool variable.
9678         (func_import): Likewise. If libtool is not used, show this through
9679         an option --no-libtool.
9680         (func_create_testdir): Update.
9681
9682 2006-07-29  Bruno Haible  <bruno@clisp.org>
9683
9684         * gnulib-tool (func_import): Extend error message about missing
9685         --doc-base.
9686
9687 2006-07-29  Bruno Haible  <bruno@clisp.org>
9688
9689         * gnulib-tool (func_import): Don't create the $docbase directory if
9690         there is no file to store there.
9691
9692 2006-07-29  Bruno Haible  <bruno@clisp.org>
9693
9694         * gnulib-tool (autoconf_minversion): If a --dir option is given and
9695         relevant, look for configure.ac there, not in the current directory.
9696         Also use a simple search for AC_PREREQ, not "autoconf --trace".
9697
9698 2006-07-29  Bruno Haible  <bruno@clisp.org>
9699
9700         * gnulib-tool (SORT): New variable.
9701         (func_usage): Undocument --assume-autoconf option.
9702         Remove --assume-autoconf option handling.
9703         (autoconf_minversion): Determine from the contents of configure.ac.
9704         (func_import): Remove autoconf_minversion handling.
9705         Suggested by Eric Blake.
9706
9707 2006-07-29  Bruno Haible  <bruno@clisp.org>
9708
9709         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
9710
9711 2006-07-29  Bruno Haible  <bruno@clisp.org>
9712
9713         * config/srclist.txt (*setenv.[ch]): Remove rules.
9714
9715 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9716
9717         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
9718
9719 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9720
9721         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
9722         arpa/inet.h.
9723
9724 2006-07-28  Simon Josefsson  <jas@extundo.com>
9725
9726         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
9727         * modules/inet_pton (Depends-on): Likewise.
9728
9729 2006-07-28  Simon Josefsson  <jas@extundo.com>
9730
9731         * m4/netinet_in_h.m4: New file.
9732
9733 2006-07-28  Simon Josefsson  <jas@extundo.com>
9734
9735         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
9736         #include's.
9737
9738 2006-07-28  Simon Josefsson  <jas@extundo.com>
9739
9740         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
9741         #include's.
9742
9743 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
9744
9745         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
9746         setgid on directories only if they set these bits.
9747         * lib/modechange.h: Remove obsolete comment about masks.
9748
9749 2006-07-28  Eric Blake  <ebb9@byu.net>
9750
9751         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
9752         macro expansion.
9753
9754 2006-07-28  Bruno Haible  <bruno@clisp.org>
9755
9756         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
9757
9758 2006-07-28  Bruno Haible  <bruno@clisp.org>
9759
9760         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
9761
9762 2006-07-28  Bruno Haible  <bruno@clisp.org>
9763
9764         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
9765         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
9766         Define fallbacks.
9767         Avoids link error on FreeBSD 4.x.
9768         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
9769
9770         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
9771         encoding.
9772         * lib/mbswidth.c (iswcntrl): Likewise.
9773
9774 2006-07-27  Bruno Haible  <bruno@clisp.org>
9775
9776         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
9777         test.
9778
9779 2006-07-27  Bruno Haible  <bruno@clisp.org>
9780
9781         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
9782         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
9783         defined.
9784
9785 2006-07-26  Eric Blake  <ebb9@byu.net>
9786
9787         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
9788
9789 2006-07-26  Eric Blake  <ebb9@byu.net>
9790
9791         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
9792         like mingw that lack mkstemp.
9793         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
9794         avoid compilation warning on mingw.
9795
9796 2006-07-26  Bruno Haible  <bruno@clisp.org>
9797
9798         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
9799         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
9800         INT_FAST*_MIN, INTPTR_MIN.
9801
9802 2006-07-25  Bruno Haible  <bruno@clisp.org>
9803
9804         * modules/version-etc (Depends-on): Add stdarg.
9805
9806 2006-07-25  Bruno Haible  <bruno@clisp.org>
9807
9808         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
9809         complex commands.
9810
9811 2006-07-25  Bruno Haible  <bruno@clisp.org>
9812
9813         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
9814         defined in <stdarg.h> or config.h.
9815
9816 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9817
9818         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
9819         (gl_STDIO_SAFER): Remove.
9820
9821 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9822
9823         * MODULES.html.sh (File stream based Input/Output):
9824         Add fopen-safer, tmpfile-safer; remove stdio-safer.
9825         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
9826         * modules/fopen-safer, modules/tmpfile-safer: New files.
9827         * modules/stdio-safer: Remove.
9828
9829 2006-07-24  Bruno Haible  <bruno@clisp.org>
9830
9831         * modules/tmpdir: New file.
9832         * MODULES.html.sh (File system functions): Add it.
9833
9834 2006-07-24  Bruno Haible  <bruno@clisp.org>
9835
9836         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
9837         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
9838
9839 2006-07-24  Bruno Haible  <bruno@clisp.org>
9840
9841         * modules/clean-temp: New file.
9842
9843 2006-07-24  Bruno Haible  <bruno@clisp.org>
9844
9845         * m4/tmpdir.m4: New file, from GNU gettext.
9846
9847 2006-07-24  Bruno Haible  <bruno@clisp.org>
9848
9849         * lib/tmpdir.h: New file, from GNU gettext.
9850         * lib/tmpdir.c: New file, from GNU gettext.
9851
9852 2006-07-24  Bruno Haible  <bruno@clisp.org>
9853
9854         * lib/clean-temp.h: New file, from GNU gettext.
9855         * lib/clean-temp.c: New file, from GNU gettext.
9856
9857 2006-07-23  Eric Blake  <ebb9@byu.net>
9858
9859         * modules/stdio-safer (Files): Add tmpfile-safer.c.
9860         (Depends-on): Add binary-io.
9861
9862 2006-07-23  Eric Blake  <ebb9@byu.net>
9863
9864         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
9865
9866 2006-07-23  Eric Blake  <ebb9@byu.net>
9867
9868         * lib/tmpfile-safer.c: New file.
9869         * lib/stdio-safer.h (fopen_safer): Add prototype.
9870         * lib/stdio--.h (tmpfile): Make safer.
9871
9872 2006-07-23  Bruno Haible  <bruno@clisp.org>
9873
9874         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
9875         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
9876         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
9877         gl_linked_remove_at): Use it.
9878
9879 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9880         and Simon Josefsson <jas@extundo.com>
9881
9882         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
9883
9884         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
9885
9886 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9887
9888         * modules/close-stream: New file.
9889         * modules/closeout (Description): Make it clear that it exits
9890         with a diagnostic on error.
9891         (Depends-on): Add close-stream.  Remove fpending, stdbool.
9892         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
9893
9894 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9895
9896         * m4/close-stream.m4: New file.
9897
9898 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9899
9900         * lib/close-stream.c, lib/close-stream.h: New files.
9901
9902 2006-07-22  Bruno Haible  <bruno@clisp.org>
9903
9904         Merge from GNU gettext 0.15.
9905
9906         2006-05-01  Bruno Haible  <bruno@clisp.org>
9907
9908                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
9909
9910         2006-07-22  Bruno Haible  <bruno@clisp.org>
9911
9912                 * modules/javaversion: New file.
9913                 * MODULES.html.sh (Java): Add javaversion.
9914
9915         2006-03-12  Bruno Haible  <bruno@clisp.org>
9916
9917                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
9918
9919         2005-12-04  Bruno Haible  <bruno@clisp.org>
9920
9921                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
9922                 (untested).
9923
9924         2006-06-21  Bruno Haible  <bruno@clisp.org>
9925
9926                 Avoid warnings from recent versions of mcs.
9927                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
9928                 -o, -L, -r any more. Use options documented since mcs-1.0
9929                 instead. Similarly for -g.
9930
9931         2005-12-04  Bruno Haible  <bruno@clisp.org>
9932
9933                 * build-aux/csharpcomp.sh.in: Suffix for resources is
9934                 .resources, not .resource.
9935
9936         2005-07-09  Bruno Haible  <bruno@clisp.org>
9937
9938                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
9939                 add a .dll suffix.
9940                 Reported by Mark Junker <mjscod@gmx.de>.
9941
9942         2006-07-22  Bruno Haible  <bruno@clisp.org>
9943
9944                 * modules/gettext: Upgrade to gettext-0.15.
9945                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
9946                 m4/visibility.m4.
9947                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
9948
9949 2006-07-22  Bruno Haible  <bruno@clisp.org>
9950
9951         Merge from GNU gettext 0.15.
9952
9953         2006-03-25  Bruno Haible  <bruno@clisp.org>
9954
9955                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
9956
9957         2006-07-21  Bruno Haible  <bruno@clisp.org>
9958
9959                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
9960                 "1.1".
9961
9962         2006-05-09  Bruno Haible  <bruno@clisp.org>
9963
9964                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
9965                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
9966                 for the conftestver execution.
9967
9968         2006-05-01  Bruno Haible  <bruno@clisp.org>
9969
9970                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
9971                 optional target-version argument. Verify that the compiler
9972                 groks source of the specified source-version, or add -source
9973                 option as necessary. Verify that the compiler produces
9974                 bytecode in the specified target-version, or add -target and
9975                 -source options as necessary. Make the result of the test
9976                 available as variable CONF_JAVAC. Also log error output in
9977                 config.log.
9978
9979         2006-03-11  Bruno Haible  <bruno@clisp.org>
9980
9981                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
9982
9983         2006-05-09  Bruno Haible  <bruno@clisp.org>
9984
9985                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
9986                 CLASSPATH_SEPARATOR to a semicolon.
9987
9988         2006-03-12  Bruno Haible  <bruno@clisp.org>
9989
9990                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
9991                 available as variable CONF_JAVA, for subsequent autoconf
9992                 tests. Also log error output in config.log.
9993
9994         2006-07-19  Bruno Haible  <bruno@clisp.org>
9995
9996                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
9997                 that getline works on glibc2 systems. Needed to avoid trouble
9998                 in relocatable.c.
9999                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
10000
10001         2005-12-04  Bruno Haible  <bruno@clisp.org>
10002
10003                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
10004                 launcher (untested).
10005
10006         2005-12-04  Bruno Haible  <bruno@clisp.org>
10007
10008                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
10009
10010         2006-07-22  Bruno Haible  <bruno@clisp.org>
10011
10012                 * gettext.m4: Update from GNU gettext-0.15.
10013                 * nls.m4: Likewise.
10014                 * po.m4: Likewise.
10015                 * inttypes-pri.m4: Likewise.
10016                 * inttypes-h.m4: Renamed from inttypes.m4.
10017                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
10018
10019 2006-07-22  Bruno Haible  <bruno@clisp.org>
10020
10021         Merge from GNU gettext 0.15.
10022
10023         2005-07-05  Bruno Haible  <bruno@clisp.org>
10024
10025                 * printf-args.c (printf_fetchargs): Work around broken
10026                 definition of wint_t on mingw.
10027
10028         2005-02-12  Bruno Haible  <bruno@clisp.org>
10029
10030                 * xallocsa.h: Add extern "C" for C++.
10031
10032         2006-05-17  Bruno Haible  <bruno@clisp.org>
10033
10034                 Cygwin portability.
10035                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
10036
10037         2006-04-30  Bruno Haible  <bruno@clisp.org>
10038
10039                 * progreloc.c: Include <mach-o/dyld.h> if available.
10040                 (find_executable): Use _NSGetExecutablePath when possible.
10041
10042         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
10043
10044                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
10045                 function.
10046
10047         2005-12-29  Bruno Haible  <bruno@clisp.org>
10048
10049                 * progreloc.c (set_program_name_and_installdir): Fix
10050                 compilation error.
10051
10052         2005-12-04  Bruno Haible  <bruno@clisp.org>
10053
10054                 Cygwin portability.
10055                 * progreloc.c: Include <windows.h> also on Cygwin.
10056                 (find_executable): Add support for Cygwin.
10057                 (set_program_name_and_installdir): Handle also platforms with
10058                 nonempty EXEEXT.
10059
10060         2006-07-11  Bruno Haible  <bruno@clisp.org>
10061
10062                 * javacomp.c: Fix a comment.
10063                 Reported by Jim Meyering.
10064
10065         2006-04-30  Bruno Haible  <bruno@clisp.org>
10066
10067                 * javacomp.h (compile_java_class): Add source_version,
10068                 target_version arguments.
10069                 * javacomp.c: Rewritten to choose only a compiler that
10070                 respects the specified source_version and target_version.
10071
10072         2006-06-27  Bruno Haible  <bruno@clisp.org>
10073
10074                 Assume correct S_ISDIR macro.
10075                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
10076
10077         2006-07-22  Bruno Haible  <bruno@clisp.org>
10078
10079                 * javaversion.h: New file, from GNU gettext.
10080                 * javaversion.c: New file, from GNU gettext.
10081                 * javaversion.java: New file, from GNU gettext.
10082                 * javaversion.class: New file, from GNU gettext.
10083
10084         2006-05-17  Bruno Haible  <bruno@clisp.org>
10085
10086                 Cygwin portability.
10087                 * javaexec.c (execute_java_class): Test for jview program
10088                 also on Cygwin.
10089
10090         2006-04-09  Bruno Haible  <bruno@clisp.org>
10091
10092                 * fatal-signal.c: Don't include string.h.
10093                 (at_fatal_signal): Use a copying loop instead of memcpy.
10094
10095         2005-12-04  Bruno Haible  <bruno@clisp.org>
10096
10097                 * csharpexec.c: Add support for 'clix' launcher (untested).
10098                 (execute_csharp_using_sscli): New function.
10099                 (execute_csharp_program): Call it.
10100
10101         2006-06-21  Bruno Haible  <bruno@clisp.org>
10102
10103                 Avoid warnings from recent versions of mcs.
10104                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
10105                 -o, -L, -r any more. Use options documented since mcs-1.0
10106                 instead. Similarly for -g.
10107
10108         2005-07-09  Bruno Haible  <bruno@clisp.org>
10109
10110                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
10111                 add a .dll suffix.
10112                 Reported by Mark Junker <mjscod@gmx.de>.
10113
10114         2006-06-17  Bruno Haible  <bruno@clisp.org>
10115
10116                 * config.charset: Update for NetBSD 3.0.
10117
10118         2006-05-17  Bruno Haible  <bruno@clisp.org>
10119
10120                 Cygwin portability.
10121                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
10122
10123         2006-05-16  Bruno Haible  <bruno@clisp.org>
10124
10125                 * localcharset.c [CYGWIN]: Include <windows.h>.
10126                 (get_charset_aliases): For Cygwin, return the same CPxxx
10127                 aliases list as under WIN32.
10128                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
10129                 the environment variables. Fall back to GetACP().
10130
10131         2006-04-05  Bruno Haible  <bruno@clisp.org>
10132
10133                 * config.charset: Update Juan Manuel Guerrero's address.
10134
10135         2005-02-12  Bruno Haible  <bruno@clisp.org>
10136
10137                 * allocsa.h: Add extern "C" for C++.
10138
10139         2005-02-10  Bruno Haible  <bruno@clisp.org>
10140
10141                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
10142                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
10143
10144         2006-07-22  Bruno Haible  <bruno@clisp.org>
10145
10146                 * gettext.h: Update to GNU gettext-0.15.
10147
10148 2006-07-22  Bruno Haible  <bruno@clisp.org>
10149
10150         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
10151         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
10152         lib-prefix.m4, longdouble.m4, ssize_t.m4.
10153
10154 2006-07-21  Eric Blake  <ebb9@byu.net>
10155
10156         * modules/stdlib-safer: New file.
10157         * MODULES.html.sh (File stream based Input/Output): Add
10158         stdlib-safer.
10159
10160 2006-07-21  Eric Blake  <ebb9@byu.net>
10161
10162         * lib/stdlib-safer.h: New file from coreutils, required by
10163         stdlib--.h.
10164
10165 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
10166
10167         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
10168
10169 2006-07-20  Bruno Haible  <bruno@clisp.org>
10170
10171         * gnulib-tool: Recognize new option --assume-autoconf.
10172         (autoconf_minversion): New variable.
10173         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
10174
10175 2006-07-20  Bruno Haible  <bruno@clisp.org>
10176
10177         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
10178
10179 2006-07-19  Derek R. Price  <derek@ximbiot.com>
10180
10181         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
10182         Reindent and repaginate.
10183
10184 2006-07-19  Derek Price  <derek@ximbiot.com>
10185
10186         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
10187         Correct grammar.
10188
10189 2006-07-17  Bruno Haible  <bruno@clisp.org>
10190
10191         * modules/list: New file.
10192         * modules/array-list: New file.
10193         * modules/carray-list, modules/carray-list-tests: New files.
10194         * modules/linked-list, modules/linked-list-tests: New files.
10195         * modules/avltree-list, modules/avltree-list-tests: New files.
10196         * modules/rbtree-list, modules/rbtree-list-tests: New files.
10197         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
10198         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
10199         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
10200         * modules/oset: New file.
10201         * modules/array-oset: New file.
10202         * modules/avltree-oset, modules/avltree-oset-tests: New files.
10203         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
10204         * tests/test-carray_list.c: New file.
10205         * tests/test-linked_list.c: New file.
10206         * tests/test-avltree_list.c: New file.
10207         * tests/test-rbtree_list.c: New file.
10208         * tests/test-linkedhash_list.c: New file.
10209         * tests/test-avltreehash_list.c: New file.
10210         * tests/test-rbtreehash_list.c: New file.
10211         * tests/test-avltree_oset.c: New file.
10212         * tests/test-rbtree_oset.c: New file.
10213         * MODULES.html.sh (Container data structures): New section.
10214
10215 2006-07-17  Bruno Haible  <bruno@clisp.org>
10216
10217         * m4/gl_list.m4: New file.
10218
10219 2006-07-17  Bruno Haible  <bruno@clisp.org>
10220
10221         * lib/gl_list.h: New file.
10222         * lib/gl_list.c: New file.
10223         * lib/gl_array_list.h: New file.
10224         * lib/gl_array_list.c: New file.
10225         * lib/gl_carray_list.h: New file.
10226         * lib/gl_carray_list.c: New file.
10227         * lib/gl_linked_list.h: New file.
10228         * lib/gl_linked_list.c: New file.
10229         * lib/gl_anylinked_list1.h: New file.
10230         * lib/gl_anylinked_list2.h: New file.
10231         * lib/gl_avltree_list.h: New file.
10232         * lib/gl_avltree_list.c: New file.
10233         * lib/gl_anyavltree_list1.h: New file.
10234         * lib/gl_anyavltree_list2.h: New file.
10235         * lib/gl_rbtree_list.h: New file.
10236         * lib/gl_rbtree_list.c: New file.
10237         * lib/gl_anyrbtree_list1.h: New file.
10238         * lib/gl_anyrbtree_list2.h: New file.
10239         * lib/gl_anytree_list1.h: New file.
10240         * lib/gl_anytree_list2.h: New file.
10241         * lib/gl_linkedhash_list.h: New file.
10242         * lib/gl_linkedhash_list.c: New file.
10243         * lib/gl_anyhash_list1.h: New file.
10244         * lib/gl_anyhash_list2.h: New file.
10245         * lib/gl_avltreehash_list.h: New file.
10246         * lib/gl_avltreehash_list.c: New file.
10247         * lib/gl_rbtreehash_list.h: New file.
10248         * lib/gl_rbtreehash_list.c: New file.
10249         * lib/gl_anytreehash_list1.h: New file.
10250         * lib/gl_anytreehash_list2.h: New file.
10251
10252         * lib/gl_oset.h: New file.
10253         * lib/gl_oset.c: New file.
10254         * lib/gl_array_oset.h: New file.
10255         * lib/gl_array_oset.c: New file.
10256         * lib/gl_avltree_oset.h: New file.
10257         * lib/gl_avltree_oset.c: New file.
10258         * lib/gl_rbtree_oset.h: New file.
10259         * lib/gl_rbtree_oset.c: New file.
10260         * lib/gl_anytree_oset.h: New file.
10261
10262 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
10263
10264         * m4/mkancesdirs.m4: New file.
10265         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
10266         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
10267         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
10268         it.
10269
10270 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
10271
10272         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
10273         * lib/mkancesdirs.h: New files.
10274         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
10275         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
10276         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
10277         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
10278         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
10279         callers changed.  Revamp internals significantly, by not
10280         attempting to create directories that are temporarily more
10281         permissive than the final results.  Do not attempt to use
10282         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
10283         This removes some race conditions, fixes some bugs, and simplifies
10284         things.  Use new dirchownmod function to do owner and mode changes.
10285         * lib/mkdir-p.h: Likewise.
10286         * lib/modechange.c (octal_to_mode): New function.
10287         (struct mode_change): New member mentioned.
10288         (make_node_op_equals): New arg mentioned.  All callers changed.
10289         (mode_compile): Keep track of which mode bits the user has explicitly
10290         mentioned.
10291         (mode_adjust): New arg DIR, so that we implement the X op correctly.
10292         New arg PMODE_BITS, to keep track of which mode bits the user
10293         mentioned; it treats S_ISUID and S_ISGID speciall.
10294         All callers changed.
10295         * lib/modechange.h: Likewise.
10296
10297 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
10298
10299         * MODULES.html.sh: Add mkancestors.
10300         * modules/mkancesdirs: New module.
10301         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
10302         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
10303         The chdir-safer and afs files are now orphans; I'll remove them
10304         unless someone speaks up.
10305         Add lib/dirchownmod.c, lib/dirchownmod.h.
10306         (Depends-on): Remove alloca, chown, save-cwd, dirname.
10307         Add lchown, mkancesdirs.
10308         (Maintainer): Add self.
10309
10310 2006-07-15  Karl Berry  <karl@gnu.org>
10311
10312         * gnulib-tool: help message wording/arrangement.
10313
10314 2006-07-14  Simon Josefsson  <jas@extundo.com>
10315
10316         * doc/gnulib.texi (Libtool and Windows): New section.
10317
10318 2006-07-12  Simon Josefsson  <jas@extundo.com>
10319
10320         * modules/gendocs (License): Fix license, approved by Karl.
10321
10322 2006-07-12  Eric Blake  <ebb9@byu.net>
10323
10324         * MODULES.html.sh: Add gendocs.
10325
10326 2006-07-11  Eric Blake  <ebb9@byu.net>
10327
10328         * modules/fdl: New module, to install doc/fdl.texi.
10329         * MODULES.html.sh: Add new section for documentation modules.
10330         * gnulib-tool: Avoid space-tab.
10331         (--doc-base): New option, to manage files from doc.
10332
10333 2006-07-11  Eric Blake  <ebb9@byu.net>
10334
10335         * m4/absolute-header.m4: Fix comments to match recent change.
10336
10337 2006-07-11  Eric Blake  <ebb9@byu.net>
10338
10339         * gnulib-tool: List --doc-base before --tests-base.
10340
10341 2006-07-11  Derek R. Price  <derek@ximbiot.com>
10342
10343         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
10344
10345 2006-07-11  Bruno Haible  <bruno@clisp.org>
10346
10347         * README: Mention where to put documentation.
10348
10349 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10350
10351         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
10352
10353 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
10354
10355         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
10356         to stdint.m4.
10357
10358 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
10359
10360         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
10361         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
10362         "no/such/file/stdint.h" when there is no such file, so that
10363         the resulting C code can be parsed by dodgy compilers.
10364         Problems reported by Bob Proulx.
10365
10366 2006-07-10  Derek R. Price  <derek@ximbiot.com>
10367
10368         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
10369         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
10370         macros into the GNU _D_EXACT_NAMLEN.
10371         * lib/savedir.c:  Likewise.
10372         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
10373
10374 2006-07-10  Derek R. Price  <derek@ximbiot.com>
10375         and Paul Eggert  <eggert@cs.ucla.edu>
10376
10377         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
10378         * m4/savedir.m4:
10379         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
10380         macros into the GNU _D_EXACT_NAMLEN.
10381
10382 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10383
10384         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
10385         around the absolute name, to work around a problem with the HP-UX
10386         11.23 native C compiler, reported by Bob Proulx.
10387
10388 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10389
10390         * doc/maintain.texi, make-stds.texi: Sync from
10391         <http://savannah.gnu.org/projects/gnustandards>.
10392
10393 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10394
10395         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
10396
10397 2006-07-09  Jim Meyering  <jim@meyering.net>
10398
10399         * m4/glob.m4: Remove a doubled word in a comment.
10400
10401 2006-07-09  Jim Meyering  <jim@meyering.net>
10402
10403         * lib/argp-pv.c: Remove a doubled word in a comment.
10404         * lib/check-version.c (check_version): Likewise.
10405         * lib/javacomp.c (compile_java_class): Likewise.
10406
10407 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10408
10409         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
10410         for the benefit of people using Autoconf 2.60.  If you want to
10411         support older Autoconf versions you can copy m4/onceonly_2_57.m4
10412         (or m4/onceonly.m4, if pre-2.57) manually.
10413
10414 2006-07-08  Jim Meyering  <jim@meyering.net>
10415
10416         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
10417         comment.
10418         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
10419         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
10420         comment.
10421
10422 2006-07-08  Jim Meyering  <jim@meyering.net>
10423
10424         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
10425
10426 2006-07-07  Simon Josefsson  <jas@extundo.com>
10427
10428         * tests/test-crc.c: Change expected crc value, the test vector
10429         were probably computed using the old broken crc.c?
10430
10431 2006-07-06  Simon Josefsson  <jas@extundo.com>
10432
10433         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
10434         now the canonical place for the M4 file).
10435
10436         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
10437         from the sys_socket dependency now.
10438
10439         * modules/inet_pton (Files): Ditto.
10440
10441         * modules/inet_ntop (Files): Ditto.
10442
10443 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10444
10445         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
10446         not gl_PREREQ_GETUSERSHELL.
10447
10448 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10449
10450         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
10451         with only one argument, for Autoconf 2.60.
10452         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
10453         expand to nothing, so add a shell command to avoid syntax error.
10454         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
10455
10456 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10457
10458         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
10459
10460 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10461
10462         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
10463         no longer needed.  Check for isblank decl.
10464         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
10465         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
10466         of existence.
10467
10468 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10469
10470         * lib/getloadavg.c: Use __VMS, not VMS.
10471         * lib/getopt.c: Likewise.
10472         * lib/getpagesize.h: Likewise.
10473         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
10474         and probably does not work.
10475
10476 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10477
10478         * lib/.cppi-disable: Add wcwidth.
10479         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
10480         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
10481         (ISGRAPH): Remove.  All uses changed to isgraph.
10482         (FOLD) [!defined _LIBC]: Remove special case.
10483         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
10484         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
10485         HAVE_ISBLANK.
10486         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
10487         case.
10488
10489 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
10490
10491         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
10492         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
10493         brackets.  Other minor changes to suppress some compiler
10494         warnings.
10495
10496 2006-07-06  Derek R. Price  <derek@ximbiot.com>
10497         and Paul Eggert  <eggert@cs.ucla.edu>
10498
10499         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
10500         of invoking obsolescent AC_HEADER_DIRENT macro.
10501         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
10502         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
10503         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10504         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
10505         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
10506         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
10507         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
10508         * m4/readdir.m4: Remove; no longer needed.
10509
10510 2006-07-06  Derek R. Price  <derek@ximbiot.com>
10511         and Paul Eggert  <eggert@cs.ucla.edu>
10512
10513         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
10514         Don't worry about this obsolete case any more.
10515         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
10516         directories.
10517         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
10518         worry about this obsolete case any more.
10519         * lib/fts.c: Likewise.
10520         * lib/getcwd.c: Likewise.
10521         * lib/glob.h: Likewise.
10522         * lib/savedir.c: Likewise.
10523
10524 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10525
10526         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
10527         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
10528         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
10529         needed.
10530         All uses removed.
10531         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
10532         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
10533         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
10534         needed.
10535         * m4/getdate.m4 (gl_GETDATE): Likewise.
10536         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
10537         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
10538         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
10539         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
10540         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
10541         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
10542         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
10543         needed.
10544
10545 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10546
10547         * lib/memcasecmp.c: Include <limits.h>.
10548         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
10549         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
10550         Don't assume isdigit succeeds only on '0' through '9'.
10551
10552 2006-07-05  Eric Blake  <ebb9@byu.net>
10553
10554         * modules/getaddrinfo (Depends-on): Add snprintf.
10555
10556 2006-07-05  Eric Blake  <ebb9@byu.net>
10557
10558         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
10559         to avoid 'header present but could not be compiled' on cygwin.
10560
10561 2006-07-05  Eric Blake  <ebb9@byu.net>
10562
10563         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
10564         missing from netdb.h.
10565         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
10566
10567 2006-07-05  Derek R. Price  <derek@ximbiot.com>
10568
10569         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
10570         no longer needed.
10571         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
10572         * m4/getdate.m4 (gl_GETDATE): Likewise.
10573         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
10574         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
10575         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
10576         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
10577         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
10578
10579 2006-07-05  Derek R. Price  <derek@ximbiot.com>
10580
10581         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
10582         All uses of is_space replaced by isspace.
10583         * lib/exit.h: Don't talk about STDC_HEADERS.
10584         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
10585         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
10586         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
10587         replaced by isprint etc.
10588         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
10589         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
10590         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
10591         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
10592         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
10593         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
10594
10595 2006-07-05  Bruno Haible  <bruno@clisp.org>
10596
10597         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
10598         the function exists, before testing against AIX.
10599         Reported by Martin Lambers <marlam@marlam.de>.
10600
10601 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
10602
10603         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
10604         From Mark D. Baushke.
10605
10606 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
10607
10608         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
10609         to the absolute name, not just one, to bypass Sun C 5.8's
10610         "warning: #include of /usr/include/... may be non-portable".
10611
10612 2006-07-04  Eric Blake  <ebb9@byu.net>
10613
10614         * modules/dirname-tests: New test module.
10615         * tests/test-dirname.c: New file, replacing dirname.c
10616         TEST_DIRNAME section that was recently deleted.
10617
10618 2006-07-04  Bruno Haible  <bruno@clisp.org>
10619
10620         Assume ANSI C header files and <ctype.h> functions.
10621         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
10622         (mbsnwidth): Use isprint, iscntrl instead.
10623
10624 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10625
10626         Merge from coreutils.
10627         * MODULES.html.sh: Add xstrtold.
10628         * modules/xstrtold: New file.
10629         * modules/cycle-check (Files): Add lib/same-inode.h.
10630         * modules/dirname (Files): Add m4/double-slash-root.m4.
10631         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
10632         * modules/mkdir-p (Files): Add lib/same-inode.h.
10633         * modules/same (Files): Add lib/same-inode.h.
10634
10635 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10636
10637         * m4/absolute-header.m4: Renamed from full-header-path.m4.
10638         This is to keep the terminology clean; POSIX talks about
10639         "absolute pathnames", not "full pathnames", but the GNU
10640         Coding Standards say to use "path" for something else;
10641         so use "absolute" to keep both sides happy.
10642         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
10643         Set gl_absolute_header, not gl_full_header_path.
10644         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
10645         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
10646         All uses changed.
10647
10648         Merge from coreutils.
10649
10650         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10651
10652         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
10653         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
10654         want to require the building of c-strtod.o.
10655         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
10656         needs -lm directly.
10657         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
10658
10659         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
10660
10661         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
10662         --as-needed option if available.  Problem reported by Albert Chin in
10663         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
10664         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
10665         cc merely issues a bunch of annoying warnings for --as-needed
10666         (this problem was reported by Bob Proulx).  Also, try linking with
10667         -lm to detect a bug in binutils 2.16 (this problem was reported
10668         by Ralf Wildenhues).
10669
10670         2006-06-18  Jim Meyering  <jim@meyering.net>
10671
10672         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
10673         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
10674         macro.
10675         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
10676         also check for glibc-2.4's abort-inducing bug.
10677
10678         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
10679         Low-probability clean-up should be to use rmdir to get rid of
10680         the just-created directory, not unlink.
10681
10682         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
10683         configure fail, and request a bug report to inform us about it.
10684         Add a comment that, barring reports to the contrary, in 2007 we'll
10685         assume ftruncate is universally available.
10686
10687         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
10688
10689         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
10690
10691         2006-03-12  Jim Meyering  <jim@meyering.net>
10692
10693         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
10694         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
10695         * m4/same.m4 (gl_SAME): Likewise.
10696         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
10697
10698         2006-03-11  Eric Blake  <ebb9@byu.net>
10699
10700         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
10701         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
10702         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
10703         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
10704
10705 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10706
10707         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
10708         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
10709         reported by Mark D. Baushke, one in
10710         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
10711
10712         Merge from coreutils.
10713
10714         * lib/.cppi-disable: Add stdint_.h.
10715         * lib/.cvsignore: Add stdint.h.
10716
10717         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10718
10719         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
10720         both double and long double versions.
10721         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
10722         * lib/xstrtold.c: New file.
10723         * lib/xstrtod.h (xstrtold): New decl.
10724
10725         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
10726
10727         * lib/filemode.c (setst): Remove.
10728         (strmode): Rewrite to avoid setst.  This makes the code shorter,
10729         (arguably) clearer, and the generated code is a bit smaller on my
10730         Debian GNU/Linux stable x86 host.
10731
10732         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
10733
10734         * lib/filemode.c: Include "filemode.h" first, to test the interface.
10735         Assume that filemode.h includes sys/types.h and sys/stat.h.
10736         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
10737         (ftypelet): Reorder to put common cases first, for efficiency.
10738         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
10739         to do 'M'.
10740         (strmode): Renamed from mode_string, and now stores 12 bytes instead
10741         of 10, for compatibility with FreeBSD.  All callers changed.
10742         (filemodestring): Now stores 12 bytes instead of 10, and sets file
10743         types that can't be deduced solely from st_mode.  First arg is now a
10744         const pointer.
10745         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
10746         (strmode): Renamed from mode_string.
10747         (filemodestring): New decl.
10748         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
10749         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
10750         needed.
10751         (S_ISPORT, S_ISWHT): New macros, if not already defined.
10752
10753         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
10754
10755         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
10756         fsusage.h now does that.  Include fsusage.h first, to test interface.
10757         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
10758         at most one method (the old code could have generated decls that
10759         didn't conform to C89, not that this was ever exercised).
10760         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
10761
10762         2006-03-19  Jim Meyering  <jim@meyering.net>
10763
10764         Work even in a chroot where d_ino values for entries in "/"
10765         don't match the stat.st_ino values for the same names.
10766         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
10767         number, iterate through all entries again, using lstat instead.
10768         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
10769         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
10770
10771         * lib/getcwd.c (__getcwd): Clarify a comment.
10772         Use memcpy in place of a call to strcpy.
10773
10774         2006-03-12  Jim Meyering  <jim@meyering.net>
10775
10776         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
10777         matches that of the current directory (which we're about to chdir ".."
10778         out of), then save the dev-ino of the parent, instead.
10779
10780         * lib/same-inode.h (SAME_INODE): New file/macro.
10781         * lib/chdir-safer.c (SAME_INODE): Remove definition.
10782         Include "same-inode.h", instead.
10783         * lib/same.c: Likewise.
10784         * lib/cycle-check.h: Include "same-inode.h".
10785         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
10786         * lib/cycle-check.c (SAME_INODE): Remove definition.
10787         * lib/root-dev-ino.h: Include "same-inode.h".
10788
10789         2006-03-11  Eric Blake  <ebb9@byu.net>
10790
10791         * lib/same.c (same_name): s/base_name/last_component/
10792         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
10793         * lib/filenamecat.c (file_name_concat): Likewise.
10794
10795         2006-03-11  Eric Blake  <ebb9@byu.net>,
10796                     Paul Eggert  <eggert@cs.ucla.edu>
10797
10798         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
10799         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
10800         drive prefix.
10801         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
10802         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
10803         (last_component): New method.
10804         * lib/dirname.c (dir_len): Determine when drive letters need a
10805         subsequent slash.  Preserve // when it is special.
10806         (dir_name): Don't append dot when drive letter is absolute.
10807         [TEST_DIRNAME]: Move into a full-blown gnulib test.
10808         * lib/basename.c (base_name): New semantics - malloc the result.
10809         Preserve // when it is special.  Preserve relative files that look
10810         like drive letters.
10811         (base_len): Preserve // when it is special.
10812         (last_component): New method, similar to old base_name semantics.
10813         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
10814         base_name.  Strip redundant slashes from ///.
10815
10816 2006-07-03  Jim Meyering  <jim@meyering.net>
10817
10818         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
10819         macro is used before the first cycle_check call.
10820
10821 2006-07-03  Eric Blake  <ebb9@byu.net>
10822
10823         * modules/dirname (Depends-on): Add xstrndup.
10824
10825 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
10826
10827         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
10828         test cases, so that config.log is a bit easier to follow.
10829
10830 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
10831
10832         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
10833         both are 64 bits, since this seems to be the tradition, and this
10834         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
10835         we ever run into a host that prefers long long to long in this
10836         case, we'll need another configure-time test.  Problem reported by
10837         Jim Meyering.
10838
10839 2006-07-02  Eric Blake  <ebb9@byu.net>
10840
10841         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
10842
10843 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
10844
10845         * modules/inttypes (Depends-on): No longer depends on stdint.
10846         * modules/stdint (Description): Say more about assumptions.
10847         Say that the fast types might differ.  Say macros are used.
10848         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
10849         (Makefile.am): Revise list of substituted symbols to match
10850         new stdint.m4.
10851         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
10852         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
10853         * tests/test-stdint.c (verify_same_types)
10854         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
10855         the code conforms to C99/C89.
10856         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
10857         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
10858
10859 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
10860
10861         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
10862         but fix a bug, by requiring at least 64 bits.
10863         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
10864         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
10865         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
10866         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
10867
10868         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
10869         changes.  Make 2.59 a prerequisite.  Check and substitute for
10870         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
10871         inttypes.h.  Do not use special include files; just use the
10872         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
10873         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
10874         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
10875         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
10876         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
10877         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
10878         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
10879         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
10880         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
10881         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
10882         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
10883         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
10884         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
10885         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
10886         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
10887         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
10888         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
10889         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
10890         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
10891         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
10892         WINT_MAX.  Check for C99 conformance more strictly, by detecting
10893         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
10894         not check for things that C99 does not require, e.g., int8_t.  If
10895         a test isn't needed unless <stdint.h> isn't working, and is
10896         unlikely to be needed for any other reason, then don't do it
10897         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
10898         size_t, since we assume C89 freestanding at least.  Do not check
10899         for sig_atomic_t, wchar_t, or wint_t, since the code now does
10900         the right thing even if the types are not defined.  Instead use:
10901         (gl_STDINT_TYPE_PROPERTIES): New macro.
10902         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
10903         testing whether <sys/types.h> clashes, as Autoconf does this for
10904         us now.  All uses removed.
10905         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
10906         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
10907         (gl_CHECK_TYPE_SAME):
10908         Remove; no longer needed.
10909         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
10910         exists, since we'll return 0 anyway in that case.
10911         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
10912
10913 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
10914
10915         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
10916         possible collision with system files.
10917         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
10918         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
10919         WCHAR_MIN and WCHAR_MAX in this case.
10920         (<stddef.h>): Do not include; no longer needed.
10921         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
10922         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
10923         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
10924         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
10925         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
10926         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
10927         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
10928         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
10929         !defined(__c99))]: Include in this case too, since it's harmless
10930         now.
10931         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
10932         dangerous to do so.
10933         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
10934         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
10935         (_STDINT_MIN, _STDINT_MAX): New macros.
10936         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
10937         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
10938         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
10939         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
10940         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
10941         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
10942         macros, not typedefs; this simplifies things quite a bit.
10943         Use long int for all types narrower than int64_t.
10944         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
10945         Define in terms of long long int or int64_t or long int,
10946         not int64_t or int32_t.  This saves some compile-time testing.
10947         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
10948         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
10949         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
10950         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
10951         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
10952         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
10953         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
10954         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
10955         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
10956         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
10957         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
10958         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
10959         undef any previous version and define our own version, for
10960         simplicity and consistency with the new macros for types.
10961         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
10962         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
10963         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
10964         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
10965         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
10966         @WINT_T_SUFFIX@ to keep things simple here.
10967         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
10968         Simplify by assuming typical 8/16/32/64 host, since we're
10969         already doing that elsewhere anyway.
10970         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
10971         and assume long long int is 64 bits if available.  This
10972         speeds up 'configure'.
10973
10974 2006-07-01  Eric Blake  <ebb9@byu.net>
10975
10976         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
10977         Reported by Andreas Buening.
10978
10979 2006-07-01  Eric Blake  <ebb9@byu.net>
10980
10981         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
10982
10983 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
10984
10985         * lib/getaddrinfo.c: fixed typo
10986
10987 2006-06-29  Jim Meyering  <jim@meyering.net>
10988
10989         * modules/strftime (Maintainer): Add my name, since with the
10990         FPRINTFTIME changes strftime.c has forked from glibc.
10991
10992 2006-06-29  Eric Blake  <ebb9@byu.net>
10993
10994         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
10995
10996 2006-06-29  Eric Blake  <ebb9@byu.net>
10997
10998         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
10999
11000 2006-06-29  Eric Blake  <ebb9@byu.net>
11001
11002         * lib/stat_.h: New file.
11003
11004 2006-06-29  Eric Blake  <ebb9@byu.net>
11005
11006         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
11007         unused static function.
11008
11009 2006-06-29  Eric Blake  <ebb9@byu.net>
11010
11011         * doc/functions.texi (Function Portability): Document missing lstat
11012         on mingw.
11013
11014 2006-06-29  Eric Blake  <ebb9@byu.net>
11015
11016         * MODULES.html.sh: Add sys_stat.
11017         * modules/sys_stat: New module.
11018         * modules/mkstemp (Depends-on): Add sys_stat.
11019
11020 2006-06-29  Derek R. Price  <derek@ximbiot.com>
11021
11022         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
11023
11024 2006-06-29  Derek R. Price  <derek@ximbiot.com>
11025
11026         * m4/c-bs-a.m4: Removed.
11027
11028 2006-06-29  Derek R. Price  <derek@ximbiot.com>
11029
11030         * lib/strftime.c: Assume strftime() exists.
11031
11032 2006-06-29  Derek Price  <derek@ximbiot.com>
11033
11034         * modules/c-bs-a: Removed - \a is C89.
11035         * MODULES.html.sh: Remove c-bs-a.
11036
11037 2006-06-29  Bruno Haible  <bruno@clisp.org>
11038
11039         * modules/wcwidth (License): Change to LGPL.
11040
11041 2006-06-28  Simon Josefsson  <jas@extundo.com>
11042
11043         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
11044         on _WIN32.
11045
11046         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
11047         getnameinfo.
11048
11049 2006-06-28  Simon Josefsson  <jas@extundo.com>
11050
11051         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
11052
11053 2006-06-28  Simon Josefsson  <jas@extundo.com>
11054
11055         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
11056         functions there.  It will succeed on Windows XP, but on Windows
11057         2000 and (presumably) earlier, it will fail, and use the internal
11058         re-implementation.
11059         (use_win32_p): New function.
11060         (getaddrinfo): Use strtoul on servname, to support numeric ports.
11061         Support AI_NUMERICSERV to disable getservbyname.
11062         (getnameinfo): New function, only supports
11063         NI_NUMERICHOST|NI_NUMERICSERV for now.
11064
11065         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
11066         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
11067         getnameinfo.
11068
11069 2006-06-28  Eric Blake  <ebb9@byu.net>
11070
11071         * modules/wcwidth: New file.
11072         * modules/mbchar (Depends-on): Add wcwidth.
11073         * modules/mbswidth (Depends-on): Add wcwidth.
11074         * MODULES.html.sh: Add wcwidth.
11075
11076 2006-06-28  Eric Blake  <ebb9@byu.net>
11077
11078         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
11079         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
11080
11081 2006-06-28  Eric Blake  <ebb9@byu.net>
11082
11083         * lib/xvasprintf.h: Fix comments.
11084
11085 2006-06-28  Eric Blake  <ebb9@byu.net>
11086
11087         * lib/mbchar.h (wcwidth): Include wcwidth.h.
11088         * lib/mbswidth.c (wcwidth): Move from here...
11089         * lib/wcwidth.h: ...to this new file.
11090
11091 2006-06-28  Derek R. Price  <derek@ximbiot.com>
11092
11093         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
11094
11095         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
11096         it's obsolete.
11097         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
11098
11099 2006-06-28  Derek R. Price  <derek@ximbiot.com>
11100
11101         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
11102         Autoconf 2.60 says this stuff was obsolete.
11103
11104 2006-06-28  Bruno Haible  <bruno@clisp.org>
11105
11106         * modules/wcwidth (Files): Add m4/wchar_t.m4.
11107
11108 2006-06-28  Bruno Haible  <bruno@clisp.org>
11109
11110         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
11111         gt_TYPE_WCHAR_T.
11112
11113 2006-06-28  Bruno Haible  <bruno@clisp.org>
11114
11115         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
11116         declaration for wcwidth.
11117         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
11118
11119 2006-06-28  Bruno Haible  <bruno@clisp.org>
11120
11121         * lib/mkdtemp.c [MINGW]: Include <io.h>.
11122         (mkdir): Define using _mkdir.
11123
11124 2006-06-28  Bruno Haible  <bruno@clisp.org>
11125
11126         * lib/getaddrinfo.h: Fix POSIX URL.
11127         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
11128         _WIN32.
11129         (use_win32_p): Make static.
11130         (getaddrinfo): Reject service name if it is empty or does not consist
11131         solely of decimal digits, or if its value is > 65535.
11132         (getnameinfo): Remove useless casts.
11133
11134 2006-06-27  Simon Josefsson  <jas@extundo.com>
11135
11136         * modules/sys_select: New file, suggested by Bruno Haible, Paul
11137         Eggert and Martin Lambers.
11138
11139 2006-06-27  Simon Josefsson  <jas@extundo.com>
11140
11141         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
11142         Eggert and Martin Lambers.
11143
11144 2006-06-27  Bruno Haible  <bruno@clisp.org>
11145
11146         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
11147         result to 0, not to empty.
11148         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
11149
11150 2006-06-27  Bruno Haible  <bruno@clisp.org>
11151
11152         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
11153
11154 2006-06-26  Simon Josefsson  <jas@extundo.com>
11155
11156         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
11157         present.
11158
11159 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
11160
11161         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
11162         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
11163         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
11164
11165 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
11166
11167         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
11168
11169 2006-06-26  Bruno Haible  <bruno@clisp.org>
11170
11171         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
11172
11173 2006-06-26  Bruno Haible  <bruno@clisp.org>
11174
11175         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
11176
11177 2006-06-26  Bruno Haible  <bruno@clisp.org>
11178
11179         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
11180         SGI C compiler in pre-C99 mode.
11181         Suggested by Mark D. Baushke and Larry Jones.
11182
11183 2006-06-26  Bruno Haible  <bruno@clisp.org>
11184
11185         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
11186         WCHAR_MAX.
11187         Reported by Mark D. Baushke and Larry Jones.
11188
11189 2006-06-26  Bruno Haible  <bruno@clisp.org>
11190
11191         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
11192         in pre-C99 mode.
11193         Suggested by Mark D. Baushke and Larry Jones.
11194
11195 2006-06-23  Simon Josefsson  <jas@extundo.com>
11196             Bruno Haible  <bruno@clisp.org>
11197
11198         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
11199         Emit mostlyclean-local rule.
11200         (func_emit_tests_Makefile_am): Likewise.
11201         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
11202
11203 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
11204
11205         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
11206
11207 2006-06-23  Bruno Haible  <bruno@clisp.org>
11208
11209         * tests/test-stdint.c: Update to match ISO C 99 Technical
11210         Corrigendum 1.
11211
11212 2006-06-23  Bruno Haible  <bruno@clisp.org>
11213
11214         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
11215
11216 2006-06-23  Bruno Haible  <bruno@clisp.org>
11217
11218         * lib/stdint_.h: Treat IRIX like OpenBSD.
11219
11220 2006-06-23  Bruno Haible  <bruno@clisp.org>
11221
11222         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
11223         ISO C 99 Technical Corrigendum 1.
11224
11225 2006-06-22  Simon Josefsson  <jas@extundo.com>
11226
11227         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
11228         MinGW.
11229
11230 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
11231
11232         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
11233         needed.  Some compiler complained about some of them.  Problem reported
11234         by Larry Jones in
11235         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
11236
11237 2006-06-21  Simon Josefsson  <jas@extundo.com>
11238
11239         * tests/test-getaddrinfo.c: New file.
11240
11241         * modules/getaddrinfo-tests: New file.
11242
11243         * MODULES.html.sh: Add inet_pton.
11244
11245         * modules/inet_pton: New file.
11246
11247 2006-06-21  Simon Josefsson  <jas@extundo.com>
11248
11249         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
11250         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
11251         of using the (limited) gnulib implementation on Windows XP.
11252
11253         * m4/inet_pton.m4: New file.
11254
11255 2006-06-21  Simon Josefsson  <jas@extundo.com>
11256
11257         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
11258         variable.
11259
11260         * lib/socket_.h: Don't define WINVER.
11261
11262         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
11263         slightly modified to work in gnulib.
11264
11265 2006-06-21  Simon Josefsson  <jas@extundo.com>
11266
11267         * doc/gnulib.texi (Windows sockets): Add.
11268
11269 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
11270
11271         * lib/read-file.c (fread_file): Start with buffer allocation of
11272         0 bytes rather than 1 byte; this simplifies the code.
11273         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
11274         code to free buffer and save/restore errno.
11275         (internal_read_file): Remove unused local.
11276
11277 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
11278
11279         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
11280         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
11281         Problem reported by Denis Excoffier in
11282         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
11283
11284 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11285
11286         * modules/sys_socket, modules/socklen: Include sys/types since
11287         FreeBSD 4.x's sys/socket.h needs it.
11288
11289 2006-06-19  Simon Josefsson  <jas@extundo.com>
11290
11291         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
11292
11293 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
11294
11295         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
11296
11297 2006-06-19  Bruno Haible  <bruno@clisp.org>
11298
11299         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
11300         and FULL_PATH_INTTYPES_H in angle brackets.
11301         Reported by Mark D. Baushke <mdb@gnu.org>.
11302
11303 2006-06-17  Eric Blake  <ebb9@byu.net>
11304
11305         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
11306         errno.
11307
11308 2006-06-17  Bruno Haible  <bruno@clisp.org>
11309
11310         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
11311         <sys/inttypes.h>.
11312
11313 2006-06-17  Bruno Haible  <bruno@clisp.org>
11314
11315         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
11316         whether errno is declared. Assume <errno.h> declares errno.
11317
11318 2006-06-17  Bruno Haible  <bruno@clisp.org>
11319
11320         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
11321
11322 2006-06-17  Bruno Haible  <bruno@clisp.org>
11323
11324         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
11325         problem on Solaris 2.5.1.
11326
11327 2006-06-16  Eric Blake  <ebb9@byu.net>
11328
11329         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
11330         * lib/unicodeio.c [!defined errno]: Likewise.
11331         * lib/strtol.c [!defined errno]: Likewise.
11332         * lib/strtod.c [!defined errno]: Likewise.
11333
11334 2006-06-15  Eric Blake  <ebb9@byu.net>
11335
11336         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
11337
11338 2006-06-15  Eric Blake  <ebb9@byu.net>
11339
11340         * config/srclist.txt (ssize_t.m4): Lose sync.
11341
11342 2006-06-15  Bruno Haible  <bruno@clisp.org>
11343
11344         * modules/stdint (Files): Include m4/full-header-path.m4,
11345         m4/size_max.m4, m4/wchar_t.m4.
11346         (Makefile.am): Many more substitutions.
11347         * modules/stdint-tests: New file.
11348         * tests/test-stdint.c: New file.
11349
11350 2006-06-15  Bruno Haible  <bruno@clisp.org>
11351
11352         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
11353         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
11354         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
11355         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
11356         gl_CHECK_TYPE_SAME): New macros.
11357
11358 2006-06-15  Bruno Haible  <bruno@clisp.org>
11359
11360         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
11361
11362 2006-06-15  Bruno Haible  <bruno@clisp.org>
11363
11364         * lib/stdint_.h: Rewritten to be fully auto-configured.
11365         Fixes bug on HP-UX/IA64.
11366
11367 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
11368
11369         * lib/getdate.y (__attribute__): Don't define if already defined.
11370         Problem reported by Larry Jones.
11371         * lib/utimens.c (__attribute__): Likewise.
11372
11373 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
11374
11375         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
11376         reported by Andreas Schwab.
11377
11378 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11379             Bruno Haible  <bruno@clisp.org>
11380
11381         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
11382         check for the declaration of strnlen and a run test that exposes the
11383         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
11384         rpl_strndup.
11385
11386 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11387             Bruno Haible  <bruno@clisp.org>
11388
11389         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
11390
11391 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11392
11393         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
11394         compile test, for Tru64 4.0D.
11395
11396 2006-05-28  Karl Berry  <karl@gnu.org>
11397
11398         * config/srclist.txt (printf-args.c): lose sync.
11399
11400 2006-05-26  Martin Lambers  <marlam@marlam.de>
11401
11402         * lib/getpass.c: Updates the test for the native W32 API, and adds
11403         missing includes, thus fixing compilation warnings.
11404
11405 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
11406
11407         * lib/exclude.c (exclude_fnmatch): New function.
11408         (excluded_file_name): Call exclude_fnmatch.
11409         * lib/exclude.h (excluded_file_name): New prototype
11410
11411 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
11412
11413         * lib/tempname.c (small_open, large_open): New macros.
11414         (__open, __open64) [!_LIBC]: Remove.
11415         (__gen_tempname): Use small_open and large_open instead of __open
11416         and __open64.  This fixes a portability bug on HP-UX 11.11i
11417         reported by Simon Wing-Tang in
11418         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
11419
11420 2006-05-24  Bruno Haible  <bruno@clisp.org>
11421
11422         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
11423         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
11424         Reported by Thorsten Maerz <torte@netztorte.de> via
11425         Aaron Stone <aaron@serendipity.cx>.
11426
11427 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
11428
11429         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
11430         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
11431         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
11432         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
11433         not really conditional on the cache.
11434         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
11435
11436 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
11437
11438         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
11439         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
11440         (my_usleep): Don't mishandle maximum value.
11441
11442 2006-05-19  Jim Meyering  <jim@meyering.net>
11443
11444         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
11445
11446 2006-05-17  Bruno Haible  <bruno@clisp.org>
11447
11448         Cygwin portability.
11449         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
11450
11451 2006-05-17  Bruno Haible  <bruno@clisp.org>
11452
11453         * lib/stdint_.h: Fix recognition of Cygwin.
11454
11455 2006-05-15  Bruno Haible  <bruno@clisp.org>
11456
11457         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
11458         on libtool patch by Ralf Wildenhues.
11459
11460 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11461
11462         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
11463         test for C99 conformance; (bool) 0.5 is an integer constant
11464         expression, but (bool) -0.5 is not.  Problem reported by Fedor
11465         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
11466
11467 2006-05-11  Simon Josefsson  <jas@extundo.com>
11468
11469         * m4/xvasprintf.m4: Fix obvious typo.
11470
11471 2006-05-11  Jim Meyering  <jim@meyering.net>
11472
11473         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
11474         James Lemley.
11475
11476 2006-05-10  Simon Josefsson  <jas@extundo.com>
11477
11478         * lib/md4.c: Typo fix, update copyright years.
11479         (K1, K2): Don't use L because it turn computations into 64-bit on
11480         64-bit platforms.
11481
11482 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
11483
11484         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
11485         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
11486         unwanted sign propagation, e.g., on hosts with 64-bit int.
11487         There still are some problems with reeelly weird theoretical hosts
11488         (e.g., 33-bit int) but it's not worth worrying about now.
11489         * lib/sha1.c (rol): Likewise.
11490         (K1, K2, K3, K4): Remove unnecessary L suffix.
11491
11492 2006-05-10  Bruno Haible  <bruno@clisp.org>
11493
11494         * lib/des.c: Cast to avoid warnings.
11495
11496 2006-05-09  Bruno Haible  <bruno@clisp.org>
11497
11498         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
11499         (Depends-on): Depend also on xsize, stdarg.
11500         (configure.ac): Add gl_XVASPRINTF.
11501
11502 2006-05-09  Bruno Haible  <bruno@clisp.org>
11503
11504         * m4/xvasprintf.m4: New file.
11505
11506 2006-05-09  Bruno Haible  <bruno@clisp.org>
11507
11508         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
11509         (EOVERFLOW): Define fallback value.
11510         (xstrcat): New function.
11511         (xvasprintf): Recognize the special case of a string concatenation.
11512
11513 2006-05-08  Eric Blake  <ebb9@byu.net>
11514
11515         * gnulib-tool (func_version): Base copyright year on CVS date.
11516         (func_emit_copyright_notice): New function.
11517         (func_emit_lib_Makefile_am): Use it.
11518         (func_emit_tests_Makefile_am): Likewise.
11519         (func_import): Likewise.
11520
11521 2006-05-08  Bruno Haible  <bruno@clisp.org>
11522
11523         * modules/stdarg: New file.
11524         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
11525
11526 2006-05-08  Bruno Haible  <bruno@clisp.org>
11527
11528         * m4/stdarg.m4: New file, from GNU gettext.
11529
11530 2006-05-08  Bruno Haible  <bruno@clisp.org>
11531
11532         * config/srclist.txt (build-aux/config.rpath): different from latest
11533         release.
11534
11535 2006-05-08  Bruno Haible  <bruno@clisp.org>
11536
11537         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
11538
11539 2006-05-05  Jim Meyering  <jim@meyering.net>
11540
11541         * m4/warning.m4: New file, derived from bison's file by the same name.
11542
11543 2006-05-03  Bruno Haible  <bruno@clisp.org>
11544
11545         * lib/stdint_.h: Shorter URL.
11546         * lib/inttypes.h: Likewise.
11547
11548 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
11549
11550         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
11551
11552 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
11553
11554         * lib/verify.h: Document the internals better.  Most of this change
11555         was written by Bruno Haible.
11556
11557 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
11558
11559         * doc/verify.texi: New file, partly based on a proposal by
11560         Bruno Haible.
11561
11562 2006-05-02  Bruno Haible  <bruno@clisp.org>
11563
11564         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
11565         test from here...
11566         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
11567
11568 2006-04-29  Bruno Haible  <bruno@clisp.org>
11569
11570         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
11571         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
11572
11573 2006-04-29  Bruno Haible  <bruno@clisp.org>
11574
11575         * gnulib-tool: Make --update option actually work.
11576
11577 2006-04-29  Bruno Haible  <bruno@clisp.org>
11578
11579         * doc/gcd.texi: New file.
11580         * doc/gnulib.texi: Include it.
11581
11582 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11583
11584         * lib/getdate.y (get_date): When adding relative date, start with the
11585         initial time, not with the result of the first mktime call.
11586
11587 2006-04-25  Bruno Haible  <bruno@clisp.org>
11588
11589         * gnulib-tool (func_import): Output the include directives in three
11590         blocks, sorted separately.
11591         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11592
11593 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11594
11595         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
11596         to define main with arguments, for C++.  Reported by Eric Blake.
11597         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
11598         Prefer 'int main ()' to 'int main (void)', for C++.
11599         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11600         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
11601         for 'main', for C99 and C++.
11602
11603 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11604
11605         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
11606         Don't assume that exit status -1 is valid.
11607         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11608         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
11609         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
11610         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
11611         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
11612         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
11613         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
11614         functions can be used without declaring them, or that you can
11615         exit with status -1.
11616         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
11617
11618 2006-04-24  Karl Berry  <karl@gnu.org>
11619
11620         * config/srclist.txt (longdouble.m4): sync lost.
11621
11622 2006-04-24  Eric Blake  <ebb9@byu.net>
11623
11624         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
11625
11626 2006-04-24  Bruno Haible  <bruno@clisp.org>
11627
11628         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
11629         poll() implementation in AIX.
11630         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11631
11632 2006-04-24  Bruno Haible  <bruno@clisp.org>
11633
11634         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
11635         assigned exactly once.
11636
11637 2006-04-23  Claudio Fontana  <claudio@gnu.org>
11638             Bruno Haible  <bruno@clisp.org>
11639
11640         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
11641         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
11642         for AM_CPPFLAGS.
11643
11644 2006-04-23  Bruno Haible  <bruno@clisp.org>
11645
11646         * modules/copy-file: Depend on unistd.
11647         * modules/execute: Likewise.
11648         * modules/fatal-signal: Likewise.
11649         * modules/findprog: Likewise.
11650         * modules/mkdtemp : Likewise.
11651         * modules/pipe: Likewise.
11652         * modules/wait-process: Likewise.
11653
11654 2006-04-23  Bruno Haible  <bruno@clisp.org>
11655
11656         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
11657         condition was already detected.
11658         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11659
11660 2006-04-23  Bruno Haible  <bruno@clisp.org>
11661
11662         * lib/copy-file.c: Include <unistd.h> unconditionally.
11663         * lib/execute.c: Likewise.
11664         * lib/fatal-signal.c: Likewise.
11665         * lib/findprog.c: Likewise.
11666         * lib/mkdtemp.c: Likewise.
11667         * lib/pipe.h: Likewise.
11668         * lib/pipe.c: Likewise.
11669         * lib/wait-process.h: Likewise.
11670
11671 2006-04-23  Bruno Haible  <bruno@clisp.org>
11672
11673         * gnulib-tool (func_usage): Fix --import description. Document
11674         --update.
11675         (func_import): Create temporary file in a temporary directory, if
11676         --dry-run is specified. Silence errors from 'grep' when there are no
11677         m4 files in $m4dir.
11678         (func_create_testdir): Silence errors from 'grep' when there are no
11679         m4 files in $m4dir.
11680         Reported by Karl Berry <karl@freefriends.org>.
11681
11682 2006-04-20  Bruno Haible  <bruno@clisp.org>
11683
11684         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
11685         one argument, so that the code will be portable to Autoconf 2.60.
11686         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
11687         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
11688         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
11689
11690 2006-04-19  Derek Price  <derek@ximbiot.com>
11691             Eric Blake  <ebb9@byu.net>
11692
11693         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
11694         rather than "/full/path.h".  Update comment to match.  Shorten &
11695         generalize m4_translit call via AS_TR_CPP.
11696
11697 2006-04-19  Derek Price  <derek@ximbiot.com>
11698             Eric Blake  <ebb9@byu.net>
11699
11700         * lib/inttypes.h: Correct grammar in comment.
11701
11702 2006-04-18  Derek Price  <derek@ximbiot.com>
11703             Paul Eggert  <eggert@cs.ucla.edu>
11704
11705         * modules/inttypes: New file.
11706         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
11707
11708 2006-04-18  Derek Price  <derek@ximbiot.com>
11709             Paul Eggert  <eggert@cs.ucla.edu>
11710
11711         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
11712         New files.
11713
11714 2006-04-18  Derek Price  <derek@ximbiot.com>
11715             Paul Eggert  <eggert@cs.ucla.edu>
11716
11717         * lib/inttypes.h: New file.
11718         * lib/strtoimax.c: Assume <inttypes.h>.
11719
11720 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
11721
11722         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
11723         isn't mounted.  Problem reported by Kir Kolyshkin.
11724
11725 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11726
11727         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
11728         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
11729         Derek R. Price.
11730         * lib/regex.h (RE_DUP_MAX): Update comment to match current
11731         implementation.
11732
11733 2006-04-12  Eric Blake  <ebb9@byu.net>
11734
11735         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
11736         is now done automatically by the corresponding Autoconf macro.
11737
11738 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11739
11740         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
11741         time_r.h.
11742
11743 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11744
11745         Merge regex changes from libc, removing some of our
11746         POSIX-conformance changes that were rejected and redoing them in a
11747         less-intrusive way.
11748
11749         * lib/regcomp.c (re_compile_internal, init_dfa):
11750         Length arg is now size_t, not Idx.  All uses changed.
11751         (peek_token): Forward decl now says internal_function.
11752         (__re_error_msgid, __re_error_msgid_idx):
11753         Now static rather than extern with attribute_hidden.
11754         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
11755         For some reason libc prefers K&R style defns for external functions.
11756         (regerror) [!defined _LIBC]: Likewise.
11757         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
11758         (seek_collating_symbol_entry, lookup_collation_sequence_value):
11759         (build_range_exp, build_collating_symbol):
11760         Use K&R-style defn.
11761         (re_compile_fastmap): Use '\0' to memset, not 0.
11762         (utf8_sb_map): Make the calculations more obvious.
11763         (init_dfa, parse_bracket_exp, build_charclass_op):
11764         Call calloc and cast result, as glibc does.
11765         (init_word_char, fetch_token, peek_token, peek_token_bracket):
11766         (build_range_exp, build_collating_symbol):
11767         Now internal functions.
11768
11769         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
11770
11771         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
11772         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
11773         Don't depend on VMS; depend on __VMS instead, for POSIX
11774         namespace cleanness.
11775         (regoff_t): Define to ssize_t, not long int.
11776
11777         Remove the REG_ macros named below.  Instead, make the old names
11778         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
11779         __USE_GNU_REGEX.
11780         (REG_BACKSLASH_ESCAPE_IN_LISTS):
11781         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
11782         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
11783         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
11784         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
11785         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
11786         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
11787         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
11788         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
11789         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
11790         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
11791         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
11792         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
11793         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
11794         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
11795         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
11796         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
11797         (REG_NREGS):
11798         Remove.  All uses replaced by the old RE_* names.
11799         (RE_BACKSLASH_ESCAPE_IN_LISTS):
11800         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
11801         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
11802         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
11803         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
11804         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
11805         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
11806         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
11807         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
11808         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
11809         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
11810         Don't bother having these macros be independent of each others'
11811         values, since they no longer exist in the POSIX name space.
11812
11813         Rename the following member names back to their old names,
11814         unless !__USE_GNU_REGEX.  All uses changed back.
11815         (buffer): Renamed from re_buffer.
11816         (allocated): Renamed from re_allocated.
11817         (used): Renamed from re_used.
11818         (syntax): Renamed from re_syntax.
11819         (fastmap): Renamed from re_fastmap.
11820         (translate): Renamed from re_translate.
11821         (can_be_null): Renamed from re_can_be_null.
11822         (regs_allocated): Renamed from re_regs_allocated.
11823         (fastmap_accurate): Renamed from re_fastmap_accurate.
11824         (no_sub): Renamed from re_no_sub.
11825         (not_bol): Renamed from re_not_bol.
11826         (not_eol): Renamed from re_not_eol.
11827         (newline_anchor): Renamed from re_newline_anchor.
11828         (num_regs): Renamed from rm_num_regs.
11829         (start): Renamed from rm_start.
11830         (end): Renamed from rm_end.
11831
11832         (free_state): Move up a bit.
11833
11834         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
11835         #define to be empty.
11836         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
11837         when that is what is intended.
11838         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
11839         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
11840         (MAX): New macro.
11841         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
11842         All uses changed back to re_malloc, etc.  It's now the caller's
11843         responsibility to check for overflow; all callers changed.
11844         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
11845         (re_x2nrealloc): Remove.
11846         (free_state): Remove decl.
11847
11848         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
11849         (re_set_registers, re_exec):
11850         Use K&R-style defn.
11851
11852         2006-01-31  Roland McGrath  <roland@redhat.com>
11853
11854         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
11855         Reported by Mike Frysinger <vapier@gentoo.org>.
11856
11857         2006-01-15  Andreas Jaeger  <aj@suse.de>
11858
11859         [BZ #1950]
11860         * lib/regex_internal.c (re_string_reconstruct): Adjust for
11861         build_wcs_upper_buffer change.
11862         (build_wcs_upper_buffer): Change return type.
11863
11864         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
11865
11866         * lib/regex_internal.h: Include <stdint.h> if available.
11867
11868         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
11869
11870         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
11871
11872         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
11873
11874         * lib/regcomp.c: Adjust for changed secondary hash function.
11875
11876         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
11877
11878         * lib/regex.h: Pretty printing.
11879         Clean up namespace a bit.
11880
11881         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
11882
11883         * lib/regexec.c (update_cur_sifted_state, check_arrival,
11884         check_arrival_add_next_nodes): Avoid using uninitialized variable.
11885
11886         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
11887                     Ulrich Drepper  <drepper@redhat.com>
11888
11889         [BZ #1302]
11890         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
11891         changed.
11892         (bitset_word_t): Renamed from bitset_word.  All uses changed.
11893
11894         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
11895
11896         [BZ #281]
11897         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
11898         * lib/regcomp.c: Remove unnecessary uses of
11899         unsigned RE_TRANSLATE_TYPE.
11900         * lib/regex_internal.h: Likewise.
11901         * lib/regex_internal.c: Likewise.
11902         * lib/regexec.c: Likewise.
11903         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
11904
11905         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
11906
11907         * lib/regexec.c (find_recover_state): Remove unnecessary
11908         initialization.
11909         (transit_state_bkref): Make DFA a const pointer.
11910         (get_subexp): Likewise.
11911         (check_arrival): Likewise.
11912         (update_cur_sifted_state): Likewise.
11913         (re_search_internal): Likewise.
11914         (prune_impossible_nodes): Likewise.
11915         (acquire_init_state_context): Likewise.
11916         (proceed_next_node): Likewise.
11917         (set_regs): Likewise.
11918         (free_fail_stack_return): Likewise.
11919         (check_arrival_expand_ecl): Mark DFA parameter as const.
11920         (check_arrival_expand_ecl_sub): Likewise.
11921         (check_subexp_limits): Likewise.
11922         (sub_epsilon_src_nodes):  Likewise.
11923         (add_epsilon_src_nodes):  Likewise.
11924         (merge_state_array): Likewise.
11925         (update_regs): Likewise.
11926         (build_trtable): Likewise.
11927         (sift_states_backward): Mark MCTX parameter as const.
11928         (build_sifted_states): Likewise.
11929         (update_cur_sifted_state): Likewise.
11930         (sift_states_mkref): Likewise.
11931         (check_arrival_expand_ecl): Mark eclosure as const.
11932         (check_dst_limits_calc_pos_1): Likewise.
11933         * lib/regex_internal.h (re_match_context_t): Make dfa a const
11934         pointer.
11935
11936         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
11937
11938         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
11939         (transit_state_sb): Likewise.
11940         (transit_state_mb): Likewise.
11941         (sift_states_iter_mb): Likewise.
11942         (check_arrival_add_next_nodes): Likewise.
11943         (check_node_accept_bytes): Change first parameter to pointer-to-const.
11944         [_LIBC] (re_search_2_stub): Use mempcpy.
11945
11946         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
11947         mbrtowc for very simple UTF-8 case.
11948
11949         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
11950         a pointer-to-const.
11951         (re_acquire_state_context): Likewise.
11952         * lib/regex_internal.h: Adjust prototypes.
11953
11954         * lib/regex.c: Prevent using C++ compilers.
11955
11956         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
11957         (re_acquire_state_context): Likewise.
11958
11959 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11960
11961         * modules/regex (Depends-on): Add ssize_t.
11962
11963 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11964
11965         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
11966         translation table.
11967
11968 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11969
11970         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
11971
11972 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
11973             Bruno Haible  <bruno@clisp.org>
11974
11975         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
11976         <sys/types.h> and <inttypes.h>.
11977
11978 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11979
11980         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
11981         `__error_t_defined', so argp.h will not typedef the former.
11982
11983 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
11984
11985         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
11986         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
11987         glibc names.  Even if glibc is changed to conform to POSIX, the
11988         traditional names will be available anyway, since regex depends on
11989         the extensions module.  Also, fix a longstanding typo in the
11990         implementation of Spencer ERE test #75 from grep 2.3.  Problems
11991         reported by Emanuele Giaquinta.  Also, change sense of cached
11992         variable, so that the message makes sense.
11993
11994 2006-03-24  Simon Josefsson  <jas@extundo.com>
11995
11996         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
11997         including some doc fixes.
11998         (base64_encode_alloc): Fix +1 bug on allocation failures.
11999
12000 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12001
12002         * lib/base64.c (base64_encode): Do not read past end of array with
12003         unsanitized input on systems with CHAR_BIT > 8.
12004
12005 2006-03-24  Eric Blake  <ebb9@byu.net>
12006
12007         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
12008
12009 2006-03-22  Karl Berry  <karl@gnu.org>
12010
12011         * config/srclist.txt (*setenv.[ch]): get from coreutils.
12012         * config/srclistvars.sh (COREUTILS): new var.
12013
12014 2006-03-17  Jim Meyering  <jim@meyering.net>
12015
12016         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
12017         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
12018
12019 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
12020
12021         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
12022         no longer needs it.  Instead, check that regoff_t is as least
12023         as wide as ptrdiff_t.
12024
12025         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
12026         so that our regex.h stays compatible with the installed regex.
12027         This is helpful for installers who configure --without-included-regex.
12028         Problem reported by Emanuele Giaquinta.
12029
12030 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
12031
12032         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
12033         Typedef to long int, not to off_, as POSIX will likely change
12034         in that direction.
12035
12036 2006-03-15  Eric Blake  <ebb9@byu.net>
12037
12038         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
12039
12040 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
12041
12042         * lib/argp-help.c (validate_uparams): Fix typo
12043         * lib/argp-parse.c (argp_default_options): Consistently begin help
12044         messages with a lowercase letter.
12045
12046 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
12047
12048         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
12049         overrun buffers and shouldn't be used (much as gets shouldn't be
12050         used).
12051         * lib/time_r.c (asctime_r, ctime_r): Likewise.
12052
12053 2006-03-08  Simon Josefsson  <jas@extundo.com>
12054
12055         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
12056         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12057
12058 2006-03-08  Simon Josefsson  <jas@extundo.com>
12059
12060         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
12061         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12062
12063 2006-03-08  Simon Josefsson  <jas@extundo.com>
12064
12065         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
12066         signal that configure disabled the device.
12067
12068 2006-03-08  Simon Josefsson  <jas@extundo.com>
12069
12070         * build-aux/maint.mk: Fix refresh-po, to handle no translated
12071         languages.
12072
12073 2006-03-07  Simon Josefsson  <jas@extundo.com>
12074
12075         * modules/getopt (Depends-on): Add unistd.
12076
12077         * modules/unistd: New file.
12078
12079 2006-03-07  Simon Josefsson  <jas@extundo.com>
12080
12081         * modules/gc-random: New file.
12082
12083 2006-03-07  Simon Josefsson  <jas@extundo.com>
12084
12085         * m4/unistd_h.m4: New file.
12086
12087 2006-03-07  Simon Josefsson  <jas@extundo.com>
12088
12089         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
12090         test to be side-effect free by storing the result in the cache
12091         variable gl_cv_lib_readline, and moving the assignment of
12092         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
12093         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12094
12095 2006-03-07  Simon Josefsson  <jas@extundo.com>
12096
12097         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
12098         error on missing devices (the functions will return an error).
12099
12100         * m4/gc.m4: Move random stuff to gc-random.m4
12101
12102 2006-03-07  Simon Josefsson  <jas@extundo.com>
12103
12104         * lib/unistd_.h: New file.
12105
12106 2006-03-07  Simon Josefsson  <jas@extundo.com>
12107
12108         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
12109
12110 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
12111
12112         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
12113         Problem reported by Juan Manuel Guerrero.
12114
12115 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
12116
12117         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
12118         the unistd module.
12119         * lib/getlogin_r.c: Likewise.
12120         * lib/getlogin_r.h: Likewise.
12121         * lib/glob.c: Likewise.
12122         * lib/pagealign_alloc.c: Likewise.
12123         * lib/unistd_.h: Remove; no longer needed.
12124
12125 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
12126
12127         * MODULES.html.sh (Support for systems lacking POSIX:2001):
12128         Add unistd.
12129         * modules/c-stack (Depends-on): Add unistd.
12130         * modules/getlogin_r: Likewise.
12131         * modules/glob: Likewise.
12132         * modules/pagealign_alloc: Likewise.
12133         * modules/unistd (Files): Remove lib/unistd_.h.
12134         (EXTRA_DIST): Remove.
12135         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
12136         need unistd_.h.
12137         (MOSTLYCLEANFILES): Remove unistd.h-t.
12138
12139 2006-03-03  Simon Josefsson  <jas@extundo.com>
12140
12141         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
12142
12143 2006-03-03  Simon Josefsson  <jas@extundo.com>
12144
12145         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
12146         libidn and bison.
12147
12148 2006-03-03  Simon Josefsson  <jas@extundo.com>
12149
12150         * build-aux/maint.mk: Add indent target.
12151
12152 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
12153
12154         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
12155         our replacement poll.h in any case, to avoid a differing
12156         declaration from a system header.  Seen on AIX.
12157
12158 2006-03-01  Simon Josefsson  <jas@extundo.com>
12159
12160         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
12161         <kasal@ucw.cz>.
12162
12163 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12164
12165         * modules/gettime (Depends-on): Add extensions module.
12166         * modules/nanosleep (Depends-on): Likewise.
12167         * modules/settime (Depends-on): Likewise.
12168
12169 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12170
12171         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
12172         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
12173         pedantically.
12174         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12175         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
12176
12177         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
12178         not "==".  Reported by Ralf Wildenhues.
12179
12180 2006-03-01  Karl Berry  <karl@gnu.org>
12181
12182         * doc/Copyright/request-*: new files, synced from gnuorg.
12183
12184 2006-03-01  Karl Berry  <karl@gnu.org>
12185
12186         * config/srclist.txt (Copyright/*): new entries.
12187
12188 2006-02-28  Simon Josefsson  <jas@extundo.com>
12189
12190         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
12191
12192 2006-02-27  Simon Josefsson  <jas@extundo.com>
12193
12194         * lib/base64.h: Indent #define's.  From Jim Meyering
12195         <jim@meyering.net>.
12196
12197 2006-02-27  Jim Meyering  <jim@meyering.net>
12198
12199         Revert the change of 2006-02-24, so these files can continue
12200         to be sync'd from gettext.
12201         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
12202         of `config.h'.
12203
12204 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
12205
12206         * modules/intprops: New file.
12207         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
12208         Add intprops.
12209         * modules/getloadavg (Files): Remove lib/intprops.h.
12210         (Depends-on): Add intprops.
12211         * modules/human: Likewise.
12212         * modules/inttostr: Likewise.
12213         * modules/openat: Likewise.
12214         * modules/sig2str: Likewise.
12215         * modules/userspec: Likewise.
12216         * modules/utimecmp: Likewise.
12217         * modules/xnanosleep: Likewise.
12218         * modules/xstrtol: Likewise.
12219
12220 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
12221
12222         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
12223         * modules/lock-tests (TESTS): Use $(EXEEXT).
12224         * modules/tls-tests: Likewise.
12225         * modules/argp-tests: Likewise.
12226         (check_PROGRAMS): New var, replacing...
12227         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
12228
12229 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12230
12231         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
12232         `config.h'.
12233
12234 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
12235
12236         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
12237
12238 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12239
12240         Sync from coreutils.
12241         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
12242         gl_CHDIR_SAFER.
12243
12244 2006-02-22  Jim Meyering  <jim@meyering.net>
12245
12246         Sync from coreutils.
12247         * m4/chdir-safer.m4: New file.
12248
12249 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
12250
12251         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
12252         AT_FDCWD exceeds INT_MAX.
12253         * lib/openat.h (AT_FDCWD): Likewise.
12254
12255 2006-02-17  Eric Blake  <address@hidden>
12256
12257         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
12258
12259 2006-02-16  Simon Josefsson  <jas@extundo.com>
12260
12261         * modules/getaddrinfo (Depends-on): Add sys_socket.
12262
12263 2006-02-15  Simon Josefsson  <jas@extundo.com>
12264
12265         * build-aux/maint.mk: Add dsyntax-check rule.
12266
12267 2006-02-15  Eric Blake  <ebb9@byu.net>
12268
12269         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
12270         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
12271         'present but cannot compile' warnings on cygwin.
12272         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
12273         use ws2tcpip.h if sys/socket.h works.
12274         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
12275         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
12276
12277 2006-02-14  Simon Josefsson  <jas@extundo.com>
12278
12279         * modules/maintainer-makefile (Files): Rename.
12280
12281         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
12282         and (the local) Makefile.cfg to maint-cfg.mk.
12283
12284         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
12285         to the latter.
12286
12287         * modules/maintainer-makefile: New module.
12288
12289         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
12290         severaly stripped to make it possible to build it up from scratch
12291         with reliable tests.
12292
12293         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
12294         fixes to permit overriding the default actions when configure and
12295         makefile are not available.
12296
12297 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
12298
12299         Sync from coreutils.
12300         * modules/lstat (Depends-on): Don't depend on xalloc.
12301         (License): Change from GPL to LGPL, since this is now simply a
12302         replacement for a libc function.
12303
12304 2006-02-14  Jim Meyering  <jim@meyering.net>
12305
12306         Sync from coreutils.
12307
12308         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
12309         failure on deficient systems, and simplify gnulib lgpl dependencies.
12310         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
12311         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
12312
12313         * lib/xalloc-die.c: Remove unused definition of N_.
12314
12315 2006-02-14  Jim Meyering  <jim@meyering.net>
12316
12317         Sync from coreutils.
12318         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
12319         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
12320         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
12321         double-quote uses of that variable, to accommodate the rare case in
12322         which getmntent is available in none of the libraries checked.  This
12323         happens at least on FreeBSD 5.0.
12324
12325 2006-02-13  Simon Josefsson  <jas@extundo.com>
12326
12327         * gnulib-tool (Usage): Fix --import, from
12328         karl@freefriends.org (Karl Berry).
12329
12330 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
12331
12332         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
12333
12334 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
12335
12336         * lib/argp-namefrob.h: Restore changes accidentally lost during the
12337         "autoupdate" on 2005-12-12.
12338
12339 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
12340
12341         * modules/closeout (Depends-on): Remove atexit.
12342
12343 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
12344
12345         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
12346         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
12347
12348 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
12349
12350         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
12351         __EXTENSIONS__ if this causes compilation to fail.  Problem
12352         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
12353         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
12354
12355 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
12356
12357         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
12358         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
12359         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
12360         All uses changed.
12361
12362 2006-01-26  Simon Josefsson  <jas@extundo.com>
12363
12364         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
12365         prototype is visible on mingw32.
12366
12367         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
12368         for mingw32.
12369
12370         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
12371         mingw32).
12372
12373 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
12374
12375         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
12376         attempt to open for write; this always fails, at least on POSIX
12377         hosts.  This reinstates the 2006-01-09 change, which was
12378         inadvertently removed.
12379
12380 2006-01-26  Bruno Haible  <bruno@clisp.org>
12381
12382         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
12383         Reported by Paul Eggert.
12384
12385 2006-01-26  Bruno Haible  <bruno@clisp.org>
12386             Paul Eggert  <eggert@cs.ucla.edu>
12387
12388         * lib/stdbool_.h (_Bool)
12389         [(! (defined __cplusplus || defined __BEOS__)
12390           && !defined __GNUC__
12391           && !(defined __HP_cc || defined __xlc__
12392                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
12393                || defined __sgi))]:
12394         #define to signed char in these cases too; this simplifies
12395         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
12396         etc., separately) and makes it more conservative.
12397
12398 2006-01-25  Simon Josefsson  <jas@extundo.com>
12399
12400         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
12401         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
12402         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
12403
12404 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
12405
12406         * lib/argp-namefrob.h: Bugfix. Remove stray #
12407
12408 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
12409
12410         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
12411         so that we test the test.
12412         Check for yet another HP-UX cc bug involving *bool |= bool.
12413
12414 2006-01-25  Karl Berry  <karl@gnu.org>
12415
12416         * config/srclist.txt (vasnprintf.c): sync lost.
12417
12418 2006-01-25  Jim Meyering  <jim@meyering.net>
12419
12420         Sync from the stable (b5) branch of coreutils:
12421
12422         * lib/fts.c (fts_children): Don't let close() clobber errno from
12423         failed fchdir().
12424
12425         * lib/fts.c (fts_stat): When following a symlink-to-directory,
12426         don't necessarily interpret stat-fails+lstat-succeeds as indicating
12427         a dangling symlink.  That can also happen at least for ELOOP.
12428         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
12429         FYI, this bug predates the inclusion of fts.c in coreutils.
12430
12431         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
12432         in their own block, so pre-c99 compilers don't object.
12433
12434         Avoid the double-free (first in fts_read, second in fts_close) that
12435         would occur when an `active' directory is made inaccessible (e.g.,
12436         via chmod a-x) during a traversal.
12437         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
12438         before returning.  Reproduce this failure by
12439         mkdir -p a/b; cd a; chmod a-x . b
12440         Reported by Stavros Passas.
12441
12442 2006-01-25  Jim Meyering  <jim@meyering.net>
12443
12444         * lib/fileblocks.c: Remove more useless parentheses.
12445         * lib/readutmp.h: Likewise.
12446
12447 2006-01-25  Bruno Haible  <bruno@clisp.org>
12448
12449         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
12450         warnings.
12451         Reported by Paul Eggert.
12452
12453 2006-01-25  Bruno Haible  <bruno@clisp.org>
12454
12455         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
12456         rid of a trap command. For Solaris sh.
12457         Reported by Mark D. Baushke <mdb@gnu.org>.
12458
12459 2006-01-24  Simon Josefsson  <jas@extundo.com>
12460
12461         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
12462         Bruno.
12463
12464 2006-01-24  Karl Berry  <karl@gnu.org>
12465
12466         * config/srclist.txt (argp-namefrob.h): sync lost.
12467
12468 2006-01-24  Jim Meyering  <jim@meyering.net>
12469
12470         * modules/openat (Files): Add lib/intprops.h.
12471         From Mark D. Baushke.
12472
12473 2006-01-24  Jim Meyering  <jim@meyering.net>
12474
12475         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
12476         Reported by Mark D. Baushke.
12477
12478 2006-01-24  Jim Meyering  <jim@meyering.net>
12479
12480         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
12481
12482 2006-01-24  Bruno Haible  <bruno@clisp.org>
12483
12484         * modules/strnlen (Maintainer): Change from glibc to all.
12485
12486 2006-01-24  Bruno Haible  <bruno@clisp.org>
12487
12488         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
12489         Patch by Paul Eggert.
12490
12491 2006-01-24  Bruno Haible  <bruno@clisp.org>
12492
12493         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
12494         already has it.
12495         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
12496         2005-11-26.
12497
12498         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
12499         'signed char' to avoid problems with the built-in _Bool type.
12500         Reported by Paul Eggert on 2005-11-26.
12501
12502 2006-01-24  Bruno Haible  <bruno@clisp.org>
12503
12504         * gnulib-tool (func_import): Avoid constructing complicated sed
12505         expressions inside backquote.
12506         Report and solution by Mark D. Baushke <mdb@gnu.org>.
12507
12508 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
12509
12510         These changes imported from libc.
12511         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
12512         test and two separate function calls.
12513         * lib/strndup.c (__strndup): Add libc_hidden_def.
12514
12515 2006-01-23  Simon Josefsson  <jas@extundo.com>
12516
12517         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
12518         Remove the test_*_SOURCES variable: automake infers it by default.
12519         * modules/tls-tests: Likewise.
12520
12521 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12522
12523         Work around porting bugs reported by Dieter in
12524         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
12525         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
12526         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
12527         Include "getopt.h" first, to check interface.
12528         (getenv): Declare only if defined HAVE_DECL_GETENV &&
12529         !HAVE_DECL_GETENV.
12530         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
12531         (__strndup): Revert to K&R-style function dfns, the glibc style.
12532         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
12533         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
12534         Include strnlen.h first, to get prototype properly.
12535         (strnlen): Renamed from __strnlen.
12536         Remove weak alias.
12537
12538 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12539
12540         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
12541
12542 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12543
12544         * config/srclist.txt: Adjust to reflect glibc reorganization.
12545         This affects only comments.
12546
12547 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12548
12549          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
12550          Reported by Bruce Korb <bkorb@gnu.org>.
12551
12552 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
12553
12554         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
12555         to pacify gcc -Wswitch-default.
12556
12557 2006-01-22  Bruno Haible  <bruno@clisp.org>
12558
12559         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
12560         temporary buffer for sprintf, take into account the precision also
12561         for 'd', 'i', 'u', 'o', 'x', 'X'.
12562
12563 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
12564
12565         * modules/argp-tests: New module
12566         * tests/test-argp.c: New file
12567         * tests/test-argp-2.sh: New file
12568
12569 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
12570
12571         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
12572         (__argp_base_name): Removed
12573         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
12574         typo.
12575         (__argp_base_name): Provide macro definition or extern declaration
12576         depending on the configuration
12577
12578 2006-01-20  Simon Josefsson  <jas@extundo.com>
12579
12580         * modules/inet_ntop (Depends-on): Depend on sys_socket.
12581
12582 2006-01-20  Simon Josefsson  <jas@extundo.com>
12583
12584         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
12585
12586 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12587
12588         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
12589         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
12590         Suggested by Bruno Haible.
12591
12592 2006-01-20  Karl Berry  <karl@gnu.org>
12593
12594         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
12595         until changes propagate, I guess.
12596
12597 2006-01-19  Simon Josefsson  <jas@extundo.com>
12598
12599         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
12600
12601 2006-01-19  Simon Josefsson  <jas@extundo.com>
12602
12603         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
12604
12605 2006-01-19  Simon Josefsson  <jas@extundo.com>
12606
12607         * gnulib-tool: Set check_PROGRAMS.
12608
12609         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
12610         modules/des-tests, modules/gc-arcfour-tests,
12611         modules/gc-arctwo-tests, modules/gc-des-tests,
12612         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
12613         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
12614         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
12615         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
12616         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
12617         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
12618         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
12619         test_*_SOURCES.
12620
12621 2006-01-18  Simon Josefsson  <jas@extundo.com>
12622
12623         * modules/socklen (Depends-on): Depend on sys_socket.
12624
12625 2006-01-18  Simon Josefsson  <jas@extundo.com>
12626
12627         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
12628         modules/des-tests, modules/gc-arcfour-tests,
12629         modules/gc-arctwo-tests, modules/gc-des-tests,
12630         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
12631         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
12632         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
12633         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
12634         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
12635         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
12636         $(EXEEXT) to automake TESTS variable, for mingw32.
12637
12638 2006-01-17  Simon Josefsson  <jas@extundo.com>
12639
12640         * modules/socklen (Include): Need sys/socket.h.
12641
12642 2006-01-17  Bruno Haible  <bruno@clisp.org>
12643
12644         * modules/ssize_t (Include): Add <sys/types.h>.
12645
12646 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
12647
12648         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
12649         it's not portable and it doesn't work with cross-compiles.
12650         Problem reported by Bruno Haible.  Fix missing-$ typo in
12651         'test "gl_cv_ignore_unused_libraries" ...' that prevented
12652         -zignore from being used with Sun's C compiler.
12653
12654 2006-01-12  Simon Josefsson  <jas@extundo.com>
12655
12656         * lib/base64.c: Fix warning, reported by Bruno Haible
12657         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
12658
12659 2006-01-12  Bruno Haible  <bruno@clisp.org>
12660
12661         * modules/ldd: New file.
12662         * build-aux/ldd.sh.in: New file.
12663         * MODULES.html.sh (Support for building libraries and executables): Add
12664         ldd.
12665
12666 2006-01-12  Bruno Haible  <bruno@clisp.org>
12667
12668         * m4/ldd.m4: New file.
12669
12670 2006-01-12  Bruno Haible  <bruno@clisp.org>
12671
12672         * gnulib-tool (func_import, func_create_testdir): Don't go into an
12673         endless loop while replacing $auxdir with build-aux.
12674
12675 2006-01-11  Simon Josefsson  <jas@extundo.com>
12676
12677         * lib/stdint_.h (SIZE_MAX): Add missing (.
12678
12679 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
12680
12681         Sync from coreutils.
12682         * lib/md5.c: Fix commentary typos.
12683         (alignof, UNALIGNED_P): No need for a GCC-specific version.
12684         * lib/md5.h (__attribute__): Remove; unused.
12685         * lib/sha1.c: Fix commentary to match md5 better.
12686         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
12687         so that we don't need to worry about alignment.  All uses changed.
12688         This merges the 2005-10-28 md5 change into sha1.
12689
12690 2006-01-11  Jim Meyering  <jim@meyering.net>
12691
12692         Sync from coreutils.
12693         * lib/md5.c (OP): Fix spacing.
12694
12695 2006-01-11  Bruno Haible  <bruno@clisp.org>
12696
12697         Ensure automatic ordering between gl_LOCK and gl_ARGP.
12698         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
12699         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
12700
12701 2006-01-11  Bruno Haible  <bruno@clisp.org>
12702
12703         Ensure automatic ordering between gl_LOCK and gl_ARGP.
12704         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
12705         the "early" section as well.
12706
12707 2006-01-11  Bruno Haible  <bruno@clisp.org>
12708
12709         Avoid "ar: no archive members specified" error on MacOS X.
12710         * gnulib-tool (func_modules_add_dummy): New function.
12711         (func_import, func_create_testdir): Invoke it.
12712
12713 2006-01-11  Bruno Haible  <bruno@clisp.org>
12714
12715         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
12716         with $auxdir in AC_CONFIG_FILES statements.
12717
12718 2006-01-11  Bruno Haible  <bruno@clisp.org>
12719
12720         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12721         Initialize also noinst_HEADERS to empty.
12722
12723 2006-01-11  Bruno Haible  <bruno@clisp.org>
12724
12725         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
12726         variables.
12727         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
12728         autoreconf.
12729
12730 2006-01-11  Bruno Haible  <bruno@clisp.org>
12731
12732         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
12733         overridable by the user.
12734         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12735
12736 2006-01-10  Simon Josefsson  <jas@extundo.com>
12737
12738         * modules/sys_socket: New file.
12739
12740 2006-01-10  Simon Josefsson  <jas@extundo.com>
12741
12742         * m4/sys_socket_h.m4: New file.
12743
12744 2006-01-10  Simon Josefsson  <jas@extundo.com>
12745
12746         * lib/socket_.h: New file.
12747
12748 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
12749
12750         * modules/readutmp (Maintainer): Add myself.
12751
12752 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
12753
12754         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
12755         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
12756         People who are still concerned with buggy memcmp implementations
12757         can invoke gl_FUNC_MEMCMP themselves.
12758
12759 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
12760
12761         * lib/regex_internal.h (BITSET_WORD_BITS):
12762         Work around a bug in 64-bit PGC (before version 6.1-2), where the
12763         preprocessor mishandles large unsigned values as if they were signed.
12764         Problem reported by Claudio Fontana in
12765         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
12766
12767 2006-01-10  Jim Meyering  <jim@meyering.net>
12768
12769         Avoid the double-free (first in fts_read, second in fts_close) that
12770         would occur when an `active' directory is made inaccessible (e.g.,
12771         via chmod a-x) during a traversal.
12772         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
12773         before returning.  Reproduce this failure by
12774         mkdir -p a/b; cd a; chmod a-x . b
12775         Reported by Stavros Passas.
12776
12777         Sync from coreutils.
12778         * lib/sha1.c: Tweak grammar in a comment.
12779
12780 2006-01-10  Jim Meyering  <jim@meyering.net>
12781
12782         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
12783         Patch by Joerg Sonnenberger.
12784
12785 2006-01-10  Bruno Haible  <bruno@clisp.org>
12786
12787         * modules/readutmp: Depend on module free.
12788         * modules/strtok_r: Depend on module restrict.
12789
12790 2006-01-10  Bruno Haible  <bruno@clisp.org>
12791
12792         * modules/gettext (configure.ac): Add an invocation of
12793         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
12794
12795 2006-01-10  Bruno Haible  <bruno@clisp.org>
12796
12797         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
12798         Reported by Werner Lemberg <wl@gnu.org>.
12799
12800 2006-01-10  Bruno Haible  <bruno@clisp.org>
12801
12802         * lib/localcharset.c: Update from GNU gettext.
12803
12804 2006-01-10  Bruno Haible  <bruno@clisp.org>
12805
12806         * lib/argp.h (__const): Remove macro. Use const instead.
12807         * lib/argp-fmtstream.h (__const): Likewise.
12808         * lib/glob_.h (__const): Remove macro.
12809         * lib/glob-libc.h: Use const instead of __const.
12810
12811 2006-01-10  Bruno Haible  <bruno@clisp.org>
12812
12813         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
12814         variable.
12815         Needed to avoid an automake error regarding the 'gettext' module.
12816
12817 2006-01-09  Simon Josefsson  <jas@extundo.com>
12818
12819         * modules/inet_ntop (Depends-on): Add restrict.
12820
12821 2006-01-09  Simon Josefsson  <jas@extundo.com>
12822
12823         * modules/gc-rijndael-tests (License): Put under LGPL.
12824
12825         * modules/gc-des-tests (License): Likewise.
12826
12827         * modules/gc-arcfour-tests (License): Likewise.
12828
12829         * modules/gc-arctwo-tests (License): Likewise.
12830
12831         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
12832
12833         * modules/gc-hmac-sha1-tests (Files): Likewise.
12834
12835         * modules/gc-hmac-md5-tests (License): Likewise.
12836
12837         * modules/gc-sha1-tests (License): Likewise.
12838
12839         * modules/gc-md5-tests (License): Likewise.
12840
12841         * modules/gc-md4-tests (License): Likewise.
12842
12843         * modules/gc-md2-tests (License): Likewise.
12844
12845         * modules/gc-tests (License): Likewise.
12846
12847         * modules/des-tests (License): Likewise.
12848
12849         * modules/md4-tests (License): Likewise.
12850
12851         * modules/md2-tests (License): Likewise.
12852
12853 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
12854
12855         Sync from coreutils:
12856
12857         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
12858         * modules/lib-ignore: New file.
12859         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
12860         chdir-safer.m4, lchmod.m4.
12861         * modules/openat: Add mkdirat.c, openat-priv.h.
12862
12863 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
12864
12865         Sync from coreutils.
12866         * m4/lib-ignore.m4: New file.
12867         * m4/lchmod.m4: New file.
12868
12869 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
12870
12871         Sync from coreutils.
12872         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
12873         for write access: POSIX says that must fail.
12874         * lib/fts.c (diropen): Likewise.
12875         * lib/save-cwd.c (save_cwd): Likewise.
12876         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
12877         well, for minor improvements on hosts that lack O_DIRECTORY.
12878         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
12879         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
12880         Fall back on chown if open failed with EACCES.
12881
12882         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
12883         Report an error at compile-time if only a 1-second nominal clock
12884         resolution is found.
12885
12886         * lib/lchmod.h: New file.
12887         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
12888         (make_dir_parents): Use lchown rather than chown, and
12889         lchmod rather than chmod.
12890
12891         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
12892         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
12893         "proc" reported by n0dalus.
12894
12895         * lib/mountlist.c: Include <limits.h>.
12896         (dev_from_mount_options)
12897         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
12898         New function.  It no longer assumes "dev=" has the System V meaning
12899         on Linux (since it doesn't).  It also parses "dev=" more carefully.
12900         (read_file_system_list)
12901         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
12902         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
12903         dev= in that case.
12904
12905         * lib/posixtm.h (PDS_PRE_2000): New macro.
12906         * lib/posixtm.c (year): Arg is now syntax_bits rather than
12907         allow_century.  All usages changed.  Reject dates outside the range
12908         1969-1999 if PDS_PRE_2000 is used.
12909
12910 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
12911
12912         Sync from coreutils.
12913         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
12914         (Time of day items): Mention the possibility of leap seconds.
12915         Problem reported by Dr. David Alan Gilbert.
12916
12917 2006-01-09  Jim Meyering  <jim@meyering.net>
12918
12919         Sync from coreutils.
12920
12921         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
12922
12923         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
12924
12925         * lib/modechange.c (mode_compile): Reject an invalid mode string
12926         that starts with an octal digit.  From Andreas Gruenbacher.
12927
12928         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
12929         and dup to open_safer and dup_safer, respectively.
12930         (openat_permissive): Fix typo in comment.
12931
12932         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
12933         "gettext.h"; either no longer needed or are guaranteed by openat.h.
12934         (_): Remove; no longer needed.
12935         (openat): Renamed from rpl_openat; no need for rpl_openat
12936         since openat.h renames openat for us.
12937         Replace most of the body with a call to openat_permissive,
12938         to avoid duplicate code.
12939         Port to (probably hypothetical) environments were mode_t is
12940         wider than int.
12941         (openat_permissive): Require mode arg, so that we can check
12942         types better.  Put it just after flags.  Change cwd failure
12943         indicator from pointer-to-bool to pointer-to-errno-value.
12944         All callers changed.
12945         Invoke openat_save_fail and/or openat_restore_fail if
12946         cwd_errno is null, so that openat can call us.
12947         (openat_permissive, fdopendir, fstatat, unlinkat):
12948         Simplify errno handling to avoid some duplicate code,
12949         as it's OK to set errno on success.
12950         * lib/openat.h: Revamp code so that function macros depend on
12951         __OPENAT_PREFIX only, not also on AT_FDCWD.
12952         (openat_ro): Remove.  Caller changed to use openat_permissive.
12953         (openat_permissive): Now a macro, if not a function.
12954         (openat_restore_fail, openat_save_fail): Now always functions,
12955         since mkdirat needs them even if __OPENAT_PREFIX is defined.
12956
12957         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
12958         and openat.c.
12959         * lib/mkdirat.c: Include openat-priv.h.
12960         Remove definitions of macros defined therein.
12961         * lib/openat.c: Likewise.
12962
12963         * lib/mkdirat.c (mkdirat): New file and function.
12964         * lib/openat.h (mkdirat): Declare.
12965
12966         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
12967
12968         * lib/openat.h (openat_permissive): Declare.
12969         (openat_ro): Define.
12970
12971         * lib/openat.c (EXPECTED_ERRNO): New macro.
12972         (openat_permissive): New function -- used in remove.c rewrite.
12973         (all functions): Set errno just before returning, only if there
12974         was an actual failure.
12975         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
12976
12977         Emulate openat-family functions using Linux's procfs, if possible.
12978         Idea and some code based on Ulrich Drepper's glibc changes.
12979
12980         * lib/openat.c: (BUILD_PROC_NAME): New macro.
12981         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
12982         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
12983         before falling back on save_cwd and restore_cwd.
12984         (fdopendir, fstatat, unlinkat): Likewise.
12985
12986         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
12987         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
12988
12989         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
12990         as second argument to va_arg.  Otherwise, some versions of gcc
12991         warn that `if this code is reached, the program will abort'.
12992
12993 2006-01-09  Jim Meyering  <jim@meyering.net>
12994
12995         Sync from coreutils.
12996         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
12997         Require openat-priv.h.
12998
12999 2006-01-09  Bruno Haible  <bruno@clisp.org>
13000
13001         * modules/strnlen (Include): Use strnlen.h.
13002
13003 2006-01-09  Bruno Haible  <bruno@clisp.org>
13004
13005         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
13006
13007 2006-01-09  Bruno Haible  <bruno@clisp.org>
13008
13009         * lib/sysexit_.h (EX_OK): New macro.
13010         Suggested by Martin Lambers <marlam@marlam.de>.
13011
13012 2006-01-09  Bruno Haible  <bruno@clisp.org>
13013
13014         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
13015         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
13016
13017 2006-01-09  Bruno Haible  <bruno@clisp.org>
13018
13019         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
13020         numbers.
13021
13022 2006-01-09  Bruno Haible  <bruno@clisp.org>
13023
13024         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
13025         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
13026         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
13027         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
13028
13029 2006-01-09  Bruno Haible  <bruno@clisp.org>
13030
13031         * build-aux/javacomp.sh.in: New file, moved from lib/.
13032         * modules/javacomp-script (Files): Update.
13033         (configure.ac): Add AC_CONFIG_FILES invocation.
13034         (EXTRA_DIST): Remove variable.
13035
13036         * build-aux/javaexec.sh.in: New file, moved from lib/.
13037         * modules/javaexec (Files): Update.
13038         (configure.ac): Add AC_CONFIG_FILES invocation.
13039         (EXTRA_DIST): Remove javaexec.sh.in.
13040
13041         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
13042         * modules/csharpcomp-script (Files): Update.
13043         (configure.ac): Add AC_CONFIG_FILES invocation.
13044         (EXTRA_DIST): Remove variable.
13045
13046         * build-aux/csharpexec.sh.in: New file, moved from lib/.
13047         * modules/csharpexec (Files): Update.
13048         (configure.ac): Add AC_CONFIG_FILES invocation.
13049         (EXTRA_DIST): Remove csharpexec.sh.in.
13050
13051 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
13052
13053         Sync from coreutils.
13054
13055         Add POSIX ACL support
13056         * lib/acl.h (copy_acl, set_acl): Add declarations.
13057         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
13058         systems other than Linux.
13059         (chmod_or_fchmod): New function: use fchmod when possible,
13060         and chmod otherwise.
13061         (file_has_acl): Add a POSIX ACL implementation, with a
13062         Linux-specific subcase.
13063         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
13064         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
13065         acls are unsupported.
13066         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
13067         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
13068         are unsupported.
13069
13070 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
13071
13072         Sync from coreutils.
13073         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
13074
13075 2006-01-07  Bruno Haible  <bruno@clisp.org>
13076
13077         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
13078         gl_EARLY.
13079
13080 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
13081
13082         * lib/strftime.c (tzname): Don't declare if it is already #defined.
13083         Problem reported for Mingw by Mark Junker.
13084
13085 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
13086
13087         * README: Gnulib normally doesn't generate a tarball.
13088
13089 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
13090
13091         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
13092         long int, not int, for nanosecond counts, so that people who are
13093         used to POSIX struct timespec won't be surprised.  Reported by Jim
13094         Meyering.
13095
13096 2005-12-28  Bruno Haible  <bruno@clisp.org>
13097
13098         * build-aux/config.rpath: Update from GNU gettext.
13099
13100 2005-12-16  Jim Meyering  <jim@meyering.net>
13101
13102         * modules/fprintftime: New module.
13103         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
13104
13105 2005-12-16  Jim Meyering  <jim@meyering.net>
13106
13107         * m4/fprintftime.m4: New file.
13108
13109 2005-12-16  Jim Meyering  <jim@meyering.net>
13110
13111         * lib/fprintftime.c, lib/fprintftime.h: New files.
13112
13113 2005-12-15  Simon Josefsson  <jas@extundo.com>
13114
13115         * modules/socklen (configure.ac): Fix M4 macro name, to align with
13116         new m4/socklen.m4.
13117
13118 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
13119
13120         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
13121         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
13122
13123 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
13124
13125         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
13126         * lib/argp-help.c (fill_in_uparams): Check if the constructed
13127         struct uparams is valid. Fall back to the default values if it is
13128         not.
13129
13130 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13131
13132         * modules/argp (Files): Add argp-pin.c
13133         (Depends-on): dirname
13134         (lib_SOURCES): Add argp-pin.c
13135
13136 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13137
13138         * m4/argp.m4:  Check if program_invocation_name and
13139         program_invocation_short_name are declared and define appropriate
13140         macros if they are not.
13141
13142 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13143
13144         * lib/argp-help.c (__argp_base_name): New function
13145         (__argp_short_program_name): Rewrite using __argp_base_name
13146         * lib/argp-namefrob.h: Define program_invocation_name and
13147         program_invocation_short_name if requested
13148         (__argp_base_name): Add prototype
13149         * lib/argp-parse.c (argp_def): Use gettext wrappers
13150         (argp_default_parser): Use __argp_base_name
13151         * lib/argp-pin.c: New file. Defines program_invocation_name and
13152         program_invocation_short_name on systems that lack them.
13153
13154 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
13155
13156         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
13157         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
13158         porting problem reported by Georg Schwarz in
13159         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
13160
13161 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
13162
13163         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
13164         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
13165         porting problem reported by Georg Schwarz in
13166         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
13167
13168 2005-12-05  Bruno Haible  <bruno@clisp.org>
13169
13170         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
13171         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
13172         Reported by Mark Junker <mjscod@gmx.de>.
13173
13174 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
13175
13176         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
13177         Use implementation from Albert Chin, with some
13178         comments/corrections by Stepan Kasal and myself.
13179
13180 2005-12-02  Bruno Haible  <bruno@clisp.org>
13181
13182         * gnulib-tool (func_import): Accept GPLed build tool modules when
13183         --lgpl is given.
13184         * modules/csharpcomp-script: New file.
13185         * modules/csharpcomp: Depend on it.
13186         * modules/javacomp-script: New file.
13187         * modules/javacomp: Depend on it.
13188         Suggested by Simon Josefsson.
13189
13190 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
13191
13192         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
13193         statement, to work around an HP-UX 10.20 compiler bug reported by
13194         Peter O'Gorman.
13195
13196 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
13197
13198         * modules/savedir (Depends-on): Add openat.
13199
13200 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
13201
13202         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
13203         (uintmax_t) [defined uintmax_t]: Do not declare.
13204         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
13205         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
13206         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
13207         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
13208         sake of portability to weird hosts that C allows (though we don't
13209         know of any practical examples).
13210
13211         * lib/savedir.h (fdsavedir): New decl.
13212         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
13213         contains most of the former guts of savedir.
13214         (savedir): Use savedirstream.
13215         Include "openat.h".
13216
13217 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
13218
13219         * modules/obstack (Files): Add m4/ulonglong.m4.
13220         Problem reported by Davide Angelocola.
13221
13222 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
13223
13224         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
13225         coreutils no longer futzes with rounding modes.
13226
13227 2005-11-14  Jim Meyering  <jim@meyering.net>
13228
13229         * lib/mkstemp-safer.c: Include <config.h>, required for possible
13230         replacement of mkstemp.
13231
13232 2005-11-10  Simon Josefsson  <jas@extundo.com>
13233
13234         * lib/readline.c: Remove EOL.
13235
13236 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13237
13238         * modules/gethrxtime (Depends-on): Add gettime.
13239
13240 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13241
13242         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
13243         or gettimeofday; no longer needed.
13244
13245 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13246
13247         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
13248         time business.
13249         (gethrxtime) [! (HAVE_NANOUPTIME
13250         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
13251         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
13252         our own approximation.
13253
13254 2005-11-08  Eric Blake  <ebb9@byu.net>
13255
13256         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
13257
13258 2005-11-08  Eric Blake  <ebb9@byu.net>
13259
13260         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
13261
13262 2005-11-04  Bruno Haible  <bruno@clisp.org>
13263
13264         * gnulib-tool: Implement --update mode.
13265
13266 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
13267
13268         Fix porting problem reported by Theodoros V. Kalamatianos.
13269         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
13270         Don't assume that futimes failing means we must fail.
13271
13272 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
13273
13274         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
13275         variables to suggest the intended function of the PATH_MAX check.
13276
13277 2005-10-30  Kean Johnston  <jkj@sco.com>
13278
13279         Trivial changes to support SCO systems.
13280         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
13281         as PATH_MAX.
13282         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
13283         where __ptr is null when no I/O is pending.
13284
13285 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13286
13287         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
13288         leave errno alone.  Problem reported by Dmitry V. Levin.
13289
13290 2005-10-28  Simon Josefsson  <jas@extundo.com>
13291
13292         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
13293         Test more.
13294
13295         * tests/test-gc-md2.c, tests/test-md2.c: New files.
13296
13297         * modules/md2, modules/md2-tests: New files.
13298
13299 2005-10-28  Simon Josefsson  <jas@extundo.com>
13300
13301         * m4/inet_ntop.m4: More tests.
13302
13303         * m4/gc-md2.m4, md2.m4: New file.
13304
13305 2005-10-28  Simon Josefsson  <jas@extundo.com>
13306
13307         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
13308         "restrict" keywords, as per POSIX.  Protect the function
13309         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
13310         Don't use K&R prototypes.  Check the sprintf return values.
13311         Re-define EAFNOSUPPORT if not present.  Indent.
13312
13313         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
13314         suggested by Bruno Haible <bruno@clisp.org>.
13315
13316         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
13317
13318         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
13319
13320         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
13321         libgcrypt).
13322
13323         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
13324
13325         * lib/md2.h, lib/md2.c: New files.
13326
13327 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
13328
13329         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
13330         errno alone.  Problem reported by Frederic Jolliton.
13331
13332 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
13333
13334         * modules/verify (License): Change from GPL to LGPL.  This is a
13335         tiny module and there are apparently near-equivalents that are
13336         under the BSD license.
13337
13338 2005-10-24  Simon Josefsson  <jas@extundo.com>
13339
13340         * modules/sha1: Relicense to LGPL.
13341
13342 2005-10-24  Simon Josefsson  <jas@extundo.com>
13343
13344         * lib/md4.h: Shrink buffer size, now that we changed the type.
13345
13346 2005-10-23  Simon Josefsson  <jas@extundo.com>
13347
13348         * gnulib-tool (func_import): Fix --tests-base.
13349
13350 2005-10-22  Simon Josefsson  <jas@extundo.com>
13351
13352         * modules/arcfour (Depends-on): Need stdint.
13353
13354 2005-10-22  Simon Josefsson  <jas@extundo.com>
13355
13356         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
13357         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
13358
13359 2005-10-22  Simon Josefsson  <jas@extundo.com>
13360
13361         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
13362         suggested by Bruno Haible <bruno@clisp.org>.
13363
13364 2005-10-22  Simon Josefsson  <jas@extundo.com>
13365
13366         * lib/crc.h: Include stddef.h, for size_t.
13367
13368 2005-10-22  Simon Josefsson  <jas@extundo.com>
13369
13370         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
13371         arcfour_context struct (simplify test vector testing in GNU
13372         Shishi).
13373
13374 2005-10-21  Simon Josefsson  <jas@extundo.com>
13375
13376         * modules/des, modules/des-tests: New files.
13377
13378         * modules/gc-des, modules/gc-des-tests: New files.
13379
13380         * tests/test-des.c, tests/test-gc-des.c: New file.
13381
13382 2005-10-21  Simon Josefsson  <jas@extundo.com>
13383
13384         * modules/arctwo, modules/arctwo-tests: New files.
13385
13386         * tests/test-arctwo.c: New file.
13387
13388         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
13389
13390         * tests/test-gc-arctwo.c: New file.
13391
13392 2005-10-21  Simon Josefsson  <jas@extundo.com>
13393
13394         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
13395         Bruno Haible <bruno@clisp.org>.
13396
13397         * m4/gc-des.m4: New file.
13398
13399 2005-10-21  Simon Josefsson  <jas@extundo.com>
13400
13401         * m4/arctwo.m4: New file.
13402
13403         * m4/gc-arctwo.m4: New file.
13404
13405 2005-10-21  Simon Josefsson  <jas@extundo.com>
13406
13407         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
13408         block.
13409
13410 2005-10-21  Simon Josefsson  <jas@extundo.com>
13411
13412         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
13413         <bruno@clisp.org>.
13414
13415         * lib/hmac-sha1.c (hmac_sha1): Likewise.
13416
13417         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
13418         Bruno Haible <bruno@clisp.org>.
13419
13420         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
13421         <bruno@clisp.org>.
13422
13423 2005-10-21  Simon Josefsson  <jas@extundo.com>
13424
13425         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
13426
13427 2005-10-21  Simon Josefsson  <jas@extundo.com>
13428
13429         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
13430
13431 2005-10-21  Simon Josefsson  <jas@extundo.com>
13432
13433         * lib/des.h, lib/des.c: New files.
13434
13435         * lib/gc-gnulib.c: Support DES.c
13436
13437 2005-10-21  Simon Josefsson  <jas@extundo.com>
13438
13439         * lib/arctwo.h, lib/arctwo.c: New files.
13440
13441         * lib/gc-gnulib.c: Support ARCTWO.
13442
13443 2005-10-21  Simon Josefsson  <jas@extundo.com>
13444
13445         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
13446         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13447
13448 2005-10-21  Simon Josefsson  <jas@extundo.com>
13449
13450         * gnulib-tool (func_import, func_create_testdir): Define automake
13451         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
13452         Makefile.am snippet),
13453         suggested by Bruno Haible <bruno@clisp.org>.
13454
13455         * modules/gc (Makefile.am): Use it.
13456
13457 2005-10-21  Bruno Haible  <bruno@clisp.org>
13458
13459         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
13460         patch.
13461
13462 2005-10-19  Simon Josefsson  <jas@extundo.com>
13463
13464         * tests/test-gc-rijndael.c: New file.
13465
13466         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
13467
13468 2005-10-19  Simon Josefsson  <jas@extundo.com>
13469
13470         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
13471         interface too.
13472
13473 2005-10-19  Simon Josefsson  <jas@extundo.com>
13474
13475         * tests/test-gc-arcfour.c: New file.
13476
13477         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
13478
13479 2005-10-19  Simon Josefsson  <jas@extundo.com>
13480
13481         * modules/gc-md4, modules/gc-md4-tests: New file.
13482
13483         * tests/test-gc-md4.c: New file.
13484
13485 2005-10-19  Simon Josefsson  <jas@extundo.com>
13486
13487         * m4/gc-md4.m4: New file.
13488
13489 2005-10-19  Simon Josefsson  <jas@extundo.com>
13490
13491         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
13492         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
13493         <kasal@ucw.cz>.
13494
13495 2005-10-19  Simon Josefsson  <jas@extundo.com>
13496
13497         * m4/gc-arcfour.m4: New file.
13498
13499         * m4/gc-rijndael.m4: New file.
13500
13501 2005-10-19  Simon Josefsson  <jas@extundo.com>
13502
13503         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
13504
13505 2005-10-19  Simon Josefsson  <jas@extundo.com>
13506
13507         * lib/gc-gnulib.c: Support ARCFOUR.
13508
13509 2005-10-19  Simon Josefsson  <jas@extundo.com>
13510
13511         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
13512         support.
13513
13514         * lib/gc.h: Add ECB enum type.
13515
13516         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
13517
13518 2005-10-18  Simon Josefsson  <jas@extundo.com>
13519
13520         * tests/test-md5.c: New file.
13521
13522         * modules/md5-tests: New file.
13523
13524 2005-10-18  Simon Josefsson  <jas@extundo.com>
13525
13526         * tests/test-md4.c: New file.
13527
13528         * modules/md4, modules/md4-tests: New files.
13529
13530 2005-10-18  Simon Josefsson  <jas@extundo.com>
13531
13532         * m4/md4.m4: New file.
13533
13534 2005-10-18  Simon Josefsson  <jas@extundo.com>
13535
13536         * lib/md4.h, lib/md4.c: New files, based on md5.?.
13537
13538 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
13539
13540         * gnulib-tool (func_create_testdir): Omit the second check whether
13541         BUILT_SOURCES in nonempty.
13542
13543 2005-10-17  Simon Josefsson  <jas@extundo.com>
13544
13545         * tests/test-rijndael.c: New file.
13546
13547 2005-10-17  Simon Josefsson  <jas@extundo.com>
13548
13549         * modules/sha1: Depend on stdint instead of md5.
13550
13551         * modules/md5: Depend on stdint, remove uint32_t.
13552
13553 2005-10-17  Simon Josefsson  <jas@extundo.com>
13554
13555         * modules/gc-sha1-tests: New file.
13556
13557         * tests/test-gc-sha1.c: New file.
13558
13559 2005-10-17  Simon Josefsson  <jas@extundo.com>
13560
13561         * m4/md5.m4: Remove call to uint32_t.m4.
13562
13563 2005-10-17  Simon Josefsson  <jas@extundo.com>
13564
13565         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
13566
13567         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
13568         md5.h.
13569
13570         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
13571
13572         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
13573
13574 2005-10-17  Simon Josefsson  <jas@extundo.com>
13575
13576         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
13577
13578 2005-10-17  Simon Josefsson  <jas@extundo.com>
13579
13580         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
13581
13582 2005-10-17  Simon Josefsson  <jas@extundo.com>
13583
13584         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
13585
13586         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
13587
13588 2005-10-17  Bruno Haible  <bruno@clisp.org>
13589
13590         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
13591         that it can also be used in a test.
13592
13593 2005-10-16  Bruno Haible  <bruno@clisp.org>
13594
13595         * gnulib-tool (func_emit_tests_Makefile_am): Also define
13596         TESTS_ENVIRONMENT, so that individual tests can augment it.
13597
13598         * gnulib-tool (func_create_testdir): Use an intermediate target for
13599         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
13600         macros, like $(ALLOCA_H), which cannot be passed through the command
13601         line.
13602
13603 2005-10-15  Simon Josefsson  <jas@extundo.com>
13604
13605         * modules/rijndael-tests: New file.
13606
13607         * modules/rijndael: New file.
13608
13609 2005-10-15  Simon Josefsson  <jas@extundo.com>
13610
13611         * m4/rijndael.m4: New file.
13612
13613 2005-10-15  Simon Josefsson  <jas@extundo.com>
13614
13615         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
13616
13617         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
13618
13619 2005-10-14  Simon Josefsson  <jas@extundo.com>
13620
13621         * tests/test-arcfour.c: New file.
13622
13623         * modules/arcfour, modules/arcfour-tests: New files.
13624
13625 2005-10-14  Simon Josefsson  <jas@extundo.com>
13626
13627         * m4/arcfour.m4: New file.
13628
13629 2005-10-14  Simon Josefsson  <jas@extundo.com>
13630
13631         * lib/arcfour.h, lib/arcfour.c: New files.
13632
13633 2005-10-14  Roland McGrath  <roland@redhat.com>
13634
13635         Import from libc.  [BZ #1331]
13636         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
13637         macro argument.
13638         Reported by Matej Vela <vela@debian.org>.
13639
13640 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
13641
13642         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
13643         include <wchar.h>; no longer needed.
13644
13645 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
13646
13647         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
13648
13649 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
13650         and  Ulrich Drepper  <drepper@redhat.com>
13651
13652         Import from libc.
13653         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
13654         instead of inline stream orientation test and two separate
13655         function calls.  Pay no attention to USE_IN_LIBIO.
13656
13657 2005-10-13  Simon Josefsson  <jas@extundo.com>
13658
13659         * modules/gc-hmac-md5-tests: New file.
13660
13661         * tests/test-gc-hmac-sha1.c: New file.
13662
13663         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
13664
13665         * modules/gc-hmac-md5-tests: New file.
13666
13667         * tests/test-gc-md5.c: New file.
13668
13669         * modules/gc-md5-tests: New file.
13670
13671 2005-10-13  Simon Josefsson  <jas@extundo.com>
13672
13673         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
13674         Move memory allocation outside of loop.
13675
13676 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
13677
13678         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
13679         intermediate directory is in a read-only file system.  Problem
13680         reported by Eric Blake.
13681
13682 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
13683
13684         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
13685
13686 2005-10-12  Simon Josefsson  <jas@extundo.com>
13687
13688         * tests/test-hmac-sha1.c: New file.
13689
13690         * modules/hmac-sha1-tests: New file.
13691
13692         * modules/hmac-sha1: New file.
13693
13694 2005-10-12  Simon Josefsson  <jas@extundo.com>
13695
13696         * modules/gc-sha1: New file.
13697
13698 2005-10-12  Simon Josefsson  <jas@extundo.com>
13699
13700         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
13701
13702         * tests/test-gc-pbkdf2-sha1.c: New file.
13703
13704 2005-10-12  Simon Josefsson  <jas@extundo.com>
13705
13706         * modules/gc-md5, modules/gc-hmac-md5: New files.
13707
13708         * modules/gc (Files): Remove md5, memxor and hmac files.
13709
13710 2005-10-12  Simon Josefsson  <jas@extundo.com>
13711
13712         * m4/gc-pbkdf2-sha1.m4: New file.
13713
13714         * m4/gc-hmac-sha1.m4: New file.
13715
13716         * m4/gc-sha1: New file.
13717
13718         * m4/hmac-sha1.m4: New file.
13719
13720 2005-10-12  Simon Josefsson  <jas@extundo.com>
13721
13722         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
13723
13724         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
13725
13726 2005-10-12  Simon Josefsson  <jas@extundo.com>
13727
13728         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
13729         suggested by Bruno Haible <bruno@clisp.org>.
13730
13731 2005-10-12  Simon Josefsson  <jas@extundo.com>
13732
13733         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
13734
13735 2005-10-12  Simon Josefsson  <jas@extundo.com>
13736
13737         * lib/gc-pbkdf2-sha1.c: New file.
13738
13739         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
13740
13741 2005-10-12  Simon Josefsson  <jas@extundo.com>
13742
13743         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
13744
13745         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
13746
13747 2005-10-12  Simon Josefsson  <jas@extundo.com>
13748
13749         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
13750         GC_USE_HMAC_MD5, respectively.
13751
13752         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
13753         (gc_md5): Fix typo.
13754
13755         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
13756
13757         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
13758
13759         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
13760
13761 2005-10-12  Bruno Haible  <bruno@clisp.org>
13762
13763         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
13764         Reported by Stepan Kasal <kasal@ucw.cz>.
13765
13766 2005-10-11  Simon Josefsson  <jas@extundo.com>
13767
13768         * tests/test-crc.c: New file.
13769
13770         * modules/crc, modules/crc-tests: New files.
13771
13772 2005-10-11  Simon Josefsson  <jas@extundo.com>
13773
13774         * m4/crc.m4: New file.
13775
13776 2005-10-11  Simon Josefsson  <jas@extundo.com>
13777
13778         * lib/gc.h: Add gc_hash and gc_hash_buffer.
13779
13780         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
13781
13782         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
13783
13784 2005-10-11  Simon Josefsson  <jas@extundo.com>
13785
13786         * lib/crc.h, lib/crc.c: New files.
13787
13788         * lib/gc.h (gc_hash_buffer): Add doc.
13789
13790 2005-10-11  Bruno Haible  <bruno@clisp.org>
13791
13792         * modules/c-strcasestr: New file.
13793         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
13794
13795 2005-10-11  Bruno Haible  <bruno@clisp.org>
13796
13797         * modules/c-strcase: New file.
13798         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
13799
13800 2005-10-11  Bruno Haible  <bruno@clisp.org>
13801
13802         * lib/strcasecmp.c: Include limits.h.
13803         (strcasecmp): Avoid integer overflow on exotic platforms.
13804         * lib/strncasecmp.c: Include limits.h.
13805         (strncasecmp): Avoid integer overflow on exotic platforms.
13806         Reported by Paul Eggert.
13807
13808 2005-10-11  Bruno Haible  <bruno@clisp.org>
13809
13810         * lib/c-strcasestr.h: New file, from GNU gettext.
13811         * lib/c-strcasestr.c: New file, from GNU gettext.
13812
13813 2005-10-11  Bruno Haible  <bruno@clisp.org>
13814
13815         * lib/c-strcase.h: New file, from GNU gettext.
13816         * lib/c-strcasecmp.c: New file, from GNU gettext.
13817         * lib/c-strncasecmp.c: New file, from GNU gettext.
13818
13819 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13820
13821         * modules/mempcpy (License): GPL -> LGPL.
13822         * modules/strchrnul (License): Likewise.
13823         * modules/sysexits (License): Likewise.
13824
13825 2005-10-08  Simon Josefsson  <jas@extundo.com>
13826
13827         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
13828
13829 2005-10-07  Simon Josefsson  <jas@extundo.com>
13830
13831         * m4/memxor.m4: Remove gl_C_RESTRICT call.
13832
13833 2005-10-06  Simon Josefsson  <jas@extundo.com>
13834
13835         * tests/test-hmac-md5.c: New file.
13836
13837         * modules/hmac-md5-tests: New file.
13838
13839         * modules/hmac-md5: New file.
13840
13841 2005-10-06  Simon Josefsson  <jas@extundo.com>
13842
13843         * m4/hmac-md5.m4: New file.
13844
13845         * m4/memxor.m4: Require gl_C_RESTRICT.
13846
13847 2005-10-06  Simon Josefsson  <jas@extundo.com>
13848
13849         * lib/memxor.c (memxor): Avoid casts and warnings.
13850
13851 2005-10-06  Simon Josefsson  <jas@extundo.com>
13852
13853         * lib/hmac-md5.c: New file.
13854
13855         * lib/hmac.h: New file.
13856
13857 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
13858
13859         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
13860         promotes to int, not unsigned int, to catch the AIX 5.3
13861         compiler bug.
13862
13863 2005-10-05  Simon Josefsson  <jas@extundo.com>
13864
13865         * modules/memxor: New file.
13866
13867         * modules/iconv (Files): Move config.rpath to havelib, it is used
13868         there.
13869
13870         * modules/havelib (Files): Add config.rpath.
13871
13872 2005-10-05  Simon Josefsson  <jas@extundo.com>
13873
13874         * m4/memxor.m4: New file.
13875
13876 2005-10-05  Simon Josefsson  <jas@extundo.com>
13877
13878         * lib/memxor.c (memxor): Fix compiler error.
13879
13880         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
13881         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
13882
13883         * lib/memxor.h, lib/memxor.c: New files.
13884
13885         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
13886         we assume all systems have it, suggested by Jim Meyering
13887         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
13888         any systems lack sys/socket.h; mingw32 is known to lack it, but we
13889         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
13890         same reasons.
13891
13892 2005-10-05  Simon Josefsson  <jas@extundo.com>
13893
13894         * config/srclist.txt: Add glibc bug 1423 for md5.h.
13895
13896 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
13897
13898         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
13899         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
13900         needed, since the source code now assumes these .h files.
13901
13902 2005-10-05  Derek Price  <derek@ximbiot.com>
13903
13904         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
13905
13906 2005-10-05  Bruno Haible  <bruno@clisp.org>
13907
13908         * modules/stdint (License): Change to LGPL.
13909
13910 2005-10-04  Simon Josefsson  <jas@extundo.com>
13911
13912         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
13913         D. Baushke" <mdb@gnu.org>.
13914
13915 2005-10-04  Bruno Haible  <bruno@clisp.org>
13916
13917         * lib/verify.h (verify_true): Provide alternative definition for C++.
13918
13919 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
13920
13921         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
13922         (SSIZE_MAX): New macro, if not already defined.
13923         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
13924         than 2 GiB.
13925
13926 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
13927
13928         Sync from coreutils.
13929         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
13930         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
13931         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
13932         ULLONG_MAX doesn't work with 2.7.2.1.
13933
13934 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
13935
13936         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
13937         From Ben Pfaff.
13938
13939         * modules/exclude (Depends-on): Depend on verify.
13940         * modules/strtoimax (Depends-on): Likewise.
13941         * modules/utimecmp (Depends-on): Likewise.
13942
13943 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
13944
13945         * lib/exclude.c: Include verify.h.
13946         (verify): Remove.  All callers changed to use verify.h's version.
13947         * lib/strtoimax.c: Likewise.
13948         * lib/utimecmp.c: Likewis.e
13949
13950         Sync from coreutils.
13951         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
13952         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
13953         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
13954         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
13955         bother returning ENOSYS if settimeofday or stime fails; just let
13956         them return whatever errno they want to return.
13957         * lib/utimens.c: Include unistd.h, for dup2.
13958         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
13959         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
13960
13961 2005-10-02  Jim Meyering  <jim@meyering.net>
13962
13963         Sync from coreutils.
13964         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
13965         from glibc-2.2.5 that fails for read-only files.
13966
13967 2005-10-02  Jim Meyering  <jim@meyering.net>
13968
13969         Sync from coreutils.
13970         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
13971         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
13972         `#if HAVE_CONFIG_H'.
13973         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
13974         Remove AT_FDCWD test.
13975         Do not consume the fd unless successful.
13976         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
13977         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
13978         block, so that we don't even try to compile it if settimeofday is
13979         available.  This works around a compilation failure on OSF1 V5.1,
13980         due to stime requiring a `long int*' while tv_sec is `int'.
13981
13982 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
13983
13984         Sync from coreutils.
13985         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
13986         against `yes', rather than just testing for nonempty.
13987
13988 2005-10-01  Simon Josefsson  <jas@extundo.com>
13989
13990         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
13991         and Darwin.
13992
13993         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
13994         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
13995         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
13996         freeaddrinfo and gai_strerror are declared by the POSIX headers.
13997         Check if struct addrinfo is declared.
13998
13999 2005-10-01  Simon Josefsson  <jas@extundo.com>
14000
14001         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
14002         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
14003         AI_* and EAI_* definitions.  Protect function declarations.
14004
14005 2005-10-01  Jim Meyering  <jim@meyering.net>
14006
14007         Sync from coreutils.
14008
14009         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
14010         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
14011         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
14012         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
14013         in the inet and nsl libraries.  Required on Solaris 5.7.
14014
14015 2005-10-01  Jim Meyering  <jim@meyering.net>
14016
14017         Sync from coreutils.
14018         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
14019         in the inet and nsl libraries.  Required on Solaris 5.7.
14020
14021 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
14022
14023         * lib/getdelim.c (getdelim): Remove unused variables.
14024
14025 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
14026
14027         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
14028         so that the code works even with ancient cpp.  Portability problem
14029         with GCC 2.7.2.1 reported by Thomas M.Ott.
14030
14031 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
14032
14033         * modules/regex (Depends-on): Add strcase.
14034
14035         * modules/gethostname (Licence): Change from GPL to LGPL, since
14036         gethostname.c is a trivial implementation of a standard library
14037         function.
14038         * modules/poll (License): Change from GPL to LGPL, since it's
14039         derived from LGPL code.
14040
14041 2005-09-27  Jim Meyering  <jim@meyering.net>
14042
14043         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
14044         HAVE_CONFIG_H.
14045
14046         * lib/intprops.h (signed_type_or_expr__): Define.
14047         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
14048         for unsigned types.
14049
14050 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
14051
14052         * lib/verify.h (verify_expr): Remove, replacing with:
14053         (verify_true): New macro that returns true instead of void.
14054         (verify_type__): Remove.
14055         (verify): Use verify_true rather than verify_type__.
14056
14057 2005-09-26  Bruno Haible  <bruno@clisp.org>
14058
14059         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
14060         is necessary.
14061         (lib_SOURCES): Remove mbchar.c.
14062         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
14063         (Files): Add m4/mbrtowc.m4.
14064         * modules/mbiter: Likewise.
14065         * modules/mbuiter: Likewise.
14066
14067 2005-09-26  Bruno Haible  <bruno@clisp.org>
14068
14069         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
14070         compile mbchar.c if they are not both present.
14071         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
14072         * m4/mbiter.m4 (gl_MBITER): Likewise.
14073         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
14074         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
14075         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
14076
14077 2005-09-25  Jim Meyering  <jim@meyering.net>
14078
14079         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
14080         also uses socklen_t.
14081
14082 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
14083
14084         * lib/utimens.c (ENOSYS): Define if not already defined.
14085         (futimens): Support having a null PATH if the file descriptor
14086         is nonnegative.
14087
14088         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
14089         Remove.
14090         (__attribute): Define to empty unless GCC 3.1 or later.
14091         This works around a core dump on OpenBSD 3.4, which has GCC
14092         2.95.3, which dumps core when given __attribute__(()).  It also
14093         simplifies other tests, since we really don't want to bother with
14094         worrying about which ancient version of GCC supported what.
14095         Original problem reported by Yoann Vandoorselaere, with part of
14096         the fix suggested by Derek Price.
14097
14098 2005-09-24  Jim Meyering  <jim@meyering.net>
14099
14100         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
14101         so we can once again use a positive bitfield width of 1 -- now we
14102         don't have to explain why we were using a bitfield width of 2.
14103
14104 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
14105
14106         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
14107         and similarly for the other external symbols.  Problem reported
14108         by James Gallager.
14109
14110         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
14111         bug reported by Jim Meyering.
14112
14113         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
14114         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
14115         not needed, since socklen is a prerequisite module.
14116
14117 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
14118
14119         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
14120         Problem reported by Eric Blake.
14121         (getaddrinfo): Initialize se so that it's not garbage.
14122         Redo internal storage allocation so that it doesn't make unportable
14123         assumptions about alignment.
14124         Fix a memory leak.
14125
14126         * lib/utimens.c (futimens): Use futimesat if available.
14127         Prefer it to futimes since it doesn't have the futimes bug.
14128
14129         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
14130         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
14131         Instead, declare a function that returns a pointer to an array,
14132         and use verify_type__ to declare the size of the array.
14133         Problem and germ of a solution reported by Bruno Haible.
14134         (verify_type__): Use 2, not 1, for bitfield size, to avoid
14135         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
14136
14137 2005-09-23  Jim Meyering  <jim@meyering.net>
14138
14139         Sync from coreutils.
14140         Correct build failure (socklen_t not defined) on at least
14141         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
14142         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
14143
14144 2005-09-23  Jim Meyering  <jim@meyering.net>
14145
14146         * modules/getaddrinfo (Depends-on): Add socklen.
14147
14148 2005-09-23  Bruno Haible  <bruno@clisp.org>
14149
14150         * tests/test-verify.c: New file.
14151
14152 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
14153
14154         Sync from coreutils.
14155
14156         * modules/argmatch (Depends-on): Add verify.
14157         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
14158         unistd-safer.
14159         * modules/save-cwd (Depends-on): Likewise.
14160
14161         * modules/openat (Files): Add lib/openat-die.c.
14162         (Depends-on): Remove error, exitfail.
14163         Add dirname.
14164
14165         * modules/verify: New file.
14166         * MODULES.html.sh (Diagnostics <assert.h>): New section,
14167         with "verify" module.
14168
14169 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
14170
14171         Sync from coreutils.
14172
14173         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
14174         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
14175         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
14176         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
14177         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
14178         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
14179         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
14180         Don't bother checking for string.h, stdlib.h, unistd.h.
14181         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
14182         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
14183         module's job.
14184         * m4/jm-macros.m4 (gl_MACROS): Likewise.
14185         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
14186
14187         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
14188         (gl_GETDATE): Use it.
14189
14190         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
14191
14192 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
14193
14194         Sync from coreutils.
14195
14196         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
14197         stat-time.h.
14198         * lib/argmatch.h: Include verify.h
14199         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
14200         (ARGMATCH_ASSERT): Remove; unused.
14201         * lib/canonicalize.c: Assume STDC_HEADERS.
14202         * lib/exclude.c: Include "strcase.h".
14203         * lib/regex_internal.h [!defined _LIBC]: Likewise.
14204         * lib/getusershell.c: Include stdio--.h rather than stdio.h
14205         and stdio-safer.h.
14206         (getusershell): Call fopen, not fopen_safer.
14207         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
14208         Do not include unistd-safer.h.
14209         (save_cwd): Don't call fd_safer; no longer needed
14210         now that we include fcntl--.h.
14211
14212         * lib/getdate.y (relative_time): New type.
14213         (RELATIVE_TIME_0): New constant.
14214         (parser_control): Use relative_time instead of doing it ourselves.
14215         (%union): Add new relative_time rel member.
14216         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
14217         Now typeless.
14218         (relunit, relunit_snumber): Now of type rel.
14219         (zone, rel, relunit, get_date): Adjust to above changes.
14220
14221         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
14222         Do not include unistd-safer.h.
14223         (getloadavg): Don't call fd_safer; no longer needed
14224         now that we include fcntl--.h.
14225
14226         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
14227         (make_dir_parents): Treat ENOSYS like EEXIST.
14228
14229         Improve quality of diagnostics on restore_cwd failure.
14230         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
14231         (make_dir_parents): Last arg is now int * (for errno), not bool *.
14232         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
14233         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
14234         each time through the loop.  Do not diagnose restore_cwd failure;
14235         that is the caller's job (and perhaps the caller does not care).
14236
14237         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
14238         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
14239         If the file already exists but is not a directory, don't bother
14240         to try to make its parents.
14241         Close potential file descriptor leak if we can't chdir("/") (!).
14242         Don't always return true if chdir($PWD) fails; return true only
14243         if the requested action was done successfully (except for the
14244         chdir($PWD)).
14245         Don't log final directory unless we actually made it.
14246         Refactor to avoid duplicate code to fix up permissions.
14247         Don't attempt to fix up parent permissions if chdir($PWD) fails.
14248
14249         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
14250         to make it a bit faster and (I hope) clearer.
14251         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
14252         Fix bug in formats like %2N.
14253
14254         * lib/verify.h: New file.
14255
14256 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
14257
14258         Sync from coreutils.
14259         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
14260
14261 2005-09-22  Jim Meyering  <jim@meyering.net>
14262
14263         Sync from coreutils.
14264
14265         * m4/lstat.m4 (gl_FUNC_LSTAT):
14266         Use AC_LIBSOURCES to require lstat.c and lstat.h.
14267         Remove obsolete comment.
14268         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
14269         * m4/xstrtod.m4: Likewise.
14270
14271         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
14272
14273 2005-09-22  Jim Meyering  <jim@meyering.net>
14274
14275         Sync from coreutils.
14276
14277         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
14278
14279         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
14280         the .tm_year member, since otherwise gcc-4.0 would now warn about
14281         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
14282
14283         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
14284         order to avoid an unsuppressible warning from gcc on 64-bit systems.
14285
14286         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
14287         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
14288         when run in a time zone for which daylight savings time is in effect
14289         for the starting date.
14290
14291         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
14292         stop us from restricting permissions of just-created absolute-named
14293         directories.
14294         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
14295         to restore initial working directory.
14296         * lib/mkdir-p.c (make_dir_parents): New parameter:
14297         different_working_dir, to tell caller if/when we change the working
14298         directory and are unable to return to the initial one.
14299         * lib/mkdir-p.h (make_dir_parents): Update prototype.
14300         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
14301         `return false'.  This fixes a bug introduced on 2004-07-30.
14302
14303         * lib/openat.c (fdopendir): Be sure to close the supplied
14304         file descriptor before returning.  This makes our replacement
14305         implementation a little closer to Solaris's, where fdopendir
14306         ties the file descriptor to the returned DIR* pointer.
14307         * lib/openat.c (unlinkat): New function.
14308         * lib/openat.h (unlinkat): Add prototype.
14309         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
14310         (openat_restore_fail): Rename from openat_restore_die.
14311         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
14312
14313         Provide an alternative to exiting immediately upon save_cwd or
14314         restore_cwd failure.  Now, an application can arrange e.g.,
14315         to perform a longjump in that case.
14316         * lib/openat.c: Include dirname.h.
14317         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
14318         (rpl_openat, fdopendir, fstatat): Call openat_save_die
14319         and openat_restore_die rather than calling error directly.
14320         Don't include "error.h" or "exitfail.h"; they're no longer needed.
14321
14322         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
14323         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
14324         define.
14325
14326         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
14327         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
14328                             int utc, int nanoseconds);
14329         Background:
14330         date should not have to allocate a megabyte of virtual memory to
14331         handle a format argument like +%1048575T.  When implemented with
14332         strftime, it must allocate such a buffer, use strftime to fill it
14333         in, print it, then free it.
14334         With fprintftime, it simply prints everything and exits.
14335         With no need for memory allocation, that's one fewer way to fail.
14336         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
14337         optional field width, not before, so we accept %9:z, not %:9z.
14338         (my_strftime): Be sure to use L_('x') for literals.
14339
14340         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
14341         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
14342         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
14343         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
14344         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
14345         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
14346         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
14347         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
14348         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
14349         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
14350         * lib/xgethostname.c, lib/xreadlink.c:
14351         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
14352
14353         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
14354         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
14355         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
14356         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
14357         and don't include <sys/file.h>).
14358
14359 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
14360
14361         Sync from coreutils.
14362
14363         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
14364         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
14365         [!LDAV_DONE]: Avoid unused variable warning.
14366
14367 2005-09-21  Bruno Haible  <bruno@clisp.org>
14368
14369         * lib/unicodeio.h (unicode_to_mb): New declaration.
14370
14371 2005-09-20  Derek Price  <derek@ximbiot.com>
14372
14373         * lib/getaddrinfo.c: Don't include <netdb.h> included from
14374         getaddrinfo.h.
14375
14376 2005-09-20  Bruno Haible  <bruno@clisp.org>
14377
14378         * gnulib-tool: Remove trailing slashes from the values specified for
14379         --source-base, --m4-base, --tests-base, --aux-dir.
14380         Suggested by Simon Josefsson <jas@extundo.com>.
14381
14382 2005-09-20  Bruno Haible  <bruno@clisp.org>
14383
14384         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
14385         func_modules_to_filelist, func_import, func_create_testdir): Make all
14386         sorting results locale-independent, so that gnulib-cache.m4 doesn't
14387         change when gnulib-tool is invoked in a different locale.
14388
14389 2005-09-19  Simon Josefsson  <jas@extundo.com>
14390
14391         * m4/socklen.m4: Fix typo.
14392
14393 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14394
14395         Use a consistent style for including <config.h>.
14396         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
14397         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
14398         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
14399         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
14400         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
14401         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
14402         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
14403         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
14404         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
14405         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
14406         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
14407         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
14408         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
14409         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
14410         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
14411         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
14412         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
14413         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
14414         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
14415         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
14416         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
14417         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
14418         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
14419         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
14420         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
14421         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
14422         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
14423         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
14424         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
14425         lib/xstrtoumax.c, lib/yesno.c:
14426         Standardize inclusion of config.h.
14427         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
14428         lib/inttostr.h:  Removed inclusion of config.h from header files.
14429         * lib/inttostr.c:  Adjusted in-tree users.
14430         * lib/timespec.h: Remove superfluous warning to include config.h.
14431         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
14432         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
14433         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
14434         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
14435         config.h with HAVE_CONFIG_H.
14436
14437 2005-09-19  Jim Meyering  <jim@meyering.net>
14438
14439         * modules/pathmax (License): Change to LGPL.
14440
14441 2005-09-19  Derek Price  <derek@ximbiot.com>
14442
14443         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
14444
14445 2005-09-19  Bruno Haible  <bruno@clisp.org>
14446
14447         * gnulib-tool (import): Provide default for --tests-base.
14448
14449 2005-09-19  Bruno Haible  <bruno@clisp.org>
14450
14451         * doc/quote.texi: New file, extracted from gnulib.texi.
14452         * doc/ctime.texi: New file, extracted from gnulib.texi.
14453         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
14454         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
14455         * doc/gnulib.texi: Include them.
14456
14457 2005-09-18  Bruno Haible  <bruno@clisp.org>
14458
14459         Portability fix.
14460         * gnulib-tool (func_readlink): New function.
14461         (func_ln_if_changed): Use it.
14462
14463 2005-09-18  Bruno Haible  <bruno@clisp.org>
14464
14465         * gnulib-tool: Support --with-tests also with --import.
14466         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
14467         (func_import): Use variables $testsbase and $inctests. Emit a
14468         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
14469         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
14470         SUBDIRS += $testsdir.
14471         (func_create_testdir): Update.
14472
14473 2005-09-18  Bruno Haible  <bruno@clisp.org>
14474
14475         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
14476         instead of $dry_run.
14477         (func_cp_if_changed, func_mv_if_changed): Remove functions.
14478         (func_ln_if_changed): Don't handle dry-run here.
14479         (func_import): In dry-run mode, detect more precisely which actions
14480         would be performed, and don't use "...ing" verbs.
14481
14482 2005-09-18  Bruno Haible  <bruno@clisp.org>
14483
14484         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
14485         (func_import): Use join on two temporary files instead of three nested
14486         loops, in order to determine which files are new or old.
14487
14488 2005-09-18  Bruno Haible  <bruno@clisp.org>
14489
14490         * gnulib-tool (func_import): Comment out code that spits out the
14491         new files with --dry-run.
14492
14493 2005-09-18  Bruno Haible  <bruno@clisp.org>
14494
14495         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
14496
14497 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
14498
14499         * lib/stat-time.h: New file.
14500         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
14501         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
14502         in a different way.
14503         (timespec_cmp): New function.
14504         * lib/utimecmp.c: Include stat-time.h.
14505         (SYSCALL_RESOLUTION): Depend on whether various struct stat
14506         members exist, not on the obsolescent ST_MTIM_NSEC.
14507         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
14508
14509 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
14510
14511         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
14512
14513 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
14514
14515         * MODULES.html.sh (File system functions): Add stat-time.
14516         * modules/stat-time: New file.
14517         * modules/timespec (Files): Remove m4/st_mtim.m4; this
14518         is now done in a different way, by the stat-time module.
14519         * modules/utimecmp (Depends-on): Add stat-time.
14520
14521 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
14522
14523         * m4/st_mtim.m4: Remove.  Superseded by...
14524         * m4/stat-time.m4: New file.
14525         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
14526         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
14527
14528 2005-09-15  Derek Price  <derek@ximbiot.com>
14529
14530         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
14531
14532 2005-09-15  Derek Price  <derek@ximbiot.com>
14533
14534         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
14535         * lib/regex_internal.c: Ditto, using this...
14536         (__GNUC_PREREQ): ...new macro.
14537         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
14538         using...
14539         (__GNUC_PREREQ): ...this new macro.
14540
14541         * lib/strstr.h: Include string.h. Define strstr as a macro here.
14542
14543 2005-09-15  Derek Price  <derek@ximbiot.com>
14544             Paul Eggert  <eggert@cs.ucla.edu>
14545
14546         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
14547         changes, consolidating in...
14548         * lib/regex_internal.h: ...this file.
14549
14550 2005-09-13  Jim Meyering  <jim@meyering.net>
14551
14552         * lib/canon-host.c: Filter through gnu indent and reword comments
14553         slightly.
14554         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
14555
14556 2005-09-13  Derek Price  <derek@ximbiot.com>
14557
14558         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
14559         failure.
14560         Reported by Jim Meyering  <jim@meyering.net>.
14561
14562 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
14563
14564         * lib/base64.c: Typo.
14565         (base64_encode): Put b64str in initialized data section.
14566
14567 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
14568
14569         Merge glibc and coreutils changes into gnulib, plus a few
14570         extra fixes.
14571         * lib/md5.c: Use #error rather than a string.
14572         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
14573         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
14574         (__attribute__): Define to empty for non recent-GCC.
14575         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
14576         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
14577         Renamed from their non-__ counterparts, with new macros replacing
14578         them if not _LIBC.  Add __THROW attribute.
14579         (rol): Remove.
14580         (struct md5_ctx): Align buffer if using GCC.
14581         * lib/sha1.h (struct sha1_ctx): Likewise.
14582         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
14583         The old name was backwards.
14584         (NOTSWAP): Remove; not used.
14585         (rol): New macro, moved here from md5.h.
14586         (sha1_process_block): Remove a FIXME that doesn't make sense.
14587
14588 2005-09-12  Derek Price  <derek@ximbiot.com>
14589
14590         Return usable errors from canon-host.
14591         * lib/canon-host.h: New file.
14592         * lib/canon-host.c (canon_host): Wrap...
14593         (canon_host_r): ...this new function, which now relies exclusively on
14594         getaddrinfo.
14595         (ch_strerror): New function.
14596         (last_cherror): New global.
14597         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
14598         interface.
14599         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
14600         void *.
14601         (freeaddrinfo): Free ai->ai_canonname when set.
14602
14603 2005-09-12  Derek Price  <derek@ximbiot.com>
14604
14605         Make canon-host require getaddrinfo.
14606         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
14607         AC_LIBSOURCE canon-host.h.  Call...
14608         (gl_PREREQ_CANON_HOST): ...this new function, which requires
14609         gl_GETADDRINFO.
14610         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
14611
14612 2005-09-12  Derek Price  <derek@ximbiot.com>
14613
14614         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
14615         LGPL.
14616         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
14617
14618 2005-09-12  Derek Price  <derek@ximbiot.com>
14619
14620         * lib/gai_strerror.c: Include config.h when available.  Include
14621         getaddrinfo.h before other headers to test interface.
14622         Reported by Larry Jones <lawrence.jones@ugs.com>.
14623
14624 2005-09-12  Derek Price  <derek@ximbiot.com>
14625             Paul Eggert  <eggert@cs.ucla.edu>
14626
14627         * modules/glob (Files): Add glob-libc.h.
14628
14629 2005-09-12  Derek Price  <derek@ximbiot.com>
14630             Paul Eggert  <eggert@cs.ucla.edu>
14631
14632         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
14633         glob_.h, glob-libc.h.
14634         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
14635
14636 2005-09-12  Derek Price  <derek@ximbiot.com>
14637             Paul Eggert  <eggert@cs.ucla.edu>
14638
14639         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
14640         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
14641         protecting things that should be done only in gnulib contexts.
14642         * lib/glob_.h: New file, containing only the glob things needed for
14643         gnulib.
14644         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
14645         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
14646         (glob, globfree, glob_pattern_p): Now defined simply in terms of
14647         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
14648         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
14649         and to respect the namespace rules better.
14650
14651 2005-09-08  Simon Josefsson  <jas@extundo.com>
14652
14653         * modules/socklen: New file.
14654
14655 2005-09-08  Simon Josefsson  <jas@extundo.com>
14656
14657         * m4/socklen.m4: New file.
14658
14659 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
14660
14661         * modules/utimens (Files): Add m4/utimbuf.m4, since
14662         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
14663         Reported by Sergey Poznyakoff.
14664
14665 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
14666
14667         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
14668         definitions, since that's the preferred style in glibc.
14669         Fix a minor spacing issue, and update copyright notice to match
14670         glibc's.
14671
14672 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
14673
14674         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
14675
14676 2005-09-06  Simon Josefsson  <jas@extundo.com>
14677
14678         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
14679         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
14680
14681 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
14682
14683         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
14684         warning.
14685
14686 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
14687
14688         * config/srclist.txt: Add glibc bug 1302.
14689
14690 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14691
14692         Change bitset word type from unsigned int to unsigned long int,
14693         as this has better performance on typical 64-bit hosts.
14694         Port bitset code to hosts with unusual word sizes.
14695         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
14696         (build_collating_symbol):
14697         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
14698         argument is a bitset.  This is merely a style issue, but it makes
14699         it clearer that an entire array is expected.
14700         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
14701         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
14702         Port to the case where bitset_word is not the same as unsigned int.
14703         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
14704         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
14705         Likewise.
14706         * lib/regexec.c (check_dst_limits_calc_pos_1,
14707         check_subexp_matching_top):
14708         (build_trtable, group_nodes_into_DFAstates):
14709         Likewise.
14710         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
14711         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
14712         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
14713         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
14714         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
14715         * lib/regcomp.c (optimize_subexps, lower_subexp):
14716         Work even if bitset_word has holes in its bitwise representation.
14717         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
14718         * lib/regexec.c (check_dst_limits_calc_pos_1,
14719         check_subexp_matching_top):
14720         Likewise.
14721         * lib/regex_internal.c (re_string_reconstruct):
14722         Don't assume UCHAR_MAX == 255.
14723         * lib/regex_internal.h (bitset_set_all): Likewise.
14724         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
14725         All uses changed.
14726         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
14727         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
14728         All uses changed.
14729         (BITSET_WORD_MAX): New macro.
14730         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
14731         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
14732         (bitset_empty, bitset_copy):
14733         Prefer sizeof (bitset) to multiplying it out ourselves.
14734         (bitset_not_merge): Remove; unused.
14735         (bitset_contain): Return bool, not unsigned int with one bit on.
14736         All callers changed.
14737         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
14738         alignment than re_node_set; do this by defining a new internal
14739         type struct dests_alloc and using it to allocate memory.
14740
14741 2005-09-05  Bruno Haible  <bruno@clisp.org>
14742
14743         * gnulib-tool (func_import): Fix comparison in handling of symbolic
14744         links.
14745
14746 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
14747
14748         * modules/size_max (Makefile.am): Add size_max.h
14749
14750 2005-09-04  Derek Price  <derek@ximbiot.com>
14751
14752         * gnulib-tool (func_import): Fix reversed $symbolic logic.
14753
14754 2005-09-03  Simon Josefsson  <jas@extundo.com>
14755
14756         * gnulib-tool: Fix typo.
14757
14758 2005-09-03  Simon Josefsson  <jas@extundo.com>
14759
14760         * config/srclist.txt: Add glibc bug 1293.
14761
14762 2005-09-03  Derek Price  <derek@ximbiot.com>
14763
14764         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
14765         From Larry Jones <lawrence.jones@ugs.com>.
14766
14767 2005-09-02  Simon Josefsson  <jas@extundo.com>
14768
14769         * modules/socklen: New file.
14770
14771 2005-09-02  Simon Josefsson  <jas@extundo.com>
14772
14773         * modules/havelib: New module.
14774
14775         * modules/gettext, modules/iconv, modules/lock, modules/readline:
14776         Use havelib.
14777
14778 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
14779
14780         Check for arithmetic overflow when calculating sizes, to prevent
14781         some buffer-overflow issues.  These patches are conservative, in the
14782         sense that when I couldn't determine whether an overflow was possible,
14783         I inserted a run-time check.
14784         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
14785         macros.
14786         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
14787         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
14788         (re_xnrealloc, re_x2nrealloc): New inline functions.
14789         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
14790         parse_bracket_exp):
14791         (build_equiv_class, build_charclass): Check for arithmetic overflow
14792         in size expression calculations.
14793         * lib/regex_internal.c (re_string_realloc_buffers):
14794         (build_wcs_upper_buffer, re_node_set_add_intersect):
14795         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
14796         (re_dfa_add_node, register_state): Likewise.
14797         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
14798         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
14799         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
14800         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
14801
14802 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
14803
14804         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
14805         m4/ulonglong.m4.  Problem reported by Martin Lambers.
14806
14807 2005-09-02  Bruno Haible  <bruno@clisp.org>
14808
14809         Support for lib vs. lib64 distinction on biarch platforms.
14810         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
14811         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
14812         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
14813
14814 2005-09-02  Bruno Haible  <bruno@clisp.org>
14815
14816         * gnulib-tool (import): In the other first-use case, provide defaults
14817         as well.
14818
14819 2005-09-02  Bruno Haible  <bruno@clisp.org>
14820
14821         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
14822         patches not yet found in the latest gettext release.
14823
14824 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14825
14826         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
14827         to avoid a collision with bits/local_lim.h in glibc.
14828         All uses changed.  Problem reported by Dmitry V. Levin in
14829         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
14830
14831         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
14832         bugs in int versus size_t comparisons.
14833         (re_string_context_at): Fix bug where the code assumed that
14834         Idx is signed.
14835
14836         Use bool where appropriate.
14837         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
14838         All callers changed.
14839         (calc_eclosure_iter): Likewise, for ROOT arg.
14840         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
14841         (build_charclass_op): Likewise, for NON_MATCH arg.
14842         * lib/regex_internal.c (re_string_allocate, re_string_construct):
14843         (re_string_construct_common): Likewise, for ICASE arg.
14844         * lib/regexec.c (re_search_2_stub, re_search_stub):
14845         Likewise, for RET_LEN arg.
14846         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
14847         (set_regs): Likewise, for FL_BACKTRACK arg.
14848         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
14849         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
14850         (calc_eclosure_iter, parse_bracket_exp):
14851         Use bool for internal variables that are booleans.
14852         * lib/regexec.c (re_search_internal, check_matching,
14853         proceed_next_node):
14854         (set_regs, build_sifted_states, sift_states_bkref):
14855         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
14856         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
14857         (find_collation_sequence_value):
14858         Likewise.
14859         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
14860         (re_node_set_compare):
14861         Return bool, not int. All callers changed.
14862         * lib/regexec.c (check_halt_node_context, check_dst_limits):
14863         (build_trtable, check_node_accept): Likewise.
14864         * lib/regex_internal.h: Include stdbool.h.
14865
14866         Fix bugs uncovered when converting to bool.
14867         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
14868         failure instead of charging ahead blindly.
14869         * lib/regex_internal.c (register_state): Likewise.
14870         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
14871         for freeing internal storage.
14872         (group_nodes_into_DFA_states): Use unsigned int, not int, for
14873         bitset pieces used as boolean, to avoid undefined behavior
14874         on hosts that do int overflow checking.
14875
14876 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14877
14878         * config/srclist.txt: Add glibc bugs 1285-1287.
14879
14880 2005-09-01  Jim Meyering  <jim@meyering.net>
14881
14882         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
14883         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
14884         Require gl_STAT_MACROS, too.
14885
14886 2005-09-01  Bruno Haible  <bruno@clisp.org>
14887
14888         * gnulib-tool (import): In the first-use case, provide defaults.
14889
14890 2005-09-01  Bruno Haible  <bruno@clisp.org>
14891
14892         * gnulib-tool (func_import): Remove the .tmp files.
14893
14894 2005-09-01  Bruno Haible  <bruno@clisp.org>
14895
14896         * gnulib-tool (func_import): Fix handling of symbolic links.
14897
14898 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
14899
14900         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
14901         old glibc regex code mishandles strings longer than 2**31 bytes.
14902         This patch fixes this when the regex code is used in gnulib
14903         (i.e., outside glibc).
14904
14905         This patch should not affect the use of the regex code inside
14906         glibc.  No doubt this problem also needs to be handled for glibc
14907         as well, but the result will be an incompatible change to the
14908         glibc ABI, and the old ABI will have to be supported too.  That
14909         can be the the subject for another patch.
14910
14911         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
14912         governing whether the rest of this patch is active.  By default,
14913         the macro is disabled and the patch has no effect.
14914         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
14915         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
14916         (struct re_pattern_buffer, re_search, re_search_2, re_match):
14917         (re_match_2, re_set_registers): Use the new types.
14918         * lib/regex_internal.h (Idx, re_hashval_t): New types.
14919         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
14920         New macros.
14921         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
14922         (re_string_context_at, bin_tree_t, re_dfastate_t):
14923         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
14924         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
14925         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
14926         (re_string_char_size_at, re_string_wchar_at):
14927         (re_string_elem_size_at):
14928         Use the new types and macros to port to 64-bit hosts.
14929         Use unsigned types for internal values, so that the code
14930         mostly works even for arrays larger than SSIZE_MAX.
14931         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
14932         (search_duplicated_node, calc_eclosure_iter, fetch_number):
14933         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
14934         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
14935         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
14936         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
14937         (calc_inveclosure, parse_dup_op, build_range_exp):
14938         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
14939         (fetch_number, create_token_tree, mark_opt_subexp):
14940         Likewise.
14941         * lib/regex_internal.c (re_string_construct_common,
14942         create_ci_newstate):
14943         (create_cd_newstate, re_string_allocate, re_string_construct):
14944         (re_string_realloc_buffers, build_wcs_upper_buffer):
14945         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
14946         (re_string_reconstruct, re_string_peek_byte_case):
14947         (re_string_fetch_byte_case, re_string_context_at):
14948         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
14949         (re_node_set_init_copy, re_node_set_add_intersect):
14950         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
14951         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
14952         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
14953         (re_acquire_state, re_acquire_state_context, register_state):
14954         Likewise.
14955         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
14956         search_cur_bkref_entry):
14957         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
14958         (re_search_internal, re_search_2_stub, re_search_stub)
14959         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
14960         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
14961         (update_cur_sifted_state, check_dst_limits):
14962         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
14963         (check_subexp_limits, sift_states_bkref, merge_state_array):
14964         (check_subexp_matching_top, get_subexp, get_subexp_sub):
14965         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
14966         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
14967         (expand_bkref_cache, check_node_accept_bytes):
14968         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
14969         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
14970         (acquire_init_state_context, check_halt_node_context):
14971         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
14972         (sift_states_backward, clean_state_log_if_needed):
14973         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
14974         (find_recover_state, transit_state_sb, transit_state_mb):
14975         (transit_state_bkref, build_trtable, match_ctx_clean):
14976         Likewise.
14977         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
14978         to work around an assumption that REG_MISSING is negative.
14979
14980         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
14981         (seek_collating_symbol_entry) [defined _LIBC]:
14982         (lookup_collation_sequence_value) [defined _LIBC]:
14983         (build_range_exp, build_collating_symbol) [defined _LIBC]:
14984         Use prototypes rather than old-style function definitions.
14985         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
14986         (transit_state_sb) [0]:
14987         (find_collation_sequence_value) [defined _LIBC]: Likewise.
14988
14989         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
14990         rm_eo.
14991
14992         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
14993         (optimize_subexps, lower_subexp):
14994         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
14995         since the signed shift might overflow.  Use 1u<<31 instead.
14996         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
14997         Likewise.
14998         * lib/regexec.c (check_dst_limits_calc_pos_1,
14999         check_subexp_matching_top): Likewise.
15000
15001         * lib/regcomp.c (optimize_subexps, lower_subexp):
15002         Use CHAR_BIT rather than 8, for clarity.
15003         * lib/regexec.c (check_dst_limits_calc_pos_1):
15004         (check_subexp_matching_top): Likewise.
15005         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
15006         have to worry about portability issues when shifting it left.
15007         Remove no-longer-needed test for table_size > 0.
15008         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
15009         in a word, as the resulting behavior is undefined.
15010         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
15011         in one case, a <= should have been an <, and in another case the
15012         whole test was missing.
15013         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
15014         the standard name CHAR_BIT.
15015         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
15016         this is not true on one's complement and signed-magnitude hosts.
15017
15018         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
15019         next_last_offset.
15020         (struct re_dfa_t): Remove unused member states_alloc.
15021         * lib/regcomp.c (init_dfa): Don't initialize unused members.
15022
15023 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15024
15025         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
15026         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
15027         and large-file glibc and in 32-bit large-file Solaris.
15028
15029 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15030
15031         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
15032         lengths fit in regoff_t; this isn't true if regoff_t is the same
15033         width as size_t.
15034         * lib/regex.c (re_search_internal): 5th arg is LAST_START
15035         (= START + RANGE) instead of RANGE.  This avoids overflow
15036         problems when regoff_t is the same width as size_t.
15037         All callers changed.
15038         (re_search_2_stub): Check for overflow when adding the
15039         sizes of the two strings.
15040         (re_search_stub): Check for overflow when adding START
15041         to RANGE; if it occurs, substitute the extreme value.
15042
15043 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15044
15045         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
15046
15047 2005-08-31  Jim Meyering  <jim@meyering.net>
15048
15049         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
15050         a pointer-to-const.
15051         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
15052         (register_state): Likewise.
15053         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
15054         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
15055         (group_nodes_into_DFAstates): Likewise.
15056
15057 2005-08-31  Jim Meyering  <jim@meyering.net>
15058
15059         * check-module: Add a FIXME comment.
15060
15061 2005-08-31  Eric Blake  <ebb9@byu.net>
15062
15063         * modules/unistd-safer (Files): Add unistd--.h.
15064         * modules/stdio-safer (Files): Add stdio--.h.
15065
15066 2005-08-31  Derek Price  <derek@ximbiot.com>
15067
15068         * lib/getdelim.c (getdelim): Return EOF on EOF.
15069         Reported by Larry Jones <lawrence.jones@ugs.com>.
15070
15071 2005-08-31  Bruno Haible  <bruno@clisp.org>
15072
15073         Avoid unnecessary diffs in the generated lib/Makefile.am.
15074         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
15075         the generated files.
15076         (func_import): Don't set cmd.
15077
15078 2005-08-31  Bruno Haible  <bruno@clisp.org>
15079
15080         * lib/strstr.c: Include <stddef.h>, for NULL.
15081         * lib/strcasestr.c: Likewise.
15082         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
15083
15084 2005-08-31  Bruno Haible  <bruno@clisp.org>
15085
15086         * gnulib-tool: New option --macro-prefix.
15087         (func_import): Use macro_prefix.
15088         (import): Handle option --macro-prefix.
15089
15090 2005-08-31  Bruno Haible  <bruno@clisp.org>
15091
15092         * gnulib-tool (import): Rename most ac_* variables to cached_*.
15093         Also use new variables cached_lgpl, cached_libtool.
15094
15095 2005-08-31  Bruno Haible  <bruno@clisp.org>
15096
15097         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
15098         always instantiating them.
15099
15100 2005-08-31  Bruno Haible  <bruno@clisp.org>
15101
15102         * gnulib-tool (func_import): Read the previous cached settings
15103         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
15104         earlier added by gnulib but are now dropped. Warn when a gnulib file
15105         overwrites a non-gnulib file.
15106
15107 2005-08-31  Bruno Haible  <bruno@clisp.org>
15108
15109         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
15110         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
15111         projects that don't keep autogenerated files in CVS. Put into
15112         actioncmd only the specified modules, not the transitive closure.
15113
15114 2005-08-31  Bruno Haible  <bruno@clisp.org>
15115
15116         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
15117         Create directories that shall be filled.
15118         (import): Don't look for gl_* macros in configure.ac. Recurse across
15119         all directories containing a gnulib-cache.m4 files, if meaningful.
15120
15121 2005-08-31  Bruno Haible  <bruno@clisp.org>
15122
15123         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
15124         (import): Set seen_libtool when we see gl_LIBTOOL.
15125
15126 2005-08-31  Bruno Haible  <bruno@clisp.org>
15127
15128         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
15129         declaration macro definitions from generated gnulib.m4.
15130
15131 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
15132
15133         * lib/iconvme.h: Add prototype for iconv_alloc.
15134
15135 2005-08-29  Simon Josefsson  <jas@extundo.com>
15136
15137         * lib/iconvme.c: Fix errno.
15138
15139 2005-08-29  Bruno Haible  <bruno@clisp.org>
15140
15141         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
15142         that it works when the directory contains spaces.
15143
15144 2005-08-29  Bruno Haible  <bruno@clisp.org>
15145
15146         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
15147
15148 2005-08-29  Bruno Haible  <bruno@clisp.org>
15149
15150         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
15151         Emit more advice.
15152
15153 2005-08-29  Bruno Haible  <bruno@clisp.org>
15154         and Stepan Kasal  <kasal@ucw.cz>
15155
15156         * check-module: If more parameters are given, check each of them
15157         separately; add more exceptions, as noted by Jim Meyering.
15158         (check_module): New procedure.
15159         (%exempt_header): Now contains all exceptions.
15160
15161 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
15162
15163         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
15164
15165 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
15166
15167         * lib/iconvme.c: Split iconv_string into iconv_alloc.
15168
15169 2005-08-28  Bruno Haible  <bruno@clisp.org>
15170
15171         * m4/gnulib-tool.m4: New file.
15172
15173 2005-08-27  Jim Meyering  <jim@meyering.net>
15174
15175         * modules/unistd-safer (Files): Add pipe-safer.c.
15176         * modules/fcntl-safer (Files): Add creat-safer.c.
15177
15178 2005-08-27  Jim Meyering  <jim@meyering.net>
15179
15180         * m4/stdlib-safer.m4: New file.  From coreutils.
15181         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
15182         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
15183         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
15184         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
15185         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
15186
15187 2005-08-27  Jim Meyering  <jim@meyering.net>
15188
15189         * lib/fopen-safer.c: Merge minor changes from coreutils.
15190         * lib/dup-safer.c: Likewise.
15191         * lib/fd-safer.c: Likewise.
15192
15193         Merge from coreutils.
15194         * lib/stdio--.h: New file.
15195         * lib/stdlib--.h: New file.
15196         * lib/mkstemp-safer.c: New file.
15197
15198         GNU tar needs these.
15199         * lib/pipe-safer.c: New file.
15200         * lib/creat-safer.c: New file.
15201         * lib/fcntl--.h (creat): Define to creat_safer.
15202         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
15203         * lib/unistd--.h (pipe): Define to pipe_safer.
15204         * lib/unistd-safer.h: Declare pipe_safer.
15205
15206 2005-08-26  Simon Josefsson  <jas@extundo.com>
15207
15208         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
15209         Haible <bruno@clisp.org>.
15210
15211 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
15212
15213         * lib/regex_internal.h: Remove all references to
15214         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
15215         or better.
15216         (bitset_not, bitset_merge, bitset_not_merge):
15217         (bitset_mask, re_string_allocate, re_string_construct):
15218         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
15219         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
15220         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
15221         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
15222         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
15223         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
15224         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
15225         (re_acquire_state_context):
15226         Remove unnecessary forward decls.
15227         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
15228         Put __attribute at function definition,
15229         now that the function decl has been removed.
15230         * lib/regex_internal.c (re_string_peek_byte_case):
15231         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
15232         Likewise.
15233
15234 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
15235
15236         * m4/regex.m4: Add AC_PREREQ(2.50).
15237         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
15238
15239 2005-08-25  Simon Josefsson  <jas@extundo.com>
15240
15241         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
15242         __fsetlocking.
15243
15244 2005-08-25  Simon Josefsson  <jas@extundo.com>
15245
15246         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
15247         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
15248         GLIBC specific code.
15249
15250 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15251
15252         Make regex safe for g++.  This fixes one real bug (an "err"
15253         that should have been "*err").  g++ problem reported by
15254         Sam Steingold.
15255         * lib/regex_internal.h (re_calloc): New macro, consistent with
15256         re_malloc etc.  All callers of calloc changed to use re_calloc.
15257         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
15258         not int.  All callers changed.
15259         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
15260         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
15261         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
15262         (find_recover_state): Change "err" to "*err"; this fixes what
15263         appears to be a real bug.
15264         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
15265         versus int.
15266
15267 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15268
15269         * modules/regex (Depends-on): Add malloc, since the code
15270         assumes that !malloc(0) means failure.
15271
15272 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15273
15274         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
15275
15276         alloca modernization/simplification for regex.
15277         * lib/regex.c: Remove portability cruft for alloca.  This no longer
15278         needs to be at the start of the file, and can be moved into
15279         regex_internal.h and simplified.
15280         * lib/regex_internal.h: Include <alloca.h>.
15281         (__libc_use_alloca) [!defined _LIBC]: New macro.
15282         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
15283         now works outside glibc.
15284
15285 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15286
15287         * config/srclist.txt: Add glibc bugs 1241, 1245.
15288
15289 2005-08-25  Jim Meyering  <jim@meyering.net>
15290
15291         * lib/open-safer.c: Include <config.h>.
15292         Otherwise, we'd lose LARGEFILE support in any file using
15293         e.g. "fcntl--.h"
15294
15295 2005-08-25  Bruno Haible  <bruno@clisp.org>
15296
15297         * m4/minmax.m4: Require autoconf 2.52.
15298         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
15299         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
15300         alternatives of translit over the alphabet.
15301         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
15302
15303 2005-08-24  Simon Josefsson  <jas@extundo.com>
15304
15305         * tests/test-getpass.c: New file.
15306
15307 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15308
15309         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
15310         for GNU regex features.
15311
15312 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15313
15314         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
15315         * lib/regex.h (regerror): Likewise.
15316
15317         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
15318         requires this.  (The code never needed it.)
15319
15320         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
15321         All uses of recently-renamed identifiers changed to use the new,
15322         POSIX-compliant names.  The code will build and run just fine
15323         without these changes, but it's better to eat our own dog food
15324         and use the standard-conforming names.
15325
15326         * lib/regex.h: Fix a multitude of POSIX name space violations.
15327         These changes have an effect only for programs that define
15328         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
15329         do not change anything for programs compiled in the normal way.
15330         Also, there is no effect on the ABI.
15331
15332         (_REGEX_SOURCE): New macro.
15333         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
15334         defined and _GNU_SOURCE is not; this fixes a name space violation.
15335
15336         Rename the following macros to obey POSIX requirements.
15337         The old names are still visible as macros if _REGEX_SOURCE is defined.
15338         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
15339         RE_BACKSLASH_ESCAPE_IN_LISTS.
15340         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
15341         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
15342         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
15343         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
15344         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
15345         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
15346         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
15347         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
15348         (REG_INTERVALS): renamed from RE_INTERVALS.
15349         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
15350         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
15351         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
15352         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
15353         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
15354         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
15355         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
15356         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
15357         RE_UNMATCHED_RIGHT_PAREN_ORD.
15358         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
15359         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
15360         (REG_DEBUG): renamed from RE_DEBUG.
15361         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
15362         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
15363         unusual, since we can't clash with the POSIX REG_ICASE.
15364         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
15365         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
15366         (REG_NO_SUB): renamed from RE_NO_SUB.
15367         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
15368         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
15369         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
15370         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
15371         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
15372         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
15373         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
15374         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
15375         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
15376         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
15377         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
15378         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
15379         RE_SYNTAX_POSIX_MINIMAL_BASIC.
15380         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
15381         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
15382         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
15383         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
15384         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
15385         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
15386         (REG_FIXED): Renamed from REGS_FIXED.
15387         (REG_NREGS): Renamed from RE_NREGS.
15388
15389         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
15390         of other REG_* macros, since POSIX says the user is allowed to
15391         #undef these macros selectively.
15392
15393         (reg_errcode_t): Update comment stating what other tables need
15394         to be consistent.
15395
15396         Rename the following enum values to obey POSIX requirements.
15397         The old names are still visible as macros.
15398         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
15399         is not defined, since GNU is supposed to be a superset of POSIX as
15400         much as possible, and since we want reg_errcode_t to be a signed
15401         type for implementation consistency.
15402         (_REG_NOERROR): Renamed from REG_NOERROR.
15403         (_REG_NOMATCH): Renamed from REG_NOMATCH.
15404         (_REG_BADPAT): Renamed from REG_BADPAT.
15405         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
15406         (_REG_ECTYPE): Renamed from REG_ECTYPE.
15407         (_REG_EESCAPE): Renamed from REG_EESCAPE.
15408         (_REG_ESUBREG): Renamed from REG_ESUBREG.
15409         (_REG_EBRACK): Renamed from REG_EBRACK.
15410         (_REG_EPAREN): Renamed from REG_EPAREN.
15411         (_REG_EBRACE): Renamed from REG_EBRACE.
15412         (_REG_BADBR): Renamed from REG_BADBR.
15413         (_REG_ERANGE): Renamed from REG_ERANGE.
15414         (_REG_ESPACE): Renamed from REG_ESPACE.
15415         (_REG_BADRPT): Renamed from REG_BADRPT.
15416         (_REG_EEND): Renamed from REG_EEND.
15417         (_REG_ESIZE): Renamed from REG_ESIZE.
15418         (_REG_ERPAREN): Renamed from REG_ERPAREN.
15419         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
15420         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
15421         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
15422         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
15423
15424         (_REG_RE_NAME, _REG_RM_NAME): New macros.
15425         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
15426         changed.  But support the old name if the new one is not defined
15427         and if _REGEX_SOURCE.
15428
15429         Change the following member names in struct re_pattern_buffer.
15430         The old names are still supported if !_REGEX_SOURCE.
15431         The new names are always supported, regardless of _REGEX_SOURCE.
15432         (re_buffer): Renamed from buffer.
15433         (re_allocated): Renamed from allocated.
15434         (re_used): Renamed from used.
15435         (re_syntax): Renamed from syntax.
15436         (re_fastmap): Renamed from fastmap.
15437         (re_translate): Renamed from translate.
15438         (re_can_be_null): Renamed from can_be_null.
15439         (re_regs_allocated): Renamed from regs_allocated.
15440         (re_fastmap_accurate): Renamed from fastmap_accurate.
15441         (re_no_sub): Renamed from no_sub.
15442         (re_not_bol): Renamed from not_bol.
15443         (re_not_eol): Renamed from not_eol.
15444         (re_newline_anchor): Renamed from newline_anchor.
15445
15446         Change the following member names in struct re_registers.
15447         The old names are still supported if !_REGEX_SOURCE.
15448         The new names are always supported, regardless of _REGEX_SOURCE.
15449         (rm_num_regs): Renamed from num_regs.
15450         (rm_start): Renamed from start.
15451         (rm_end): Renamed from end.
15452
15453         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
15454         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
15455         Prepend __ to parameter names.
15456
15457         Undo yesterday's changes.
15458
15459 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15460
15461         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
15462         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
15463         lib/regex.c.
15464
15465 2005-08-24  Jim Meyering  <jim@meyering.net>
15466
15467         Sync from coreutils.
15468         * m4/fcntl-safer.m4: New file.
15469
15470         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
15471         and object files for this module.
15472
15473 2005-08-24  Jim Meyering  <jim@meyering.net>
15474
15475         Sync from coreutils.
15476         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
15477
15478 2005-08-24  Jim Meyering  <jim@meyering.net>
15479
15480         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
15481         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
15482
15483 2005-08-24  Jim Meyering  <jim@meyering.net>
15484
15485         * modules/fcntl-safer: New module.
15486         * modules/fts (Depends-on): Add fcntl-safer.
15487         * MODULES.html.sh (File descriptor based Input/Output):
15488         Add fcntl-safer.
15489
15490 2005-08-24  Bruno Haible  <bruno@clisp.org>
15491
15492         Support for unit test modules.
15493         * modules/README: Mention tests modules.
15494         * modules/TEMPLATE-TESTS: New file.
15495         * gnulib-tool: New options --extract-tests-module, --with-tests and
15496         --tests-base (unused for the moment).
15497         (testsbase, inctests): New variables.
15498         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
15499         (func_verify_module): Exclude TEMPLATE-TESTS.
15500         (func_verify_nontests_module, func_verify_tests_module): New functions.
15501         (func_get_dependencies): Add implicit dependency for tests modules.
15502         (func_get_tests_module): New function.
15503         (func_modules_transitive_closure): When --with-tests was specified,
15504         include the unit tests as well, unless explicitly avoided.
15505         (func_emit_lib_Makefile_am): Ignore the tests modules here.
15506         (func_emit_tests_Makefile_am): New function.
15507         (func_create_testdir): When --with-tests was specified, emit a
15508         tests/ directory.
15509         * MODULES.html.sh (Future developments): Update.
15510
15511 2005-08-24  Bruno Haible  <bruno@clisp.org>
15512
15513         * modules/tls-tests: New file.
15514         * tests/test-tls.c: New file, from GNU gettext.
15515
15516 2005-08-24  Bruno Haible  <bruno@clisp.org>
15517
15518         * modules/lock-tests: New file.
15519         * tests/test-lock.c: New file, from GNU gettext.
15520
15521 2005-08-24  Bruno Haible  <bruno@clisp.org>
15522
15523         * lib/lock.h: Add multiple inclusion guard.
15524         * lib/tls.h: Add multiple inclusion guard.
15525
15526 2005-08-24  Bruno Haible  <bruno@clisp.org>
15527
15528         * gnulib-tool: Add support for the --aux-dir option to
15529         --create-testdir, --create-megatestdir, --test, --megatest.
15530         (func_create_testdir, func_create_megatestdir): Optionally emit a
15531         AC_CONFIG_AUX_DIR directive.
15532         (create-testdir, create-megatestdir, test, megatest): Provide a
15533         default value for $auxdir.
15534
15535 2005-08-24  Bruno Haible  <bruno@clisp.org>
15536
15537         * gnulib-tool (import): Use compound statement instead of subshell
15538         where possible.
15539
15540 2005-08-24  Bruno Haible  <bruno@clisp.org>
15541
15542         * gnulib-tool (import): Change --aux-dir default to "build-aux".
15543
15544 2005-08-24  Bruno Haible  <bruno@clisp.org>
15545
15546         * gnulib-tool (func_version): Update.
15547
15548 2005-08-24  Bruno Haible  <bruno@clisp.org>
15549
15550         * gnulib-tool (func_import, func_create_testdir,
15551         func_create_megatestdir): Quote all autoconf macro arguments.
15552
15553 2005-08-24  Bruno Haible  <bruno@clisp.org>
15554
15555         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
15556         option --force, because --force causes the aclocal.m4 of each
15557         subdirectory to be newer than the corresponding config.h.in.
15558
15559 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15560
15561         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
15562         All contents moved to gl_REGEX.
15563         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
15564         assume that it does.
15565
15566 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15567
15568         * lib/regex.h (REG_NOSYS)
15569         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
15570         Define, since POSIX requires it as of 2001.
15571         (_REG_ENOSYS)
15572         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
15573         New private symbol, used to keep the enum signed in all cases.
15574         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
15575         Youngman in
15576         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
15577
15578         * lib/regex_internal.c (re_string_skip_chars, register_state):
15579         (calc_state_hash):
15580         Remove forward decls; no longer needed now that we use prototypes.
15581         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
15582         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
15583         (clean_state_log_if_needed): Likewise.
15584
15585 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15586
15587         * config/srclist.txt: Add glibc bugs 1231-1233.
15588
15589 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
15590
15591         Fix problems reported by Sam Steingold in
15592         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
15593         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
15594         assumed that reg_errcode_t is a signed type, which is not
15595         necessarily true if _XOPEN_SOURCE is not defined.
15596         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
15597         since some compilers warn about it otherwise.
15598
15599 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
15600
15601         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
15602         (init_word_char, create_initial_state, duplicate_node_closure):
15603         (fetch_token, peek_token_bracket, build_range_exp):
15604         (build_collating_symbol): Remove forward decls; no longer needed
15605         now that we use prototypes.
15606
15607         * lib/regcomp.c:
15608         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
15609         (re_compile_fastmap_iter, regcomp, regerror, regfree):
15610         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
15611         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
15612         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
15613         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
15614         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
15615         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
15616         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
15617         (build_range_exp, build_collating_symbol, parse_bracket_exp):
15618         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
15619         (build_charclass, build_charclass_op, fetch_number, create_tree):
15620         (create_token_tree, mark_opt_subexp, duplicate_tree):
15621         Use prototypes rather than old-style definitions.
15622
15623         * lib/regex_internal.c:
15624         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
15625         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
15626         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
15627         (re_string_reconstruct, re_string_peek_byte_case):
15628         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
15629         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
15630         (re_node_set_init_copy, re_node_set_add_intersect):
15631         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
15632         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
15633         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
15634         (re_acquire_state, re_acquire_state_context, register_state):
15635         (create_ci_newstate, create_cd_newstate, free_state):
15636         Likewise.
15637         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
15638         re_search_2):
15639         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
15640         (re_search_internal, prune_impossible_nodes):
15641         (acquire_init_state_context, check_matching, static):
15642         (check_halt_node_context, check_halt_state_context, proceed_next_node):
15643         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
15644         (update_regs, sift_states_backward, build_sifted_states):
15645         (clean_state_log_if_needed, merge_state_array):
15646         (update_cur_sifted_state, add_epsilon_src_nodes):
15647         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
15648         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
15649         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
15650         (find_recover_state, check_subexp_matching_top, transit_state_mb):
15651         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
15652         (check_arrival, check_arrival_add_next_nodes):
15653         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
15654         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
15655         (check_node_accept_bytes, check_node_accept, extend_buffers):
15656         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
15657         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
15658         (sift_ctx_init):
15659         Likewise.
15660
15661         * lib/regex_internal.h:
15662         (re_string_allocate, re_string_construct, re_string_reconstruct):
15663         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
15664         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
15665         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
15666         (re_string_context_at, re_string_peek_byte_case):
15667         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
15668         is defined, since we now use prototypes always.
15669
15670         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
15671         C89 or better.  All uses removed.
15672
15673 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
15674
15675         * config/srclist.txt: Add glibc bugs 1220-1227.
15676
15677 2005-08-20  Jim Meyering  <jim@meyering.net>
15678
15679         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
15680         of unused local, dfa.
15681
15682 2005-08-20  Bruno Haible  <bruno@clisp.org>
15683
15684         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
15685
15686 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15687
15688         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
15689         (re_node_set_insert_last, re_dfa_add_node):
15690         Rename local variables to avoid GCC shadowing warnings.
15691
15692 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15693
15694         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
15695         [defined lint]: Suppress bogus uninitialized-variable warnings.
15696
15697         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
15698         and let the caller return REG_ESPACE if out of space.  This
15699         removes an uninitialied-variable warning with GCC 4.0.1, and also
15700         avoids taking the address of a local variable.  All callers
15701         changed.
15702
15703 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15704
15705         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
15706         $LIBCSRC/posix/regexec.c.
15707         Add glibc bug 1217 for regcomp.c.
15708
15709 2005-08-19  Jim Meyering  <jim@meyering.net>
15710
15711         * lib/regexec.c (proceed_next_node): Redo local variables to
15712         avoid GCC shadowing warnings.
15713
15714 2005-08-18  Bruno Haible  <bruno@clisp.org>
15715
15716         * lib/strstr.c (strstr): Fix return value in multibyte case.
15717         * lib/strcasestr.c (strcasestr): Likewise.
15718
15719 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15720
15721         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
15722
15723 2005-08-17  Jim Meyering  <jim@meyering.net>
15724
15725         Make the %s format (seconds since the epoch) work for a negative
15726         number and when used with a zero-padded field width, e.g. %015s.
15727
15728         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
15729         label so that it precedes the code to set `digits'.  Otherwise,
15730         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
15731         print `00-22'.  Now, it prints `-0022', as it should.
15732
15733 2005-08-17  Bruno Haible  <bruno@clisp.org>
15734
15735         * modules/strstr (Files): Add m4/mbrtowc.m4.
15736         (Depends-on): Add mbuiter.
15737
15738 2005-08-17  Bruno Haible  <bruno@clisp.org>
15739
15740         * modules/strcasestr: New file.
15741         * MODULES.html.sh (String handling, based on ANSI C 89): Add
15742         strcasestr.
15743
15744 2005-08-17  Bruno Haible  <bruno@clisp.org>
15745
15746         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
15747
15748 2005-08-17  Bruno Haible  <bruno@clisp.org>
15749
15750         * modules/mbuiter: New file.
15751         * MODULES.html.sh (Extended multibyte and wide character utilities):
15752         Add mbuiter.
15753
15754 2005-08-17  Bruno Haible  <bruno@clisp.org>
15755
15756         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
15757         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
15758
15759 2005-08-17  Bruno Haible  <bruno@clisp.org>
15760
15761         * m4/strcasestr.m4: New file.
15762
15763 2005-08-17  Bruno Haible  <bruno@clisp.org>
15764
15765         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
15766         * lib/strstr.c: Completely rewritten, with multibyte locale support.
15767
15768 2005-08-17  Bruno Haible  <bruno@clisp.org>
15769
15770         * lib/strcasestr.h: New file.
15771         * lib/strcasestr.c: New file.
15772
15773 2005-08-17  Bruno Haible  <bruno@clisp.org>
15774
15775         * lib/strcasecmp.c: Use mbuiter.h.
15776
15777 2005-08-17  Bruno Haible  <bruno@clisp.org>
15778
15779         * lib/mbuiter.h: New file.
15780
15781 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
15782
15783         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
15784         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
15785         and gl_GETOPT are both invoked via different paths (as happens
15786         with GNU tar CVS because it uses both argp and getopt), the former
15787         wins.
15788
15789 2005-08-16  Bruno Haible  <bruno@clisp.org>
15790
15791         * modules/tls: New file.
15792         * MODULES.html.sh (Multithreading): Add tls.
15793
15794 2005-08-16  Bruno Haible  <bruno@clisp.org>
15795
15796         * modules/strnlen1: New file.
15797         * MODULES.html.sh (String handling): Add strnlen1.
15798
15799 2005-08-16  Bruno Haible  <bruno@clisp.org>
15800
15801         * modules/strcase (Files): Add m4/mbrtowc.m4.
15802         (Depends-on): Add strnlen1, mbchar.
15803
15804 2005-08-16  Bruno Haible  <bruno@clisp.org>
15805
15806         * modules/mbiter: New file.
15807         * MODULES.html.sh (Extended multibyte and wide character utilities):
15808         Add mbiter.
15809
15810 2005-08-16  Bruno Haible  <bruno@clisp.org>
15811
15812         * modules/mbfile: New file.
15813         * MODULES.html.sh (Extended multibyte and wide character utilities):
15814         Add mbfile.
15815
15816 2005-08-16  Bruno Haible  <bruno@clisp.org>
15817
15818         * modules/mbchar: New file.
15819         * MODULES.html.sh (Extended multibyte and wide character utilities):
15820         New section.
15821
15822 2005-08-16  Bruno Haible  <bruno@clisp.org>
15823
15824         * m4/tls.m4: New file, from GNU gettext.
15825
15826 2005-08-16  Bruno Haible  <bruno@clisp.org>
15827
15828         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
15829         always.
15830         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
15831
15832 2005-08-16  Bruno Haible  <bruno@clisp.org>
15833
15834         * m4/mbiter.m4: New file.
15835
15836 2005-08-16  Bruno Haible  <bruno@clisp.org>
15837
15838         * m4/mbfile.m4: New file.
15839
15840 2005-08-16  Bruno Haible  <bruno@clisp.org>
15841
15842         * m4/mbchar.m4: New file.
15843
15844 2005-08-16  Bruno Haible  <bruno@clisp.org>
15845
15846         * lib/tls.h: New file, from GNU gettext.
15847         * lib/tls.c: New file, from GNU gettext.
15848
15849 2005-08-16  Bruno Haible  <bruno@clisp.org>
15850
15851         * lib/strnlen1.h: New file.
15852         * lib/strnlen1.c: New file.
15853
15854 2005-08-16  Bruno Haible  <bruno@clisp.org>
15855
15856         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
15857         (mbi_init): Update.
15858         (mbi_avail, mbi_advance): Let the iteration end before the terminating
15859         NUL byte, not after it.
15860
15861 2005-08-16  Bruno Haible  <bruno@clisp.org>
15862
15863         * lib/strcase.h (strcasecmp): Add note in comments.
15864         * lib/strncasecmp.c: Use code from strcasecmp.c.
15865         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
15866         (strcasecmp): Work correctly in multibyte locales.
15867
15868 2005-08-16  Bruno Haible  <bruno@clisp.org>
15869
15870         * lib/mbiter.h: New file.
15871
15872 2005-08-16  Bruno Haible  <bruno@clisp.org>
15873
15874         * lib/mbfile.h: New file.
15875
15876 2005-08-16  Bruno Haible  <bruno@clisp.org>
15877
15878         * lib/mbchar.h: New file.
15879         * lib/mbchar.c: New file.
15880
15881 2005-08-16  Bruno Haible  <bruno@clisp.org>
15882
15883         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
15884         the valid ones. Makes the comparison operations transitive:
15885         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
15886         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
15887
15888 2005-08-15  Simon Josefsson  <jas@extundo.com>
15889
15890         * modules/ssize_t (License): Change to 'unlimited'.
15891
15892         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
15893
15894 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15895
15896         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
15897         Add comments for each pending glibc patch.
15898
15899 2005-08-15  Bruno Haible  <bruno@clisp.org>
15900
15901         * lib/regex.h (__restrict_arr): Don't define to __restrict if
15902         __cplusplus is defined.
15903
15904 2005-08-14  Jim Meyering  <jim@meyering.net>
15905
15906         Sync from coreutils.
15907
15908         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
15909         Use the hash-table-based cycle-detection code not just when
15910         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
15911         Reported by James Youngman in
15912         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
15913         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
15914         FTS_TIGHT_CYCLE_CHECK.
15915         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
15916         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
15917         once again.
15918         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
15919         * lib/fts.c (fd_safer): Remove decl.
15920         Include fcntl--.h rather than unistd-safer.h
15921         (fts_safe_changedir): Don't call fd_safer; no longer needed
15922         now that we include fcntl--.h.
15923
15924 2005-08-12  Simon Josefsson  <jas@extundo.com>
15925
15926         * modules/getndelim2: Use ssize_t module.
15927         * modules/getnline: Likewise.
15928         * modules/safe-read: Likewise.
15929         * modules/xreadlink: Likewise.
15930
15931         * modules/ssize_t: New file.
15932
15933 2005-08-12  Simon Josefsson  <jas@extundo.com>
15934
15935         * m4/readline.m4: Look for termcap, curses or ncurses if required.
15936
15937 2005-08-12  Simon Josefsson  <jas@extundo.com>
15938
15939         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15940         ssize_t.
15941
15942 2005-08-12  Simon Josefsson  <jas@extundo.com>
15943
15944         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
15945         readline, getdelim and check_version.
15946         (Support for systems lacking ISO C 99: Sizes of integer types):
15947         Add size_max.
15948
15949 2005-08-12  Bruno Haible  <bruno@clisp.org>
15950
15951         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
15952
15953 2005-08-11  Simon Josefsson  <jas@extundo.com>
15954
15955         * modules/readline: New file.
15956
15957         * modules/strnlen (Files): Add strnlen.h.
15958
15959 2005-08-11  Simon Josefsson  <jas@extundo.com>
15960
15961         * m4/readline.m4: New file.
15962
15963 2005-08-11  Simon Josefsson  <jas@extundo.com>
15964
15965         * lib/readline.h, readline.c: New file.
15966
15967 2005-08-11  Simon Josefsson  <jas@extundo.com>
15968
15969         * doc/gnulib.texi (Initial import, Finishing touches): Mention
15970         gl_AVOID.
15971
15972 2005-08-11  Bruno Haible  <bruno@clisp.org>
15973
15974         * lib/strnlen.h (strnlen): Change parameter name to match comment.
15975
15976 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
15977
15978         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
15979
15980 2005-08-10  Simon Josefsson  <jas@extundo.com>
15981
15982         * tests/test-iconvme.c: New file.
15983
15984 2005-08-10  Simon Josefsson  <jas@extundo.com>
15985
15986         * m4/strnlen.m4: New file.
15987
15988         * m4/strndup.m4: Don't check for strnlen declaration, done in
15989         strnlen.m4.
15990
15991 2005-08-10  Simon Josefsson  <jas@extundo.com>
15992
15993         * lib/strndup.c: Use strnlen.h.
15994
15995         * lib/strnlen.h: New file.
15996
15997 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
15998
15999         * README: Typos.
16000
16001 2005-08-02  Simon Josefsson  <jas@extundo.com>
16002
16003         * modules/readline: New file.
16004
16005 2005-08-02  Simon Josefsson  <jas@extundo.com>
16006
16007         * modules/getdelim: New file.
16008
16009         * modules/getline: Rewrite, don't use getndelim2.
16010
16011 2005-08-02  Simon Josefsson  <jas@extundo.com>
16012
16013         * m4/getline.m4: Separate out getdelim stuff into separate module.
16014
16015         * m4/getdelim.m4: New file.
16016
16017 2005-08-02  Simon Josefsson  <jas@extundo.com>
16018
16019         * lib/getline.h, getline.c: Rewrite.
16020
16021         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
16022
16023 2005-07-31  Bruno Haible  <bruno@clisp.org>
16024
16025         * lib/lock.h (gl_lock_initializer): New macro.
16026         (gl_lock_define_initialized): Use it.
16027         (gl_rwlock_initializer): New macro.
16028         (gl_rwlock_define_initialized): Use it.
16029         (gl_recursive_lock_initializer): New macro.
16030         (gl_recursive_lock_define_initialized): Use it.
16031
16032 2005-07-30  Karl Berry  <karl@gnu.org>
16033
16034         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
16035         Report from Ben Pfaff, regarding getopt.
16036
16037 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
16038
16039         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
16040         normal way.
16041         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
16042         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
16043         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
16044         (gl_GETOPT): Use the new macros.  Most of the implementation
16045         is moved to the new macros.  This is for programs like Emacs
16046         that don't want all the functionality of gl_GETOPT.
16047
16048 2005-07-26  Bruno Haible  <bruno@clisp.org>
16049
16050         * m4/lock.m4: Update from GNU gettext.
16051
16052 2005-07-26  Bruno Haible  <bruno@clisp.org>
16053
16054         * lib/lock.h: Update from GNU gettext.
16055         * lib/lock.c: Update from GNU gettext.
16056
16057 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
16058
16059         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
16060         obsolescent AC_TRY_RUN.  Include the default includes files, for
16061         'exit'.
16062
16063 2005-07-24  Bruno Haible  <bruno@clisp.org>
16064
16065         * modules/visibility: New file.
16066         * MODULES.html.sh (Misc): Add visibility.
16067
16068 2005-07-24  Bruno Haible  <bruno@clisp.org>
16069
16070         * m4/visibility.m4: New file.
16071
16072 2005-07-24  Bruno Haible  <bruno@clisp.org>
16073
16074         * doc/visibility.texi: New file.
16075
16076 2005-07-22  Bruno Haible  <bruno@clisp.org>
16077
16078         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
16079         $(ALLOCA_H), redundant through BUILT_SOURCES.
16080         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
16081         redundant through BUILT_SOURCES.
16082         * modules/byteswap (Makefile.am): Remove explicit dependency on
16083         $(BYTESWAP_H), redundant through BUILT_SOURCES.
16084         * modules/fnmatch (Makefile.am): Remove explicit dependency on
16085         $(FNMATCH_H), redundant through BUILT_SOURCES.
16086         * modules/getopt (Makefile.am): Remove explicit dependency on
16087         $(GETOPT_H), redundant through BUILT_SOURCES.
16088         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
16089         redundant through BUILT_SOURCES.
16090         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
16091         redundant through BUILT_SOURCES.
16092         * modules/stdbool (Makefile.am): Remove explicit dependency on
16093         $(STDBOOL_H), redundant through BUILT_SOURCES.
16094         * modules/stdint (Makefile.am): Remove explicit dependency on
16095         $(STDINT_H), redundant through BUILT_SOURCES.
16096         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
16097         Remove explicit dependency on $(SYSEXITS_H).
16098         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
16099
16100 2005-07-18  Simon Josefsson  <jas@extundo.com>
16101
16102         * lib/check-version.c (check_version): Accept identical versions too.
16103
16104 2005-07-18  Bruno Haible  <bruno@clisp.org>
16105
16106         * modules/lock: New file.
16107         * MODULES.html.sh (Multithreading): New section.
16108
16109 2005-07-18  Bruno Haible  <bruno@clisp.org>
16110
16111         * m4/lock.m4: New file, from GNU gettext.
16112
16113 2005-07-18  Bruno Haible  <bruno@clisp.org>
16114
16115         * lib/lock.h: New file, from GNU gettext.
16116         * lib/lock.c: New file, from GNU gettext.
16117
16118 2005-07-18  Bruno Haible  <bruno@clisp.org>
16119
16120         * lib/lock.h (gl_once_t): New type.
16121         (gl_once_define, gl_once): New macros.
16122         * lib/lock.c (fresh_once): New variable.
16123         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
16124         functions.
16125
16126 2005-07-16  Simon Josefsson  <jas@extundo.com>
16127
16128         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
16129         workaround, suggested by Bruno.
16130
16131 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
16132
16133         * modules/xalloc (Depends-on): Add xalloc-die.
16134         * modules/xvasprintf (Depends-on): Add xalloc-die.
16135
16136 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
16137
16138         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
16139         with a minor change.
16140
16141 2005-07-15  Bruno Haible  <bruno@clisp.org>
16142
16143         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
16144         When using lib/poll.c, define poll as rpl_poll.
16145
16146 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
16147
16148         * modules/argp (Depends-on): Remove unlocked-io.
16149
16150 2005-07-14  Derek Price  <derek@ximbiot.com>
16151
16152         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
16153         for glob symlink bug.
16154
16155 2005-07-14  Bruno Haible  <bruno@clisp.org>
16156
16157         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
16158         Instead, test for *_unlocked function declarations directly.
16159
16160 2005-07-11  Simon Josefsson  <jas@extundo.com>
16161
16162         * modules/size_max: New file.
16163
16164         * modules/xsize: Depend on size_max module for size_max.m4.
16165
16166 2005-07-11  Simon Josefsson  <jas@extundo.com>
16167
16168         * lib/size_max.h: New file.
16169
16170 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
16171
16172         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
16173         copyright symbol and the year.
16174         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
16175         (version_etc_va): Use parameterized copyright notice.
16176         Reword to conform to the current GNU coding standards.
16177
16178 2005-07-11  Karl Berry  <karl@gnu.org>
16179
16180         * doc/gnulib.texi (Quoting): new node.
16181         (Initial import): more info, from Patrice.
16182
16183 2005-07-11  Bruno Haible  <bruno@clisp.org>
16184
16185         * gnulib-tool (func_usage): Document option --avoid.
16186         (Command line options): Handle --avoid.
16187         (func_acceptable): New function.
16188         (func_modules_transitive_closure): Use it.
16189
16190 2005-07-11  Bruno Haible  <bruno@clisp.org>
16191
16192         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
16193         Reported by Jim Meyering.
16194
16195 2005-07-10  Bruno Haible  <bruno@clisp.org>
16196
16197         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
16198         Needed when size_t is smaller than 'unsigned int'.
16199         Reported by Paul Eggert.
16200
16201 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
16202
16203         * modules/argp (Depends-on): Add unlocked-io
16204
16205 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
16206
16207         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
16208         block of defines.
16209
16210 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16211
16212         * config/srclist.txt: Comment out regcomp.c, since we have a porting
16213         fix now.
16214
16215 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
16216         and Paul Eggert  <eggert@cs.ucla.edu>
16217
16218         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
16219         in wint_t, not wchar_t.  Remove now-unnecessary cast.
16220
16221 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
16222
16223         * modules/regex (Files): Add lib/regex_internal.c,
16224         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
16225         (Depends-on): Add extensions.
16226         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
16227
16228 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
16229
16230         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
16231         pathconf.
16232         * m4/same.m4 (gl_SAME): Likewise.
16233         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
16234
16235         * m4/regex.m4: Adjust to new libc regex implementation.
16236         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
16237         all the .c and .h parts of (the new) regex.
16238         Quote the m4 stuff better.
16239         Check for RE_ICASE bug of old gnulib.
16240         Check for REG_STARTEND of recent libc.
16241         Rename local variables from jm_* to gl_*.
16242         Quote operand of "test -f".
16243         Say "recent enough" version of libc, not "version 2".
16244         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
16245         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
16246         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
16247         Remove check for btowc, isascii.
16248         Require AM_LANGINFO_CODESET.
16249
16250 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
16251
16252         * lib/regex.c, regex.h: Sync from libc.
16253         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
16254         * lib/regexec.c:
16255         New files, synced from libc, except that regex_internal.h
16256         currently has a small porting fix.
16257
16258 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
16259
16260         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
16261         regex_internal.c, regexec.c.
16262         Add regex_internal.h too, but as a comment, since the libc version
16263         is currently broken in gnulib mode.
16264
16265 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16266
16267         Support programs like Emacs that use gnulib but not gettext.
16268         * MODULES.html.sh (Internationalization functions): Add gettext-h.
16269         * modules/gettext-h: New file.
16270         * modules/gettext (Files): Remove lib/gettext.h.
16271         (Depends-on): Add gettext-h.
16272         (Makefile.am): Remove lib_SOURCES.
16273         * modules/argmatch, modules/c-stack, modules/closeout:
16274         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
16275         * modules/execute, modules/file-type, modules/getaddrinfo:
16276         * modules/getopt, modules/human, modules/javacomp:
16277         * modules/javaexec, modules/mkdir-p, modules/obstack:
16278         * modules/openat, modules/pagealign_alloc, modules/pipe:
16279         * modules/quotearg, modules/regex, modules/rpmatch:
16280         * modules/unicodeio, modules/userspec, modules/version-etc:
16281         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
16282         * modules/xsetenv:
16283         Depend on gettext-h, not gettext.
16284
16285 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16286
16287         * gnulib-tool (func_import): Add support for 'public domain' license.
16288         * modules/alloca, modules/atexit, modules/memmove:
16289         Now public domain, not GPL.
16290         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
16291         * modules/realloc, modules/strerror, modules/strtod:
16292         Now LGPL, not GPL.
16293
16294 2005-07-05  Bruno Haible  <bruno@clisp.org>
16295
16296         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
16297         autoconf CVS. Needed for mingw.
16298
16299 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
16300
16301         Remove the dependency of the strftime module on the tzset module.
16302         * modules/strftime (Depends-on): Remove dependency on tzset.
16303
16304 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
16305
16306         Remove the dependency of the strftime module on the tzset module.
16307         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
16308         gl_FUNC_TZSET_CLOBBER.
16309
16310 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
16311
16312         Remove the dependency of the strftime module on the tzset module.
16313         * lib/strftime.c (my_strftime)
16314         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
16315         Copy the input structure, to work around some of the bug with
16316         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
16317         Solaris releases, you should also use the tzset module, but we won't
16318         require it as a dependency any more since we don't want LGPLed code
16319         to depend on GPLed code.
16320
16321 2005-07-02  Jim Meyering  <jim@meyering.net>
16322
16323         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
16324         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
16325         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
16326         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
16327
16328 2005-07-02  Jim Meyering  <jim@meyering.net>
16329
16330         * lib/backupfile.c (backup_args): Change a `0' to NULL.
16331
16332 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
16333
16334         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
16335         declares only 'struct timespec;' (!).
16336
16337 2005-07-01  Jim Meyering  <jim@meyering.net>
16338
16339         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
16340         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
16341         * lib/save-cwd.c, tempname.c:
16342         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
16343         and don't include <sys/file.h>).
16344
16345 2005-06-29  Jim Meyering  <jim@meyering.net>
16346
16347         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
16348         type name.  Use the variable name instead.
16349         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
16350         Likewise.
16351
16352 2005-06-28  Simon Josefsson  <jas@extundo.com>
16353
16354         * modules/check-version (Files): Add check-version.m4.
16355
16356 2005-06-28  Simon Josefsson  <jas@extundo.com>
16357
16358         * m4/check-version.m4: New file, suggested by Jim Meyering
16359         <jim@meyering.net>.
16360
16361 2005-06-28  Simon Josefsson  <jas@extundo.com>
16362
16363         * lib/check-version.h, lib/check-version.c: New files.
16364
16365 2005-06-28  Simon Josefsson  <jas@extundo.com>
16366
16367         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
16368         collision with global variable.  Better indentation.  Don't
16369         increment buffer pointer beyond buffer end.  Based on comments
16370         from Paul Eggert <eggert@cs.ucla.edu>.
16371
16372         * lib/base64.h: Indent.
16373
16374 2005-06-28  Simon Josefsson  <jas@extundo.com>
16375
16376         * doc/gnulib.texi (Library version handling): New section.
16377
16378 2005-06-28  Jim Meyering  <jim@meyering.net>
16379
16380         * check-module (find_included_lib_files): Hard-code another
16381         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
16382         but modules/fts-lgpl (correctly) does not list those files.
16383
16384         * modules/canonicalize (Files): Add lib/pathmax.h.
16385
16386 2005-06-25  Simon Josefsson  <jas@extundo.com>
16387
16388         * modules/check-version: New file.
16389
16390 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
16391
16392         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
16393         initializer of struct addrinfo, as an indication that we don't
16394         care how many members the structure has.
16395
16396 2005-06-24  Derek Price  <derek@ximbiot.com>
16397         and Bruno Haible  <bruno@clisp.org>
16398
16399         Remove stat module & update lstat.
16400         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
16401         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16402         * m4/stat.m4: Remove this file.
16403
16404 2005-06-24  Derek Price  <derek@ximbiot.com>
16405         and Bruno Haible  <bruno@clisp.org>
16406
16407         Remove stat module & update lstat.
16408         * lib/stat.c: Remove this file...
16409         (slash_aware_lstat): ...moving this content and its support...
16410         * lib/lstat.c (rpl_lstat): ...into here.
16411         * lib/lstat.h: New file.
16412
16413 2005-06-24  Derek Price  <derek@ximbiot.com>
16414         and Bruno Haible  <bruno@clisp.org>
16415
16416         Remove stat module & update lstat.
16417         * config/srclist.txt (libc sources): Remove stat.
16418
16419 2005-06-24  Derek Price  <derek@ximbiot.com>
16420         and Bruno Haible  <bruno@clisp.org>
16421
16422         Remove stat module & update lstat.
16423         * MODULES.html.sh (stat): Remove.
16424         * MODULES.html: Regenerated.
16425         * modules/lstat (Description): Correct function name.
16426         (Files): Add "lstat.h".
16427         (Depends-on): Remove stat, add xalloc, stat-macros.
16428         * modules/stat: Remove this file.
16429         (Include): Add "lstat.h", remove <sys/stat.h>.
16430
16431 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
16432
16433         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
16434         (ranged_convert): Don't save conversion in a temporary struct.
16435         This causes a warning with GCC 4.0.0, and anyway in the typical
16436         case it's not worth the extra 100 bytes or so of code.
16437         (ranged_convert, __mktime_internal): When calling a function via a
16438         pointer P, use P () rather than (*P) (), as we now assume C89 or
16439         better.
16440
16441 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16442
16443         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
16444         "who -r" failed to give output.  Problem reported by Tim Waugh.
16445
16446         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
16447         (xcalloc): Use it to avoid needless tests.
16448         Problem reported by Jim Meyering.
16449
16450 2005-06-20  Derek Price  <derek@ximbiot.com>
16451
16452         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
16453         unnecessary for Autoconfs > 2.59c.
16454
16455 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16456
16457         * lib/argp.h (__option_is_short): Check upper limit of
16458         __key. Isprint() requires its argument to have the value
16459         of an unsigned char or EOF.
16460
16461 2005-06-16  Jim Meyering  <jim@meyering.net>
16462
16463         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
16464         when either N or S is zero.
16465
16466 2005-06-16  Derek Price  <derek@ximbiot.com>
16467
16468         * m4/bison.m4: Declare YACC & YFLAGS precious.
16469
16470 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
16471
16472         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
16473         multibyte string or pattern, fall back on unibyte matching.
16474         Problem reported by James Youngman.
16475
16476 2005-06-08  Bruno Haible  <bruno@clisp.org>
16477
16478         * modules/csharpcomp: New file.
16479         * MODULES.html.sh (C#): Add csharpcomp.
16480
16481 2005-06-08  Bruno Haible  <bruno@clisp.org>
16482
16483         * m4/csharpcomp.m4: New file, from GNU gettext.
16484
16485 2005-06-08  Bruno Haible  <bruno@clisp.org>
16486
16487         * lib/csharpcomp.h: New file, from GNU gettext.
16488         * lib/csharpcomp.c: New file, from GNU gettext.
16489         * lib/csharpcomp.sh.in: New file, from GNU gettext.
16490
16491 2005-06-08  Bruno Haible  <bruno@clisp.org>
16492
16493         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
16494         warning on mingw.
16495
16496 2005-06-07  Derek Price  <derek@ximbiot.com>
16497
16498         Sync from CVS.
16499         * lib/glob_.h: Indent nested #ifdef.
16500
16501 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16502
16503         Sync from coreutils.
16504         Use "file name" when talking about file names, instead of "filename"
16505         or "path", as per the GNU coding standards.
16506         * lib/mkdir-p.c: Renamed from makepath.c.
16507         (make_dir_parents): Renamed from make_path.  All callers changed.
16508         * lib/mkdir-p.h: Likewise.  All includers changed.
16509         * lib/filenamecat.c: Renamed from path-concat.c.
16510         (file_name_concat): Renamed from path_concat.  All callers changed.
16511         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
16512         * lib/filenamecat.h: Likewise.  All includers changed.
16513         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
16514         in comments or local variable names.
16515         * lib/basename.c: Likewise.
16516         * lib/canonicalize.c, canonicalize.h: Likewise.
16517         * lib/dirname.c, dirname.h: Likewise.
16518         * lib/euidaccess.c: Likewise.
16519         * lib/exclude.c: Likewise
16520         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
16521         * lib/fsusage.c, fsuage.h: Likewise.
16522         * lib/fts.c, fts_.h: Likewise.
16523         * lib/getcwd.c: Likewise.
16524         * lib/getloadavg.c: Likewise.
16525         * lib/mkstemp.c: Likewise.
16526         * lib/mountlist.c, mountlist.h: Likewise.
16527         * lib/openat.c, openat.h: Likewise.
16528         * lib/readlink-stub.c: Likewise.
16529         * lib/readutmp.c, readutmp.h: Likewise.
16530         * lib/rename.c: Likewise.
16531         * lib/rmdir.c: Likewise.
16532         * lib/same.c: Likewise.
16533         * lib/savedir.c: Likewise.
16534         * lib/stripslash.c: Likewise.
16535         * lib/tempname.c: Likewise.
16536         * lib/xreadlink.c: Likewise.
16537         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
16538         All uses changed.
16539         * lib/exclude.h: Likewise.
16540
16541         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
16542         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
16543         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
16544         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
16545         * lib/pathmax.h: Include <limits.h> unconditionally, since other
16546         files have been getting away with it for years (MORE/BSD 4.3
16547         is extinct now).
16548         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
16549         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
16550
16551         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
16552         Define to 256, not 255, as per modern POSIX.
16553
16554 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16555
16556         Sync from coreutils.
16557         Use "file name" when talking about file names, instead of "filename"
16558         or "path", as per the GNU coding standards.
16559         * MODULES.html.sh: mkdir-p renamed from makepath.
16560         filenamecat renamed from path-concat.
16561         * modules/filenamecat: Renamed from modules/path-concat.
16562         (Files): filenamecat.h and filenamecat.c renamed from
16563         path-concat.h and path-concat.c.
16564         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
16565         (Include): filenamecat.h, not path-concat.h.
16566         * modules/mkdir-p: Renamed from modules/makepath.
16567         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
16568         makepath.c.
16569         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
16570         (Include): mkdir-p.h, not makepath.h.
16571
16572 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16573
16574         Sync from coreutils.
16575         * m4/mkdir-p.m4: Renamed from makepath.m4.
16576         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
16577         Rename files from makepath.c to mkdir-p.c, and from
16578         makepath.h to mkdir-p.h.
16579         * m4/filenamecat.m4: Renamed from path-concat.m4.
16580         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
16581         Rename files from path-concat.c to filenamecat.c,
16582         and from path-concat.h to filenamecat.h.
16583         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
16584         "file name" in local variables or comments.
16585         * m4/rename.m4: Likewise.
16586
16587 2005-06-01  Bruno Haible  <bruno@clisp.org>
16588
16589         * modules/csharpexec: New file.
16590         * MODULES.html.sh (C#): New section.
16591
16592 2005-06-01  Bruno Haible  <bruno@clisp.org>
16593
16594         * m4/csharp.m4: New file, from GNU gettext.
16595         * m4/csharpexec.m4: New file, from GNU gettext.
16596
16597 2005-06-01  Bruno Haible  <bruno@clisp.org>
16598
16599         * lib/csharpexec.h: New file, from GNU gettext.
16600         * lib/csharpexec.c: New file, from GNU gettext.
16601         * lib/csharpexec.sh.in: New file, from GNU gettext.
16602
16603 2005-05-31  Derek Price  <derek@ximbiot.com>
16604             Paul Eggert  <eggert@cs.ucla.edu>
16605
16606         Sync from cvs.
16607         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
16608
16609 2005-05-31  Derek Price  <derek@ximbiot.com>
16610             Paul Eggert  <eggert@cs.ucla.edu>
16611
16612         Sync from cvs.
16613         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
16614
16615 2005-05-29  Derek Price  <derek@ximbiot.com>
16616
16617         * config/srclist.txt (glob_.h, glob.c): Add these files.
16618
16619 2005-05-29  Derek Price  <derek@ximbiot.com>
16620
16621         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
16622         * modules/glob: New file.
16623         * modules/getlogin_r: Add link to POSIX spec in description.
16624
16625 2005-05-29  Derek Price  <derek@ximbiot.com>
16626             Paul Eggert  <eggert@cs.ucla.edu>
16627
16628         * m4/glob.m4: New file.
16629
16630 2005-05-29  Derek Price  <derek@ximbiot.com>
16631             Paul Eggert  <eggert@cs.ucla.edu>
16632
16633         * lib/glob_.h, lib/glob.c: New files.
16634
16635 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
16636
16637         * modules/fts (Files): Remove m4/inttypes-pri.m4.
16638         * modules/fts-lgpl (Depends-on): Remove gettext.
16639
16640 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
16641
16642         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
16643         and don't require gt_INTTYPES_PRI.
16644
16645 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
16646
16647         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
16648
16649         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
16650         the configuration hassle isn't worth it.
16651         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
16652         (LONGEST_MODIFIER, PRIuMAX): Remove.
16653
16654 2005-05-27  Bruno Haible  <bruno@clisp.org>
16655
16656         * lib/getlogin_r.h: Remove second include of <stddef.h>.
16657
16658 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
16659
16660         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
16661         _POSIX_PTHREAD_SEMANTICS for Solaris.
16662
16663 2005-05-25  Derek Price  <derek@ximbiot.com>
16664
16665         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
16666
16667 2005-05-25  Derek Price  <derek@ximbiot.com>
16668             Paul Eggert  <eggert@cs.ucla.edu>
16669
16670         * modules/getlogin_r, m4/getlogin_r.m4: New files.
16671         * lib/getlogin_r.c, getlogin_r.h: New files.
16672
16673 2005-05-25  Bruno Haible  <bruno@clisp.org>
16674             Derek Price  <derek@ximbiot.com>
16675
16676         * lib/getlogin_r.h: Simplify API documentation.
16677
16678 2005-05-23  Derek Price  <derek@ximbiot.com>
16679
16680         * modules/minmax (Files): Add m4/minmax.m4.
16681         (configure.ac): Add gl_MINMAX.
16682
16683 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
16684
16685         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
16686         so that unistd-safer.h (GPL'ed code) need not be included.
16687
16688 2005-05-22  Bruno Haible  <bruno@clisp.org>
16689
16690         * m4/minmax.m4: New file.
16691         Based on a patch by Derek Price <derek@ximbiot.com>.
16692
16693 2005-05-22  Bruno Haible  <bruno@clisp.org>
16694
16695         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
16696         (INT64_MIN): Fix definition.
16697         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
16698
16699         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
16700         NEED_SIGNED_INT_TYPES.
16701
16702         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
16703         HAVE_SYSTEM_INTTYPES.
16704
16705 2005-05-22  Bruno Haible  <bruno@clisp.org>
16706
16707         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
16708         Also include <sys/param.h> if it defines MIN, MAX.
16709         Based on a patch by Derek Price <derek@ximbiot.com>.
16710
16711 2005-05-21  Jim Meyering  <jim@meyering.net>
16712
16713         * modules/fts (Files): Add m4/inttypes-pri.m4.
16714         (Depends-on): Add lstat and remove gettext.  Alphabetize.
16715
16716 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16717
16718         New fts module.
16719         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
16720         (setup_dir, free_dir): New functions.
16721         (enter_dir, leave_dir): Define trivial
16722         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
16723         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
16724         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
16725         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
16726         Move to fts-cycle.c.
16727         (fts_open): Use setup_dir.
16728         (fts_close): Use free_dir.
16729         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
16730         This adds a label and some gotos, but the alternatives were messier.
16731         Check for memory allocation failure when entering a dir.
16732         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
16733         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
16734         (FTS): New member fts_cycle, that is a union that contains the
16735         old active_dir_ht and cycle_state.  All uses changed to mention
16736         fts_cycle.ht and fts_cycle.state.
16737         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
16738         fts.c, with the following changes:
16739         (setup_dir, free_dir): New functions.
16740         (enter_dir): Now returns bool.  Return true if successful, false
16741         if memory exhausted.  All callers changed.
16742         Do not bother partly cleaning up on
16743         memory allocation failure; that is free_dir's job.
16744         However, free ad if hash_insert fails, to avoid memory leak.
16745         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
16746         fts->fts_options to see which union member to use.
16747
16748 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16749
16750         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
16751         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
16752
16753 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16754
16755         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
16756
16757 2005-05-20  Jim Meyering  <jim@meyering.net>
16758
16759         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
16760         Now a macro, to pacify GCC.
16761
16762 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
16763
16764         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
16765         of -1.
16766
16767 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
16768
16769         * lib/chown.c (rpl_chown): Return -1 on failure.
16770
16771 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
16772
16773         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
16774         Don't check for stddef.h.
16775         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
16776         don't use its results.
16777         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
16778         since we include them unconditionally.  Don't require
16779         AM_STDBOOL_H, since stdbool is a prerequisite.
16780         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
16781         since we assume C89 or better.
16782         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
16783         as we don't use their results.
16784         Don't check for fchdir, memmove, memset, strrchr, as we use
16785         them unconditionally.
16786         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
16787         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
16788
16789 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
16790
16791         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
16792         Include <stddef.h> unconditionally, since we assume C89 now.
16793         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
16794         * lib/fts.c: Include fts_.h first, to check interface.
16795         Do not include intprops.h; no longer needed.
16796         Include cycle-check.h and hash.h, since fts_.h no longer does.
16797         Remove unnecessary casts of closedir to void.
16798         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
16799         decide whether to decrement nlinks.
16800         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
16801         (FTS): Use struct hash_table * instead of Hash_table, so that
16802         we no longer need to include hash.h here.
16803
16804 2005-05-18  Jim Meyering  <jim@meyering.net>
16805
16806         * modules/dirfd (License): Change to LGPL.  Most of the code
16807         is already in the public domain.
16808
16809 2005-05-18  Jim Meyering  <jim@meyering.net>
16810
16811         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
16812         Reported by Yoann Vandoorselaere.
16813
16814 2005-05-17  Jim Meyering  <jim@meyering.net>
16815
16816         * m4/fts.m4: New file, from coreutils.
16817
16818 2005-05-17  Jim Meyering  <jim@meyering.net>
16819
16820         * lib/fts.c, lib/fts_.h: New files, from coreutils.
16821
16822 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
16823
16824         Sync from coreutils.
16825         * m4/unlinkdir.m4: New file.
16826
16827 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
16828
16829         Sync from coreutils.
16830         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
16831         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
16832         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
16833         White space changes only.
16834         * lib/makepath.c (make_path): Port to hosts where leading "//" is
16835         special.
16836         * lib/yesno.c: Include getline.h, not ctype.h.
16837         (yesno): Don't remove leading white space; POSIX doesn't allow it.
16838         Use getline to remove arbitrary restriction on response length.
16839
16840 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
16841
16842         * config/srclist-update: Spell out "Street" in FSF postal
16843         mail address; this is the style the FSF seems to prefer.
16844
16845         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
16846         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
16847         this updates FSF postal mail address.
16848
16849         Sync from coreutils.
16850         * modules/unlinkdir: New file.
16851         * modules/yesno (Depends-on): Add getline.
16852         * MODULES.html.sh (File system functions): Add unlinkdir.
16853
16854 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16855
16856         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
16857         lib/strsep.h:
16858         Change the initial comment to refer to GPL, not LGPL.
16859         gnulib-tool will change it to LGPL as needed.
16860
16861         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
16862         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
16863         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
16864         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
16865         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
16866         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
16867         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
16868         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
16869         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
16870         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
16871         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
16872         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
16873         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
16874         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
16875         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
16876         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
16877         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
16878         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
16879         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
16880         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
16881         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
16882         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
16883         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
16884         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
16885         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
16886         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
16887         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
16888         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
16889         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
16890         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
16891         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
16892         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
16893         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
16894         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
16895         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
16896         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
16897         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
16898         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
16899         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
16900         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
16901         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
16902         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
16903         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
16904         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
16905         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
16906         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
16907         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
16908         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
16909         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
16910         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
16911         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
16912         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
16913         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
16914         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
16915         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
16916         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
16917         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
16918         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
16919         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
16920         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
16921         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
16922         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
16923         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
16924         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
16925         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
16926         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
16927         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
16928         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
16929         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
16930         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
16931         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
16932         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
16933         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
16934         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
16935         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
16936         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
16937         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
16938         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
16939         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
16940         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
16941         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
16942         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
16943         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
16944         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
16945         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
16946         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
16947         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
16948         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
16949         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
16950         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
16951         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
16952         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
16953         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
16954         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
16955         lib/yesno.c, lib/yesno.h:
16956         Update FSF postal mail address.
16957
16958 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16959
16960         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
16961         tests/test-memmem.c, tests/test-stpncpy.c:
16962         Update FSF postal mail address.
16963
16964 2005-05-13  Bruno Haible  <bruno@clisp.org>
16965
16966         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
16967         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
16968         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
16969         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
16970         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
16971         Add support for 64-bit integers in the MSVC compiler.
16972
16973 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16974
16975         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
16976
16977 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
16978
16979         * gnulib-tool (func_import): Sort and uniquify recommended includes.
16980
16981 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
16982
16983         * doc/getdate.texi (General date syntax): Don't say that date
16984         date --iso-8601=ns generates acceptable dates; it doesn't yet.
16985         Problem reported by Nic Ferrier.
16986
16987 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16988
16989         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
16990         specified in ai_socktype. Fix invalid ai_protocol
16991         check. ai_protocol is usually set to 0 or depending on
16992         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
16993         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
16994         ai_socktype / ai_protocol in the returned addrinfo structure.
16995
16996 2005-05-10  Simon Josefsson  <jas@extundo.com>
16997
16998         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
16999         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17000
17001 2005-05-10  Karl Berry  <karl@gnu.org>
17002
17003         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
17004         (from http://www.gnu.org/licenses).
17005         * doc/COPYING.LIB: also rename to COPYING.LESSER.
17006         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
17007         fdl.texi suffices.
17008
17009 2005-05-10  Karl Berry  <karl@gnu.org>
17010
17011         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
17012         (COPYING.DOC): remove.
17013
17014         * config/srclist-update: new FSF address.
17015
17016 2005-05-10  Derek Price  <derek@ximbiot.com>
17017
17018         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
17019         possible.
17020
17021 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17022             Bruno Haible  <bruno@clisp.org>
17023
17024         * modules/inet_ntop: New file.
17025         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17026         inet_ntop.
17027
17028 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17029             Bruno Haible  <bruno@clisp.org>
17030
17031         * m4/inet_ntop.m4: New file.
17032
17033 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17034             Bruno Haible  <bruno@clisp.org>
17035
17036         * lib/inet_ntop.h: New file.
17037         * lib/inet_ntop.c: New file, from glibc with modifications.
17038
17039 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
17040
17041         * modules/time_r (License): Change to LGPL.
17042         * modules/extensions (License): Change to LGPL.  Actually,
17043         the license is more permissive than that, but currently gnulib-tool
17044         doesn't know how to handle more-permissive licenses.
17045
17046         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
17047         Problem reported by Dave Love.
17048
17049 2005-05-08  Jim Meyering  <jim@meyering.net>
17050
17051         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
17052         blank.
17053
17054 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
17055
17056         * modules/argmatch (Depends-on): Add stdbool.
17057         * modules/backupfile (Depends-on): Likewise.
17058         * modules/chdir-long (Depends-on): Likewise.
17059         * modules/closeout (Depends-on): Likewise.
17060         * modules/cycle-check (Depends-on): Likewise.
17061         * modules/dirname (Depends-on): Likewise.
17062         * modules/fnmatch (Depends-on): Likewise.
17063         * modules/fsusage (Depends-on): Likewise.
17064         * modules/fwriteerror (Depends-on): Likewise.
17065         * modules/getcwd (Depends-on): Likewise.
17066         * modules/getloadavg (Depends-on): Likewise.
17067         * modules/hard-locale (Depends-on): Likewise.
17068         * modules/makepath (Depends-on): Likewise.
17069         * modules/mountlist (Depends-on): Likewise.
17070         * modules/nanosleep (Depends-on): Likewise.
17071         * modules/posixtm (Depends-on): Likewise.
17072         * modules/quotearg (Depends-on): Likewise.
17073         * modules/readtokens (Depends-on): Likewise.
17074         * modules/readtokens0 (Depends-on): Likewise.
17075         * modules/readutmp (Depends-on): Likewise.
17076         * modules/save-cwd (Depends-on): Likewise.
17077         * modules/strftime (Depends-on): Likewise.
17078         * modules/userspec (Depends-on): Likewise.
17079         * modules/utimecmp (Depends-on): Likewise.
17080         * modules/xgetcwd (Depends-on): Likewise.
17081         * modules/xnanosleep (Depends-on): Likewise.
17082         * modules/xstrtod (Depends-on): Likewise.
17083         * modules/yesno (Depends-on): Likewise.
17084
17085 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17086
17087         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
17088         needless checks.
17089
17090 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
17091
17092         Merge from coreutils.  Among other things,
17093         add bulletproofing for cases where stdin, stdout, or stderr are closed.
17094         * lib/fd-safer.c: New file.
17095         * lib/fcntl-safer.h, open-safer.c: Remove.
17096         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
17097         * lib/dup-safer.c: Include unistd-safer.h first.
17098         Don't include errno.h.
17099         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
17100         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
17101         * lib/file-type.c: Rely on file-type.h change.
17102         * lib/getloadavg.c: Include unistd-safer.h.
17103         (getloadavg): Use safer open.
17104         * lib/getusershell.c: Include "stdio-safer.h".
17105         (getusershell): Use safer fopen.
17106         * lib/long-options.c (long_options): Use NULL rather than 0.
17107         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
17108         'free'.
17109         * lib/modechange.c: Likewise.
17110         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
17111         (MODE_DONE): New constant.
17112         (struct mode_change): Remove 'next' member.
17113         (make_node_op_equals): New function; like the old one of the
17114         same name, except it allocates an array.
17115         (mode_compile, mode_create_from_ref): Use it.
17116         (mode_compile): Allocate result as an array, not a linked list.
17117         Parse octal string ourself, so that we catch mistakes like "+0".
17118         (mode_adjust): Arg is an array, not a linked list.
17119         * lib/modechange.c: Include stat-macros.h, xalloc.h.
17120         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
17121         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
17122         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
17123         Remove.  This is now stat-macros.h's job.
17124         (talloc): Remove.  All callers replaced by xalloc, so that
17125         our invokers don't have to worry about reporting memory failures.
17126         (make_node_op_equals): Remove.
17127         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
17128         New constants.
17129         (struct mode_change): Moved here from modechange.h.
17130         (mode_append_entry): Remove.
17131         (mode_compile): Remove MASKED_OPS arg, since it encouraged
17132         apps to have incorrect behavior.  Use simpler algorithm for head
17133         and tail.  Don't futz with umask; that's now the job of mode_adjust.
17134         Detect more invalid usages rather than having somewhat-random behavior.
17135         Don't insert an "a=" action, as that leads to incorrect behavior.
17136         (mode_compile, mode_create_from_ref): Return NULL on error instead
17137         of an enum, since now there's only one way to have an error.  All
17138         callers changed.
17139         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
17140         at the correct time.  Simplify calculation of "+u" and its ilk.
17141         Don't mishandle "+X".
17142         (mode_free): Remove "register" and localize decls.
17143         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
17144         (struct mode_change): Move to modechange.c; callers don't
17145         need to see this stuff.
17146         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
17147         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
17148         (mode_change, mode_adjust): Reflect the new signatures noted above.
17149         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
17150         that might redefine system include files.
17151         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
17152         (my_usleep): Use NULL rather than (void *) 0.
17153         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
17154         Use siginterrupt to specify that system calls should be interrupted.
17155         (rpl_nanosleep): Move initialization of suspended closer to call of
17156         my_usleep.
17157         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
17158         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
17159         (desirable_utmp_entry): New function.
17160         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
17161         using x2nrealloc, to simplify logic.
17162         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
17163         size calculation.  Do not assume utmp file is a regular file.
17164         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
17165         (READ_UTMP_CHECK_PIDS): New constant.
17166         * lib/save-cwd.c: Include unistd-safer.h.
17167         (save_cwd): Use fd_safer.
17168         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
17169         [!_LIBC] Include "stat-macros.h" instead.
17170         * lib/unistd-safer.h (fd_safer): New decl.
17171
17172 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
17173
17174         * modules/getloadavg (Depends-on): Add unistd-safer.
17175         * modules/getusershell (Depends-on): Add stdio-safer.
17176         * modules/lstat (Depends-on): Remove xalloc.
17177         * modules/mkstemp (Depends-on): Add stat-macros.
17178         * modules/modechange (Depends-on): Remove xstrtol.
17179         Add stat-macros, xalloc.
17180         * modules/save-cwd (Depends-on): Add unistd-safer.
17181         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
17182         * modules/unistd-safer (Files): Add lib/fd-safer.c
17183         (Makefile.am): Remove lib_SOURCES.
17184
17185         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
17186         Remove fcntl-safer; unistd-safer supersedes it.
17187
17188 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
17189
17190         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
17191         AC_HEADER_STAT.
17192         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
17193         (gl_PREREQ_CHOWN): Remove.
17194         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
17195         it.  Don't require AC_HEADER_STAT.
17196         (gl_PREREQ_LSTAT): Remove.
17197         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
17198         Don't require AC_HEADER_STAT.
17199         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
17200         (gl_PREREQ_RMDIR): Remove.
17201         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
17202         mention stat-macros.h or AC_HEADER_STAT, since we'll make
17203         the stat-macros module a prerequisite.
17204         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
17205         * m4/filemode.m4 (gl_FILEMODE): Likewise.
17206         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
17207         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
17208         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
17209         variable names.
17210         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
17211         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
17212         variable prefixes.
17213         * m4/fcntl-safer.m4: Remove.
17214         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
17215         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
17216         Invoke gl_PREREQ_FD_SAFER.
17217         (gl_PREREQ_FD_SAFER): New macro.
17218         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
17219         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
17220         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
17221         Remove duplicate call to AC_LIBOBJ(readutmp).
17222         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
17223
17224         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
17225         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
17226
17227 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
17228
17229         * MODULES.html.sh (Misc): Add byteswap.
17230
17231 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
17232
17233         * modules/getcwd (Depends-on): Add extensions.
17234         * modules/openat (Depends-on): Likewise.
17235
17236 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
17237
17238         * modules/byteswap: New file.
17239
17240 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
17241
17242         * m4/byteswap.m4: New file.
17243
17244 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
17245
17246         * lib/byteswap_.h: New file.
17247
17248 2005-04-25  Karl Berry  <karl@gnu.org>
17249
17250         * m4/gettext.m4: Update from GNU gettext 0.14.4.
17251
17252 2005-04-25  Albert Chin  <china@thewrittenword.com>
17253
17254         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
17255         Toolkit C bug.
17256
17257 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
17258
17259         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
17260         (func_ln_if_changed) Remove forcibly for no error message
17261         in case file does not exist.
17262
17263 2005-04-19  Simon Josefsson  <jas@extundo.com>
17264
17265         * gnulib-tool (Options): Make --symlink mean --symbolic.
17266
17267 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
17268
17269         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
17270
17271 2005-04-16  Simon Josefsson  <jas@extundo.com>
17272
17273         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
17274
17275 2005-04-15  Simon Josefsson  <jas@extundo.com>
17276
17277         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
17278
17279 2005-04-15  Simon Josefsson  <jas@extundo.com>
17280
17281         * gnulib-tool: Rename --symlink to --symbolic.
17282
17283 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
17284
17285         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
17286         symbolic links to files instead of copying/moving.  Add --aux-dir,
17287         specifying directory relative --dir where auxiliary build tools
17288         are placed.
17289
17290 2005-04-14  Bruno Haible  <bruno@clisp.org>
17291
17292         * modules/allocsa (License): Change to LGPL.
17293         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
17294
17295 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
17296
17297         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
17298         that "UTC +1 second" continues to work.  Problem reported
17299         by Dmitry V. Levin.
17300         (relunit_snumber): New rule.
17301         (relunit): Use it.
17302
17303 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
17304
17305         * lib/getdate.y (universal_time_zone_table): New constant.
17306         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
17307         universal_time_zone_table.
17308         (lookup_zone): Prefer universal_time_zone_table to
17309         local_time_zone_table, so that "GMT" time stamps are allowed in
17310         London during the summer.  Problem reported by Ian Abbott.
17311
17312 2005-04-12  Jim Meyering  <jim@meyering.net>
17313
17314         * lib/human.c (humblock): Set *options even when returning due to
17315         xstrtoumax conversion failure.  Thanks to a used-uninitialized
17316         warning from gcc-4.
17317
17318 2005-04-09  Jim Meyering  <jim@meyering.net>
17319
17320         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
17321         -Wuninitialized: initialize tm0.tm_year.
17322
17323 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
17324
17325         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
17326         count, since there's no maximum.  All uses changed.
17327         Add member dsts_seen.
17328         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
17329         not being INT_MAX.
17330         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
17331         Use pc_rels_seen to decide whther a date is absolute.
17332
17333         * lib/getdate.y (number): Don't overwrite year.
17334         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
17335         check.
17336
17337 2005-04-02  Simon Josefsson  <jas@extundo.com>
17338
17339         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
17340         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
17341
17342 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
17343
17344         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
17345         where no absolute path name can be longer than PATH_MAX.
17346
17347 2005-03-27  Jim Meyering  <jim@meyering.net>
17348
17349         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
17350
17351 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
17352
17353         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
17354         "one's complement" -> "ones' complement" in comment, as per Knuth.
17355         "value of type" -> "type or expression" in comment.
17356         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
17357
17358 2005-03-26  Jim Meyering  <jim@meyering.net>
17359
17360         Comment nits.
17361         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
17362         Correct typos: s/or/of/.
17363
17364 2005-03-26  Jim Meyering  <jim@meyering.net>
17365
17366         * modules/check-include-files: Move to ../ and rename to...
17367         * check-module: ...this.
17368
17369 2005-03-25  Jim Meyering  <jim@meyering.net>
17370
17371         * modules/xvasprintf (Files): Add xalloc.h.
17372
17373 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
17374
17375         * modules/gettext (Files): config/config.rpath ->
17376         build-aux/config.rpath
17377         * modules/iconv (Files): Likewise.
17378         Problem reported by Oskar Liljeblad.
17379
17380 2005-03-23  Jim Meyering  <jim@meyering.net>
17381
17382         * modules/check-include-files: New script to check for
17383         missing dependencies, multiple includes, etc.
17384
17385         * modules/c-strtold (Depends-on): Add xalloc.
17386         * modules/c-strtod (Depends-on): Add xalloc.
17387         * modules/hash (Depends-on): Add xalloc.
17388         (Files): Remove lib/xalloc.h.
17389
17390         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
17391         * modules/userspec (Files): Add lib/inttostr.h.
17392
17393 2005-03-23  Jim Meyering  <jim@meyering.net>
17394
17395         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
17396
17397 2005-03-22  Jim Meyering  <jim@meyering.net>
17398
17399         * modules/stat-macros: New module.
17400         * modules/canonicalize, modules/euidaccess, modules/file-type,
17401         * modules/filemode, modules/lchown, modules/makepath,
17402         * modules/rmdir, modules/stat: Depend on new stat-macros module
17403         rather than listing lib/stat-macros.h manually.
17404         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
17405
17406 2005-03-22  Jim Meyering  <jim@meyering.net>
17407
17408         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
17409
17410 2005-03-22  Bruno Haible  <bruno@clisp.org>
17411
17412         * config/srclist.txt: Replace target directory 'config' with
17413         'build-aux'.
17414         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
17415         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
17416         ../build-aux/.
17417
17418 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
17419
17420         * modules/chdir-long (Depends-on): Add mempcpy.
17421
17422         * modules/acl, modules/backupfile, modules/c-strtod,
17423         modules/c-strtold, modules/canon-host, modules/canonicalize,
17424         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
17425         modules/exclude, modules/exitfail, modules/file-type,
17426         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
17427         modules/getdate, modules/getline, modules/getpagesize,
17428         modules/getpass, modules/getugroups, modules/group-member,
17429         modules/hard-locale, modules/hash, modules/human, modules/idcache,
17430         modules/inttostr, modules/long-options, modules/makepath,
17431         modules/md5, modules/memcasecmp, modules/memcoll,
17432         modules/modechange, modules/mountlist, modules/path-concat,
17433         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
17434         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
17435         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
17436         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
17437         modules/strftime, modules/strndup, modules/strverscmp,
17438         modules/timespec, modules/unlocked-io, modules/userspec,
17439         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
17440         modules/yesno:
17441         Remove lib_SOURCES line from Makefile.am section, as this is now
17442         done automatically by the corresponding Autoconf macro.
17443
17444 2005-03-21  Jim Meyering  <jim@meyering.net>
17445
17446         Changes imported from coreutils.
17447
17448         * lib/cycle-check.c: Don't include xalloc.h.
17449
17450         * lib/path-concat.c: Don't include assert.h.
17451         (path_concat): Remove assertion that would have triggered
17452         for ABASE starting with more than one slash.
17453         Reported by Andreas Schwab.
17454
17455         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
17456         properly when ABASE is an absolute file name.
17457         Correct the description of this function.
17458         Include <assert.h>.
17459         Add an assertion and a test driver.
17460         This fixes a bug introduced on 2004-07-02.
17461         Andreas Schwab reported the resulting failure of cp --parents:
17462         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
17463
17464 2005-03-21  Jim Meyering  <jim@meyering.net>
17465
17466         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
17467         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
17468
17469 2005-03-21  Jim Meyering  <jim@meyering.net>
17470         and  Paul Eggert  <eggert@cs.ucla.edu>
17471
17472         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
17473         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
17474         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
17475         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
17476         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
17477         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
17478         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
17479         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
17480         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
17481         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
17482         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
17483         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
17484         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
17485         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
17486         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
17487         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
17488         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
17489         for these modules.
17490
17491 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
17492
17493         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
17494         (which shouldn't happen), generate nothing instead of returning 0
17495         immediately, so that nstrftime (NULL, ...) doesn't return 0.
17496
17497 2005-03-16  Bruno Haible  <bruno@clisp.org>
17498
17499         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
17500         HAVE_LONGLONG_64BIT.
17501
17502 2005-03-16  Bruno Haible  <bruno@clisp.org>
17503
17504         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
17505         HAVE_LONGLONG_64BIT.
17506
17507 2005-03-16  Bruno Haible  <bruno@clisp.org>
17508
17509         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
17510         HAVE_LONGLONG_64BIT.
17511
17512 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
17513
17514         * lib/strftime.c (my_strftime): Prepend space to format so that we can
17515         reliably distinguish strftime failure from empty output on POSIX
17516         hosts.
17517
17518 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
17519
17520         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
17521         (iconv_string): Don't guess a size-zero buffer, as that might cause
17522         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
17523         result would be 'too large', where 'too large' is (heuristically)
17524         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
17525         overflow concerns.  This will prevent some unwanted malloc failures
17526         when the inputs are very large.
17527
17528 2005-03-15  Karl Berry  <karl@gnu.org>
17529
17530         * config/srclist.txt (config.rpath): from gettext.
17531         * config/config.rpath: update.
17532
17533 2005-03-15  Bruno Haible  <bruno@clisp.org>
17534
17535         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
17536         to 'negate'.
17537
17538         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
17539         variable.
17540
17541         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
17542         results.
17543
17544 2005-03-14  Simon Josefsson  <jas@extundo.com>
17545
17546         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
17547         <fx@gnu.org>.
17548
17549 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
17550
17551         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
17552         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
17553         intprops.h.
17554         * lib/strtol.c: Likewise.
17555
17556 2005-03-14  Jim Meyering  <jim@meyering.net>
17557
17558         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
17559         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
17560         to be nonzero so that we (and caller) can detect the difference
17561         between a valid zero-length expansion and an error return, even
17562         when the underlying strftime fails before writing anything into
17563         that location.
17564
17565 2005-03-14  Bruno Haible  <bruno@clisp.org>
17566
17567         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
17568         Update from GNU gettext 0.14.3.
17569
17570 2005-03-10  Jim Meyering  <jim@meyering.net>
17571
17572         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
17573
17574 2005-03-10  Jim Meyering  <jim@meyering.net>
17575
17576         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
17577         so that this module works on systems without fchdir.
17578
17579 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
17580
17581         Factor int-properties macros into a single file, except for
17582         glibc-related files.
17583         * lib/intprops.h: New file.
17584         * lib/getloadavg.c: Include it instead of limits.h.
17585         (INT_STRLEN_BOUND): Remove.
17586         * lib/human.c: Include intprops.h.
17587         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
17588         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
17589         302/1000.
17590         * lib/inttostr.h: Include intprops.h instead of limits.h.
17591         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
17592         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
17593         for consistency with intprops.h.
17594         (time_t_is_integer, twos_complement_arithmetic): Use them.
17595         * lib/sig2str.h: Include <signal.h>, intprops.h.
17596         (INT_STRLEN_BOUND): Remove.
17597         * lib/strftime.c (TYPE_SIGNED): Remove.
17598         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
17599         * lib/strtol.c: Adjust comments to match intprops.h.
17600         * lib/userspec.c: Include intprops.h.
17601         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
17602         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
17603         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
17604         instead of rolling our own expressions.
17605         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
17606
17607         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
17608         instead of int.
17609         (my_strftime): Do not mishandle years close to INT_MAX, by doing
17610         the right thing even if adding 1900 would overflow.  Similarly
17611         for tm_mon + 1 and tm_yday + 1.
17612         Make %Y always equivalent to %C%y, and similarly for %G and %g.
17613         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
17614         (DO_SIGNED_NUMBER): New macro.
17615         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
17616
17617 2005-03-07  Bruno Haible  <bruno@clisp.org>
17618
17619         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
17620
17621 2005-03-07  Bruno Haible  <bruno@clisp.org>
17622
17623         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
17624
17625 2005-03-04  Derek R. Price  <derek@ximbiot.com>
17626
17627         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
17628         (func_import): Only replace files via --import when they have actually
17629         changed.
17630
17631 2005-03-03  Derek R. Price  <derek@ximbiot.com>
17632
17633         * m4/mmap-anon.m4: New file.
17634         * m4/pagealign_alloc.m4: New file.
17635
17636 2005-03-03  Derek R. Price  <derek@ximbiot.com>
17637             Bruno Haible  <bruno@clisp.org>
17638
17639         * modules/pagealign_alloc: New file.
17640         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
17641
17642 2005-03-03  Derek R. Price  <derek@ximbiot.com>
17643             Bruno Haible  <bruno@clisp.org>
17644
17645         * lib/pagealign_alloc.h: New file.
17646         * lib/pagealign_alloc.c: New file.
17647
17648 2005-03-03  Bruno Haible  <bruno@clisp.org>
17649
17650         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
17651         Use an all-permissive copyright notice, recommended by RMS.
17652
17653 2005-03-02  Bruno Haible  <bruno@clisp.org>
17654
17655         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
17656         of AIX, the replacement has to be done only after <string.h> is
17657         included, therefore not in config.h. stpncpy.h does the replacement,
17658         and stpncpy.c uses it.
17659
17660 2005-03-02  Bruno Haible  <bruno@clisp.org>
17661
17662         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
17663         stpncpy.c uses it.
17664
17665 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
17666
17667         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
17668         The workaround isn't strictly needed for POSIX conformance, and
17669         it's too much of a pain to configure and maintain.  We'll ask
17670         people to fix their kernels instead.
17671         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
17672         (NANOSLEEP_BUG_WORKAROUND): Remove.
17673         (xnanosleep): Remove the workaround.
17674
17675 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
17676
17677         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
17678         Reported by Derek Price.
17679         (Include): Add "timespec.h".
17680
17681         * modules/xnanosleep (Depends-on): Remove gethrxtime.
17682
17683 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
17684
17685         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
17686         to detect nanosleep bug.
17687
17688 2005-03-01  Bruno Haible  <bruno@clisp.org>
17689
17690         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
17691
17692 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
17693
17694         * modules/gethrxtime: New file.
17695         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
17696         (Depends-on): Add gethrxtime.
17697         (configure.ac): Add gl_XNANOSLEEP.
17698         (Makefile.am): Remove lib_SOURCES line.
17699
17700 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17701
17702         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
17703         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
17704
17705 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17706
17707         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
17708         * lib/timespec.h (gettime): Return void, since it always
17709         succeeds now.  All uses changed.
17710         * lib/gettime.c (gettime) Likewise.
17711         [HAVE_NANOTIME]: Prefer nanotime.
17712         Assume gettimeofday succeeds, as POSIX requires.
17713         Assime time () succeeds, since other code already does.
17714         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
17715         (timespec_subtract): Remove.
17716         (NANOSLEEP_BUG_WORKAROUND): New constant.
17717         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
17718         things considerably.  Use it only on GNU/Linux hosts, since the
17719         workaround shouldn't be needed elsewhere.
17720
17721 2005-02-24  Bruno Haible  <bruno@clisp.org>
17722
17723         * modules/gettext (Files): Add m4/glibc2.m4.
17724
17725 2005-02-24  Bruno Haible  <bruno@clisp.org>
17726
17727         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
17728         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
17729         * m4/progtest.m4:
17730         Update from GNU gettext 0.14.2.
17731         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
17732
17733 2005-02-24  Bruno Haible  <bruno@clisp.org>
17734
17735         * lib/localcharset.c: Update from GNU gettext 0.14.2.
17736         * lib/config.charset: Update from GNU gettext 0.14.2.
17737
17738 2005-02-24  Bruno Haible  <bruno@clisp.org>
17739
17740         * lib/gettext.h: Update from GNU gettext 0.14.2.
17741
17742 2005-02-23  Simon Josefsson  <jas@extundo.com>
17743
17744         * m4/iconvme.m4: New file.
17745
17746 2005-02-23  Jim Meyering  <jim@meyering.net>
17747
17748         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
17749         change.
17750         Thanks to Bruno Haible for catching it.
17751
17752 2005-02-22  Simon Josefsson  <jas@extundo.com>
17753
17754         * modules/iconvme: New file.
17755
17756         * MODULES.html.sh: Add iconvme.
17757
17758 2005-02-22  Simon Josefsson  <jas@extundo.com>
17759
17760         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
17761
17762 2005-02-22  Simon Josefsson  <jas@extundo.com>
17763
17764         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
17765
17766 2005-02-22  Jim Meyering  <jim@meyering.net>
17767
17768         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
17769         s/ifndef/ifdef/.
17770
17771 2005-02-20  Neil Conway  <neilc@samurai.com>
17772
17773         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
17774         returned by OSX/Darwin if the specified buffer is not large
17775         enough for the hostname.
17776
17777 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17778
17779         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
17780         pass it to _help, otherwise the latter coredumps trying to
17781         dereference state.root_argp.
17782
17783 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
17784
17785         * modules/chdir-long (Depends-on): Add memrchr.
17786         * modules/memrchr (Files): Add lib/memrchr.h.
17787         (Include): "memrchr.h".
17788
17789 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
17790
17791         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
17792
17793 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
17794
17795         * lib/memrchr.h: New file.
17796         * lib/chdir-long.c: Include it.
17797         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
17798         Don't bother including stddef.h.
17799
17800 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
17801
17802         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
17803         inclusion.
17804         Include <sys/types.h>, for dev_t.
17805         (ME_DUMMY, ME_REMOTE): Move from here....
17806         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
17807         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
17808         Dmitry V. Levin.
17809         Include mountlist.h first, to test the interface.
17810
17811 2005-01-29  Bruno Haible  <bruno@clisp.org>
17812
17813         * lib/progname.c (program_name): Initialize.
17814         Needed when linking statically on MacOS X.
17815
17816 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
17817
17818         Sync from coreutils.
17819         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
17820         (Depends-on): Add c-strtod.
17821         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
17822
17823 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
17824
17825         Sync from coreutils.
17826         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
17827
17828         Remove files that are specific to coreutils.
17829         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
17830
17831 2005-01-28  Bruno Haible  <bruno@clisp.org>
17832
17833         * modules/javacomp: New file.
17834         * MODULES.html.sh (Java): Add javacomp.
17835
17836 2005-01-28  Bruno Haible  <bruno@clisp.org>
17837
17838         * m4/javacomp.m4: New file, from GNU gettext.
17839
17840 2005-01-28  Bruno Haible  <bruno@clisp.org>
17841
17842         * lib/javacomp.sh.in: New file, from GNU gettext.
17843         * lib/javacomp.h: New file, from GNU gettext.
17844         * lib/javacomp.c: New file, from GNU gettext.
17845
17846 2005-01-26  Simon Josefsson  <jas@extundo.com>
17847
17848         * lib/gai_strerror.c: Use GPL in header.
17849
17850 2005-01-26  Bruno Haible  <bruno@clisp.org>
17851
17852         * modules/javaexec: New file.
17853         * MODULES.html.sh (Java): Add javaexec.
17854
17855 2005-01-26  Bruno Haible  <bruno@clisp.org>
17856
17857         * m4/javaexec.m4: New file, from GNU gettext.
17858
17859 2005-01-26  Bruno Haible  <bruno@clisp.org>
17860
17861         * lib/javaexec.sh.in: New file, from GNU gettext.
17862         * lib/javaexec.h: New file, from GNU gettext.
17863         * lib/javaexec.c: New file, from GNU gettext.
17864
17865 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17866
17867         * modules/lchown (Depends-on): Remove lchown.h
17868
17869 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17870
17871         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
17872         must be defined if the header file was not found, in order
17873         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
17874
17875 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17876
17877         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
17878         initializers for struct pentry_state.
17879         (__argp_error): Check return value of __asprintf
17880         (__argp_failure): Translate error message
17881
17882         * lib/argp-parse.c: Removed braces around the expansion of N_()
17883
17884 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17885
17886         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
17887         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
17888         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
17889         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
17890         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
17891         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
17892         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
17893         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
17894         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
17895         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
17896         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
17897         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
17898         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
17899         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
17900         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
17901         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
17902         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
17903         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
17904         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
17905         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
17906         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
17907         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
17908         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
17909         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
17910         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
17911         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
17912         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
17913         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
17914         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
17915         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
17916         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
17917         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
17918         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
17919         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
17920         xstrtol.m4, xstrtoumax.m4, yesno.m4:
17921         Use an all-permissive copyright notice, recommended by RMS.
17922
17923 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
17924
17925         * modules/chdir-long (Depends-on): Remove mempcpy.
17926
17927 2005-01-21  Jim Meyering  <jim@meyering.net>
17928
17929         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
17930         same value as for Solaris 9.
17931
17932         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
17933         component length.  This included changing the parameter to be
17934         of type `char *' rather than `char const *'.
17935         * lib/chdir-long.h (chdir_long): Update prototype.
17936
17937         * lib/openat.c (fdopendir, fstatat): New functions.
17938         * lib/openat.h: Include headers required for use of DIR and struct
17939         stat.
17940         [AT_SYMLINK_NOFOLLOW]: Define.
17941         (fdopendir, fstatat): Add prototypes.
17942
17943 2005-01-21  Bruno Haible  <bruno@clisp.org>
17944
17945         * modules/classpath: New file.
17946         * MODULES.html.sh (Java): Add classpath.
17947
17948 2005-01-21  Bruno Haible  <bruno@clisp.org>
17949
17950         * lib/classpath.h: New file, from GNU gettext.
17951         * lib/classpath.c: New file, from GNU gettext.
17952
17953 2005-01-20  Simon Josefsson  <jas@extundo.com>
17954
17955         * modules/version-etc-fsf: New file.
17956
17957 2005-01-20  Simon Josefsson  <jas@extundo.com>
17958
17959         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
17960         * lib/version-etc.c: Remove version_etc_copyright.
17961         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
17962         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
17963
17964 2005-01-20  Simon Josefsson  <jas@extundo.com>
17965
17966         * lib/base64.h (isbase64): Add.
17967
17968         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
17969         using a unsigned prototype, don't inline.
17970         (base64_decode): Use it.
17971
17972 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
17973
17974         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
17975         it.
17976
17977 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
17978
17979         * lib/save-cwd.c (save_cwd): Remove code to support the case
17980         where fchdir is missing or flaky.
17981
17982 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
17983
17984         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
17985
17986 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
17987
17988         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
17989         AC_LIBSOURCES now does this.
17990         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
17991         with new ullong_max module.
17992
17993 2005-01-19  Bruno Haible  <bruno@clisp.org>
17994
17995         * modules/sh-quote: New file.
17996         * MODULES.html.sh (Executing programs): Add sh-quote.
17997
17998 2005-01-19  Bruno Haible  <bruno@clisp.org>
17999
18000         * lib/sh-quote.h: New file, from GNU gettext.
18001         * lib/sh-quote.c: New file, from GNU gettext.
18002
18003 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18004
18005         Merge from coreutils.
18006         * m4/ullong_max.m4: New file.
18007         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
18008         (gl_MACROS): Assume localeconv exists.
18009
18010 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18011
18012         Merge changes from coreutils, as described below in several
18013         changelogs dated today.
18014
18015         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
18016         (O_DIRECTORY): Remove; not needed here, since "." must be
18017         a directory.  All uses removed.
18018         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
18019         universal on Suns, and we also need to test for IRIX.
18020         Revamp code to use 'if' rather than '#if'.
18021         Avoid unnecessary comparison of cwd->desc to 0.
18022
18023         * lib/utimens.c (futimens): Robustify the previous patch, by checking
18024         for known valid error numbers rather than observed invalid ones.
18025
18026 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18027
18028         * modules/ullong_max: New file.
18029
18030         * modules/chdir-long, modules/openat: New files.
18031         * modules/save-cwd (Depends-on): Depend on chdir-long.
18032         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
18033
18034 2005-01-18  Jim Meyering  <jim@meyering.net>
18035
18036         Merge from coreutils.
18037         * m4/chdir-long.m4, m4/openat.m4: New files.
18038         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
18039         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
18040         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
18041         is sane and DOES follow symlinks.  Besides, testing 20 different
18042         systems found no broken chown implementations.
18043         Prompted by a change in rsync's copy of this macro.
18044         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
18045
18046         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
18047
18048         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
18049         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
18050         NULL-means-set-to-current-time semantics.
18051         Remove temporary file immediately, rather than waiting
18052         for configure's at-exit trap code to do it.
18053
18054 2005-01-18  Jim Meyering  <jim@meyering.net>
18055
18056         * lib/version-etc.c (version_etc_copyright): Update copyright date.
18057
18058         * lib/utimens.c (futimens): Account for the fact that futimes
18059         can also fail with errno == ENOSYS or errno == ENOENT.
18060         Patch from Dmitry V. Levin.
18061
18062         Change the name of the robust chdir function from chdir to chdir_long.
18063         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
18064         (restore_cwd): Use chdir_long, not chdir.
18065         * lib/chdir-long.c: Renamed from chdir.c.
18066         * lib/chdir-long.h: Renamed from chdir.h.
18067         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
18068         Hurd.
18069
18070 2005-01-18  Bruno Haible  <bruno@clisp.org>
18071
18072         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
18073         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
18074         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
18075         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
18076         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
18077         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
18078         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
18079         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
18080         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
18081         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
18082         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
18083         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
18084         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
18085         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
18086         Use an all-permissive copyright notice, recommended by RMS.
18087
18088 2005-01-18  Bob Proulx  <bob@proulx.com>
18089
18090         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
18091         simplify offsetof() macro construct to avoid compile failure with
18092         native HP-UX 11.0 ANSI C compiler.
18093
18094 2005-01-17  Bruno Haible  <bruno@clisp.org>
18095
18096         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
18097         redundant because stpncpy.m4 takes care of it.
18098
18099 2005-01-17  Bruno Haible  <bruno@clisp.org>
18100
18101         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
18102
18103 2005-01-17  Bruno Haible  <bruno@clisp.org>
18104
18105         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
18106         used.
18107
18108 2005-01-17  Bruno Haible  <bruno@clisp.org>
18109
18110         * lib/fwriteerror.h (fwriteerror): Change specification to include
18111         fclose.
18112         * lib/fwriteerror.c: Include <stdbool.h>.
18113         (fwriteerror): At the end, close the file stream. Record whether
18114         stdout was already closed.
18115
18116 2005-01-17  Bruno Haible  <bruno@clisp.org>
18117
18118         * lib/execute.c (environ): Declare if needed.
18119         * lib/pipe.c (environ): Likewise.
18120         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
18121
18122 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
18123
18124         * modules/argp: Depend on vsnprintf
18125
18126 2005-01-10  Jim Meyering  <jim@meyering.net>
18127
18128         * modules/closeout (Depends-on): Add atexit.
18129
18130 2005-01-06  Bruno Haible  <bruno@clisp.org>
18131
18132         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
18133
18134 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
18135
18136         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
18137         definitions to be after all include files, to avoid collisions.
18138         Problem reported by Bob Proulx.
18139
18140 2005-01-04  Jim Meyering  <jim@meyering.net>
18141
18142         Changes imported from coreutils.
18143         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
18144         as the mkstemp template, use a temporary directory and an
18145         8.3-friendly template to avoid trouble on systems like DJGPP.
18146         Reported by Juan M. Guerrero via Stepan Kasal.
18147         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
18148         close. Remove the temporary directory right away, rather than waiting
18149         for configure's at-exit trap code to do it.
18150         Suggestion from Stepan Kasal.
18151
18152 2005-01-01  Simon Josefsson  <jas@extundo.com>
18153
18154         * gnulib-tool: Print #include directives when --import'ing.
18155
18156 2004-12-28  Simon Josefsson  <jas@extundo.com>
18157
18158         * tests/test-base64.c: Include required header files.  Remove
18159         unused variables.
18160
18161 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
18162
18163         * modules/error (Depends-on): Remove gettext.
18164
18165 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
18166
18167         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
18168         not needed.  This removes a dependency on the gettext module.
18169         [defined _LIBC]: Do not include <libintl.h>; not needed.
18170
18171 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
18172
18173         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
18174         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
18175
18176 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
18177
18178         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
18179         HAVE_DECL_STRTOLD.
18180
18181 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
18182
18183         * modules/getdate (Depends-on): Remove alloca-opt.
18184
18185 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
18186
18187         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
18188
18189 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
18190
18191         * lib/argp-parse.c: Include <stddef.h>.
18192         (alignof, alignto): New macros.
18193         (parser_init): Don't assume that void * is aligned sufficiently
18194         for struct option.
18195
18196         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
18197         need to extend the stack.
18198         (YYINITDEPTH): New macro, so that the initial stack isn't overly
18199         large.
18200
18201 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
18202
18203         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
18204
18205 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
18206
18207         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
18208         (2004-10-24) change.  Apparently this was a false alarm.
18209
18210         * modules/getdate: Depend on alloca-opt, not alloca.
18211
18212 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
18213
18214         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
18215         Remove now-obsolete comment about AIX.
18216         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
18217         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
18218         (YYMAXDEPTH): New macro.
18219
18220 2004-12-18  Simon Josefsson  <jas@extundo.com>
18221
18222         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
18223
18224 2004-12-18  Bruno Haible  <bruno@clisp.org>
18225
18226         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
18227
18228 2004-12-18  Bruno Haible  <bruno@clisp.org>
18229
18230         * lib/fatal-signal.c (fatal_signals): Make non-const.
18231         (init_fatal_signals): New function.
18232         (uninstall_handlers, install_handlers): Ignore signals that were set to
18233         SIG_IGN.
18234         (at_fatal_signal): Call init_fatal_signals.
18235         (init_fatal_signal_set): Likewise. Ignore signals that were set to
18236         SIG_IGN.
18237         Reported by Paul Eggert.
18238
18239 2004-12-18  Bruno Haible  <bruno@clisp.org>
18240
18241         * doc/alloca.texi: New file.
18242         * doc/alloca-opt.texi: New file.
18243
18244 2004-12-17  Jim Meyering  <jim@meyering.net>
18245
18246         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
18247         Otherwise, install-sh could exit with improper exit status when
18248         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
18249
18250 2004-12-16  Simon Josefsson  <jas@extundo.com>
18251
18252         * tests/test-base64.c: Add license.
18253
18254 2004-12-15  Stepan Kasal  <address@hidden>
18255
18256         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
18257
18258 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
18259
18260         * modules/getcwd (Files): Add m4/d-ino.m4.
18261         Suggested by Mark D. Baushke.
18262
18263 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
18264
18265         * lib/getdate.y (textint): New member "negative".
18266         (time_zone_hhmm): New function.
18267         Expect 14 shift-reduce conflicts, not 13.
18268         (o_colon_minutes): New rule.
18269         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
18270         (yylex): Set the "negative" member of signed numbers.
18271
18272 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
18273
18274         * doc/getdate.texi (Time of day items, Time zone items):
18275         Describe new formats +00:00, UTC+00:00.
18276
18277 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
18278
18279         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
18280         spurious "-l"s.  Problem reported by Stepan Kasal.
18281
18282 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
18283
18284         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
18285         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
18286
18287 2004-12-04  Simon Josefsson  <jas@extundo.com>
18288
18289         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
18290         Vandoorselaere <yoann@prelude-ids.org>.
18291
18292 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
18293
18294         Changes imported from coreutils.
18295         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
18296         exist.
18297         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
18298
18299 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
18300
18301         Changes imported from coreutils.
18302         * lib/hard-locale.c: Assume <locale.h> exists.
18303         Include "strdup.h".
18304         (GLIBC_VERSION): New macro.
18305         (hard_locale): Assume setlocale exists.
18306         Rewrite to avoid #ifdef.
18307         Use strdup rather than malloc + strcpy.
18308         * lib/human.c: Assume <locale.h> exists.
18309         (human_readable): Assume localeconv exists.
18310
18311 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
18312
18313         * modules/hard-locale (Depends-on): Add strdup.
18314
18315 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
18316
18317         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
18318         convert T2, not T.  (Imported from libc.)
18319
18320 2004-11-30  Simon Josefsson  <jas@extundo.com>
18321
18322         * modules/restrict (License): Change to LGPL.
18323
18324 2004-11-30  Simon Josefsson  <jas@extundo.com>
18325
18326         * m4/restrict.m4: Add copyright and copying conditions.
18327
18328 2004-11-30  Simon Josefsson  <jas@extundo.com>
18329
18330         * m4/base64.m4: New file.
18331
18332 2004-11-30  Simon Josefsson  <jas@extundo.com>
18333
18334         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
18335         base64.
18336
18337         * tests/test-base64.c: New file.
18338
18339         * modules/base64: New file.
18340
18341 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
18342
18343         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
18344         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
18345
18346         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
18347
18348 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
18349
18350         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
18351         (__getcwd.c): Don't restore errno; glibc doesn't.
18352         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
18353         first, falling back to our code only if its results look suspicious.
18354         Ensure that the resulting buffer is only as large as necessary.
18355
18356         * lib/readutmp.c: Include readutmp.h first.
18357         Include <errno.h>, since readutmp.h no longer does that.
18358         * lib/readutmp.h: Don't include <errno.h>,
18359         <sys/param.h>, <time.h>; not needed to establish interface.
18360         (errno): Remove decl.
18361         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
18362         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
18363         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
18364
18365 2004-11-28  Simon Josefsson  <jas@extundo.com>
18366
18367         * lib/base64.h, base64.c: New file.
18368
18369 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
18370
18371         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
18372
18373 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
18374
18375         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
18376         (Depends-on): Remove pathmax, same.  Add mempcpy.
18377         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
18378         (Makefile.am): Append getcwd.h to lib_SOURCES.
18379         (Include): Add getcwd.h.
18380         (Maintainer): Change from Jim Meyering to "all, glibc",
18381         since getdate now uses intended-for-glibc code.
18382         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
18383         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
18384
18385 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
18386
18387         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
18388         HP's ANSI C compiler.
18389         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
18390         Declaring int functions causes warnings on some modern systems and
18391         shouldn't be needed to compile on ancient ones.
18392         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
18393         defined.
18394
18395         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
18396         with the following changes.
18397         (__set_errno): Parenthesize properly.
18398         Include <stdbool.h>.
18399         (MIN, MAX, MATCHING_INO): New macros.
18400         (__getcwd): Define with prototype, not K&R form.
18401         Use heuristics to allocate default buffer on stack if possible.
18402         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
18403         behavior, and to avoid the PATH_MAX limit when computing
18404         ../../../../...
18405         Use MATCHING_INO to compare inode number to file.
18406         Check for arithmetic overflow in size calculations.
18407         Fix bug in reallocation of dot array that caused getcwd to fail
18408         on directories nested deeper than 75.
18409         Be more careful about saving errno on error.
18410         Do not use realloc; use only free+malloc, as this is a bit
18411         more flexible and avoids a needless copy operation.
18412         Do not inspect st_dev and st_ino for symbolic links; POSIX
18413         doesn't specify the latter.
18414         Check for closedir errors.
18415         Avoid needless casts.
18416         Use "#ifdef weak_alias" around weak_alias, to be like other
18417         glibc code.
18418         The following changes to getcwd.c have effect only when used in
18419         gnulib; they have no effect inside glibc proper.
18420         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
18421         as alloca isn't used.
18422         (alloca, __alloca): Likewise.
18423         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
18424         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
18425         unconditionally, as gnulib assumes C89 or better.
18426         Do not include <sys/param.h>.
18427         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
18428         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
18429         better.
18430         (NULL) [!defined NULL]: Remove; we assume C89 or better.
18431         Include <dirent.h> in a way that is compatible with modern Autoconf.
18432         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
18433         New macros, if not already defined.
18434         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
18435         Use "_LIBC", not "defined _LIBC", for consistency.
18436         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
18437         a mempcpy module.
18438         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
18439         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
18440         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
18441         credit only to Jim Meyering and adjust the copyright dates.
18442         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
18443         <stdlib.h>, <unistd.h>, "pathmax.h".
18444         Instead, include "xgetcwd.h" (first) and "getcwd.h".
18445         (INITIAL_BUFFER_SIZE): Remove.
18446         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
18447
18448 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
18449
18450         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
18451         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
18452         Use the _ONCE methods, for efficiency.
18453         Check for fcntl.h.  In test program, include <errno.h>
18454         and <fcntl.h> if available.  Remove old K&R cruft from
18455         test program.  Check for common errors in GNU/Linux,
18456         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
18457         don't do AC_LIBOBJ, as that's getcwd.m4's job.
18458         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
18459         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
18460         name accordingly.
18461         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
18462         accommodate new getcwd.c.
18463         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
18464         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
18465         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
18466         that's all we need now.
18467
18468 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
18469
18470         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
18471         argp-parse.c depends on getopt internals, that means we should
18472         always use our getopt, to be on the safe side.
18473         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
18474         order not to spoil the result of an eventual previous invocation
18475         of gl_GETOPT_SUBSTITUTE.
18476
18477 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
18478
18479         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
18480         redefinition warnings. To avoid them, include the defines
18481         in `#if !defined __need_getopt ... #endif'. The only place
18482         where __getopt_argv_const is used is in definitions
18483         of getopt_long and getopt_long_only below, which are as well
18484         protected by `#ifndef __need_getopt'.
18485         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
18486         __need_getopt after including <stdio.h> and <unistd.h> These
18487         headers might have defined it.
18488
18489 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
18490
18491         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
18492
18493 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
18494
18495         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
18496         (futimens): New function, which uses futimes if available.
18497         (futimens, utimens): Support timespec==NULL, with same semantics
18498         as utime and utimens.
18499         * lib/utimens.h (futimens): New decl.
18500
18501 2004-11-23  Jim Meyering  <jim@meyering.net>
18502
18503         * lib/getopt_.h: Remove trailing blanks.
18504
18505 2004-11-23  Jim Meyering  <jim@meyering.net>
18506
18507         * lib/__fpending.c: Add comment.
18508
18509 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
18510
18511         * modules/canonicalize (Depends-on): Add xreadlink.
18512         Problem reported by James Youngman.
18513
18514 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
18515
18516         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
18517         New macros.
18518         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
18519         optopt): Use them instead of invoking ## directly; otherwise, the
18520         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
18521
18522 2004-11-19  Bruno Haible  <bruno@clisp.org>
18523
18524         * lib/strtok_r.c: Move comments from here...
18525         * lib/strtok_r.h: ... to here.
18526
18527 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
18528
18529         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
18530         implementations that mishandle size_t overflow.
18531
18532 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
18533
18534         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
18535         might fail.  Problem reported by Yoann Vandoorselaere.
18536         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
18537         implementations that mishandle size_t overflow.
18538
18539 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
18540
18541         * modules/canon-host (Depends-on): Add strdup.
18542
18543 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
18544
18545         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
18546
18547 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
18548
18549         * lib/canon-host.c: Include "strdup.h".
18550         (canon_host): Use getaddrinfo if available, so that IPv6 works.
18551         Use strdup instead of malloc/strcpy to duplicate strings.
18552
18553         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
18554         (human_space_before_unit): New constant.
18555         * lib/human.c (human_readable): Support it.
18556
18557         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
18558         (xgetcwd): Set errno correctly when failing.
18559         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
18560         the failure is actually due to a PATH_MAX problem.
18561
18562         Further getopt changes to make it more likely that glibc will
18563         buy the changes back.
18564         * lib/getopt.c (POSIXLY_CORRECT): New constant.
18565         (getopt): Use it, so to preserve glibc semantic
18566         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
18567         when compiling for libc.
18568         * lib/getopt_.h (__getopt_argv_const): Bring it back.
18569         (getopt_long, getopt_long_only): Use it.
18570
18571         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
18572         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
18573         (getopt): Argv is now char * const *, as per standard.
18574         (_getopt_internal_r, _getopt_internal): Argv is now char **,
18575         not char *__getopt_argv_const *.
18576         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
18577         _getopt_long_only_r): Likewise.
18578         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
18579         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
18580         _getopt_long_r, _getopt_long_only_r): Likewise.
18581         * lib/getopt_.h (__getopt_argv_const): Remove.
18582         (getopt): Argv is now char * const *, as per standard.
18583
18584         * lib/getdate.y (tORDINAL): New token.
18585         (day, relunit): Allow it for relative times.
18586         (relative_time_table): Use tORDINAL for ordinals.
18587
18588 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
18589
18590         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
18591         Document that "second" isn't allowed as an ordinal number.
18592
18593 2004-11-16  Jim Meyering  <jim@meyering.net>
18594
18595         * modules/closeout (Depends-on): Add fpending.
18596
18597 2004-11-15  Jim Meyering  <jim@meyering.net>
18598
18599         * lib/closeout.c: Include "__fpending.h" once again.
18600         Include <stdbool.h>.
18601         (close_stdout): Don't fail just because stdout was closed initially,
18602         since some programs don't write to stdout in the normal course of
18603         operation (other than --version and --help), and we don't want this
18604         function to make e.g. `touch file >&-' fail.
18605         But do fail if it was closed and someone has tried to write to it.
18606         E.g., `printf foo >&-' must fail.
18607
18608 2004-11-13  Jim Meyering  <jim@meyering.net>
18609
18610         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
18611
18612 2004-11-12  Simon Josefsson  <jas@extundo.com>
18613
18614         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
18615         small doc fix is still pending.
18616
18617 2004-11-11  Simon Josefsson  <jas@extundo.com>
18618
18619         * modules/strtok_r: New file.
18620
18621         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18622         strtok_r.
18623
18624 2004-11-11  Simon Josefsson  <jas@extundo.com>
18625
18626         * m4/strtok_r.m4: New file.
18627
18628         * m4/getopt.m4: Replace opterr.
18629
18630 2004-11-11  Simon Josefsson  <jas@extundo.com>
18631
18632         * lib/strtok_r.h, strtok_r.c: New file.
18633
18634 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18635
18636         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
18637         of replacing opterr, getopt, etc.  This should handle the
18638         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
18639
18640 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18641
18642         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
18643         we can stop lying to compilers about the constness of argv when we
18644         are compiled outside glibc.
18645         (getopt, getopt_long, getopt_long_only): Use it.
18646         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
18647         _getopt_internal, getopt): Likewise.
18648         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
18649         _getopt_long_only_r): Likewise.
18650         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
18651         _getopt_long_r, _getopt_long_only_r): Likewise.
18652
18653         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
18654         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
18655         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
18656         the other external symbols.
18657         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
18658         declaration, since the above renaming now works around collisions.
18659
18660 2004-11-11  Jim Meyering  <jim@meyering.net>
18661
18662         * lib/linebreak.c: Remove trailing blanks.
18663         * lib/alloca_.h: Likewise.
18664         * lib/acosl.c: Likewise.
18665         * lib/euidaccess.c: Likewise.
18666         * lib/allocsa.h: Likewise.
18667
18668 2004-11-10  Simon Josefsson  <jas@extundo.com>
18669
18670         * m4/getaddrinfo.m4: New file.
18671
18672 2004-11-10  Simon Josefsson  <jas@extundo.com>
18673
18674         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
18675
18676 2004-11-10  Simon Josefsson  <jas@extundo.com>
18677
18678         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18679         getaddrinfo.
18680
18681         * modules/getaddrinfo: New file.
18682
18683 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
18684
18685         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
18686
18687 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
18688
18689         * lib/mktime.c (SHR): New macro, which is a portable
18690         substitute for >> that should work even on Crays.
18691         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
18692         Problem reported by Mark D. Baushke in
18693         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
18694         * lib/getdate.y (SHR): Likewise.
18695         (tm_diff): Use it.
18696         * lib/strftime.c (SHR): Likewise.
18697         (tm_diff): Use it.
18698         * lib/quotearg.c (struct quoting_options): Use unsigned int for
18699         quote_these_too, so that right shifts are well defined.  All uses
18700         changed.
18701
18702 2004-11-10  Jim Meyering  <jim@meyering.net>
18703
18704         Ensure that no close failure goes unreported.
18705         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
18706         return early when it seems there's nothing to flush.
18707         Don't include __fpending.h.
18708
18709 2004-11-10  Jim Meyering  <jim@meyering.net>
18710
18711         * modules/closeout (Depends-on): Remove fpending.
18712
18713 2004-11-10  Jim Meyering  <jim@meyering.net>
18714
18715         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
18716
18717 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
18718
18719         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
18720         gl_FUNC_STRFTIME.
18721         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
18722         and AC_REQUIRE when possible, to avoid duplicate checks.
18723         Check for <wchar.h>.
18724
18725 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
18726
18727         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
18728
18729 2004-11-09  Bruno Haible  <bruno@clisp.org>
18730
18731         * m4/sockpfaf.m4: New file.
18732
18733 2004-11-05  Bruno Haible  <bruno@clisp.org>
18734
18735         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
18736         Reported by Mark D. Baushke <mdb@cvshome.org>.
18737
18738 2004-11-04  Bruno Haible  <bruno@clisp.org>
18739
18740         2004-09-11  Bruno Haible  <bruno@clisp.org>
18741                 * allocsa.valgrind: New file.
18742         2004-02-06  Bruno Haible  <bruno@clisp.org>
18743                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
18744                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
18745                 Reported by Christopher Seip <chris.seip@hp.com>.
18746
18747 2004-11-04  Bruno Haible  <bruno@clisp.org>
18748
18749         * modules/allocsa (Files): Add lib/allocsa.valgrind.
18750         (Makefile.am): Distribute it.
18751
18752 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
18753
18754         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
18755         with errno == ERANGE if the buffer is too small.
18756         Problem reported by Mark D. Baushke.
18757
18758 2004-11-03  Albert Chin  <china@thewrittenword.com>
18759             Paul Eggert  <eggert@cs.ucla.edu>
18760
18761         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
18762         equivalent, substitute $ac_type for equivalent type rather than
18763         blindly using uint32_t *always* which won't work if uint32_t is not
18764         available.  Define _UINT32_T to work around typedef of uint32_t if
18765         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
18766         2.5.1.
18767
18768 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
18769
18770         * m4/jm-macros.m4: Sync from coreutils.
18771         (gl_MACROS): Check for mbrlen, for pathchk.
18772         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
18773
18774 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
18775
18776         * lib/xreadlink.c (MAXSIZE): New macro.
18777         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
18778         size does not exceed MAXSIZE.  Avoid cast.
18779         As suggested by Mark D. Baushke in
18780         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
18781         if readlink fails with buffer size just under MAXSIZE, try again
18782         with MAXSIZE.
18783
18784 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
18785
18786         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
18787
18788 2004-11-02  Derek R. Price  <derek@ximbiot.com>
18789         and  Paul Eggert  <eggert@cs.ucla.edu>
18790
18791         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
18792         (get_date): Overparenthesize to avoid GCC warning.
18793
18794 2004-11-02  Bruno Haible  <bruno@clisp.org>
18795
18796         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
18797         returns void.
18798
18799 2004-11-02  Bruno Haible  <bruno@clisp.org>
18800
18801         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
18802         function returns void.
18803
18804 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
18805
18806         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
18807         fflush_unlocked, flockfile, funlockfile, funlockfile,
18808         fputs_unlocked, putc_unlocked.
18809
18810 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
18811
18812         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
18813         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
18814         already declared.
18815
18816 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
18817
18818         * modules/getdate (Files): Add doc/getdate.texi.
18819         (Depends-on): Add setenv, xalloc.
18820
18821 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
18822
18823         * lib/getdate.y: Add support for TZ="foo" within a date string.
18824         Fix some bugs near time_t boundaries.  Reject dates with
18825         out-of-range components, e.g., "Sept 31".
18826         Include <stdlib.h>, "setenv.h", "xalloc.h".
18827         (ISDIGIT_LOCALE): Remove; unused.
18828         Note that the TZ and time functions used here are not reentrant.
18829         (mktime_ok, get_tz): New functions.
18830         (TZBUFSIZE): New constant.
18831         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
18832         This requires that we sometimes generate our own TZ="XXX..." setting.
18833
18834 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
18835
18836         * doc/getdate.texi: New file, from coreutils with modifications for
18837         the new TZ parsing.
18838
18839 2004-10-27  Derek R. Price  <derek@ximbiot.com>
18840
18841         * lib/mktime.c (not_equal_tm): Remove redundant check.
18842
18843 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
18844
18845         * modules/regex (lib_SOURCES): Add regex.c.
18846         Reported by James Youngman in
18847         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
18848
18849 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
18850
18851         * lib/getdate.y: Use Bison 1.875 features, and some minor
18852         code cleanups.  This change does not affect semantics.
18853         Don't include <stdlib.h>; no longer needed.
18854         Don't include unlocked-io.h; only the "#if TEST" code uses
18855         stdio, and performance isn't crucial there.
18856         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
18857         Bison 1.875 features as described below.
18858         All uses of "PC." replaced by "pc->".
18859         (YYSTYPE): Add a forward declaration.
18860         (yylex, yyerror): Use full prototypes in forward decls.
18861         Use "%pure-parser" rather than obsolescent "%pure_parser".
18862         Use %parse-param and %lex-param instead of obsolescent
18863         YYPARSE_PARAM and YYLEX_PARAM.
18864         (meridian_table, month_and_day_table, time_units_table,
18865         relative_time_table, time_zone_table, military_table,
18866         lookup_zone, lookup_word, get_date):
18867         Use NULL instead of 0 where appropriate.
18868         (to_hour): Avoid abort (), to avoid a dependency on
18869         stdlib.h.
18870         (yyerror, yylex): Now accepts parser_control * arg.
18871         (main) [TEST]: Use '\0' rather than 0 for char.
18872
18873 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
18874
18875         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
18876
18877 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
18878
18879         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
18880         It's now the caller's responsibility to handle the case where
18881         !HAVE_GETPAGESIZE && !defined getpagesize.
18882
18883         * lib/mktime.c (leapyear): Arg is long int, not int.
18884
18885 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
18886
18887         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
18888
18889 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
18890
18891         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
18892         missing.  Problem reported by James Youngman.
18893
18894 2004-10-16  Simon Josefsson  <jas@extundo.com>
18895
18896         * gnulib-tool: Fix comments.  Fix parse problem.
18897         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
18898
18899 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
18900
18901         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
18902         implementation of getopt_long.  Problem reported by Alexander Taler in:
18903         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
18904
18905 2004-10-15  Bruno Haible  <bruno@clisp.org>
18906
18907         * gnulib-tool: Untabify. Initialize supplied_libname.
18908         (func_usage): More homogenous output.
18909         (func_modules_transitive_closure, func_modules_to_filelist,
18910         func_emit_lib_Makefile_am): New functions.
18911         (func_import): New function, extracted from big case statement. Use
18912         func_get_license, func_modules_transitive_closure,
18913         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
18914         opt_lgpl. Don't use test -a, as it's not portable.
18915         (func_create_testdir): Use func_modules_transitive_closure,
18916         func_modules_to_filelist, func_emit_lib_Makefile_am.
18917
18918 2004-10-15  Bruno Haible  <bruno@clisp.org>
18919
18920         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
18921
18922 2004-10-15  Bruno Haible  <bruno@clisp.org>
18923
18924         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
18925         the portions belonging to each module.
18926         Suggested by Derek Robert Price <derek@ximbiot.com>.
18927
18928 2004-10-12  Simon Josefsson  <jas@extundo.com>
18929
18930         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
18931         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
18932         to real functions.
18933
18934 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18935
18936         * modules/vsnprintf: New file.
18937
18938 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18939
18940         * m4/vsnprintf.m4: New file.
18941
18942 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18943
18944         * lib/vsnprintf.h: New file.
18945         * lib/vsnprintf.c: New file.
18946
18947 2004-10-11  Bruno Haible  <bruno@clisp.org>
18948
18949         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
18950         vsnprintf.
18951
18952 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18953
18954         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
18955
18956 2004-10-07  Bruno Haible  <bruno@clisp.org>
18957
18958         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
18959         fits into the provided buffer.
18960
18961 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
18962
18963         * lib/diacrit.c, diacrit.h: Add GPL notice.
18964
18965         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
18966         notice.
18967         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
18968         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
18969         This avoids a potential constant-folding bug.
18970
18971 2004-10-05  Bruno Haible  <bruno@clisp.org>
18972
18973         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
18974         for the declaration of strsep.
18975
18976 2004-10-05  Bruno Haible  <bruno@clisp.org>
18977
18978         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
18979
18980 2004-10-04  Simon Josefsson  <jas@extundo.com>
18981
18982         * modules/memmem: New file.
18983         * tests/test-memmem.c: New file.
18984         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
18985
18986 2004-10-04  Simon Josefsson  <jas@extundo.com>
18987
18988         * m4/memmem.m4: New file.
18989
18990 2004-10-04  Simon Josefsson  <jas@extundo.com>
18991
18992         * lib/memmem.h: New file.
18993         * lib/memmem.c: New file, taken from glibc.
18994
18995 2004-10-04  Simon Josefsson  <jas@extundo.com>
18996
18997         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
18998         '#ifdef USE_UNLOCKED_IO'.
18999
19000 2004-10-04  Simon Josefsson  <jas@extundo.com>
19001
19002         * config/srclist.txt: Add memmem from glibc.
19003
19004 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
19005
19006         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
19007
19008         * modules/argmatch, modules/argp, modules/closeout, modules/error,
19009         modules/exclude, modules/getdate, modules/getline,
19010         modules/getndelim2, modules/getpass, modules/getpass-gnu,
19011         modules/getusershell, modules/linebuffer, modules/md5,
19012         modules/mountlist, modules/posixtm, modules/readtokens,
19013         modules/readutmp, modules/regex, modules/sha1,
19014         modules/version-etc, modules/yesno:
19015         Remove dependency on unlocked-io.
19016
19017 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
19018
19019         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
19020
19021         * m4/unlocked-io.m4: Add copyright notice.
19022         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
19023
19024 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
19025
19026         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
19027         * lib/xmalloc.c (xmemdup): Likewise.
19028         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
19029         XFREE): Remove these long-obsolescent macros.
19030         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
19031         * lib/xstrdup.c: Remove.
19032
19033         * lib/regex.c (re_comp): Cast gettext return value to char *,
19034         Problem reported by Martin Neitzel via Mark D. Baushke.
19035
19036 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
19037
19038         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
19039         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
19040         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
19041         regex.c, sha1.c, version-etc.c, yesno.c:
19042         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
19043         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
19044         the includer's responsibility.
19045
19046         Sync from coreutils.
19047
19048         * lib/modechange.c (mode_compile): Don't decrement a pointer that
19049         points to the start of a string, as the C Standard says the
19050         resulting behavior is undefined.
19051
19052         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
19053         simple -> simple_backups, numbered_existing ->
19054         numbered_existing_backups, numbered -> numbered_backups
19055         to avoid shadowing problems.  All uses changed.
19056         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
19057         * lib/backupfile.c (check_extension, numbered_backup):
19058         Rename locals to avoid shadowing 'basename'.
19059         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
19060         once.
19061
19062         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
19063         * lib/.cvsignore: Add getopt.h.
19064
19065 2004-10-04  Bruno Haible  <bruno@clisp.org>
19066
19067         * modules/README: New file.
19068         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
19069         not a module.
19070
19071 2004-10-02  Jim Meyering  <jim@meyering.net>
19072
19073         * lib/dirfd.h, getpagesize.h: Add copyright notice.
19074
19075 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
19076
19077         * modules/strsep: New file.
19078
19079 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
19080
19081         * m4/strsep.m4: New file.
19082
19083 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
19084
19085         * lib/strsep.h: New file.
19086         * lib/strsep.c: New file.
19087
19088 2004-10-01  Simon Josefsson  <jas@extundo.com>
19089
19090         * lib/snprintf.c (snprintf): Handle size==0.
19091
19092 2004-10-01  Simon Josefsson  <jas@extundo.com>
19093             Bruno Haible  <bruno@clisp.org>
19094
19095         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
19096         (snprintf): Declare 'args'.
19097
19098 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
19099
19100         * lib/snprintf.c: Remove comments as to why each header is needed.
19101
19102 2004-10-01  Bruno Haible  <bruno@clisp.org>
19103
19104         * MODULES.html.sh: Add strsep.
19105
19106 2004-09-30  Simon Josefsson  <jas@extundo.com>
19107
19108         * modules/snprintf: New file.
19109
19110 2004-09-30  Simon Josefsson  <jas@extundo.com>
19111
19112         * m4/snprintf.m4: New file.
19113
19114 2004-09-30  Simon Josefsson  <jas@extundo.com>
19115
19116         * lib/snprintf.h, lib/snprintf.c: New files.
19117
19118 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
19119
19120         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
19121         (hol_entry_help): Never translate an empty string.
19122         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
19123         * lib/argp.h (OPTION_NO_TRANS): New option.
19124
19125 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
19126
19127         * modules/argp (Maintainer): Replace Simon Josefsson
19128         by Sergey Poznyakoff.
19129
19130 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
19131
19132         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
19133         changes merged back into glibc.
19134
19135 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
19136
19137         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
19138
19139 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
19140
19141         * lib/xvasprintf.c: Include xalloc.h.
19142         (xvasprintf): Use xalloc_die, not xmalloc_die.
19143
19144 2004-09-29  Bruno Haible  <bruno@clisp.org>
19145
19146         * modules/alloca-opt: New file, derived from modules/alloca.
19147         * modules/allocsa: Depend on alloca-opt instead of alloca.
19148         * modules/setenv: Likewise.
19149         * modules/vasnprintf: Likewise.
19150         * MODULES.html.sh: Add alloca-opt.
19151
19152 2004-09-28  Simon Josefsson  <jas@extundo.com>
19153
19154         * gnulib-tool: New parameter --lgpl, to asseert that modules are
19155         LGPL, and to replace license template from GPL to LGPL.
19156
19157 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
19158
19159         * modules/dummy: Change license to LGPL.
19160
19161 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
19162
19163         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
19164
19165 2004-09-24  Simon Josefsson  <jas@extundo.com>
19166
19167         * modules/minmax (License): Change from GPL to LGPL.
19168
19169 2004-09-23  Simon Josefsson  <jas@extundo.com>
19170
19171         * gnulib-tool (--import): Typo.
19172
19173 2004-09-23  Simon Josefsson  <jas@extundo.com>
19174
19175         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
19176
19177 2004-09-22  Bruno Haible  <bruno@clisp.org>
19178
19179         * modules/*: Add 'License' field.
19180         * gnulib-tool: Accept --extract-license option.
19181         (func_get_license): New function.
19182
19183 2004-09-21  Bruno Haible  <bruno@clisp.org>
19184
19185         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
19186         Reported by Simon Josefsson.
19187
19188 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19189
19190         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
19191         gl_AC_TYPE_LONG_LONG.
19192
19193 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19194
19195         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
19196
19197 2004-09-18  Simon Josefsson  <jas@extundo.com>
19198         and  Paul Eggert  <eggert@cs.ucla.edu>
19199
19200         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
19201         calls with autoreconf.  Define GL_LIB.
19202
19203 2004-09-14  Karl Berry  <karl@gnu.org>
19204
19205         * config/srclist.txt: unsync setenv.c, sigh.
19206
19207 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19208
19209         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
19210         Problem reported by Bruno Haible in:
19211         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
19212
19213 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19214
19215         * config/srclist.txt: Comment out argp-pvh.c.
19216
19217 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
19218
19219         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
19220         in case some system header has #define'd it.  Problem reported by
19221         Soeren D. Schulze in
19222         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
19223
19224 2004-09-09  Karl Berry  <karl@gnu.org>
19225
19226         * regex.[ch]: delete from the root.  These were supposed to be
19227                 synced with emacs cvs, but this has not happened for about
19228                 a year, and anyway nothing else uses emacs regex.[ch].
19229                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
19230                 lib/regex[.ch] is untouched.
19231
19232 2004-09-09  Bruno Haible  <bruno@clisp.org>
19233
19234         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
19235
19236 2004-09-09  Bruno Haible  <bruno@clisp.org>
19237
19238         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
19239         modifications.
19240         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
19241
19242 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
19243
19244         * modules/xvasprintf: New file.
19245         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
19246
19247 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
19248
19249         * lib/xvasprintf.h: New file.
19250         * lib/xvasprintf.c: New file.
19251         * lib/xasprintf.c: New file.
19252
19253 2004-09-08  Bruno Haible  <bruno@clisp.org>
19254
19255         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
19256
19257 2004-09-08  Bruno Haible  <bruno@clisp.org>
19258
19259         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
19260         length is > INT_MAX.
19261         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
19262         more.
19263
19264 2004-09-08  Bruno Haible  <bruno@clisp.org>
19265
19266         * lib/stdint_.h: New file, taken from GNU clisp.
19267
19268 2004-09-08  Bruno Haible  <bruno@clisp.org>
19269             Oskar Liljeblad  <oskar@osk.mine.nu>
19270
19271         * modules/stdint: New file.
19272         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
19273
19274 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19275
19276         Import from coreutils.
19277         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
19278         strings on unbounded length.  alloca's performance benefits aren't
19279         that important here.
19280         (V_STRDUP): Remove.
19281         (parse_with_separator): New function, with most of the internals
19282         of the old parse_user_spec.  Allow user to omit both user and group,
19283         for compatibility with FreeBSD.
19284         Clone only the user name, not the entire spec.
19285         Do not set *uid, *gid unless entirely successful.
19286         Avoid memory leak in some failing cases.
19287         Fix regression for USER.GROUP reported by Dmitry V. Levin in
19288         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
19289         (parse_user_spec): Rewrite to use parse_with_separator.
19290
19291 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19292
19293         * modules/userspec: Don't depend on alloca.
19294
19295 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19296
19297         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
19298
19299 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
19300
19301         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
19302         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
19303         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
19304
19305 2004-08-16  Simon Josefsson  <jas@extundo.com>
19306
19307         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
19308         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
19309         Add --dry-run for --import.
19310         Let user provided command line parameters override configure.ac
19311         settings.
19312
19313 2004-08-12  Simon Josefsson  <jas@extundo.com>
19314
19315         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
19316         as discussed with Paul Eggert in threads rooted at
19317         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
19318         and
19319         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
19320         Before, the test was empty, and relied on ELIDE_CODE in source
19321         code.)
19322         (gl_PREREQ_GETOPT): New macro.
19323         (gl_GETOPT): Use them.
19324
19325 2004-08-12  Simon Josefsson  <jas@extundo.com>
19326
19327         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
19328         * lib/getopt_.h: Renamed from getopt.h.
19329
19330 2004-08-12  Simon Josefsson  <jas@extundo.com>
19331
19332         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
19333         Change default library name from libfoo to libgnu.
19334         Now, if you have a configure.ac that says:
19335                 gl_SOURCE_BASE(gl)
19336                 gl_M4_BASE(gl/m4)
19337                 gl_MODULES(error getopt etcetera)
19338                 gl_INIT
19339         you can import all you need by running:
19340                 ../gnulib/gnulib-tool --import
19341
19342         * modules/getopt (Files): Rename getopt.h to getopt_.h.
19343         (Makefile.am): Rewrite, use logic from argz.
19344         (Include): Use <getopt.h> instead of "getopt.h".
19345
19346 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19347
19348         * modules/argp (Files): Add m4/unlocked-io.m4.
19349         (Depends-on): Add extensions.
19350
19351 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19352
19353         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
19354         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
19355         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
19356         Check for program_invocation_name, program_invocation_short_name,
19357         flockfile, funlockfile, features.h, _getopt_long_only_r.
19358
19359 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19360
19361         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
19362         its complicated substitute.
19363         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
19364         and program_invocation_name.
19365         (__argp_basename) [!_LIBC]: Remove; the only use was
19366         replaced by its body.
19367         (__argp_short_program_name): Change condition from
19368         !defined __argp_short_program_name to
19369         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
19370         to match argp-namefrob.h.
19371         (__argp_failure): Don't assume strerror_r returns char *.
19372         * lib/argp-parse.c (N_): Define unconditionally.
19373         (argp_default_options): Fill out initializers with 0 to avoid
19374         gcc warnings.
19375
19376 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19377
19378         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
19379         getopt1.c.
19380
19381 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19382
19383         Merge from coreutils.
19384
19385         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
19386
19387         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
19388         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
19389
19390 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19391
19392         Merge from coreutils.
19393
19394         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
19395         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
19396         for Reliant Unix 5.43.
19397
19398         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
19399         (union fooround): Use uintmax_t, not long int.
19400         The rest is a merge from libc:
19401         [defined _LIBC]: Include <shlib-compat.h>.
19402         (_obstack) [defined _LIBC]: Remove after 2.3.4.
19403
19404         * lib/settime.c (settime): Recode to avoid warning with
19405         Sun Forte C 6U2.
19406
19407         * lib/strverscmp.c: Convert to UTF-8.
19408
19409 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19410
19411         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
19412         m4/uintmax_t.m4.
19413
19414 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
19415
19416         * modules/xalloc-die: New file.
19417         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
19418
19419         * modules/md5 (Files): Add m4/uint32_t.m4.
19420         * modules/sha1: Renamed from modules/sha.
19421         (Files):
19422         Rename lib/sha.h to lib/sha1.h.
19423         Rename lib/sha.c to lib/sha1.c.
19424         Rename m4/sha.m4 to m4/sha1.m4.
19425         (lib_SOURCES): Likewise.
19426         (configure.ac): Rename gl_SHA to gl_SHA1.
19427         (Include): sha.h -> sha1.h.
19428
19429 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
19430
19431         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
19432         * m4/sha1.m4: Renamed from sha.m4.
19433         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
19434
19435 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
19436
19437         * lib/obstack.h (obstack_empty_p):
19438         Don't assume that chunk->contents is suitably aligned.
19439         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
19440         Likewise. Problem reported by Benno in
19441         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
19442
19443         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
19444         readable.  This could be improved further but it'd take some work.
19445
19446 2004-08-08  Simon Josefsson  <jas@extundo.com>
19447
19448         * modules/xgethostname (Depends-on): Remove exit and error (not
19449         used).
19450
19451         * modules/getpass-gnu: Add getpass.h.
19452         (Depends-on): Add stdbool.
19453         * modules/getpass: Add getpass.h.
19454
19455 2004-08-08  Simon Josefsson  <jas@extundo.com>
19456
19457         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
19458         Check getpass declaration.
19459
19460 2004-08-08  Simon Josefsson  <jas@extundo.com>
19461
19462         * lib/xgethostname.c: Don't include error.h (not used).
19463
19464         * lib/getpass.h: Add.
19465         * lib/getpass.c: Include getpass.h first.
19466
19467 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
19468
19469         * lib/xalloc-die.c: New file.
19470         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
19471         All uses removed.
19472         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
19473         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
19474         xalloc-die.c.
19475         (_, N_, xalloc_die): Move to xalloc-die.c.
19476         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
19477         so that we needn't mess with xalloc_msg_memory_exhausted.
19478
19479         * lib/sha1.h: Renamed from sha.h.
19480         (SHA1_H): Renamed from _SHA_H.
19481         (sha1_ctx): Renamed from sha_ctx.
19482         (sha1_init_ctx): Renamed from sha_init_ctx.
19483         (sha1_process_block): Renamed from sha_process_block.
19484         (sha1_process_bytes): Renamed from sha_process_bytes.
19485         (sha1_finish_ctx): Renamed from sha_finish_ctx.
19486         (sha1_read_ctx): Renamed from sha_read_ctx.
19487         (sha1_stream): Renamed from sha_stream.
19488         (sha1_buffer): Renamed from sha_buffer.
19489         * lib/sha1.c: Likewise; renamed from sha.c.
19490         Do not include <sys/types.h>.
19491         Include <stddef.h> rather than <stdlib.h>.
19492
19493 2004-08-08  Bruno Haible  <bruno@clisp.org>
19494
19495         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
19496         FILESYSTEM_PREFIX_LEN.
19497         * lib/progreloc.c: Likewise.
19498         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
19499
19500 2004-08-06  Simon Josefsson  <jas@extundo.com>
19501
19502         * modules/progname (Depends-on): Don't depend on stdbool.
19503
19504 2004-08-06  Simon Josefsson  <jas@extundo.com>
19505
19506         * modules/getsubopt: New file.
19507         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
19508         getsubopt.
19509
19510 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
19511
19512         More merge from coreutils.
19513
19514         * m4/utimens.m4, m4/utimecmp.m4: New files.
19515         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
19516         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
19517         prereq.m4, sha.m4: Import changes from coreutils.
19518
19519 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
19520
19521         More merge from coreutils.
19522         * modules/raise, modules/readtokens0, modules/utimens:
19523         * modules/utimecmp, module/xnanosleep: New files.
19524         * modules/strftime: Add lib/strftime.h.
19525         Change include from <time.h> to "strftime.h".
19526         * modules/yesno: Add lib/yesno.h.
19527         * modules/backupfile: Remove lib/addext.c.
19528         * modules/euidaccess: Add stat-macros.h.
19529         * modules/canonicalize, modules/euidaccess,
19530         modules/filemode, modules/lchown, modules/makepath,
19531         modules/rmdir, modules/stat: Likewise.
19532
19533 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
19534
19535         Merge from tar.
19536         * lib/argp-help.c (make_hol, hol_append): Don't assume that
19537         SIZE_MAX is a valid preprocessor constant.
19538         (__argp_basename): Change from "#ifndef _LIBC"
19539         to "#ifndef __argp_short_program_name", so that
19540         we don't compile these functions for tar.
19541
19542         More merges from coreutils.
19543         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
19544         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
19545         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
19546         * lib/addext.c: Remove; no longer needed.
19547         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
19548         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
19549         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
19550         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
19551         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
19552         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
19553         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
19554         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
19555         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
19556         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
19557         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
19558         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
19559         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
19560         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
19561         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
19562         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
19563         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
19564         Import changes from coreutils.
19565
19566 2004-08-05  Simon Josefsson  <jas@extundo.com>
19567
19568         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
19569
19570 2004-08-05  Simon Josefsson  <jas@extundo.com>
19571
19572         * m4/getsubopt.m4: New file.
19573
19574 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
19575
19576         Merge from coreutils.
19577
19578         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
19579         * m4/getcwd-path-max.m4: New files.
19580
19581         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
19582         FILESYSTEM_PREFIX_LEN ->
19583         FILE_SYSTEM_PREFIX_LEN.
19584         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
19585         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
19586         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
19587         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
19588
19589         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
19590         prerequisite modules now handle the DOS stuff.
19591         Don't check for unistd.h.
19592
19593 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
19594
19595         Merge from coreutils.
19596
19597         * lib/.gdb-history: Remove; this doesn't belong here.
19598
19599         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
19600         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
19601         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
19602         * lib/getcwd.c: New files.
19603
19604         * lib/dirname.h: Include <stdbool.h>.
19605         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
19606         for consistency with POSIX terminology.  All uses changed.
19607         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
19608         (strip_trailing_slashes): Use bool for booleans.
19609         * lib/stripslash.c (strip_trailing_slashes): Likewise.
19610
19611         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
19612         sometimes returns a positive errno value even when it succeeds.
19613         (print_errno_message) [!LIBC]: Fall back on strerror if
19614         __strerror_r fails.
19615
19616         * lib/path-concat.c (mempcpy): Don't define if a system header defines
19617         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
19618         (longest_relative_suffix): New function.
19619         (path_concat): Use it.  Assume first argument is not NULL.
19620         Port to DOS.  Omit redundant separators.
19621         Report an error instead of returning NULL.
19622         Use mempcpy instead of memcpy.
19623         (xpath_concat): Remove: not declared or used.
19624
19625         * lib/same.h: Include <stdbool.h>
19626         (same_name): Return bool, not int.
19627         * lib/same.c (same_name): Likewise.
19628         (errno): Don't declare; we assume C89 or better now.
19629
19630         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
19631         if not already defined.
19632
19633         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
19634         * lib/dup-safer.c (errno): Likewise.
19635
19636 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
19637
19638         Merge from coreutils.
19639         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
19640         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
19641         * modules/path-concat: Don't depend on strdup.
19642
19643 2004-08-03  Simon Josefsson  <jas@extundo.com>
19644
19645         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
19646         * lib/progname.h: Don't include stdbool.h.
19647
19648 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
19649
19650         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
19651         * MODULES.html.sh (func_all_modules): Remove fatal.
19652
19653 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
19654
19655         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
19656
19657 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
19658
19659         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
19660         working.
19661
19662 2004-08-02  Simon Josefsson  <jas@extundo.com>
19663
19664         * lib/getsubopt.h: New file, with comments from Bruno Haible.
19665         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
19666         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
19667
19668 2004-08-01  Simon Josefsson  <jas@extundo.com>
19669
19670         * lib/xgetdomainname.c: Include stdlib.h, for free().
19671
19672 2004-07-19  Bruno Haible  <bruno@clisp.org>
19673
19674         * MODULES.html.sh (func_all_modules): Add dummy.
19675
19676 2004-07-16  Simon Josefsson  <jas@extundo.com>
19677
19678         * modules/dummy: New file.
19679
19680 2004-07-16  Simon Josefsson  <jas@extundo.com>
19681
19682         * lib/dummy.c: New file.
19683
19684 2004-07-16  Bruno Haible  <bruno@clisp.org>
19685
19686         * lib/backupfile.h: Add extern "C" for C++.
19687         * lib/closeout.h: Likewise.
19688         * lib/copy-file.h: Likewise.
19689         * lib/findprog.h: Likewise.
19690         * lib/full-write.h: Likewise.
19691         * lib/pathname.h: Likewise.
19692         * lib/progname.h: Likewise.
19693         * lib/stpcpy.h: Likewise.
19694         * lib/stpncpy.h: Likewise.
19695         * lib/strcase.h: Likewise.
19696         * lib/strstr.h: Likewise.
19697         * lib/xalloc.h: Likewise.
19698
19699         * lib/mbswidth.h: Add extern "C" for C++.
19700         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
19701
19702 2004-07-13  Robert Millan  <robertmh@gnu.org>
19703
19704         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
19705
19706 2004-07-09  Simon Josefsson  <jas@extundo.com>
19707
19708         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
19709         failed without this.)
19710
19711 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
19712
19713         * modules/chown (Files): Add lib/fchown-stub.c, since
19714         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
19715
19716 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
19717
19718         * lib/fchown-stub.c: New file.
19719
19720 2004-06-24  Jim Meyering  <jim@meyering.net>
19721
19722         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
19723
19724 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19725
19726         * modules/argz: Omit "#include".
19727
19728         * MODULES.html.sh (func_all_modules): Add calloc, to match
19729         2004-06-01 addition of calloc module.
19730
19731 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19732
19733         * m4/argz.m4: New file, which is autoupdated from libtool.
19734
19735 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19736
19737         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
19738         libtool.
19739
19740 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19741
19742         * config/srclist-update: Don't insist on "USA." before the
19743         close-comment, as libtool omits the period and puts the */ on a
19744         separate line.
19745         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
19746         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
19747
19748 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
19749
19750         * modules/argz: New file.
19751         * MODULES.html.sh (func_all_modules): Add argz.
19752
19753 2004-06-12  Jim Meyering  <jim@meyering.net>
19754         and  Paul Eggert  <eggert@cs.ucla.edu>
19755
19756         * modules/hash (Files): Add lib/xalloc.h.
19757         * modules/pipe (Depends-on): Add wait-process.
19758         * modules/stat (Depends-on): Add xalloc.
19759         * modules/userspec (Files): Add lib/userspec.h.
19760         * modules/xstrto
19761
19762         Upgrade from gettext-0.13.
19763         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
19764         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
19765         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
19766
19767 2004-06-10  Jim Meyering  <jim@meyering.net>
19768
19769         * lib/calloc.c: New file.
19770
19771 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
19772
19773         * lib/getdate.y (yylex): Allow space between sign and number.
19774         Problem reported by Dan Jacobson.
19775
19776 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
19777
19778         Merge from coreutils CVS.
19779
19780         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
19781         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
19782         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
19783         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
19784         xstrtol.m4: Fix copyright date and/or serial number.
19785
19786         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
19787         See if we need an fchown replacement.
19788         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
19789         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
19790         and use the replacement function if we detect either defect.
19791
19792         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
19793         gl_UTIMECMP.
19794
19795 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
19796         and  Jim Meyering  <jim@meyering.net>
19797
19798         Merge from coreutils CVS.
19799
19800         * lib/stat-macros.h: New file, with contents from file-type.h
19801         and coreutils' system.h.
19802         * lib/file-type.c: Include "stat-macros.h".
19803         * lib/file-type.h (file_type): Move all macro definitions to new file,
19804         stat-macros.h.
19805
19806         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
19807         Wrap old code with this conditional.
19808         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
19809         function that does not dereference symlinks.
19810         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
19811
19812         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
19813         dependency problems.
19814         (xreadlink): Accept new arg SIZE, for efficiency.
19815         All decls and uses changed.
19816         * lib/xreadlink.h: Include <stddef.h>, for size_t.
19817
19818         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
19819         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
19820
19821         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
19822         sysexits.h.
19823
19824 2004-06-01  Jim Meyering  <jim@meyering.net>
19825
19826         * m4/calloc.m4: New file.
19827
19828 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
19829
19830         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
19831         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
19832         Also, fix a typo in a diagnostic.
19833
19834 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
19835
19836         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
19837         or AC_FUNC_REALLOC.
19838
19839 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
19840
19841         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
19842         macros to be defined.
19843         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
19844         the allocator returns NULL because the requested size is zero.
19845
19846 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19847
19848         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
19849         var.  Add comment explaining why libc still defines it.  This
19850         merges the following patch from glibc:
19851         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
19852
19853 2004-05-20  Andreas Schwab  <schwab@suse.de>
19854
19855         * m4/free.m4: Replace free if it not known to work, not the other
19856         way round.
19857
19858 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19859
19860         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
19861         present in glibc since revision 1.1 of this file.
19862         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
19863         obstack_alignment_mask, obstack_alloc, obstack_base,
19864         obstack_blank, obstack_blank_fast, obstack_chunk_size,
19865         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
19866         obstack_grow0, obstack_init, obstack_int_grow,
19867         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
19868         obstack_next_free, obstack_object_size, obstack_ptr_grow,
19869         obstack_ptr_grow_fast, obstack_room): Remove declarations of
19870         nonexistent functions.
19871
19872 2004-05-18  Karl Berry  <karl@gnu.org>
19873
19874         * config/srclist.txt: break link for vasnprintf.c.
19875
19876 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19877
19878         Port obstack to the AS/400, where pointers are 16 bytes wide and
19879         you cannot cast an integer to a valid pointer.  This patch is
19880         currently waiting to be integrated into glibc; see
19881         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
19882
19883         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
19884         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
19885         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
19886         (struct obstack): temp member is now a union of a pointer and
19887         an integer, instead of an integer.  All integer uses changed.
19888         This does not affect the physical layout of struct obstack,
19889         except on hosts (like the AS/400) where the size or alignment of
19890         void * is greater than that of ptrdiff_t.
19891         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
19892         __STDC__)]: Store temporary in pointer member of union, not
19893         integer member.
19894         * lib/obstack.c: Include <stddef.h>, for offsetof.
19895         (struct fooalign): Remove; it doesn't need a name.
19896         (union fooround): Change double to long double, and add void *.
19897         (DEFAULT_ALIGNMENT): Use offsetof to compute.
19898         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
19899         not a macro.  Hence the values are always int; so remove all
19900         casts-to-int in uses.
19901
19902 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19903
19904         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
19905         we can get this patch merged into glibc.
19906
19907 2004-05-17  Derek R. Price  <derek@ximbiot.com>
19908             Paul Eggert  <eggert@cs.ucla.edu>
19909
19910         * m4/argp: Depend on alloca.
19911
19912 2004-05-17  Derek R. Price  <derek@ximbiot.com>
19913             Paul Eggert  <eggert@cs.ucla.edu>
19914
19915         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
19916         freecoding.
19917
19918 2004-05-17  Bruno Haible  <bruno@clisp.org>
19919
19920         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
19921         precision that consists of a '.' followed by an empty digit string.
19922         Patch by Tor Lillqvist <tml@iki.fi>.
19923
19924 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19925
19926         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
19927         for backward compatibility with older code.  We need our own
19928         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
19929         it under some other name, and our alloca.h will define it.
19930
19931 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19932             Derek Price  <derek@ximbiot.com>
19933
19934         * lib/alloca.c: Include <alloca.h>, to get our interface.
19935         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
19936         include <alloca.h> first.  Use C89 prototype for alloca; this
19937         requires including <stddef.h> for size_t.  Use extern "C" if C++.
19938         Use #elif for simplicity, since we can assume C89 now.
19939         Don't try to source the system alloca.h since it will not be found
19940         and to prevent recursively including its replacement.
19941         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
19942         * lib/regex.c: Likewise.
19943
19944 2004-05-16  Derek Price  <derek@ximbiot.com>
19945             Paul Eggert  <eggert@cs.ucla.edu>
19946
19947         getline cleanup.  This changes the getndelim2 API: both order of
19948         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
19949         no delimiter).
19950
19951         * lib/getline.c: Don't include stddef.h or stdio.h, since our
19952         interface does that.
19953         (getline): Always use getdelim, so that we don't have two
19954         copies of this code.
19955         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
19956         if available.
19957         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
19958         (GETNDELIM2_MAXIMUM): New macro.
19959         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
19960         instead of the old practice of delim2==0.  All callers changed.
19961         Return -1 on overflow, instead of returning junk.
19962         Do not set *linesize unless allocation succeeds.
19963         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
19964         that we include sys/types.h.
19965         * lib/getnline.h: Likewise.
19966         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
19967         (getndelim2): Reorder arguments.
19968         * lib/getnline.c (getnline, getndelim):
19969         Don't discard the NMAX argument.
19970         (getnline): Invoke getndelim, to avoid code duplication.
19971         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
19972         of (size_t) -1 by callers of the getnline family.
19973
19974 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
19975
19976         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
19977         Check for gettimeofday.
19978         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
19979         Check for settimeofday, stime.
19980
19981 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
19982
19983         * lib/nanosleep.c (suspended): Change its type from int to
19984         sig_atomic_t volatile.
19985         (first_call): Make it private to rpl_nanosleep, and have it
19986         be zero initially as that's a bit faster.
19987         (my_usleep): Round up fractional times instead of truncating them,
19988         as this is the usual meaning for 'sleep'.
19989
19990         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
19991         doesn't work.
19992         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
19993         (ENOSYS): Define if not defined.
19994         (settime): Fall back on stime if it exists and settimeofday fails.
19995         But don't bother with fallbacks if a method fails with errno == EPERM.
19996
19997 2004-05-11  Jim Meyering  <jim@meyering.net>
19998
19999         Prior to this change, the save_cwd caller required read access to the
20000         current directory on most systems (ones with the fchdir function).
20001
20002         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
20003         fails, try write-only, and finally, resort to using xgetcwd.
20004
20005 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
20006
20007         * lib/obstack.c, obstack.h: Import changes from libc.
20008
20009 2004-04-28  Bruno Haible  <bruno@clisp.org>
20010
20011         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
20012         also implicitly appends .exe to executables.
20013         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
20014         accepts Windows pathnames.
20015         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
20016         Treat Cygwin like Windows, since it now accepts Windows pathnames.
20017         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
20018         Treat Cygwin like Windows, since it now accepts Windows pathnames.
20019         Reported by Derek Robert Price <derek@ximbiot.com>.
20020
20021 2004-04-21  Karl Berry  <karl@gnu.org>
20022
20023         * config/srclist.txt (localcharset.c): break sync.
20024
20025 2004-04-20  Paul Eggert  <eggert@twinsun.com>
20026
20027         * m4/host-os.m4: Add a copyright notice.
20028
20029 2004-04-20  Jim Meyering  <jim@meyering.net>
20030
20031         Change UTILS_ to gl_ in AC_DEFINE'd names.
20032         Change utils_- and jm_-prefixed variables, too.
20033         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
20034         UTILS_FUNC_MKDIR_TRAILING_SLASH.
20035         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
20036
20037         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
20038         Don't emit trailing blanks.
20039         Also rename jm_-prefixed variables to have gl_ prefix.
20040
20041         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
20042         Also rename jm_-prefixed variables to have gl_ prefix.
20043
20044         * m4/jm-macros.m4: Reflect the renamings.
20045         * m4/prereq.m4: Likewise.
20046
20047 2004-04-20  Jim Meyering  <jim@meyering.net>
20048
20049         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
20050         memory.
20051
20052 2004-04-20  Jim Meyering  <jim@meyering.net>
20053             Bruno Haible  <bruno@clisp.org>
20054
20055         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
20056         memory when realloc fails.
20057
20058 2004-04-19  Jim Meyering  <jim@meyering.net>
20059
20060         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
20061         now that readutmp.c may call `free (0)'.
20062
20063 2004-04-19  Bruno Haible  <bruno@clisp.org>
20064
20065         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
20066         * m4/inttypes_h.m4: Likewise.
20067         * m4/stdint_h.m4: Likewise.
20068         * m4/intmax_t.m4: Likewise.
20069         * m4/uintmax_t.m4: Likewise.
20070
20071 2004-04-18  Jim Meyering  <jim@meyering.net>
20072
20073         * m4/prereq.m4: Don't forbid jm_ prefix.
20074
20075         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
20076         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
20077         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
20078         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
20079         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
20080         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
20081         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
20082         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
20083         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
20084         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
20085         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
20086         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
20087         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
20088         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
20089         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
20090         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
20091         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
20092         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
20093         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
20094
20095 2004-04-18  Jim Meyering  <jim@meyering.net>
20096
20097         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
20098         failure, don't leak memory and do call END_UTMP_ENT.
20099
20100 2004-04-16  Jim Meyering  <jim@meyering.net>
20101
20102         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
20103         coreutils' stat program.
20104         (gl_PREREQ): Don't require jm_PREREQ_STAT.
20105
20106 2004-04-11  Paul Eggert  <eggert@twinsun.com>
20107
20108         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
20109         C89.
20110         (CHAR_BIT): Remove, since we assume C89.
20111         Include <stdint.h> if available, as per current Autoconf CVS advice.
20112
20113 2004-03-31  Jim Meyering  <jim@meyering.net>
20114
20115         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
20116         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
20117         * m4/xalloc.m4: Likewise.
20118
20119 2004-03-30  Paul Eggert  <eggert@twinsun.com>
20120
20121         Merge from coreutils.
20122
20123         * m4/inttostr.m4: New file.
20124         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
20125         Require AM_STDBOOL_H and gl_TIMESPEC instead.
20126         Require gl_CLOCK_TIME.
20127         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
20128
20129 2004-03-30  Paul Eggert  <eggert@twinsun.com>
20130
20131         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
20132         not bool, to be more consistent with Unix conventions.
20133         Suggested by Bruno Haible.
20134
20135         Merge from coreutils.
20136
20137         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
20138         * lib/umaxtostr.c: New files.
20139
20140         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
20141         the usual <time.h> dance.
20142         (get_date): Change signature to support fractional time stamps.
20143         All callers changed.
20144         * lib/getdate.y: Include "getdate.h" first, as we can now
20145         assume C89 and don't need to worry about 'const'.
20146         Similarly, include "unlocked-io.h" near start, not in middle.
20147         Include <limits.h>.
20148         (textint.value): Use long int rather than int.
20149         (textint.digits): Use size_t rather than int.
20150         (BILLION, LOG10_BILLION): New constants.
20151         (parser_control): New member rel_ns.  Members day_ordinal,
20152         time_zone, month, day, hour, minutes, rel_year, rel_month,
20153         rel_day, rel_hour, rel_minutes, rel_seconds
20154         are now long int, not int.  Member seconds is now struct timespec,
20155         not int.  New member timespec_seen.  Members dates_seen, days_seen,
20156         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
20157         not int.
20158         (%union.intval): Now long int, not int.
20159         New member timespec.
20160         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
20161         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
20162         (spec): Now is a timespec or an item list.
20163         (timespec, items): New nonterminals.
20164         (time, rel, relunit, number, get_date):
20165         Add support for fractional seconds.
20166         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
20167         (gmtime, localtime, mktime): Remove decls; not needed with C89.
20168         (to_hour): First arg is now long int, not int.
20169         (to_year): Returns long int, not int.
20170         Don't treat year -70 like 70.
20171         (tm_diff): Returns long int, not int.
20172         (lookup_word): Use bool instead of int when appropriate.
20173         (yylex): Use size_t for count, not int.
20174         Detect overflow when parsing large integer constants.
20175         Add support for fractions.
20176         (get_date): Make pointers 'const' if possible.
20177         Use more-portable code to detect integer overflow.
20178         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
20179         Don't use ctime; it's not reliable if the year has >4 digits.
20180
20181         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
20182         This is for compatibility with BSD.
20183
20184         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
20185         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
20186         From coreutils' system.h.
20187
20188         * lib/userspec.c: Don't include "posixver.h".
20189         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
20190         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
20191         compatible extension.  Simplify code by removing a boolean int
20192         that was always nonzero if a string was nonnull.
20193
20194 2004-03-30  Jim Meyering  <jim@meyering.net>
20195
20196         Merge from coreutils.
20197
20198         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
20199         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
20200         on some systems one must include <grp.h> before it.
20201         Reported by Christian Krackowizer.
20202
20203 2004-03-30  Jim Meyering  <jim@meyering.net>
20204
20205         Merge from coreutils.
20206
20207         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
20208
20209         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
20210         an empty input stream.
20211
20212         * lib/readtokens.c: Include <stdbool.h>.
20213         (readtoken): Use `size_t' rather than int/long.
20214         All callers adjusted.
20215         Use `bool' rather than `int' where appropriate.
20216         Use memset rather than an explicit loop.
20217         Use x2nrealloc rather than xrealloc.
20218         Allow the use of `\0' as a delimiter.
20219         (readtokens): Likewise.
20220         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
20221
20222 2004-03-30  Jim Meyering  <jim@meyering.net>
20223
20224         * m4/realloc.m4: Remove file, since now it does no more than
20225         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
20226         the `configure.ac' section of module/realloc.
20227         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
20228
20229 2004-03-30  Bruno Haible  <bruno@clisp.org>
20230
20231         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
20232         nonnull.
20233
20234 2004-03-29  Paul Eggert  <eggert@twinsun.com>
20235
20236         Merge changes to getloadavg.c from coreutils and Emacs.
20237
20238         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
20239         Define to an expression, not to the empty string.
20240         Include cloexec.h and xalloc.h.
20241         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
20242         Use set_cloexec_flag rather than rolling our own.
20243         * lib/cloexec.c, lib/cloexec.h: New files.
20244
20245 2004-03-29  Paul Eggert  <eggert@twinsun.com>
20246
20247         * m4/cloexec.m4: New file.
20248
20249 2004-03-18  Paul Eggert  <eggert@twinsun.com>
20250
20251         * lib/getopt.h: Sync with libc CVS.
20252
20253 2004-03-18  Paul Eggert  <eggert@twinsun.com>
20254             Bruno Haible  <bruno@clisp.org>
20255
20256         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
20257         mbswidth.
20258
20259 2004-03-18  Paul Eggert  <eggert@twinsun.com>
20260             Bruno Haible  <bruno@clisp.org>
20261
20262         * lib/mbswidth.h: Include <wchar.h> only if
20263         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
20264         <wchar.h>.
20265         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
20266
20267 2004-03-09  Paul Eggert  <eggert@twinsun.com>
20268
20269         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
20270         Sync with libc CVS.
20271         * lib/getopt_int.h: New file, also synced from libc.
20272
20273 2004-03-09  Paul Eggert  <eggert@twinsun.com>
20274
20275         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
20276         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
20277         Bring back getopt.c, getopt.h, getopt1.c.
20278
20279 2004-03-07  Paul Eggert  <eggert@twinsun.com>
20280
20281         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
20282         All uses changed.  Check for sa_sigaction member; this fixes
20283         a bug first reported by Jason Andrade in
20284         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
20285
20286 2004-03-07  Paul Eggert  <eggert@twinsun.com>
20287
20288         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
20289         '#if' expressions.  Unlike the code it replaces, it does not
20290         depend on (defined _SC_PAGESIZE).  However, it does depend on
20291         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
20292         first reported by Jason Andrade in
20293         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
20294
20295 2004-02-25  Simon Josefsson  <jas@extundo.com>
20296
20297         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
20298
20299 2004-02-25  Simon Josefsson  <jas@extundo.com>
20300
20301         * lib/strdup.h: New file.
20302         * lib/strdup.c: Include it.
20303         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
20304         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
20305
20306 2004-02-23  Karl Berry  <karl@gnu.org>
20307
20308         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
20309         (from fencepost.gnu.org:/gd/gnuorg).
20310
20311 2004-02-23  Karl Berry  <karl@gnu.org>
20312
20313         * config/srclistvars.sh (GNUORG) [karl]: redefine.
20314         * config/srclist.txt: add maintain/standards documents.
20315
20316 2004-02-18  Bruno Haible  <bruno@clisp.org>
20317
20318         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
20319         Reported by Derek Robert Price <derek@ximbiot.com>.
20320
20321 2004-02-16  Karl Berry  <karl@gnu.org>
20322
20323         * config/mkinstalldirs, install-sh: update from automake.
20324
20325 2004-02-06  Karl Berry  <karl@gnu.org>
20326
20327         * m4/po.m4: update from gettext 0.14.1.
20328
20329 2004-02-06  Karl Berry  <karl@gnu.org>
20330
20331         * lib/config.charset: update from gettext 0.14.1.
20332
20333 2004-02-05  Paul Eggert  <eggert@twinsun.com>
20334
20335         Add comments and code, prompted by suggestions from Bruno Haible
20336         for sh-quote.
20337         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
20338         describing the enum quoting_style values.
20339         * lib/quotearg.c (quotearg_alloc): New function.
20340         (quotearg_buffer_restyled): Treat lone { and } as special.
20341         Treat = as special.  Work around bug with older shells
20342         that "see" a '\' that is really the 2nd byte of a multibyte char.
20343         Quote empty string with shell_quoting_style.
20344
20345 2004-02-03  Bruno Haible  <bruno@clisp.org>
20346
20347         * m4/pipe.m4: New file, from GNU gettext.
20348
20349 2004-02-03  Bruno Haible  <bruno@clisp.org>
20350
20351         * lib/pipe.h: New file, from GNU gettext.
20352         * lib/pipe.c: New file, from GNU gettext.
20353
20354 2004-01-27  Bruno Haible  <bruno@clisp.org>
20355
20356         * m4/execute.m4: New file, from GNU gettext.
20357
20358 2004-01-27  Bruno Haible  <bruno@clisp.org>
20359
20360         * lib/execute.h: New file, from GNU gettext.
20361         * lib/execute.c: New file, from GNU gettext.
20362         * lib/w32spawn.h: New file, from GNU gettext.
20363
20364 2004-01-24  Paul Eggert  <eggert@twinsun.com>
20365
20366         Merge from diffutils.
20367
20368         * lib/file-type.c (file_type): Add typed memory objects.
20369         * lib/file-type.h (S_TYPEISTMO): New macro.
20370
20371         * lib/c-stack.h (c_stack_action): Remove argv argument.
20372         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
20373         (die): Don't calculate message unless segv_action returns.
20374         (get_stack_location, min_address_from_argv, max_address_from_argv,
20375         volatile stack_base, volatile_stack_size): Remove.
20376         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
20377         that every segmentation violation is a stack overflow.  (Ouch!)
20378         See Debian bug 136249 (still outstanding) for more info about why
20379         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
20380
20381 2004-01-24  Paul Eggert  <eggert@twinsun.com>
20382
20383         Exit-status fix from coreutils.
20384
20385         Use exit_failure consistently in place of EXIT_FAILURE,
20386         so that program exit statuses are consistent on failure.
20387
20388         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
20389         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
20390         * lib/argmatch.h: Comment fix to match the above.
20391         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
20392         Now a macro referring to exit_failure, instead of a separate
20393         variable.  Include "exitfail.h" to get it.
20394         * lib/xstrtol.h: Include "exitfail.h".
20395         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
20396
20397         * lib/long-options.c (parse_long_options): Use prototype
20398         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
20399         for clarity.
20400
20401 2004-01-21  Jim Meyering  <jim@meyering.net>
20402
20403         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
20404         so as not to conflict with a different-sized __mktime_internal
20405         function in GNU libc.
20406         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
20407         Problem building statically-linked `ls' reported by Michael Brunnbauer.
20408
20409 2004-01-20  Karl Berry  <karl@gnu.org>
20410
20411         * config/config.guess: update from config.
20412
20413         * config/srclistvars.sh: GNUWWWLICENSES for karl.
20414
20415 2004-01-20  Bruno Haible  <bruno@clisp.org>
20416
20417         Safer stack allocation.
20418         * lib/setenv.c: Include allocsa.h.
20419         (alloca): Remove fallback definition.
20420         (freea): Remove macro.
20421         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
20422         instead of freea.
20423
20424 2004-01-20  Bruno Haible  <bruno@clisp.org>
20425
20426         * m4/eealloc.m4: New file, from GNU gettext.
20427
20428 2004-01-20  Bruno Haible  <bruno@clisp.org>
20429
20430         * m4/allocsa.m4: New file, from GNU gettext.
20431
20432 2004-01-20  Bruno Haible  <bruno@clisp.org>
20433
20434         * lib/xallocsa.h: New file, from GNU gettext.
20435         * lib/xallocsa.c: New file, from GNU gettext.
20436
20437 2004-01-20  Bruno Haible  <bruno@clisp.org>
20438
20439         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
20440
20441 2004-01-20  Bruno Haible  <bruno@clisp.org>
20442
20443         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
20444         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
20445         specially.
20446
20447 2004-01-20  Bruno Haible  <bruno@clisp.org>
20448
20449         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
20450         patch.
20451
20452 2004-01-20  Bruno Haible  <bruno@clisp.org>
20453
20454         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
20455
20456 2004-01-20  Bruno Haible  <bruno@clisp.org>
20457
20458         * lib/eealloc.h: New file.
20459
20460 2004-01-20  Bruno Haible  <bruno@clisp.org>
20461
20462         * lib/binary-io.h: Avoid warnings on Cygwin.
20463
20464 2004-01-20  Bruno Haible  <bruno@clisp.org>
20465
20466         * lib/allocsa.h: New file, from GNU gettext.
20467         * lib/allocsa.c: New file, from GNU gettext.
20468
20469 2004-01-18  Karl Berry  <karl@gnu.org>
20470
20471         * doc/gpl.texi, doc/lgpl.texi: new files.
20472
20473 2004-01-18  Karl Berry  <karl@gnu.org>
20474
20475         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
20476         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
20477
20478 2004-01-15  Paul Eggert  <eggert@twinsun.com>
20479
20480         Merge from coreutils.
20481
20482         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
20483         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
20484         (gl_DEFAULT_POSIX2_VERSION): Move
20485         the documentation from 'configure' into 'config.hin',
20486         so that 'configure --help' isn't burdened by it and
20487         we don't have to worry about its formatting there.
20488         Reword the documentation so that it's more succinct
20489         and can be run together into a single paragraph.
20490         * m4/same.m4 (gl_SAME): Check for pathconf.
20491
20492 2004-01-15  Paul Eggert  <eggert@twinsun.com>
20493
20494         Merge from coreutils.
20495
20496         * lib/posixver.c: Include posixver.h.
20497
20498         * lib/same.c: Include <stdbool.h>, <limits.h>.
20499         (_POSIX_NAME_MAX): Define if not defined.
20500         (MIN): New macro.
20501         (same_name): If file names are silently truncated, report
20502         that the file names are the same if they are the same after
20503         the silent truncation.
20504
20505         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
20506         conversion function.
20507         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
20508         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
20509         longer needed.
20510
20511 2004-01-15  Jim Meyering  <jim@meyering.net>
20512
20513         Merge from coreutils.
20514
20515         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
20516         if no library is required.
20517         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
20518         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
20519         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
20520         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
20521         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
20522         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
20523         value, $ac_cv_search_crypt, if it's "none required".
20524         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
20525         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
20526         not gl_FUNC_GETLOADAVG.
20527         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
20528         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
20529
20530 2004-01-15  Jim Meyering  <jim@meyering.net>
20531
20532         Merge from coreutils.
20533
20534         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
20535         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
20536         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
20537
20538         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
20539         optional configure-time default.
20540
20541         * lib/version-etc.c (version_etc_copyright): Update copyright date.
20542
20543         * lib/xreadlink.c (xreadlink): Correct outdated comment.
20544
20545 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
20546
20547         Merge from coreutils.
20548
20549         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
20550         value, $ac_cv_search_nanosleep, if it's "none required".
20551
20552 2004-01-14  Paul Eggert  <eggert@twinsun.com>
20553
20554         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
20555         with like-named macro in fnmatch.c.
20556         (EXT): Use an internal constant instead.
20557
20558         Merge fnmatch patches from glibc.
20559         * lib/fnmatch.c (mbsinit): Remove define.
20560         Add libc_hidden_ver (__fnmatch, fnmatch).
20561         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
20562         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
20563
20564 2004-01-14  Karl Berry  <karl@gnu.org>
20565
20566         * config/install-sh: update from automake.
20567
20568 2004-01-13  Karl Berry  <karl@gnu.org>
20569
20570         * config/install-sh: update from automake.
20571
20572 2004-01-09  Karl Berry  <karl@gnu.org>
20573
20574         * config/install-sh: update from automake.
20575
20576 2004-01-05  Karl Berry  <karl@gnu.org>
20577
20578         * config/config.{sub,guess}: update from config.
20579
20580 2003-12-31  Karl Berry  <karl@gnu.org>
20581
20582         * config/depcomp: update from automake.
20583
20584 2003-12-14  Karl Berry  <karl@gnu.org>
20585
20586         * lib/config.charset: update from gettext-runtime.
20587
20588 2003-12-03  Paul Eggert  <eggert@twinsun.com>
20589
20590         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
20591         Bug reported by Alfred M. Szmidt.
20592
20593 2003-12-03  Bruno Haible  <bruno@clisp.org>
20594
20595         * m4/gettext.m4: Upgrade from gettext-0.13.
20596         * m4/po.m4: Upgrade from gettext-0.13.
20597         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
20598         * m4/intmax.m4: New file, from gettext-0.13.
20599         * m4/printf-posix.m4: New file, from gettext-0.13.
20600
20601 2003-11-29  Karl Berry  <karl@gnu.org>
20602
20603         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
20604
20605 2003-11-25  Paul Eggert  <eggert@twinsun.com>
20606             Bruno Haible  <bruno@clisp.org>
20607
20608         * lib/printf-parse.h: Don't include sys/types.h.
20609         (ARG_NONE): New macro.
20610         (char_directive): Change type of *arg_index fields to size_t.
20611         * lib/printf-parse.c: Don't include sys/types.h.
20612         (SSIZE_MAX): Remove macro.
20613         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
20614         Remove unnecessary overflow check.
20615         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
20616         fields.
20617
20618 2003-11-25  Bruno Haible  <bruno@clisp.org>
20619
20620         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
20621
20622 2003-11-25  Bruno Haible  <bruno@clisp.org>
20623
20624         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
20625         gt_TYPE_SSIZE_T.
20626
20627 2003-11-24  Paul Eggert  <eggert@twinsun.com>
20628
20629         * modules/alloca: Remove dependency on xalloc.
20630
20631 2003-11-24  Paul Eggert  <eggert@twinsun.com>
20632
20633         * lib/alloca.c: Remove dependency on xalloc module.
20634         (xalloc_die): Remove.
20635         (memory_full) [!defined emacs]: New macro.
20636         [!defined emacs]: Don't include xalloc.h.
20637         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
20638         address arithmetic overflows.  Change datatypes a bit to avoid
20639         unnecessary casts.
20640
20641 2003-11-22  Jim Meyering  <jim@meyering.net>
20642
20643         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
20644         s/size/size_t/.
20645
20646 2003-11-21  Karl Berry  <karl@gnu.org>
20647
20648         * config/config.{sub,guess}: update from config.
20649
20650 2003-11-18  Karl Berry  <karl@gnu.org>
20651
20652         * config/config.{sub,guess}: update from config.
20653
20654         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
20655
20656 2003-11-17  Paul Eggert  <eggert@twinsun.com>
20657
20658         * README: Mention that S+T cannot overflow if S is the size of
20659         an existing object and T is sufficiently small.
20660
20661 2003-11-17  Jim Meyering  <jim@meyering.net>
20662
20663         On systems without utime and without a utimes function capable of
20664         dealing with a NULL struct utimbuf* argument, this utime replacement
20665         could -- in unusual circumstances -- leak a file descriptor.
20666         * lib/utime.c: Include <unistd.h> and <errno.h>.
20667         (utime_null): Be sure to close `fd' and to preserve errno.
20668         Reported by Geoff Collyer via Arnold Robbins.
20669
20670 2003-11-17  Bruno Haible  <bruno@clisp.org>
20671
20672         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
20673         (Depends-on): Add xsize.
20674
20675 2003-11-17  Bruno Haible  <bruno@clisp.org>
20676
20677         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
20678
20679 2003-11-17  Bruno Haible  <bruno@clisp.org>
20680
20681         * lib/vasnprintf.c (alloca): Remove fallback definition.
20682         (freea): Remove definition.
20683         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
20684         Reported by Paul Eggert.
20685
20686 2003-11-16  Paul Eggert  <eggert@twinsun.com>
20687             Bruno Haible  <bruno@clisp.org>
20688
20689         Protect against address arithmetic overflow.
20690         * lib/printf-args.h: Include stddef.h.
20691         (arguments): Change type of field 'count' to size_t.
20692         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
20693         'unsigned int' where appropriate.
20694         * lib/printf-parse.h: Include sys/types.h.
20695         (char_directive): Change type of *arg_index fields to ssize_t.
20696         (char_directives): Change type of fields 'count', max_*_length to
20697         size_t.
20698         * lib/printf-parse.c: Include sys/types.h and xsize.h.
20699         (SSIZE_MAX): Define fallback value.
20700         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
20701         instead of 'int' where appropriate. Check a_allocated, d_allocated
20702         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
20703         * lib/vasnprintf.c: Include xsize.h.
20704         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
20705         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
20706         overflow. Avoid wraparound when converting a width or precision from
20707         decimal to binary.
20708
20709 2003-11-16  Bruno Haible  <bruno@clisp.org>
20710
20711         Update from GNU gettext.
20712         * lib/printf-parse.c: Generalize to it can be compiled for wide
20713         strings.
20714         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
20715         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
20716         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
20717         SNPRINTF): New macros.
20718         Don't include <alloca.h> if the file is used inside libintl.
20719         (local_wcslen): New function, for Solaris 2.5.1.
20720         (VASNPRINTF): Use it instead of wcslen.
20721
20722 2003-11-16  Bruno Haible  <bruno@clisp.org>
20723
20724         * lib/xsize.h (xmax): New function.
20725         (xsum, xsum3, xsum4): Declare as "pure" functions.
20726
20727 2003-11-12  Paul Eggert  <eggert@twinsun.com>
20728
20729         * modules/xalloc (Files): Undo latest change, since xalloc.h
20730         no longer needs SIZE_MAX or PTRDIFF_MAX.
20731
20732 2003-11-12  Paul Eggert  <eggert@twinsun.com>
20733
20734         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
20735         gl_PTRDIFF_MAX.
20736
20737 2003-11-12  Paul Eggert  <eggert@twinsun.com>
20738
20739         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
20740         "return", to pacify some unknown compiler.  Problem reported
20741         by Joerg Schilling.
20742
20743 2003-11-12  Paul Eggert  <eggert@twinsun.com>
20744
20745         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
20746         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
20747         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
20748         heuristic is just as accurate as far as we know, and it removes a
20749         dependency on size_max.m4 and ptrdiff_max.m4.
20750
20751 2003-11-11  Bruno Haible  <bruno@clisp.org>
20752
20753         * modules/xsize (Files): Add m4/size_max.m4.
20754         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
20755
20756 2003-11-11  Bruno Haible  <bruno@clisp.org>
20757
20758         * m4/size_max.m4: New file.
20759         * m4/ptrdiff_max.m4: New file.
20760         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
20761         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
20762         (gl_XALLOC): Invoke it.
20763
20764 2003-11-11  Bruno Haible  <bruno@clisp.org>
20765
20766         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
20767         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
20768         defined.
20769
20770 2003-11-10  Paul Eggert  <eggert@twinsun.com>
20771
20772         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
20773         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
20774         rejected some allocations of exactly SIZE_MAX - 2 bytes.
20775         From Bruno Haible.
20776         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
20777         not (size_t) -1, since it's defined here.
20778
20779 2003-11-09  Karl Berry  <karl@gnu.org>
20780
20781         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
20782
20783 2003-11-06  Paul Eggert  <eggert@twinsun.com>
20784
20785         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
20786         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
20787         Reject sizes of exactly SIZE_MAX bytes.
20788         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
20789         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
20790
20791 2003-11-05  Bruno Haible  <bruno@clisp.org>
20792
20793         * lib/xsize.h: Include limits.h, to avoid a possible collision with
20794         SIZE_MAX defined in <limits.h> on Solaris.
20795
20796 2003-11-04  Jim Meyering  <jim@meyering.net>
20797
20798         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
20799         variable names, rather than @VAR@.
20800         * modules/poll: Likewise.
20801
20802 2003-11-04  Bruno Haible  <bruno@clisp.org>
20803
20804         * modules/xsize: New file.
20805         * modules/linebreak: Depend on xsize.
20806         * MODULES.html.sh (func_all_modules): Add xsize.
20807
20808 2003-11-04  Bruno Haible  <bruno@clisp.org>
20809
20810         * m4/xsize.m4: New file.
20811
20812 2003-11-04  Bruno Haible  <bruno@clisp.org>
20813
20814         * lib/xsize.h: New file.
20815         * lib/linebreak.c: Include xsize.h.
20816         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
20817         argument for overflow.
20818         Suggested by Paul Eggert.
20819
20820 2003-11-03  Karl Berry  <karl@gnu.org>
20821
20822         * config/config.{guess,sub}: update from config.
20823
20824 2003-11-03  Jim Meyering  <jim@meyering.net>
20825
20826         * modules/userspec (lib_SOURCES): Add userspec.h.
20827         (Include): Add "userspec.h".
20828         Improve description.
20829
20830 2003-11-03  Jim Meyering  <jim@meyering.net>
20831
20832         * lib/userspec.c: Include "userspec.h".
20833         * lib/userspec.h: New file.
20834
20835 2003-11-03  Bruno Haible  <bruno@clisp.org>
20836
20837         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
20838
20839 2003-11-03  Bruno Haible  <bruno@clisp.org>
20840
20841         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
20842         available, to avoid (extremely rare) race condition.
20843         Suggested by Paul Eggert.
20844
20845 2003-11-02  Karl Berry  <karl@gnu.org>
20846
20847         * config/srclist.txt (vasprintf.c): sync broken, sigh.
20848
20849 2003-10-31  Paul Eggert  <eggert@twinsun.com>
20850
20851         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
20852         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
20853         (read_filesystem_list): Set and use me_type_malloced.
20854         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
20855         whatever the type happens to be), for brevity and consistency.
20856         Check for size calculation overflow on Alphas running OSF/1.
20857
20858 2003-10-31  Jim Meyering  <jim@meyering.net>
20859
20860         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
20861
20862         * lib/linebuffer.c: Include <string.h> for declaration of memset.
20863
20864 2003-10-30  Paul Eggert  <eggert@twinsun.com>
20865             Bruno Haible  <bruno@clisp.org>
20866
20867         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
20868         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
20869
20870 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20871
20872         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
20873         netbsd*-gnu*.  Suggested by Robert Millan.
20874
20875 2003-10-29  Paul Eggert  <eggert@twinsun.com>
20876
20877         * modules/group-member: Depend on stdbool.
20878
20879 2003-10-29  Paul Eggert  <eggert@twinsun.com>
20880
20881         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
20882
20883 2003-10-29  Paul Eggert  <eggert@twinsun.com>
20884
20885         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
20886         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
20887         after the 'gnu' in these cases.  This fixes some bugs in the
20888         previous change, and is based on suggestions by Robert Millan.
20889
20890 2003-10-29  Paul Eggert  <eggert@twinsun.com>
20891
20892         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
20893         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
20894         no longer needed.
20895         * lib/quotearg.c (quotearg_n_options): Use it.
20896         * lib/group-member.c: Include <stdbool.h>.
20897         (free_group_info): Arg is now const *; don't free arg.
20898         (get_group_info): Now returns bool and accepts struct group_info *,
20899         rather than returning a malloc'ed struct group_info *.
20900         All uses changed.  Check for overflow in internal size calculation.
20901
20902         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
20903         rather than xmalloc/xrealloc.
20904         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
20905         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
20906         conformance bug: the old code used a pointer after freeing the
20907         storage that it addressed.
20908         * lib/hash.c (hash_initialize): Simplify the code by using
20909         xalloc_oversized rather than doing it by hand.
20910         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
20911         the buffer preserved.  Use free and xmalloc instead.
20912         * lib/quotearg.c (quotearg_n_options): Likewise.
20913         Use a simpler test for size overflow.  Don't use xalloc_oversized
20914         because unsigned int might be wider than size_t (!); this suggests
20915         that we should switch from unsigned int to size_t for slot numbers.
20916
20917 2003-10-28  Paul Eggert  <eggert@twinsun.com>
20918
20919         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
20920         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
20921         NetBSD kernels.  Requested by Richard Stallman.
20922
20923 2003-10-27  Paul Eggert  <eggert@twinsun.com>
20924
20925         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
20926         to allocate the returned structure.  Do not allocate a subarray,
20927         as x2nrealloc will do that.
20928         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
20929         instead of xnrealloc.
20930         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
20931
20932 2003-10-27  Bruno Haible  <bruno@clisp.org>
20933
20934         * lib/stdbool_.h: Better support for BeOS.
20935
20936 2003-10-26  Paul Eggert  <eggert@twinsun.com>
20937
20938         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
20939         now uses inline.
20940
20941 2003-10-26  Paul Eggert  <eggert@twinsun.com>
20942
20943         * lib/xalloc.h (xalloc_oversized): New static inline function, for
20944         callers that want to do their own size-overflow checking.  Include
20945         <stdbool.h>, since xalloc_oversized returns bool.
20946         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
20947         to use xalloc_oversized.
20948
20949         Add two functions x2realloc, x2nrealloc, for programs that grow
20950         arrays dynamically by doubling their sizes.
20951         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
20952         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
20953         New functions.
20954
20955         Port to C99 semantics for 'inline' of external functions.
20956         Bug reported by Bruno Haible.
20957         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
20958         with the old contents of xnmalloc.
20959         (xnmalloc, xmalloc): Use it.
20960         (xnrealloc_inline): New static inline function,
20961         with the old contents of xnrealloc.
20962         (xnrealloc, xrealloc): Use it.
20963
20964         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
20965         that.
20966
20967 2003-10-26  Karl Berry  <karl@gnu.org>
20968
20969         * config/srclist.txt (COPYING.DOC): no longer available from
20970         /gd/gnuorg; don't know where the ultimate source is.
20971
20972 2003-10-25  Paul Eggert  <eggert@twinsun.com>
20973
20974         Fix several address-calculation bugs in the hash modules,
20975         plus some minor code cleanup.
20976
20977         * lib/hash.h: Include <stdbool.h>, for bool.
20978         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
20979         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
20980         hash_get_n_entries, hash_get_max_bucket_length,
20981         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
20982         hash_rehash): Use size_t rather than unsigned.
20983         * lib/hash.c (struct hash_table, hash_get_n_buckets,
20984         hash_get_n_buckets_used, hash_get_n_entries,
20985         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
20986         hash_get_entries, hash_do_for_each, hash_string, is_prime,
20987         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
20988         Likewise.
20989         (SIZE_MAX): Define if not defined.
20990         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
20991         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
20992         hash_print):
20993         Use const * when possible.
20994         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
20995         (check_tuning): Fix bug: if tuning parameters were very close to
20996         0 or 1, rounding errors could have caused subscript violations.
20997         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
20998         (hash_initialize): Add 'fail:' label
20999         to free table and return NULL, and use it to simplify code.
21000         Use calloc rather than clearing the storage ourself.
21001         (hash_initialize, hash_rehash): Check for arithmetic overflow in
21002         buffer size calculations.
21003         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
21004         Include <stddef.h>, for size_t.
21005         * lib/hash-pjw.c (hash_pjw): Likewise.
21006         Switch to method described by Bruno Haible.
21007         Include <limits.h>, for CHAR_BIT.
21008         (SIZE_BITS): New macro.
21009
21010 2003-10-23  Paul Eggert  <eggert@twinsun.com>
21011
21012         * m4/getline.m4 (AM_FUNC_GETLINE):
21013         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
21014         hosts.  Problem reported by Derek Robert Price in
21015         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
21016         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
21017         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
21018
21019 2003-10-21  Paul Eggert  <eggert@twinsun.com>
21020
21021         * lib/getndelim2.c (getndelim2): When size calculation overflows,
21022         ceiling the allocation at NMAX bytes rather than silently
21023         discarding input bytes before NMAX is reached.  This makes
21024         a difference only if NMAX exceeds SIZE_MAX / 2.
21025
21026         * lib/obstack.c: Merge from glibc.
21027         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
21028         Add libc_hidden_def (_obstack_newchunk).
21029         (_obstack_free) [! defined _LIBC]: Remove.
21030         [defined _LIBC]: Make a strong alias from obstack_free, rather than
21031         a clone of the function body.
21032         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
21033         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
21034
21035         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
21036         glibc.
21037         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
21038         arg to memcpy.
21039
21040         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
21041         (obstack_ptr_grow_fast, obstack_int_grow_fast):
21042         Don't use lvalue casts, as GCC plans to remove support for them
21043         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
21044         was also present in the non-GCC version, indicating that this
21045         code had always been buggy and had never been widely used.
21046         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
21047         Use the fast variant of each macro, rather than copying the
21048         definiens of the fast variant; that way, we'll be more likely to
21049         catch future bugs in the fast variants.
21050
21051 2003-10-20  Bruno Haible  <bruno@clisp.org>
21052
21053         * modules/wait-process: New file.
21054         * MODULES.html.sh (func_all_modules): Add wait-process.
21055
21056 2003-10-20  Bruno Haible  <bruno@clisp.org>
21057
21058         * m4/wait-process.m4: New file.
21059
21060 2003-10-20  Bruno Haible  <bruno@clisp.org>
21061
21062         * lib/wait-process.h: New file, from GNU gettext.
21063         * lib/wait-process.c: New file, from GNU gettext.
21064
21065 2003-10-19  Jim Meyering  <jim@meyering.net>
21066
21067         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
21068         HPUX 10.20.
21069
21070 2003-10-18  Karl Berry  <karl@gnu.org>
21071
21072         * config/config.guess: update from config.
21073
21074 2003-10-16  Paul Eggert  <eggert@twinsun.com>
21075
21076         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
21077         (getgroups): First arg is int, not size_t.
21078         Don't let 'free' mangle errno.
21079
21080 2003-10-16  Paul Eggert  <eggert@twinsun.com>
21081
21082         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
21083
21084 2003-10-16  Karl Berry  <karl@gnu.org>
21085
21086         * config/config.{guess,sub}: update from config.
21087
21088 2003-10-16  Jim Meyering  <jim@meyering.net>
21089
21090         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
21091         memcpy.
21092
21093 2003-10-15  Paul Eggert  <eggert@twinsun.com>
21094
21095         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
21096         (SIZE_MAX): Remove.
21097         (new_exclude, add_exclude_file): Initial size no longer needs to
21098         be a power of 2.
21099         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
21100         our own address arithmetic overflow checking.
21101
21102         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
21103         (fnmatch): Do not alloca more than 2000 wide characters;
21104         instead, use malloc for large buffers.
21105         Check for address arithmetic overflow, and return -1
21106         with errno set to ENOMEM in that case.
21107         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
21108         (NEW_PATTERN): Do not alloca more than 8000 bytes;
21109         instead, return -1.  Check for address arithmetic overflow.
21110
21111 2003-10-14  Paul Eggert  <eggert@twinsun.com>
21112
21113         Handle invalid suffixes and overflow independently, so that
21114         callers can treat them independently as needed.  Fix some bugs in
21115         suffix handling, e.g., "100k@" was not diagnosed as an invalid
21116         suffix for a human-readable blocksize.  The major caller-visible
21117         change is the addition of a new
21118         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
21119         that both overflow and suffix chars were found.
21120
21121         * lib/human.c (humblock): Don't check separately for invalid suffix
21122         char; that is xstrtoumax's job (now that its bug is fixed).
21123         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
21124         INTMAX_MAX]: New macros.
21125         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
21126         TYPE_MAXIMUM): New macros.
21127         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
21128         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
21129         if overflow occurs, as it's what __strtol does and it's more useful
21130         in practice.
21131         (__xstrtol): If __strtol reports some error other than ERANGE,
21132         reflect it to the caller as LONGINT_INVALID.  If it reports
21133         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
21134         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
21135         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
21136         value.
21137         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
21138         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
21139         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
21140         [defined UINTMAX_MAX]: New macros.
21141
21142 2003-10-14  Bruno Haible  <bruno@clisp.org>
21143
21144         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
21145
21146 2003-10-14  Bruno Haible  <bruno@clisp.org>
21147
21148         * m4/sig_atomic_t: New file, from GNU gettext.
21149         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
21150
21151 2003-10-14  Bruno Haible  <bruno@clisp.org>
21152
21153         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
21154         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
21155         Also use volatile where needed.
21156
21157 2003-10-12  Paul Eggert  <eggert@twinsun.com>
21158
21159         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
21160         Change maintainer from Bruno Haible to 'all'.
21161
21162 2003-10-12  Paul Eggert  <eggert@twinsun.com>
21163
21164         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
21165
21166 2003-10-12  Paul Eggert  <eggert@twinsun.com>
21167
21168         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
21169         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
21170         and define in terms of the other primitives.
21171         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
21172         (SIZE_MAX): Define if not already defined.
21173         (array_size_overflow): New function.
21174         (xalloc_die): Abort instead of exiting if 'error' returns.
21175         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
21176         (xmalloc, xrealloc): Use them.
21177         (xcalloc): Check for address arithmetic overflow.
21178         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
21179         a bit faster than strcpy.
21180
21181 2003-10-10  Simon Josefsson  <jas@extundo.com>
21182
21183         * modules/argp (Depends-on): Add restrict and strcase.
21184
21185 2003-10-10  Simon Josefsson  <jas@extundo.com>
21186
21187         * m4/argp.m4: Add AC_C_INLINE.
21188
21189 2003-10-08  Paul Eggert  <eggert@twinsun.com>
21190
21191         Merge getpass from libc, plus a few fixes.
21192
21193         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
21194         Include <stdbool.h>.
21195         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
21196         __fsetlocking to empty.
21197         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
21198         do include <bits/libc-lock.h>.
21199         Do not include <fcntl.h>; not needed.
21200         [_LIBC]: Include <wchar.h>.
21201         (NOTCANCEL_MODE): New macro.
21202         (flockfile, funlockfile) [_LIBC]: New macros.
21203         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
21204         [!_LIBC]: New macros.
21205         (call_fclose): New function.
21206         (getpass): Use it.  Save tty stream separately; this simplifies the
21207         code and makes it more reliable if stdin happens to equal stdout.
21208         Invoke __fsetlocking on tty.
21209         Handle thread cancellation if needed.
21210         Namespace cleanup (use __tcgetattr, __getline).
21211         Use bool for Booleans.
21212         [USE_IN_LIBIO]: Handle wide streams.
21213         [!_LIBC]: Unconditionally do the fseek, since we don't know what
21214         stream might go where.
21215
21216         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
21217         doesn't have to include <stdio.h> before us.
21218         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
21219         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
21220         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
21221         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
21222         if not declared, so that we can use getpass.c code from libc without
21223         rewriting it.
21224         (flockfile, ftrylockfile, funlockfile): New macros.
21225
21226 2003-10-08  Paul Eggert  <eggert@twinsun.com>
21227
21228         * modules/getpass: Depend on stdbool.
21229
21230 2003-10-08  Paul Eggert  <eggert@twinsun.com>
21231
21232         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
21233
21234 2003-10-07  Karl Berry  <karl@gnu.org>
21235
21236         * config/config.{guess,sub}: update from config.
21237
21238 2003-10-06  Jim Meyering  <jim@meyering.net>
21239             Bruno Haible  <bruno@clisp.org>
21240
21241         This lets translators provide better translations for the
21242         "Written by ..." part of --version output.
21243         * lib/version-etc.h: Include stdarg.h.
21244         (version_etc_copyright): Declare as readonly.
21245         (version_etc): Make this function variadic with a NULL-terminated list
21246         of author name strings.
21247         (version_etc_va): New declaration.
21248         * lib/version-etc.c: Include stdarg.h, stdlib.h.
21249         (version_etc_copyright): Declare as readonly.
21250         (version_etc_va): New function. Provide a different translatable string
21251         for each possible number of authors < 10. Abbreviate when there are 10
21252         authors or more.
21253         (version_etc): Make this function variadic. Call version_etc_va.
21254         Suggestion from Gary V. Vaughan.
21255
21256         * lib/long-options.h (parse_long_options): Change prototype: the
21257         authors string is moved to the end and becomes variadic.
21258         * lib/long-options.c: Include stdarg.h.
21259         (parse_long_options): Make this function variadic, too.
21260         Call version_etc_va, not version_etc.
21261
21262 2003-10-06  Bruno Haible  <bruno@clisp.org>
21263
21264         * modules/version-etc-2: Remove file.
21265         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
21266
21267 2003-10-06  Bruno Haible  <bruno@clisp.org>
21268
21269         * modules/fatal-signal: New file.
21270         * MODULES.html.sh (func_all_modules): Add fatal-signal.
21271
21272 2003-10-06  Bruno Haible  <bruno@clisp.org>
21273
21274         * m4/fatal-signal.m4: New file.
21275         * m4/signalblocking.m4: New file, from GNU gettext.
21276
21277 2003-10-06  Bruno Haible  <bruno@clisp.org>
21278
21279         * lib/version-etc-2.h: Remove file.
21280         * lib/version-etc-2.c: Remove file.
21281
21282 2003-10-06  Bruno Haible  <bruno@clisp.org>
21283
21284         * lib/fatal-signal.h: New file, from GNU gettext.
21285         * lib/fatal-signal.c: New file, from GNU gettext.
21286
21287 2003-10-05  Paul Eggert  <eggert@twinsun.com>
21288
21289         * README: Rework advice for preventing empty .o files.
21290         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
21291         not <sys/types.h>.
21292
21293 2003-10-04  Karl Berry  <karl@gnu.org>
21294
21295         * lib/argp*: update from libc.
21296
21297 2003-10-04  Karl Berry  <karl@gnu.org>
21298
21299         * config/config.{guess,sub}: update from config.
21300
21301 2003-10-02  Bruno Haible  <bruno@clisp.org>
21302
21303         * modules/lchown (Include): Add lchown.h.
21304         * modules/time_r (Include): Use "..." syntax.
21305         * modules/xgetdomainname (Include): Add xgetdomainname.h.
21306
21307 2003-10-01  Simon Josefsson  <jas@extundo.com>
21308
21309         * MODULES.html.sh (func_all_modules): Move gethostname from section
21310         'based on' to section 'lacking' POSIX:2001.
21311
21312 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
21313
21314         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
21315         to output mode on the same stream.
21316
21317 2003-09-29  Paul Eggert  <eggert@twinsun.com>
21318
21319         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
21320         Fix arg typo in previous patch.
21321
21322 2003-09-28  Jim Meyering  <jim@meyering.net>
21323
21324         * lib/error.c: Correct cpp indentation.
21325
21326 2003-09-27  Paul Eggert  <eggert@twinsun.com>
21327
21328         * modules/free: New file.
21329
21330 2003-09-27  Paul Eggert  <eggert@twinsun.com>
21331
21332         * m4/free.m4: New file.
21333
21334 2003-09-27  Paul Eggert  <eggert@twinsun.com>
21335
21336         * lib/minmax.h (MIN, MAX)
21337         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
21338         Omit the special code that used __typeof__, since we worry that
21339         it could be more trouble than it's worth.  See:
21340         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
21341         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
21342
21343         * lib/free.c: New file.
21344
21345 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
21346
21347         Trivial fixes to Makefile.am parts of module listings.
21348         * modules/strstr: Append strstr.h to lib_SOURCES.
21349         * modules/strcase: Likewise, for strcase.h.
21350
21351 2003-09-27  Karl Berry  <karl@gnu.org>
21352
21353         * config/mkinstalldirs: update from automake.
21354
21355 2003-09-26  Paul Eggert  <eggert@twinsun.com>
21356
21357         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
21358         (error_tail): Do not loop, reallocating temporary buffer, since
21359         the output cannot contain more wide characters than the input
21360         contains bytes, the size must be big enough already.  This avoids
21361         one potential size overflow calculation.  Check for size overflow
21362         when calculating temporary buffer size.  Free temporary buffer
21363         when done, if it was allocated with malloc; this plugs a memory
21364         leak.  Remove casts from void * to pointers, that are no longer
21365         needed now that we're assuming C89 or better.
21366
21367         Merge error changes from glibc.
21368
21369         * lib/error.c, error.h: Update copyright notice header to match glibc.
21370         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
21371         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
21372         Disable cancellation while printing error.
21373         * lib/error.h: Prepend __ to parameter names.
21374
21375 2003-09-26  Jim Meyering  <jim@meyering.net>
21376
21377         * lib/error.c (error_tail): Move some declarations
21378         into inner scope where the local variables are used.
21379
21380 2003-09-26  Bruno Haible  <bruno@clisp.org>
21381
21382         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
21383         stpncpy().
21384         Don't define stpncpy through config.h; it's now done through stpncpy.h.
21385
21386 2003-09-26  Bruno Haible  <bruno@clisp.org>
21387
21388         * lib/stpncpy.h (gnu_stpncpy): New declaration.
21389         (stpncpy): Define as alias for gnu_stpncpy.
21390         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
21391
21392 2003-09-25  Simon Josefsson  <jas@extundo.com>
21393
21394         * lib/xgetdomainname.h: New file.
21395         * lib/xgetdomainname.c: New file.
21396
21397 2003-09-25  Simon Josefsson  <jas@extundo.com>
21398             Bruno Haible  <bruno@clisp.org>
21399
21400         * modules/getdomainname: New file.
21401         * modules/xgetdomainname: New file.
21402         * MODULES.html.sh (func_all_modules): Add getdomainname,
21403         xgetdomainname.
21404
21405 2003-09-25  Simon Josefsson  <jas@extundo.com>
21406             Bruno Haible  <bruno@clisp.org>
21407
21408         * m4/getdomainname.m4: New file.
21409
21410 2003-09-25  Simon Josefsson  <jas@extundo.com>
21411             Bruno Haible  <bruno@clisp.org>
21412
21413         * lib/getdomainname.h: New file.
21414         * lib/getdomainname.c: New file.
21415
21416 2003-09-25  Karl Berry  <karl@gnu.org>
21417
21418         * lib/argp-fmtstream.c, argp-help.c: update from libc.
21419
21420 2003-09-25  Karl Berry  <karl@gnu.org>
21421
21422         * config/install-sh: update from automake.
21423
21424 2003-09-25  Bruno Haible  <bruno@clisp.org>
21425
21426         * modules/version-etc-2: New file, from modules/version-etc with
21427         modifications.
21428         * MODULES.html.sh (func_all_modules): Add version-etc-2.
21429
21430 2003-09-25  Bruno Haible  <bruno@clisp.org>
21431
21432         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
21433         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
21434
21435 2003-09-24  Simon Josefsson  <jas@extundo.com>
21436
21437         * modules/xgethostname: Add xgethostname.h.
21438
21439 2003-09-24  Paul Eggert  <eggert@twinsun.com>
21440
21441         * lib/linebuffer.c (freebuffer): Don't free the argument, just
21442         the buffer associated with the argument.  Bug reported by
21443         Simon Josefsson.
21444
21445 2003-09-24  Paul Eggert  <eggert@twinsun.com>
21446
21447         * README: Document assumptions that 'int' is at least 32 bits
21448         wide, that integer arithmetic is 2's complement without overflow,
21449         that there are no holes in integer values, that adding sizes of
21450         two nonoverlapping objects can't overflow, and that all-bits-zero
21451         yields scalar zero.  Fix spelling and capitalization typos.
21452
21453 2003-09-19  Karl Berry  <karl@gnu.org>
21454
21455         * lib/argp.h: update from libc.
21456
21457 2003-09-17  Paul Eggert  <eggert@twinsun.com>
21458
21459         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
21460         to avoid spurious warnings like "AC_RUN_IFELSE was called before
21461         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
21462
21463 2003-09-17  Paul Eggert  <eggert@twinsun.com>
21464
21465         * gnulib-tool: Use "test -h", not "test -L", for portability
21466         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
21467         (tags_regexp): Remove, since \| doesn't conform to POSIX.
21468         (sed_extract_prog): Issue s commands one-by-one, rather than
21469         using \| in one s command.
21470
21471 2003-09-16  Paul Eggert  <eggert@twinsun.com>
21472
21473         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
21474         input error, instead of returning NULL the next time we are called
21475         (and therefore losing track of errno).
21476
21477 2003-09-16  Bruno Haible  <bruno@clisp.org>
21478
21479         * gnulib-tool (func_create_testdir): Warn about duplicated
21480         dependencies.
21481
21482 2003-09-15  Paul Eggert  <eggert@twinsun.com>
21483
21484         * modules/argmatch, modules/fatal, modules/obstack,
21485         modules/xalloc, modules/xgethostname: Sort dependencies by
21486         importance, not alphabetically.
21487
21488 2003-09-15  Paul Eggert  <eggert@twinsun.com>
21489
21490         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
21491         fails, so that the caller gets the proper errno.
21492
21493         * lib/readutmp.c (read_utmp): Likewise.
21494         Check for fstat error.  Close stream and free storage
21495         when failing.
21496
21497 2003-09-14  Karl Berry  <karl@gnu.org>
21498
21499         * config/srclist.txt (strdup.c): disable for c89 changes.
21500
21501 2003-09-14  Jim Meyering  <jim@meyering.net>
21502
21503         * lib/getloadavg.c: Correct cpp indentation.
21504         * lib/strdup.c: Likewise.
21505         * lib/vasnprintf.c: Likewise.
21506
21507 2003-09-14  Bruno Haible  <bruno@clisp.org>
21508
21509         * modules/fwriteerror: New file.
21510         * MODULES.html.sh (func_all_modules): Add fwriteerror.
21511
21512 2003-09-14  Bruno Haible  <bruno@clisp.org>
21513
21514         * lib/fwriteerror.h: New file.
21515         * lib/fwriteerror.c: New file.
21516
21517 2003-09-12  Paul Eggert  <eggert@twinsun.com>
21518
21519         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
21520         modules/xgethostname, modules/xalloc: Depend on exit.
21521
21522 2003-09-12  Paul Eggert  <eggert@twinsun.com>
21523
21524         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
21525
21526         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
21527         and AC_MINIX, too, so that their extensions are available.
21528
21529         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
21530         This macro has been superseded by gl_BACKUPFILE.
21531
21532         More patches to assume C89 or better.
21533
21534         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
21535
21536         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
21537         unconditionally.
21538         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
21539         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
21540         Include <string.h>, <stdlib.h> unconditionally.
21541         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
21542         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
21543         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
21544         headers or for string.h.
21545         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
21546         or strtoul.
21547
21548         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
21549         headers.
21550         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
21551         * m4/userspec.m4 (gl_USERSPEC): Likewise.
21552         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
21553         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
21554         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
21555         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
21556         memcpy, memset.
21557         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
21558         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
21559         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
21560         strtol.
21561         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
21562         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
21563         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
21564         strtoul.
21565
21566 2003-09-12  Paul Eggert  <eggert@twinsun.com>
21567
21568         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
21569         * lib/obstack.c [!defined _LIBC]: Likewise.
21570         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
21571         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
21572         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
21573
21574         More changes to assume C89 or better.
21575
21576         * lib/error.c (error_tail): Assume vprintf.
21577
21578         * lib/argmatch.c (getenv): Remove decl.
21579         * lib/progreloc.c (get_full_program_name): Define via prototype.
21580         * lib/setenv.c (clearenv): Likewise.
21581         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
21582         needed.
21583         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
21584         (malloc, memcpy): Remove decls.
21585         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
21586         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
21587         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
21588         (memcpy): Remove macro.
21589         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
21590         (__P): Remove.  All uses removed.
21591         (PTR): Remove.  All uses changed to void *.
21592         (CHAR_BIT, NULL): Remove.
21593         (spaces, zeros, memset_space, memset_zero)
21594         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
21595         Remove.
21596         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
21597         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
21598         Define with prototype.
21599         Remove now-unnecessary prototype decl.
21600         (extra_args_spec): Assume ANSI C.  All uses changed.
21601         (extra_args_spec_iso): Remove.
21602         (my_strftime, emacs_strftimeu): Define via prototype.
21603         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
21604         unconditionally.
21605         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
21606         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
21607         (strtoul, strtol): Remove decls.
21608         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
21609         LONG_MAX): Remove.
21610         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
21611         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
21612         (LOCALE_PARAM_PROTO): New macro.
21613         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
21614         (INTERNAL (strtol), strtol): Define with a prototype.
21615         (PARAMS): Remove.  All uses removed.
21616         * lib/tempname.c: Include <string.h> unconditionally.
21617         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
21618         * lib/xgethostname.c (main): Define with a prototype.
21619         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
21620         Include <stdlib.h> unconditionally.
21621         (calloc, malloc, realloc, free): Remove decls.
21622         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
21623         Include <stdlib.h> unconditionally.  Sort include file names.
21624         (strtod): Remove.
21625         (xstrtod): Define with a prototype.
21626         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
21627         (strtol, strtoul): Remove decls.
21628
21629 2003-09-11  Paul Eggert  <eggert@twinsun.com>
21630
21631         More patches to assume C89 or better.
21632         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
21633         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
21634         string.h, memchr, STDC_HEADERS.
21635
21636 2003-09-11  Paul Eggert  <eggert@twinsun.com>
21637
21638         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
21639         Include <stdlib.h>, <string.h> unconditionally.
21640         Remove now-unnecessary cast to char *.
21641         * lib/strnlen.c: Include <string.h> unconditionally.
21642         * lib/yesno.c (yesno): Define with a prototype.
21643
21644 2003-09-11  Bruno Haible  <bruno@clisp.org>
21645
21646         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
21647
21648 2003-09-10  Jim Meyering  <jim@meyering.net>
21649
21650         * lib/error.c: Correct indentation of cpp directives.
21651
21652 2003-09-10  Bruno Haible  <bruno@clisp.org>
21653
21654         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
21655         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
21656         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
21657         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
21658         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
21659         <stdlib.h> and <string.h> checks.
21660         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
21661         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
21662
21663 2003-09-10  Bruno Haible  <bruno@clisp.org>
21664
21665         * lib/strcspn.c: Include <string.h> unconditionally.
21666         * lib/strpbrk.c: Include <string.h> unconditionally.
21667         * lib/strstr.c: Include <string.h> unconditionally.
21668         * lib/unicodeio.c: Include <string.h> unconditionally.
21669         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
21670         * lib/unsetenv.c: Likewise.
21671         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
21672         * lib/yesno.c: Include <stdlib.h> unconditionally.
21673         (rpmatch): Add prototype.
21674
21675 2003-09-09  Paul Eggert  <eggert@twinsun.com>
21676
21677         More patches to assume C89 or better.
21678         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
21679         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
21680         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
21681         or for string.h.
21682         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
21683         stdlib.h.
21684         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
21685         C headers.
21686         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
21687         string.h.
21688         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
21689         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
21690         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
21691         or for string.h.
21692         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
21693         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
21694         C headers.
21695         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
21696         memcpy.
21697         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
21698         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
21699         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
21700         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
21701         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
21702         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
21703         string.h, free.
21704         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
21705         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
21706         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
21707         C headers, or for string.h.
21708         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
21709         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
21710         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
21711         headers, memory.h, stdlib.h, string.h, strings.h.
21712         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
21713         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
21714         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
21715         strchr.
21716         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
21717         headers, memory.h, string.h.
21718         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
21719         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
21720         free.
21721         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
21722         headers.
21723         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
21724         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
21725         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
21726         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
21727         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
21728
21729 2003-09-09  Paul Eggert  <eggert@twinsun.com>
21730
21731         More K&R removal.
21732
21733         * lib/acosl.c (main): Use a prototype.
21734         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
21735         tanl.c: Likewise.
21736
21737         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
21738
21739         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
21740         (getopt, etopt_long, getopt_long_only, _getopt_internal)
21741         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
21742         with a prototype.
21743         * lib/getopt.c (const): Remove macro.
21744         Include <string.h> unconditionally.
21745         (my_index): Remove; all uses changed to strchr.
21746         (strlen): Remove decl.
21747         (exchange): Remove forward decl; no longer needed.
21748         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
21749         Define with prototype.
21750         * lib/getopt1.c (const): Remove macro.
21751         (getopt_long, getopt_long_only, main): Define with prototype.
21752
21753         * lib/getugroups.c: Include <string.h> unconditionally.
21754
21755         * lib/getusershell.c: Include <stdlib.h> unconditionally.
21756         (getusershell, setusershell, endusershell, readname, main):
21757         Define with prototypes.
21758
21759         * lib/group-member.c: Include group-member.h first.
21760         Include <stdlib.h> unconditionally.
21761
21762         * lib/hard-locale.c: Include hard-locale.h first.
21763         Include <stdlib.h>, <string.h> unconditionally.
21764
21765         * lib/hash.c (free, malloc): Remove decls.
21766         Include <stdlib.h> unconditionally.
21767
21768         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
21769         (getenv): Do not declare.
21770
21771         * lib/idcache.c: Include <string.h> unconditionally.
21772
21773         * lib/long-options.c: Include long-options.h first, to test interface.
21774         Include <stdlib.h> unconditionally.
21775
21776         * lib/makepath.c: Include makepath.h first, to test interface.
21777         Include <stdlib.h> and <string.h> unconditionally.
21778
21779         * lib/linebuffer.c: Include <stdlib.h>.
21780         (free): Remove decl.
21781
21782         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
21783         stddef.h. rpl_malloc returns void *, not char *.
21784         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
21785         prototype.
21786
21787         * lib/md5.h: Include <limits.h> unconditionally.
21788         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
21789         (__P): Remove; all uses removed.
21790         * lib/md5.c: Include "md5.h" first.
21791         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
21792         md5_buffer, md5_process_bytes, md5_process_block):
21793         Define with prototypes.
21794         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
21795         * lib/sha.c: Include "sha.h" first.
21796         Include <stdlib.h>, <string.h> unconditionally.
21797
21798         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
21799         * lib/memcmp.c (__ptr_t): Likewise.
21800         * lib/memrchr.c (__ptr_t): Likewise.
21801         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
21802         Include <string.h> unconditionally.
21803         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
21804         * lib/memchr.c: Include <stdlib.h> unconditionally.
21805         * lib/memchr.c (LONG_MAX): Remove.
21806         * lib/memrchr.c (LONG_MAX): Likewise.
21807         * lib/memchr.c (__memchr): Define via a prototype.
21808         * lib/memrchr.c (__memrchr): Likewise.
21809         * lib/memcmp.c (__P): Remove, and remove all uses.
21810         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
21811         Remove forward decls; no longer needed.
21812         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
21813         Use types required by C89 in prototype.
21814
21815         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
21816         * lib/savedir.c: Likewise.
21817         * lib/mkdir.c (free): Remove decl.
21818         * lib/rmdir.c (rmdir): Define with a prototype.
21819         * lib/savedir.c: Include savedir.h first, to test interface.
21820
21821         * lib/mktime.c (STDC_HEADERS): Remove.
21822         Include <stdlib.h>, <string.h> unconditionally.
21823
21824         * lib/modechange.c: Include <stdlib.h> unconditionally.
21825         (malloc): Remove decl.
21826
21827         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
21828         (free): Remove decl.
21829
21830         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
21831         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
21832         (This type really should be intptr_t, but that's a C99ism.)
21833         (_obstack_memcpy): Remove: all uses changed to memcpy.
21834         Include <string.h> unconditionally.
21835         (struct obstack): Assume __STDC__ for types of members
21836         chunkfun, freefun, extra_arg.
21837         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
21838         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
21839         obstack_begin, obstack_specify_allocation,
21840         obstack_specify_allocation_with_arg, obstack_chunkfun,
21841         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
21842         Remove unprototyped decls and the macros that use them.
21843         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
21844         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
21845         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
21846         (defined __STDC__ && __STDC__)]:
21847         Remove nonprototyped code.
21848         Include <stdlib.h> unconditionally.
21849         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
21850         _obstack_allocated_p, _obstack_free, obstack_free,
21851         _obstack_memory_used, print_and_abort):
21852         Define using prototypes.
21853         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
21854         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
21855         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
21856         obstack_next_free, obstack_object_size, obstack_room) [0]:
21857         Remove unused, unprototyped code.
21858
21859         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
21860
21861         * lib/physmem.c (physmem_total, physmem_available, main): Define
21862         with prototypes.
21863
21864         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
21865         (main): Define with a prototype.
21866
21867         * lib/posixver.c (getenv): Remove decl.
21868
21869         * lib/putenv.c (malloc): Returns void *, not char *.
21870         Include <string.h> unconditionally.
21871         (strchr, memcpy, NULL): Do not define.
21872
21873         * lib/readtokens.c: Include readtokens.h first, to test interface.
21874         Include <stdlib.h>, <string.h> unconditionally.
21875         (init_tokenbuffer): Define with a prototype.
21876
21877         * lib/regex.c (PARAMS): Remove.  All uses removed.
21878         All uses of _RE_ARGS removed, too.
21879         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
21880         unconditionally.
21881         (bzero): Assume memset exists.
21882         (memcmp, memcpy, NULL): Remove.
21883         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
21884         char, or assignments to local vars of type signed char.
21885         (init_syntax_once, PREFIX(extract_number_and_incr),
21886         PREFIX(print_partial_compiled_pattern),
21887         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
21888         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
21889         PREFIX(regex_grow_registers), PREFIX(regex_compile),
21890         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
21891         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
21892         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
21893         wcs_compile_range, byte_compile_range, truncate_wchar,
21894         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
21895         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
21896         count_mbs_length, wcs_re_match_2_internal,
21897         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
21898         PREFIX(alt_match_null_string_p),
21899         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
21900         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
21901         regfree, PREFIX(extract_number)): Define with prototype.  Remove
21902         now-unnecessary declaration, if any.
21903         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
21904         regcomp, regexec):
21905         Remove now-unnecessary casts among pointer types.
21906         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
21907
21908         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
21909         (free): Remove decl.
21910
21911         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
21912
21913         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
21914         (free): Remove decl.
21915
21916         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
21917         * lib/xgetcwd.c: Likewise.
21918
21919         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
21920         (free): Remove decl.
21921
21922         * lib/strchrnul.c (strchrnul): Define with a prototype.
21923         Fix bug: c_in was not converted to char before searching.
21924
21925         The following changes are not K&R related:
21926
21927         * lib/group-member.h: Include <sys/types.h>, so that this file is
21928         self-contained.
21929         * lib/makepath.h: Likewise.
21930
21931         * lib/getusershell.c (readname, default_index, line_size, readname):
21932         Use size_t, not int, for sizes.
21933         (readname): If the size overflows, report an error instead of
21934         looping forever.
21935
21936 2003-09-09  Paul Eggert  <eggert@twinsun.com>
21937
21938         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
21939         libc.
21940
21941 2003-09-09  Paul Eggert  <eggert@twinsun.com>
21942
21943         * README: New section: portability guidelines.
21944
21945 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
21946
21947         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
21948         C89 spec.
21949
21950 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
21951
21952         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
21953
21954 2003-09-08  Paul Eggert  <eggert@twinsun.com>
21955
21956         Assume C89 or better; remove K&R cruft.
21957         A few of these changes were first proposed by Derek Robert Price
21958         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
21959
21960         * lib/addext.c: Include <string.h> unconditionally.
21961         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
21962         Don't declare getenv or malloc.
21963
21964         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
21965         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
21966         (NULL): Remove.
21967         (find_stack_direction, alloca): Use prototypes.
21968
21969         * lib/atexit.c (atexit): Define using a prototype.
21970
21971         * lib/basename.c, dirname.c, stripslash.c:
21972         Include <string.h> unconditionally.
21973
21974         * lib/bcopy.c: Include <stddef.h>.
21975         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
21976
21977         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
21978
21979         * lib/error.h (error, error_at_line, error_print_progname)
21980         [! (defined (__STDC__) && __STDC__)]: Remove decls.
21981         * lib/error.c: Include error.h first, to check interface.
21982         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
21983         (VA_START): Remove; all uses changeed to va_start.
21984         (exit, strerror): Remove decls.
21985         (error_print_progname): Prototype uncondionally.
21986         Don't include <errno.h>; no longer needed.
21987         (private_strerror): Remove.
21988         (error_tail): Always define.
21989         (error, error_at_line): Assume C89 or better; always use prototypes.
21990         * lib/fatal.c: Include "fatal.h" first, to test interface.
21991         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
21992         (VA_START): Remove; all uses changed to va_start.
21993         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
21994         this case.
21995         (exit): Remove decl.
21996         (fatal): Prototype unconditionally.  Assume va_start works.
21997         Abort at end, to pacify gcc.
21998
21999         * lib/euidaccess.c (main): Define with a prototype.
22000
22001         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
22002
22003         * lib/exitfail.c: Include <stdlib.h> unconditionally.
22004
22005         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
22006         prototypes.
22007         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
22008         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
22009         (getenv): Remove decl.
22010         (fnmatch): Define using a prototype.
22011         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
22012         (FCT): Define using a prototype.
22013
22014         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
22015
22016         * lib/gethostname.c: Include <stddef.h>.
22017         (gethostname): Define with prototype.  Length is size_t, not int.
22018
22019 2003-09-08  Paul Eggert  <eggert@twinsun.com>
22020
22021         Assume C89 or better; remove K&R cruft.
22022         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
22023         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
22024         string.h, getenv, malloc.
22025         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
22026         headers.
22027         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
22028         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
22029         do not check for strerror.
22030         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
22031         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
22032         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
22033         do not check for doprnt or vprintf.
22034         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
22035         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
22036
22037 2003-09-08  Paul Eggert  <eggert@twinsun.com>
22038
22039         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
22040         getversion.c should have been removed then, but was accidentally
22041         preserved.
22042
22043         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
22044         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
22045
22046 2003-09-08  Karl Berry  <karl@gnu.org>
22047
22048         * config/config.sub, config.guess, srclistvars.sh: update from savannah
22049                 config, forget about prep.
22050
22051         * config/depcomp, missing: update from automake.
22052
22053 2003-09-07  Paul Eggert  <eggert@twinsun.com>
22054
22055         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
22056         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
22057
22058 2003-09-07  Paul Eggert  <eggert@twinsun.com>
22059
22060         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
22061         copy_tm_result.  Bug reported by Simon Josefsson in
22062         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
22063
22064 2003-09-06  Paul Eggert  <eggert@twinsun.com>
22065
22066         * m4/time_r.m4: New file.
22067         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
22068         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
22069         is. Check for timegm declaration.
22070         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
22071         Do not check for gmtime_r.
22072         Replace mktime if __mktime_internal does not exist and if mktime
22073         hasn't been replaced already.
22074
22075 2003-09-06  Paul Eggert  <eggert@twinsun.com>
22076
22077         * lib/time_r.c, lib/time_r.h: New files.
22078
22079         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
22080         __localtime_r.
22081         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
22082         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
22083
22084         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
22085         __gmtime_r.
22086         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
22087         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
22088         Include <time_r.h>.
22089
22090         * lib/timegm.c: Switch to glibc implementation, with the following
22091         changes:
22092         [defined HAVE_CONFIG_H]: Include <config.h>.
22093         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
22094         (__mktime_internal) [!defined _LIBC]: New decl.
22095         (__gmtime_r) [!defined _LIBC]: New macro and function.
22096         (timegm): Use a prototype, since gnulib assumes C89.
22097         Do not bother declaring tmp to be const, as it's not really usefu.
22098         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
22099         (timegm): Declare only if HAVE_DECL_TIMEGM.
22100
22101 2003-09-06  Paul Eggert  <eggert@twinsun.com>
22102
22103         * MODULES.html.sh (func_all_modules): Add time_r.
22104         * modules/time_r: New file.
22105         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
22106         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
22107
22108 2003-09-03  Paul Eggert  <eggert@twinsun.com>
22109
22110         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
22111         Bug reported by Lute Kamstra in
22112         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
22113
22114         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
22115         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
22116         course with correspondingly smaller numbers for tomorrow and
22117         yesterday.  From Tadayoshi Funaba.  Originally installed into
22118         sh-utils on 1999-08-07, but the patch got lost (I guess during the
22119         coreutils merge?).
22120
22121 2003-08-31  Simon Josefsson  <jas@extundo.com>
22122
22123         * modules/timegm: New file.
22124         * MODULES.html.sh (func_all_modules): Add timegm.
22125
22126 2003-08-31  Simon Josefsson  <jas@extundo.com>
22127
22128         * m4/timegm.m4: New file.
22129
22130 2003-08-31  Simon Josefsson  <jas@extundo.com>
22131
22132         * lib/timegm.h: New file.
22133         * lib/timegm.c: New file.  Based on
22134         wget-1.8.2/src/http.c:mktime_from_utc.
22135
22136 2003-08-31  Karl Berry  <karl@gnu.org>
22137
22138         * lib/argp.h: update from libc.
22139
22140 2003-08-28  Bruno Haible  <bruno@clisp.org>
22141
22142         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
22143         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
22144         followed by '#define fnmatch fnmatch_posix' gives an error.
22145
22146 2003-08-28  Bruno Haible  <bruno@clisp.org>
22147
22148         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
22149         warning on QNX, which defines O_BINARY to 000000.
22150
22151 2003-08-27  Jim Meyering  <jim@meyering.net>
22152
22153         * m4/mkstemp.m4: Require that the system mkstemp be able to create
22154         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
22155         would fail after 32.  Reported by Danny Levinson.  Details here:
22156         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
22157
22158 2003-08-24  Bruno Haible  <bruno@clisp.org>
22159
22160         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
22161         MSVC7 <stdio.h> is included later.
22162
22163 2003-08-22  Simon Josefsson  <jas@extundo.com>
22164
22165         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
22166
22167 2003-08-20  Karl Berry  <karl@gnu.org>
22168
22169         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
22170
22171 2003-08-20  Bruno Haible  <bruno@clisp.org>
22172
22173         * modules/progname: New file.
22174         * MODULES.html.sh (func_all_modules): Add progname.
22175
22176 2003-08-20  Bruno Haible  <bruno@clisp.org>
22177
22178         * lib/progname.h: New file, from GNU gettext.
22179         * lib/progname.c: New file, from GNU gettext.
22180         * lib/progreloc.c: New file, from GNU gettext.
22181
22182 2003-08-19  Jim Meyering  <jim@meyering.net>
22183
22184         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
22185         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
22186
22187 2003-08-19  Bruno Haible  <bruno@clisp.org>
22188
22189         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
22190         more.
22191
22192 2003-08-19  Bruno Haible  <bruno@clisp.org>
22193
22194         * lib/xstrdup.c: Assume <string.h> exists.
22195
22196 2003-08-18  Paul Eggert  <eggert@twinsun.com>
22197
22198         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
22199         in makefile rules.
22200
22201 2003-08-18  Jim Meyering  <jim@meyering.net>
22202
22203         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
22204         * m4/lib-ld.m4: Likewise.
22205
22206 2003-08-18  Jim Meyering  <jim@meyering.net>
22207
22208         * lib/setenv.h: Indent nested cpp directive.
22209         * lib/vasnprintf.c: Remove trailing blanks.
22210
22211 2003-08-17  Simon Josefsson  <jas@extundo.com>
22212
22213         * modules/xstrndup: New file.
22214         * MODULES.html.sh (func_all_modules): Add xstrndup.
22215
22216 2003-08-17  Simon Josefsson  <jas@extundo.com>
22217
22218         * modules/argp: Fix autoconf macro name. Add more dependencies.
22219
22220 2003-08-17  Simon Josefsson  <jas@extundo.com>
22221
22222         * m4/xstrndup.m4: New file.
22223
22224 2003-08-17  Simon Josefsson  <jas@extundo.com>
22225
22226         * m4/argp.m4: New file.
22227
22228 2003-08-17  Simon Josefsson  <jas@extundo.com>
22229             Bruno Haible  <bruno@clisp.org>
22230
22231         * lib/xstrndup.h: New file.
22232         * lib/xstrndup.c: New file.
22233
22234 2003-08-17  Bruno Haible  <bruno@clisp.org>
22235
22236         * modules/strndup (Files, Include): Add lib/strndup.h.
22237
22238 2003-08-17  Bruno Haible  <bruno@clisp.org>
22239
22240         * modules/euidaccess (Files): Add lib/euidaccess.h.
22241
22242 2003-08-17  Bruno Haible  <bruno@clisp.org>
22243
22244         * lib/strndup.h: New file.
22245
22246 2003-08-17  Bruno Haible  <bruno@clisp.org>
22247
22248         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
22249         like AC_GNU_SOURCE.
22250         * modules/extensions (configure.ac): Comment out the invocation of
22251         gl_USE_SYSTEM_EXTENSIONS.
22252
22253 2003-08-16  Paul Eggert  <eggert@twinsun.com>
22254
22255         Merges from coreutils, etc.
22256         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
22257         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
22258         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
22259         fixing a typo.
22260         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
22261         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
22262
22263 2003-08-16  Paul Eggert  <eggert@twinsun.com>
22264
22265         Document merge from coreutils.
22266         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
22267         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
22268         * modules/utime: Add m4/utimes-null.m4.
22269
22270 2003-08-16  Paul Eggert  <eggert@twinsun.com>
22271
22272         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
22273         space, undoing this 2003-08-12 change:
22274         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
22275
22276 2003-08-16  Paul Eggert  <eggert@twinsun.com>
22277
22278         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
22279         strtoul.c from libc, undoing this 2003-08-12 change:
22280         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
22281
22282 2003-08-16  Jim Meyering  <jim@meyering.net>
22283
22284         Merges from coreutils.
22285         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
22286         prefix.  Adjust cache variables similarly.  Create 500 rather than
22287         just 300 files, to exercise bug on Darwin6.5, too.
22288         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
22289         $missing_dir.
22290         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
22291         AM_SYS_POSIX_TERMIOS.
22292         Reported by mkc@mathdogs.com.
22293         Also change use of $am_cv_sys_posix_termios
22294         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
22295         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
22296         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
22297         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
22298         in /proc/mounts until it finds one with matching device number.  This
22299         is unnecessary when the FILE argument *is* a mount point.  No stat call
22300         is necessary in that case.  So, disable the statvfs-testing code on
22301         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
22302         as RedHat bug# 84846.
22303         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
22304         to 1MB, so as not to render systems with no stack size limit (e.g.,
22305         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
22306         Include <unistd.h>.  On some systems,
22307         it is required for the definition of _SC_PAGESIZE.
22308
22309 2003-08-16  Jim Meyering  <jim@meyering.net>
22310
22311         Merge from coreutils.
22312         * lib/xstrtoimax.c: #else #if -> #elif.
22313         * lib/xstrtoumax.c: Likewise.
22314
22315 2003-08-16  Jim Meyering  <jim@meyering.net>
22316
22317         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
22318         * m4/utimes.m4: Removed.
22319         * m4/utimes-null.m4: Renamed from utimes.m4.
22320
22321         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
22322         to 1MB, so as not to render systems with no stack size limit (e.g.,
22323         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
22324         Include <unistd.h>.  On some systems,
22325         it is required for the definition of _SC_PAGESIZE.
22326
22327 2003-08-16  Jim Meyering  <jim@meyering.net>
22328         and Paul Eggert  <eggert@cs.ucla.edu>
22329
22330         Merges from coreutils, etc.
22331
22332         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
22333         using the latest version from cvs.  This avoids problems with #line
22334         directives using a vendor (Sun) compiler.
22335         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
22336         Don't set GETGROUPS_LIB here; now it's
22337         done via getgroups.m4's wrapper function.
22338         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
22339         rather than just in sh-util/configure.in, so that the
22340         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
22341         same.
22342         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
22343         AC_FUNC_GETLOADAVG where to find getloadavg.c.
22344         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
22345         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
22346         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
22347         Remove code that is now done by the newly-required macros.
22348         Append $(EXEEXT) to DF_PROG.
22349         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
22350         Do not invoke or require the following here,
22351         since prereq.m4 or some gnulib .m4 now does this for us:
22352         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
22353         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
22354         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
22355         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
22356         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
22357         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
22358         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
22359         AC_FUNC_OBSTACK.
22360         Do not replace the following functions, as this is now the job
22361         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
22362         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
22363         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
22364         atexit getpass, strdup, getpagesize.
22365         Replace 'raise'.
22366         Do not check for the following functions, as this is now the job
22367         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
22368         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
22369         setregid.
22370         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
22371         Check for sys/sysctl.h.
22372         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
22373         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
22374         of checking for ssize_t ourselves.
22375
22376         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
22377         Require every macro that gnulib/modules/* suggests for us.
22378         (jm_PREREQ_ADDEXT): New macro.
22379         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
22380         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
22381
22382         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
22383         (gl_PHYSMEM): Use it.
22384         Also check for `table' function.
22385         Check for new headers and functions.
22386         Add check for sys/sysmp.h.
22387         With suggestions from Kaveh Ghazi.
22388         Ignore headers that are present but cannot be compiled.  This
22389         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
22390         C 5.4.
22391
22392 2003-08-15  Paul Eggert  <eggert@twinsun.com>
22393
22394         Document merge from coreutils.
22395         * modules/userspec: Depend on posixver.
22396         * modules/strftime: Depend on tzset.
22397
22398 2003-08-15  Paul Eggert  <eggert@twinsun.com>
22399
22400         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
22401         rather than tab, after '#' in shell-script copyright notices.
22402         Suggested by Bruno Haible.
22403
22404 2003-08-15  Paul Eggert  <eggert@twinsun.com>
22405
22406         * config/srclist-update: Use three spaces, rather than tab, after '#'
22407         in shell-script copyright notices.  Suggested by Bruno Haible.
22408         Remove unnecessary parenthesization in regular expression.
22409
22410 2003-08-15  Jim Meyering  <jim@meyering.net>
22411
22412         Merge from coreutils.
22413         * lib/xgethostname.c: Include <stdlib.h>.
22414         (xghostname): Don't exit for anything other than memory-related
22415         failure; just return NULL.
22416         * lib/userspec.c: Include "posixver.h".
22417         (parse_user_spec): Accept `.' as a separator only
22418         in pre-POSIX-200112 mode.
22419         * lib/strtoimax.c: Use #elif rather than #else #if.
22420         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
22421         Remove function, now that we can rely on a working tzset function.
22422         [!_LIBC]: Ensure that the required autoconf test has been run.
22423         [!defined _NL_CURRENT && HAVE_STRFTIME]:
22424         Use underlying_strftime for %r.
22425         * lib/sha.c: Merge in some clean-up and optimization changes from
22426         glibc.
22427         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
22428         Ensure that it is a multiple of 64.
22429         Rearrange loop exit tests so as to avoid performing an
22430         additional fread after encountering an error or EOF.
22431         * lib/realloc.c: Update copyright date.
22432
22433 2003-08-15  Jim Meyering  <jim@meyering.net>
22434         and Paul Eggert  <eggert@twinsun.com>
22435
22436         Merge from coreutils.
22437         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
22438         member but strut utmpx does not.  Needed for AIX 4.3.3.
22439         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
22440
22441 2003-08-15  Jim Meyering  <jim@meyering.net>
22442         and Paul Eggert  <eggert@cs.ucla.edu>
22443
22444         Merges from coreutils, etc.
22445         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
22446         Require gl_FUNC_TZSET_CLOBBER.
22447         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
22448         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
22449         members.
22450
22451 2003-08-14  Paul Eggert  <eggert@twinsun.com>
22452
22453         Help the merge from coreutils.
22454         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
22455         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
22456         * m4/tzset.m4: Use it too.
22457
22458 2003-08-14  Paul Eggert  <eggert@twinsun.com>
22459
22460         * modules/tzset: New file.
22461
22462 2003-08-14  Jim Meyering  <jim@meyering.net>
22463
22464         Merges from coreutils.
22465         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
22466         variable names, rather than @FNMATCH_H@.
22467         * modules/alloca: Likewise for $(ALLOCA_H).
22468
22469         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
22470         the three copies of the literal target, `fnmatch.h'.
22471         * modules/alloca (alloca.h): Likewise.
22472
22473 2003-08-14  Jim Meyering  <jim@meyering.net>
22474
22475         Merge from coreutils.
22476         * m4/tzset.m4: New file.
22477         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
22478         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
22479         otherwise, AIX 5.1 systems would end up using the latter.
22480         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
22481         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
22482         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
22483         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
22484
22485 2003-08-14  Jim Meyering  <jim@meyering.net>
22486
22487         Merge from coreutils.
22488         * lib/obstack.h: Whitespace changes.
22489         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
22490         and xcalloc return values.
22491         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
22492         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
22493         hang on OSF/1 5.1 for DIR on both local and remote file systems.
22494         Reported by (and fix confirmed by) Nelson H. F. Beebe.
22495         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
22496         error from mntctl.
22497         Use mntctl's return value to drive the entry-processing loop, since
22498         we can't rely on the value of the vmt_length member in the last
22499         entry.  On some systems doing so could result in exhausting
22500         virtual memory.  Based in part on a patch from Mike Jetzer.
22501
22502 2003-08-14  Jim Meyering  <jim@meyering.net>
22503         and Paul Eggert  <eggert@twinsun.com>
22504
22505         Merges from coreutils, plus other fixes.
22506         * lib/physmem.c: Merge in portability changes from gcc/libiberty
22507         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
22508         for credits and details.  Thanks to Kaveh Ghazi for helping
22509         to keep these files in sync.
22510         (ARRAY_SIZE): Define it.
22511         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
22512         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
22513         (memcasecmp): Don't assume size_t fits in unsigned int.
22514         Remove casts and duplicate code.
22515         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
22516         (memcpy): Remove definition.
22517         Merge in some clean-up and optimization changes from glibc.
22518         [BLOCKSIZE]: Move definition to top of file.
22519         Ensure that it is a multiple of 64.
22520         Rearrange loop exit tests so as to avoid performing an
22521         additional fread after encountering an error or EOF.
22522         * lib/md5.h (md5_uintptr): Define.
22523         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
22524         return to the initial working directory.  Preserve errno
22525         for caller.
22526         * lib/idcache.c: Include "xalloc.h".
22527         (xmalloc, xrealloc): Remove decls.
22528         (getuser): Remove casts no longer required in C89.
22529         * lib/human.c: Include stdio.h, for sprintf.
22530         * lib/group-member.c: Include "xalloc.h".
22531         (xmalloc, xrealloc): Remove decls.
22532         (get_group_info): Remove casts no longer required in C89.
22533         * lib/getusershell.c (readname): Remove casts no longer required in
22534         C89.
22535         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
22536         * lib/getline.c: Whitespace fix, from coreutils.
22537
22538 2003-08-13  Paul Eggert  <eggert@twinsun.com>
22539
22540         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
22541         Check for isascii.
22542
22543         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
22544         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
22545         Undo previous (whitespace-only) change.
22546
22547 2003-08-13  Paul Eggert  <eggert@twinsun.com>
22548
22549         * lib/exclude.c: Include <ctype.h>
22550         (IN_CTYPE_DOMAIN): New macro.
22551         (is_space): New fn.
22552         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
22553         and empty lines.
22554
22555         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
22556         Undo previous (whitespace-only) change.
22557
22558 2003-08-13  Paul Eggert  <eggert@twinsun.com>
22559
22560         * config/srclist-update: Change update back to the old behavior,
22561         leaving whitespace alone.  Use one 'sed' command rather than a
22562         pipeline.
22563         (fixlicense): Now a variable, not a function.
22564         (remove_trailing_blanks): Remove.
22565         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
22566         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
22567         Undo previous (whitespace-only) change.
22568
22569 2003-08-12  Paul Eggert  <eggert@twinsun.com>
22570
22571         Merge from coreutils.
22572         * modules/euidaccess: Add lib_SOURCES, include for new
22573         file euidaccess.h
22574
22575 2003-08-12  Paul Eggert  <eggert@twinsun.com>
22576
22577         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
22578         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
22579         Normalize leading white space and remove trailing white space.
22580
22581         Merge from coreutils
22582         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
22583
22584         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
22585         0.12.1.  These files are now being upgraded automatically by
22586         ../config/srclist-update.
22587
22588 2003-08-12  Paul Eggert  <eggert@twinsun.com>
22589
22590         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
22591         Normalize leading white space and remove trailing white space.
22592         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
22593         notice, as per ../config/srclist-update.
22594
22595         Merge from coreutils.
22596         * lib/euidaccess.h: New file.
22597         * lib/euidaccess.c: Include it.
22598         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
22599         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
22600         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
22601
22602 2003-08-12  Paul Eggert  <eggert@twinsun.com>
22603
22604         * config/srclist-update: Add copyright notice.
22605         (remove_id_lines, remove_trailing_blanks): New constants.
22606         (fixfile): Use them to normalize spacing a bit in copied files.
22607         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
22608         Normalize leading white space and remove trailing white space.
22609
22610         * config/texinfo.tex: Sync with texinfo.
22611
22612         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
22613         strtoul.c from libc, to merge coreutils whitespace changes.
22614
22615         * config/srclist.txt: Get the following m4 files from gettext:
22616         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
22617         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
22618         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
22619         wint_t.m4.
22620
22621 2003-08-12  Karl Berry  <karl@gnu.org>
22622
22623         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
22624         been made.
22625
22626 2003-08-11  Paul Eggert  <eggert@twinsun.com>
22627
22628         * modules/gnu-source, m4/gnu-source.m4:
22629         Remove; we're assuming Autoconf 2.54 or later now.
22630         Suggested by Bruno Haible.
22631         * MODULES.html.sh (func_all_modules): Remove gnu-source.
22632
22633 2003-08-11  Bruno Haible  <bruno@clisp.org>
22634
22635         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
22636
22637 2003-08-11  Bruno Haible  <bruno@clisp.org>
22638
22639         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
22640         (vasnprintf): Use it instead of wcslen.
22641
22642 2003-08-11  Bruno Haible  <bruno@clisp.org>
22643
22644         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
22645         value to ensure that _Bool promotes to int. Use #define for _Bool when
22646         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
22647
22648 2003-08-10  Karl Berry  <karl@gnu.org>
22649
22650         * lib/regex.h: update from libc (whitespace fix).
22651
22652 2003-08-09  Paul Eggert  <eggert@twinsun.com>
22653
22654         Merge some files from coreutils.  These changes were
22655         originally made by Jim Meyering.
22656         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
22657         many older Unixes require this.
22658         * lib/alloca.c (alloca): Remove cast to argument of free;
22659         no longer needed in C89.
22660         * lib/alloca_.h, regex.h: Fix white space to match
22661         what GNU indent does.
22662
22663 2003-08-09  Paul Eggert  <eggert@twinsun.com>
22664
22665         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
22666         apparently Emacs's Unicode mode got confused before my 2003-08-05
22667         checkin.
22668
22669 2003-08-08  Paul Eggert  <eggert@twinsun.com>
22670
22671         * m4/extensions.m4: New file.
22672         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
22673         Require gl_USE_SYSTEM_EXTENSIONS.
22674         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
22675         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
22676
22677 2003-08-08  Paul Eggert  <eggert@twinsun.com>
22678
22679         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
22680         * modules/extensions, modules/gnu-source: New files.
22681         * modules/timespec, modules/unlocked-io: Depend on extensions.
22682
22683 2003-08-07  Paul Eggert  <eggert@twinsun.com>
22684
22685         * modules/restrict: New file.
22686         * MODULES.html.sh (func_all_modules): Add restrict.
22687         * modules/regex: Depend on restrict.
22688
22689 2003-08-07  Paul Eggert  <eggert@twinsun.com>
22690
22691         * m4/restrict.m4: New file.
22692         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
22693
22694 2003-08-07  Bruno Haible  <bruno@clisp.org>
22695
22696         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
22697         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
22698
22699 2003-08-07  Bruno Haible  <bruno@clisp.org>
22700
22701         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
22702         makes the module 'getndelim2' compatible with the module 'getline'.
22703
22704 2003-08-05  Paul Eggert  <eggert@twinsun.com>
22705
22706         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
22707         byte with "\201" to avoid glitches when editing that source file
22708         with multi-gnome-terminal.
22709
22710 2003-08-05  Paul Eggert  <eggert@twinsun.com>
22711
22712         * lib/bumpalloc.h: Remove.
22713
22714 2003-08-05  Paul Eggert  <eggert@twinsun.com>
22715
22716         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
22717         * modules/bumpalloc: Remove.
22718
22719 2003-08-04  Paul Eggert  <eggert@twinsun.com>
22720
22721         * lib/getloadavg.c: Change copyright notice and spacing to conform to
22722         GNU coding style.
22723
22724         Merge from coreutils.
22725         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
22726         1. From glibc.
22727         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
22728         from Karl Berry, implemented by Jim Meyering.
22729         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
22730         from Dmitry V. Levin.
22731         Remove anachronistic cast of xrealloc.
22732         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
22733         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
22734         type. Otherwise, it wouldn't compile with at least /bin/cc on
22735         ymp-cray-unicos9.0.2.X.
22736         Combine two mostly-identical uses of alloca into one.
22737         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
22738
22739 2003-08-04  Dave Love  <d.love@dl.ac.uk>
22740
22741         [From Emacs.]
22742
22743         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
22744         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
22745         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
22746         obsolete NLIST_NAME_UNION.
22747         [__GNU__]: Undef BSD and FSCALE.
22748         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
22749
22750 2003-08-03  Paul Eggert  <eggert@twinsun.com>
22751
22752         * lib/stdbool_.h (_Bool): Make it signed char, instead of
22753         an enum type, so that it's guaranteed to promote to int.  See:
22754         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
22755
22756 2003-08-03  Karl Berry  <karl@gnu.org>
22757
22758         * config/depcomp: update from automake.
22759
22760 2003-07-31  Paul Eggert  <eggert@twinsun.com>
22761
22762         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
22763         (strerror): Don't assume that a printable int fits in 14 bytes.
22764
22765 2003-07-31  Bruno Haible  <bruno@clisp.org>
22766
22767         * modules/getpass-gnu: New file.
22768         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
22769
22770 2003-07-31  Bruno Haible  <bruno@clisp.org>
22771
22772         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
22773
22774 2003-07-24  Karl Berry  <karl@gnu.org>
22775
22776         * config/missing: update from automake.
22777
22778 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
22779             Bruno Haible  <bruno@clisp.org>
22780
22781         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
22782         * lib/getline.c (getline, getdelim): Likewise.
22783         Remove _GNU_SOURCE define; now it's defined in config.h through
22784         m4/getline.m4.
22785
22786 2003-07-23  Karl Berry  <karl@gnu.org>
22787
22788         * config/config.sub: update from prep.
22789
22790 2003-07-22  Paul Eggert  <eggert@twinsun.com>
22791
22792         * modules/xalloc (Depends-on): Add exitfail.
22793         * modules/xmemcoll: Likewise.
22794
22795 2003-07-22  Paul Eggert  <eggert@twinsun.com>
22796
22797         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
22798         over-parenthesization in macros.
22799
22800         Sync with coreutils.
22801
22802         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
22803         required by C99.
22804
22805         Use `exit_failure' for xalloc and xmemcoll instead of their own
22806         private exit-failure variables.
22807         * lib/xalloc.h (xalloc_exit_failure): Remove.
22808         * lib/xmalloc.c: Likewise.  Include exitfail.h.
22809         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
22810         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
22811         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
22812         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
22813
22814 2003-07-20  Jim Meyering  <jim@meyering.net>
22815
22816         * modules/closeout (Depends-on): Add exitfail.
22817         Suggestion from Bruno Haible.
22818
22819 2003-07-19  Karl Berry  <karl@gnu.org>
22820
22821         * config/config.sub: update from prep.
22822
22823 2003-07-18  Paul Eggert  <eggert@twinsun.com>
22824
22825         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
22826         Remove.
22827         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
22828         to test that it can stand by itself.  Include "exitfail.h".
22829         Clients should set exit_failure instead.
22830         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
22831
22832 2003-07-18  Bruno Haible  <bruno@clisp.org>
22833
22834         * modules/getndelim2: New file.
22835         * modules/getline: Share files with module getndelim2.
22836         * modules/getnline: Depend on getndelim2 instead of sharing files with
22837         it. Add getnline.c to lib_SOURCES.
22838         * MODULES.html.sh (func_all_modules): Add getndelim2.
22839
22840 2003-07-18  Bruno Haible  <bruno@clisp.org>
22841
22842         * m4/getndelim2.m4: New file.
22843         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
22844         invoke gl_PREREQ_GETNDELIM2.
22845         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
22846         gl_PREREQ_GETNDELIM2.
22847         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
22848         gl_GETNDELIM2.
22849
22850 2003-07-18  Bruno Haible  <bruno@clisp.org>
22851
22852         * lib/getndelim2.h: New file.
22853         * lib/getndelim2.c: Make into a module of its own. Include config.h,
22854         getndelim2.h.
22855         (getndelim2): Make non-static. Change return type to ssize_t.
22856         * lib/getline.h: Change argument names.
22857         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
22858         * lib/getnline.c: Include getndelim2.h.
22859
22860 2003-07-18  Andreas Schwab  <schwab@suse.de>
22861
22862         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
22863
22864 2003-07-17  Karl Berry  <karl@gnu.org>
22865
22866         * config/config.sub: update from prep.
22867
22868 2003-07-17  Bruno Haible  <bruno@clisp.org>
22869
22870         * modules/getnline: New file.
22871         * modules/getline: Add lib/getndelim2.c to source file list.
22872         * MODULES.html.sh (func_all_modules): Add getnline.
22873
22874 2003-07-17  Bruno Haible  <bruno@clisp.org>
22875
22876         * m4/getnline.m4: New file.
22877
22878 2003-07-17  Bruno Haible  <bruno@clisp.org>
22879
22880         * m4/Makefile.am.in: Remove file.
22881         * m4/Makefile.am: Remove file.
22882         * m4/Makefile.in: Remove file.
22883
22884 2003-07-17  Bruno Haible  <bruno@clisp.org>
22885
22886         * lib/getnline.h: New file.
22887         * lib/getnline.c: New file.
22888         * lib/getndelim2.c: New file, extracted from getline.c.
22889         (getndelim2): Renamed from getdelim2, with added nmax argument.
22890         * lib/getline.c: Include getndelim2.c.
22891         (getdelim2): Moved out to getndelim2.c.
22892         (getline, getdelim): Update.
22893
22894 2003-07-17  Bruno Haible  <bruno@clisp.org>
22895
22896         * lib/Makefile.am: Remove file.
22897         * lib/Makefile.in: Remove file.
22898
22899 2003-07-17  Bruno Haible  <bruno@clisp.org>
22900
22901         * configure.in: Remove file.
22902         * Makefile.in: Remove file.
22903
22904 2003-07-17  Bruno Haible  <bruno@clisp.org>
22905
22906         * MODULES.html.sh: Put the </BODY> right before </HTML>.
22907
22908 2003-07-16  Karl Berry  <karl@gnu.org>
22909
22910         * config/srclist-update: was running fixlicense twice, which caused
22911                 texinfo.tex to be nullified for some reason.  Simplify,
22912                 $gplsrc is no longer needed as far as I can see?
22913
22914 2003-07-16  Jim Meyering  <jim@meyering.net>
22915
22916         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
22917
22918 2003-07-15  Paul Eggert  <eggert@twinsun.com>
22919
22920         * config/srclist.txt: Get the following files from gettext-runtime/intl
22921         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
22922         ref-del.sin.  From Bruno Haible.
22923         * config/srclist-update (fixfile): Change grep pattern again, since the
22924         previous fix didn't work (there was another trailing $).  Use
22925         '[$]' to escape the $s.
22926
22927 2003-07-15  Karl Berry  <karl@gnu.org>
22928
22929         * lib/vasnprintf.c: update from gettext.
22930
22931 2003-07-15  Karl Berry  <karl@gnu.org>
22932
22933         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
22934         gets expanded when surrounded by '$'.
22935
22936 2003-07-15  Jim Meyering  <jim@meyering.net>
22937
22938         * modules/save-cwd: Don't depend on error.  From Derek Price.
22939
22940 2003-07-15  Jim Meyering  <jim@meyering.net>
22941
22942         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
22943
22944 2003-07-14  Simon Josefsson  <jas@extundo.com>
22945
22946         * modules/mempcpy: New file.
22947         * MODULES.html.sh (func_all_modules): Add mempcpy.
22948
22949 2003-07-14  Simon Josefsson  <jas@extundo.com>
22950
22951         * m4/mempcpy.m4: New file.
22952
22953 2003-07-14  Simon Josefsson  <jas@extundo.com>
22954
22955         * lib/mempcpy.h: New file.
22956         * lib/mempcpy.c: New file.
22957
22958 2003-07-14  Paul Eggert  <eggert@twinsun.com>
22959
22960         * modules/getdate, modules/posixtm: Depend on mktime.
22961
22962 2003-07-14  Paul Eggert  <eggert@twinsun.com>
22963
22964         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
22965         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
22966         unicodeio.c, unicodeio.h, unlocked-io.h:
22967         Switch from LGPL to GPL.
22968
22969 2003-07-14  Paul Eggert  <eggert@twinsun.com>
22970
22971         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
22972         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
22973         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
22974         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
22975         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
22976         updated automatically by ../config/srclist-update.  This changes
22977         their license from LPGL to GPL.
22978
22979 2003-07-14  Paul Eggert  <eggert@twinsun.com>
22980
22981         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
22982         assumed to refer to the root of the most recent stable gettext version.
22983         * config/srclistvars.sh: Add defaults for eggert.
22984         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
22985         Match "This program" as well as "The program".  This is needed
22986         for gettext.
22987
22988 2003-07-14  Jim Meyering  <jim@meyering.net>
22989
22990         Don't emit diagnostics.  Let callers do that.
22991         * lib/save-cwd.c: Don't include "error.h".
22992         (save_cwd): Don't call error.  Ensure that errno is valid
22993         when returning nonzero.
22994
22995         * lib/save-cwd.h (restore_cwd): Update prototype.
22996         * lib/save-cwd.c (restore_cwd): Remove two parameters.
22997         Simplify.  Don't call error upon failure.  Let callers do that.
22998         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
22999         when auditing is enabled.  But don't bother updating the #if.
23000
23001 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
23002
23003         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
23004         it breaks C++ compilation.
23005         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
23006
23007 2003-07-10  Simon Josefsson  <jas@extundo.com>
23008
23009         * modules/strchrnul (Makefile.am): Add strchrnul.h.
23010
23011 2003-07-10  Jim Meyering  <jim@meyering.net>
23012
23013         * m4/clock_time.m4: Remove trailing blank.
23014         * m4/intmax_t.m4: Likewise.
23015
23016 2003-07-10  Jim Meyering  <jim@meyering.net>
23017
23018         * lib/vasnprintf.c: Remove trailing blanks.
23019         Make cpp indentation consistent.
23020
23021 2003-07-09  Paul Eggert  <eggert@twinsun.com>
23022
23023         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
23024         posixver.c, strftime.c, strnlen.c, strverscmp.c:
23025         Switch from LGPL to GPL.
23026
23027 2003-07-09  Paul Eggert  <eggert@twinsun.com>
23028
23029         * config/srclist.txt: Sort sublists.  Add
23030         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
23031         that differ from gnulib for one reason or another; we'd like this list
23032         to be smaller but for now let's document what we have.
23033
23034 2003-07-08  Paul Eggert  <eggert@twinsun.com>
23035
23036         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
23037         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
23038         and sweeter "eval x=$x".
23039         * config/srclist.txt: Get lib/argp* from glibc.
23040
23041 2003-07-07  Paul Eggert  <eggert@twinsun.com>
23042
23043         * lib/mktime.c: Fix some boundary cases and remove need for floating
23044         point.
23045
23046         Issue a compile-time diagnostic if time_t is floating point, or if
23047         two's complement arithmetic is not in effect, or if arithmetic
23048         right shift does not propagate the sign.  These assumptions were
23049         all in the original code but they weren't checked.
23050
23051         (TIME_T_MIDPOINT, verify): New macros.
23052         (__isleap): Remove; it has integer overflow problems.
23053         (leapyear): New function, without those problems.
23054         (ydhms_tm_diff): Remove; splitting into two parts.
23055         (ydhms_diff): New function, containing the arithmetic part of
23056         the old ydhms_tm_diff function.  Issue a compile-time
23057         diagnostic if we are not using C99 integer division.
23058         Avoid casts when possible.
23059         (guess_time_tm): New function, containing the checking part of
23060         the old ydhms_tm_diff function.  Return the new value, rather than
23061         the difference between it and the old.  Accept a new argument T
23062         so that *T specifies the old value.  Check for overflow in the result.
23063
23064         (__mktime_internal): Use a time_t offset, not a long int offset.
23065         This undoes the 2003-06-04 change, which is no longer needed now
23066         that we have better overflow checking.
23067         (localtime_offset): Likewise.
23068
23069         (__mktime_internal): Avoid harmful overflow on hosts where time_t
23070         and long are 64-bit but int is only 32-bit.
23071         (ydhms_diff): Use long int to store year1 and yday1.
23072         Issue a compile-time diagnostic if long int is not wide enough.
23073
23074         (__mktime_internal): Use long int to store adjusted year and yday.
23075         Use plain C rather than preprocessor commands, if that doesn't
23076         affect efficiency.
23077         Check for overflow (and try to repair) after each probe
23078         rather than checking only at the very end.  This avoids some bugs
23079         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
23080         does not equal GMT offset at maximum time).
23081         Use integer to check for overflow rather than floating point; this
23082         is more portable to non-IEEE hosts, and is a tad faster.
23083         When we detect that we are oscillating between two values,
23084         don't check whether tm_isdst has the requested value, since
23085         we already know the answer.  When tm_isdst has the wrong value,
23086         use a different heuristic to find the right one, based on the
23087         extreme values actually observed in practice in tz2003a,
23088         rather than the (overly optimistic) "previous 3 calendar quarters".
23089
23090         (not_equal_tm, print_tm, check_result): Use "const T" rather than
23091         "T const" to accommodate glibc style.
23092         (check_result): Use less-confusing report format.  "long" -> "long int.
23093         (main): Likewise.
23094         Don't loop if the iteration overflows time_t.
23095         Allow a negative step in the iteration.
23096
23097 2003-07-06  Karl Berry  <karl@gnu.org>
23098
23099         * config/depcomp: update from automake.
23100         * config/config.sub: update from prep.
23101
23102 2003-07-03  Karl Berry  <karl@gnu.org>
23103
23104         * config/config.guess: update from prep.
23105
23106 2003-07-01  Paul Eggert  <eggert@twinsun.com>
23107
23108         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
23109         xreadlink.c now includes it unconditionally.
23110
23111 2003-07-01  Paul Eggert  <eggert@twinsun.com>
23112
23113         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
23114         having it depend on HAVE_SYS_TYPES_H.
23115
23116 2003-07-01  Bruno Haible  <bruno@clisp.org>
23117
23118         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
23119         <sys/types.h> should be sufficient.
23120         Reported by Paul Eggert.
23121
23122 2003-06-26  Karl Berry  <karl@gnu.org>
23123
23124         * config/depcomp: update from automake.
23125
23126 2003-06-26  Bruno Haible  <bruno@clisp.org>
23127
23128         * modules/human: Depend on module stdbool.
23129
23130 2003-06-25  Bruno Haible  <bruno@clisp.org>
23131
23132         * modules/readlink: New file.
23133         * modules/xreadlink: Depend on it.
23134         * MODULES.html.sh (func_all_modules): Add readlink.
23135
23136 2003-06-25  Bruno Haible  <bruno@clisp.org>
23137
23138         * m4/readlink.m4: New file.
23139
23140 2003-06-25  Bruno Haible  <bruno@clisp.org>
23141
23142         * lib/readlink.c: New file.
23143
23144 2003-06-22  Karl Berry  <karl@gnu.org>
23145
23146         * config/srclist.txt: update mkinstalldirs from automake.
23147         * config/mkinstalldirs: update.
23148
23149 2003-06-22  Bruno Haible  <bruno@clisp.org>
23150
23151         Portability to mingw32.
23152         * m4/ssize_t.m4: New file, from GNU gettext.
23153         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
23154         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
23155
23156 2003-06-22  Bruno Haible  <bruno@clisp.org>
23157
23158         * modules/safe-read: Add m4/ssize_t.m4.
23159         * modules/xreadlink: Add m4/ssize_t.m4.
23160
23161 2003-06-20  Bruno Haible  <bruno@clisp.org>
23162
23163         Assume C89, so PARAMS isn't needed.
23164         * lib/unicodeio.h (PARAMS): Remove.
23165         * lib/unicodeio.c: Don't use PARAMS.
23166
23167 2003-06-18  Karl Berry  <karl@gnu.org>
23168
23169         * config/config.{guess,sub}: update from prep.
23170
23171 2003-06-18  Jim Meyering  <jim@meyering.net>
23172
23173         Merge changes from coreutils.
23174         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
23175         Remove explicit declarations of xmalloc and realloc.
23176         Include xalloc.h.
23177         (read_utmp): Remove anachronistic cast of xmalloc.
23178
23179 2003-06-17  Paul Eggert  <eggert@twinsun.com>
23180
23181         Assume C89, so PARAMS isn't needed.
23182         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
23183         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
23184         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
23185         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
23186         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
23187         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
23188         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
23189         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
23190         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
23191         lib/xstrtod.h, lib/xstrtol.h: Likewise.
23192         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
23193         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
23194         no longer needed. Anyway, config.h should always be included before any
23195         other file.
23196
23197 2003-06-11  Simon Josefsson  <jas@extundo.com>
23198
23199         * modules/sysexits: New file.
23200         * MODULES.html.sh (func_all_modules): Add sysexits.
23201
23202 2003-06-11  Simon Josefsson  <jas@extundo.com>
23203
23204         * lib/sysexit_.h: New file.
23205
23206 2003-06-11  Derek Price  <derek@ximbiot.com>
23207
23208         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
23209         necessary.
23210
23211 2003-06-11  Bruno Haible  <bruno@clisp.org>
23212
23213         * m4/sysexits.m4: New file.
23214
23215 2003-06-10  Simon Josefsson  <jas@extundo.com>
23216
23217         * lib/argp.h: New file, from glibc.
23218         * lib/argp-ba.c: New file, from glibc.
23219         * lib/argp-eexst.c: New file, from glibc.
23220         * lib/argp-fmtstream.c: New file, from glibc.
23221         * lib/argp-fmtstream.h: New file, from glibc.
23222         * lib/argp-fs-xinl.c: New file, from glibc.
23223         * lib/argp-help.c: New file, from glibc.
23224         * lib/argp-namefrob.h: New file, from glibc.
23225         * lib/argp-parse.c: New file, from glibc.
23226         * lib/argp-pv.c: New file, from glibc.
23227         * lib/argp-pvh.c: New file, from glibc.
23228         * lib/argp-xinl.c: New file, from glibc.
23229
23230 2003-06-10  Simon Josefsson  <jas@extundo.com>
23231
23232         * modules/strchrnul: New file.
23233
23234 2003-06-10  Simon Josefsson  <jas@extundo.com>
23235
23236         * modules/argp: New file.
23237
23238 2003-06-10  Simon Josefsson  <jas@extundo.com>
23239
23240         * m4/strchrnul.m4: New file.
23241
23242 2003-06-10  Simon Josefsson  <jas@extundo.com>
23243
23244         * lib/strchrnul.h: New file.
23245         * lib/strchrnul.c: New file.
23246
23247 2003-06-10  Bruno Haible  <bruno@clisp.org>
23248
23249         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
23250
23251 2003-06-07  Karl Berry  <karl@gnu.org>
23252
23253         * config/config.{guess,sub}: update from prep.
23254
23255 2003-06-07  Jim Meyering  <jim@meyering.net>
23256
23257         * modules/strtod: Use $(...) notation, not @...@ for
23258         AC_REPLACE'd variables.
23259         * modules/localcharset: Likewise.
23260
23261 2003-06-07  Jim Meyering  <jim@meyering.net>
23262
23263         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
23264         in place of my name in the copyright comment.
23265         Remove definition and uses of __P.
23266
23267         From coreutils.
23268         * lib/stat.c: Don't declare xmalloc explicitly.
23269         Instead, include "xalloc.h".
23270         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
23271         xrealloc, and xcalloc return values.
23272         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
23273         Improve comment.
23274         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
23275
23276 2003-06-07  Bruno Haible  <bruno@clisp.org>
23277
23278         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
23279         avoid AC_CONFIG_LINKS.
23280         * modules/fnmatch (Makefile.am): Use explicit creation rule for
23281         fnmatch.h, to avoid AC_CONFIG_LINKS.
23282         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
23283
23284 2003-06-07  Bruno Haible  <bruno@clisp.org>
23285
23286         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
23287         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
23288         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
23289         directory.
23290         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
23291         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
23292         directory.
23293
23294 2003-06-06  Jim Meyering  <jim@meyering.net>
23295
23296         Merge from coreutils.
23297         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
23298         Consolidate declarations and initializations of *_base* locals.
23299
23300         Merge from coreutils.
23301         This avoids a core dump on systems without GNU putenv,
23302         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
23303         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
23304         (unsetenv): New static function, from GNU libc.
23305         (rpl_putenv): Use it.
23306
23307         * lib/modechange.c: Remove trailing blanks.
23308
23309         Merge from coreutils.
23310         * lib/fsusage.c: Remove declaration of statfs.
23311         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
23312
23313         * lib/posixtm.c: Include <stdbool.h> unconditionally.
23314
23315 2003-06-06  Jim Meyering  <jim@meyering.net>
23316
23317         * lib/stdbool_.h: Renamed from stdbool.h.in.
23318
23319 2003-06-06  Jim Meyering  <jim@meyering.net>
23320             Bruno Haible  <bruno@clisp.org>
23321
23322         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
23323         Adjust Makefile.am snippet not to redirect directly to target.
23324         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
23325
23326 2003-06-05  Paul Eggert  <eggert@twinsun.com>
23327
23328         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
23329         mismatch, look in future quarters as well as past.  This fixes a
23330         bug when processing fall-backwards gaps immediately after a long
23331         period of daylight-saving time.
23332
23333         * lib/mktime.c: Assume freestanding C89 or better.
23334         (HAVE_LIMITS_H): Remove.  Assume it's 1.
23335         (__P): Remove; not used.
23336         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
23337         (mktime, not_equal_tm, print_tm, check_result,
23338         main): Use prototypes.  Use const * where appropriate.
23339         (main): Fix typo in testing code that uncovered by above changes.
23340         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
23341
23342 2003-06-04  Paul Eggert  <eggert@twinsun.com>
23343
23344         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
23345         locale.h, localeconv.  This merges changes from coreutils.
23346
23347         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
23348         It can be removed after the next Autoconf is released.
23349         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
23350         needed.
23351
23352 2003-06-04  Paul Eggert  <eggert@twinsun.com>
23353
23354         * lib/mktime.c: Fix Debian bug 177940
23355         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
23356         (localtime_offset): Now long int, not time_t, because we want it
23357         to be guaranteed to be signed.  All uses changed.
23358         (__mktime_internal): If overflow would occur when adding offset,
23359         don't add it.
23360
23361         Merge 'human' changes from coreutils.  Rewrite to support
23362         locale-specific notations like thousands separators.
23363         * lib/human.c: Simplify authorship notice.
23364         Include human.h immediately after config.h.
23365         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
23366         <limits.h>: Do not include, since human.h does.
23367         (SIZE_MAX, UINTMAX_MAX): New macros.
23368         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
23369         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
23370         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
23371         (power_letter): Renamed from suffixes.
23372         (generate_suffix_backwards): Remove.
23373         (adjust_value): Now takes int style (because of human.h changes)
23374         and long double value (for greater precision on some platforms).
23375         (group_number): New function.
23376         (human_readable): Use it.  Use integer options, not enum.
23377         Put the options before the sizes in the arg list.
23378         Support all the new options.
23379         The old human_readable function has been removed;
23380         use inttostr.h instead.
23381         (human_readable, default_block_size, humblock):
23382         Use uintmax_t, not int, for block sizes.
23383         (human_readable_inexact, block_size_types): Remove.
23384         (block_size_opts): New constant.
23385         (human_options): Renamed from human_block_size, with new signature
23386         that allows block sizes up to UINTMAX_MAX.  All callers changed.
23387         * lib/human.h: Add copyright and authorship notice.
23388         Include <limits.h> and <stdbool.h> unconditionally.
23389         (PARAMS): Remove.  All uses removed.
23390         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
23391         (enum human_inexact_style): Remove tag; now a nameless enum.
23392         (human_floor, human_ceiling, human_round_to_even): Now have
23393         values 2, 0, 1 rather than -1, 1, 0.
23394         (human_group_digits, human_suppress_point_zero, human_autoscale,
23395         human_base_1024, human_SI, human_B): New constants.
23396         (human_readable_inexact, human_block_size): Remove.
23397         (human_readable): Size args are now uintmax_t, not int.
23398         (human_options): New decl.
23399
23400         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
23401         unnecessary now that we assume C89 or better.  This change
23402         imported from coreutils.
23403
23404         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
23405         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
23406         in the 2003-05-30 sync from glibc.
23407
23408         .h files should stand alone, but we shouldn't include <sys/types.h>
23409         if we can get away with just <stddef.h>.
23410
23411         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
23412         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
23413         rather than <sys/types.h>, as we merely need size_t.
23414         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
23415         to get size_t.
23416         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
23417         Include <stdio.h>, to get FILE.
23418         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
23419         memcasecmp.h has included <stddef.h> and all we need is size_t.
23420         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
23421         our interface, instead of including <sys/types.h>
23422
23423 2003-06-04  Paul Eggert  <eggert@twinsun.com>
23424
23425         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
23426         now, as glibc mktime is buggy on non-glibc systems.
23427
23428 2003-06-03  Karl Berry  <karl@gnu.org>
23429
23430         * config/config.sub: update from prep.
23431
23432 2003-06-02  Paul Eggert  <eggert@twinsun.com>
23433
23434         [from coreutils]
23435         Fix some minor time-related bugs with POSIX time arguments.
23436         Some valid time stamps were being rejected (notably -1, and
23437         time stamps before 1900 on 64-bit hosts).  And some invalid
23438         time stamps were being accepted, e.g. September 31.
23439
23440         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
23441         that we can return (time_t) -1 successfully.
23442         * lib/posixtm.c: Likewise.
23443         [HAVE_STDBOOL_H]: Include <stdbool.h>.
23444         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
23445         (t): Remove static var.
23446         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
23447         of static var.  All uses changed.
23448         (year): Do not reject years before 1900; they can occur with
23449         64-bit time_t.
23450         (posix_time_parse): Do not check for out-of-range components;
23451         that is now the caller's responsibility, since our checks were
23452         only approximations.
23453         (posixtime): Use mktime to check for out-of-range components,
23454         since it knows them exactly.
23455         If mktime returns (time_t) -1, check whether an error actually occurred
23456         by invoking localtime on -1.
23457         (main) [TEST_POSIXTIME]: Check for input data errors, and report
23458         posixtime failures better.
23459         Improve the test data (in comments only).
23460
23461 2003-06-02  Karl Berry  <karl@gnu.org>
23462
23463         * config/mkinstalldirs (version): new variable.
23464         (--version): new option.
23465         (usage): improve message.
23466
23467 2003-05-30  Karl Berry  <karl@gnu.org>
23468
23469         * lib/mktime.c: update from libc.
23470
23471 2003-05-30  Bruno Haible  <bruno@clisp.org>
23472
23473         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
23474         * config/config.rpath: Upgrade to gettext-0.12.1.
23475
23476 2003-05-30  Bruno Haible  <bruno@clisp.org>
23477
23478         * m4/gettext.m4: Upgrade to gettext-0.12.1.
23479         * m4/nls.m4: New file, from gettext-0.12.1.
23480         * m4/po.m4: New file, from gettext-0.12.1.
23481         * m4/progtest.m4: Upgrade to gettext-0.12.1.
23482
23483 2003-05-30  Bruno Haible  <bruno@clisp.org>
23484
23485         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
23486         * lib/localcharset.h: Likewise.
23487         * lib/localcharset.c: Likewise.
23488
23489 2003-05-29  Karl Berry  <karl@gnu.org>
23490
23491         * config/config.rpath: update from gettext.
23492
23493 2003-05-28  Paul Eggert  <eggert@twinsun.com>
23494
23495         Assume the headers required for C89 freestanding compilers.
23496         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
23497         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
23498         * m4/human.m4 (gl_HUMAN): Likewise.
23499         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
23500         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
23501         * m4/userspec.m4 (gl_USERSPEC): Likewise.
23502         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
23503         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
23504         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
23505
23506 2003-05-28  Paul Eggert  <eggert@twinsun.com>
23507
23508         Assume the headers required for C89 freestanding compilers.
23509         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
23510         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
23511         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
23512         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
23513         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
23514         define, since <limits.h> is guaranteed to do that.
23515         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
23516         * lib/exclude.c: Include <stdbool.h> unconditionally.
23517         * lib/tempname.c: Include <stddef.h> unconditionally.
23518         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
23519         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
23520         <stddef.h> does that.
23521         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
23522         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
23523         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
23524         needed.
23525         * lib/xstrtol.c: Likewise.
23526         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
23527         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
23528
23529         * lib/addext.c (addext): Use assignment rather than cast, to avoid
23530         warnings on some platforms.
23531
23532         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
23533         arbitrarily.
23534
23535 2003-05-26  Jim Meyering  <jim@meyering.net>
23536
23537         Merge in a change from coreutils:
23538         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
23539         that is guaranteed to be `no'.  Use `no_such_member' to indicate
23540         that condition, rather than `-1' which is slightly misleading.
23541         Change the name of the cache variable to have the gl_ prefix.
23542         Prompted by a patch from Richard Dawe for DJGPP.
23543
23544 2003-05-24  Karl Berry  <karl@gnu.org>
23545
23546         * config/config.guess: update from prep.
23547
23548 2003-05-22  Karl Berry  <karl@gnu.org>
23549
23550         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
23551
23552 2003-05-20  Karl Berry  <karl@gnu.org>
23553
23554         * config/config.guess: update from prep.
23555
23556 2003-05-18  Karl Berry  <karl@gnu.org>
23557
23558         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
23559         might actually be set by the user.
23560
23561         * config/depcomp, install-sh, mdate-sh: update from automake.
23562
23563 2003-05-17  Bruno Haible  <bruno@clisp.org>
23564
23565         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
23566         invalid expansion for AC_EGREP_CPP.
23567         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
23568         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
23569         Suggested by Akim Demaille <akim@epita.fr> in
23570         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
23571
23572 2003-05-12  Jim Meyering  <jim@meyering.net>
23573
23574         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
23575         the space-padded-by-default conversion specifiers, %e, %k, %l.
23576
23577 2003-05-12  Bruno Haible  <bruno@clisp.org>
23578
23579         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
23580         the string is longer than 4 KB.
23581
23582 2003-05-11  Karl Berry  <karl@gnu.org>
23583
23584         * config/config.{guess,sub}: update from prep.
23585
23586 2003-05-09  Bruno Haible  <bruno@clisp.org>
23587
23588         * modules/error: Add m4/strerror_r.m4 to file list.
23589
23590 2003-05-03  Bruno Haible  <bruno@clisp.org>
23591
23592         Upgrade to Unicode-4.0.
23593         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
23594         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
23595         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
23596         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
23597         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
23598         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
23599         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
23600         Change width of U+E0100..U+E01EF from 1 to 0.
23601
23602 2003-04-25  Jim Meyering  <jim@meyering.net>
23603
23604         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
23605         of type size_t, not int.
23606
23607 2003-04-25  Bruno Haible  <bruno@clisp.org>
23608
23609         * lib/copy-file.c: Include <stddef.h>, for size_t.
23610
23611 2003-04-21  Paul Eggert  <eggert@twinsun.com>
23612
23613         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
23614         code which expansion is under static control.  Patch imported from
23615         Akim Demaille's patch to Bison; see
23616         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
23617
23618 2003-04-14  Bruno Haible  <bruno@clisp.org>
23619
23620         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
23621
23622 2003-04-11  Jim Meyering  <jim@meyering.net>
23623
23624         Merge changes from Coreutils.
23625
23626         2003-03-22  Jim Meyering  <jim@meyering.net>
23627
23628         * lib/strftime.c (widen): Cast alloca return value to proper type.
23629
23630         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
23631
23632         From GNU libc.
23633         * lib/strftime.c (my_strftime): Handle very large width
23634         specifications for numeric values correctly.  Improve checks for
23635         overflow.
23636
23637         2003-01-19  Jim Meyering  <jim@meyering.net>
23638
23639         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
23640         definitions.
23641         (nl_get_alt_digit) [! defined my_strftime]: Define.
23642         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
23643         _nl_get_alt_digit and _nl_get_walt_digit.
23644
23645         * lib/strftime.c (my_strftime): Merge in locale-related changes from
23646         libc. These changes have no effect outside of _LIBC.
23647
23648 2003-04-10  Bruno Haible  <bruno@clisp.org>
23649
23650         * modules/findprog: New file.
23651         * MODULES.html.sh (func_all_modules): Add it.
23652
23653 2003-04-10  Bruno Haible  <bruno@clisp.org>
23654
23655         * m4/findprog.m4: New file.
23656         * m4/eaccess.m4: New file.
23657
23658 2003-04-10  Bruno Haible  <bruno@clisp.org>
23659
23660         * lib/findprog.h: New file, from GNU gettext.
23661         * lib/findprog.c: New file, from GNU gettext.
23662
23663 2003-04-05  Jim Meyering  <jim@meyering.net>
23664
23665         Merge changes from Coreutils.
23666
23667         * lib/exclude.h (PARAMS): Remove definition and uses.
23668         * lib/exclude.c: Remove uses of `PARAMS'.
23669
23670         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
23671         Add test-cases for DOS filenames. Declare program_name.
23672         (main): Set up program_name.  Patch by Rich Dawe.
23673
23674         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
23675         error from mntctl.
23676         Use mntctl's return value to drive the entry-processing loop, since
23677         we can't rely on the value of the vmt_length member in the last
23678         entry.  On some systems doing so could result in exhausting
23679         virtual memory.  Based in part on a patch from Mike Jetzer.
23680
23681 2003-04-04  Bruno Haible  <bruno@clisp.org>
23682
23683         * modules/linebreak: New file.
23684         * MODULES.html.sh (func_all_modules): Add it.
23685
23686 2003-04-04  Bruno Haible  <bruno@clisp.org>
23687
23688         * m4/linebreak.m4: New file.
23689
23690 2003-04-04  Bruno Haible  <bruno@clisp.org>
23691
23692         * lib/linebreak.h: New file, from GNU gettext.
23693         * lib/linebreak.c: New file, from GNU gettext with slight
23694         modifications.
23695         * lib/lbrkprop.h: New file, from GNU gettext.
23696
23697 2003-04-03  Bruno Haible  <bruno@clisp.org>
23698
23699         * modules/utf8-ucs4: New file.
23700         * modules/utf16-ucs4: New file.
23701         * modules/ucs4-utf8: New file.
23702         * modules/ucs4-utf16: New file.
23703         * MODULES.html.sh (func_all_modules): Add them.
23704
23705 2003-04-03  Bruno Haible  <bruno@clisp.org>
23706
23707         * m4/utf-ucs4.m4: New file.
23708         * m4/ucs4-utf.m4: New file.
23709
23710 2003-04-03  Bruno Haible  <bruno@clisp.org>
23711
23712         * lib/utf8-ucs4.h: New file, from GNU gettext.
23713         * lib/utf16-ucs4.h: New file, from GNU gettext.
23714         * lib/ucs4-utf8.h: New file, from GNU gettext.
23715         * lib/ucs4-utf16.h: New file, from GNU gettext.
23716
23717 2003-04-02  Bruno Haible  <bruno@clisp.org>
23718
23719         * modules/binary-io: New file.
23720         * MODULES.html.sh (func_all_modules): Add it.
23721
23722 2003-04-02  Bruno Haible  <bruno@clisp.org>
23723
23724         * lib/binary-io.h: New file, from GNU gettext.
23725
23726 2003-04-01  Bruno Haible  <bruno@clisp.org>
23727
23728         * modules/pathname: New file.
23729         * MODULES.html.sh (func_all_modules): Add it.
23730
23731 2003-04-01  Bruno Haible  <bruno@clisp.org>
23732
23733         * lib/pathname.h: New file, from GNU gettext.
23734         * lib/concatpath.c: New file, from GNU gettext.
23735
23736 2003-03-30  Bruno Haible  <bruno@clisp.org>
23737
23738         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
23739
23740 2003-03-30  Bruno Haible  <bruno@clisp.org>
23741
23742         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
23743         function chown() doesn't exist.
23744
23745 2003-03-28  Bruno Haible  <bruno@clisp.org>
23746
23747         * modules/copy-file: New file.
23748         * MODULES.html.sh (func_all_modules): Add it.
23749
23750 2003-03-28  Bruno Haible  <bruno@clisp.org>
23751
23752         * m4/copy-file.m4: New file.
23753
23754 2003-03-28  Bruno Haible  <bruno@clisp.org>
23755
23756         * lib/copy-file.h: New file, from GNU gettext.
23757         * lib/copy-file.c: New file, from GNU gettext.
23758
23759 2003-03-18  Jim Meyering  <jim@meyering.net>
23760
23761         * lib/quote.c (quote_n): Fix typo in comment.
23762
23763 2003-03-18  Bruno Haible  <bruno@clisp.org>
23764
23765         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
23766         checking.
23767         * m4/onceonly_2_57.m4: Likewise.
23768
23769 2003-03-17  Bruno Haible  <bruno@clisp.org>
23770
23771         * m4/onceonly.m4: Require autoconf 2.54 or newer.
23772         (m4_quote): Remove macro.
23773         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
23774
23775 2003-03-14  Jim Meyering  <jim@meyering.net>
23776
23777         Merge changes from Coreutils.
23778         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
23779         to be const, in order to avoid warnings.
23780         (obstack_room): Likewise.
23781         (obstack_empty_p): Likewise.
23782
23783 2003-03-14  Bruno Haible  <bruno@clisp.org>
23784
23785         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
23786         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
23787
23788 2003-03-13  Paul Eggert  <eggert@twinsun.com>
23789
23790         Merge changes from Bison.
23791         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
23792         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
23793         when compiling Bison 1.875's `bitset bset = obstack_alloc
23794         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
23795         * lib/hash.c: Include <stdbool.h> unconditionally.
23796
23797 2003-03-13  Paul Eggert  <eggert@twinsun.com>
23798
23799         * m4/onceonly.m4 (m4_quote): New macro.
23800         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
23801         Quote AC_FOREACH variable-expansions properly.
23802
23803 2003-03-13  Paul Eggert  <eggert@twinsun.com>
23804
23805         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
23806
23807 2003-03-09  Paul Eggert  <eggert@twinsun.com>
23808
23809         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
23810         Reported by Bruce Becker; see:
23811         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
23812
23813 2003-03-03  Paul Eggert  <eggert@twinsun.com>
23814             Bruno Haible  <bruno@clisp.org>
23815
23816         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
23817         Reported by John Hughes, see
23818         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
23819
23820 2003-02-20  Bruno Haible  <bruno@clisp.org>
23821
23822         * MODULES.html.sh (func_all_modules): Add poll.
23823
23824 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
23825
23826         * modules/poll: New file.
23827
23828 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
23829
23830         * lib/poll_.h: New file.
23831         * lib/poll.c: New file.
23832
23833 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
23834
23835         * m4/poll.m4: New file.
23836
23837 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
23838
23839         * modules/mathl: New file.
23840
23841 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
23842
23843         * lib/mathl.h: New file.
23844         * lib/acosl.c: New file.
23845         * lib/asinl.c: New file.
23846         * lib/atanl.c: New file.
23847         * lib/ceill.c: New file.
23848         * lib/cosl.c: New file.
23849         * lib/expl.c: New file.
23850         * lib/floorl.c: New file.
23851         * lib/frexpl.c: New file.
23852         * lib/ldexpl.c: New file.
23853         * lib/logl.c: New file.
23854         * lib/sincosl.c: New file.
23855         * lib/sinl.c: New file.
23856         * lib/sqrtl.c: New file.
23857         * lib/tanl.c: New file.
23858         * lib/trigl.c: New file.
23859         * lib/trigl.h: New file.
23860
23861 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
23862
23863         * m4/mathl.m4: New file.
23864
23865 2003-02-18  Bruno Haible  <bruno@clisp.org>
23866
23867         * MODULES.html.sh (func_all_modules): Add mathl.
23868
23869 2003-02-17  Bruno Haible  <bruno@clisp.org>
23870
23871         * modules/mkdtemp: New module.
23872         * MODULES.html.sh (func_all_modules): Add it.
23873
23874 2003-02-17  Bruno Haible  <bruno@clisp.org>
23875
23876         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
23877
23878 2003-02-17  Bruno Haible  <bruno@clisp.org>
23879
23880         * lib/mkdtemp.h: New file, from GNU gettext.
23881         * lib/mkdtemp.c: New file, from GNU gettext.
23882
23883 2003-02-02  Jim Meyering  <jim@meyering.net>
23884
23885         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
23886         e.g. glibc-2.2.93.
23887
23888 2003-01-31  Bruno Haible  <bruno@clisp.org>
23889
23890         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
23891         'rpl_rename'.
23892         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
23893         'rpl_strnlen'.
23894         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
23895         'rpl_strtod'.
23896         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
23897         'rpl_utime'.
23898
23899 2003-01-31  Bruno Haible  <bruno@clisp.org>
23900
23901         * lib/rename.c: #undef rename before defining rpl_rename.
23902         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
23903
23904 2003-01-30  Bruno Haible  <bruno@clisp.org>
23905
23906         * modules/vasnprintf, modules/vasprintf: New modules.
23907         * MODULES.html.sh (func_all_modules): Add them.
23908
23909 2003-01-30  Bruno Haible  <bruno@clisp.org>
23910
23911         * m4/signed.m4: New file, from GNU gettext.
23912         * m4/longdouble.m4: New file, from GNU gettext.
23913         * m4/wchar_t.m4: New file, from GNU gettext.
23914         * m4/wint_t.m4: New file, from GNU gettext.
23915         * m4/vasnprintf.m4: New file.
23916         * m4/vasprintf.m4: New file.
23917
23918 2003-01-30  Bruno Haible  <bruno@clisp.org>
23919
23920         * lib/printf-args.h: New file, from GNU gettext.
23921         * lib/printf-args.c: New file, from GNU gettext.
23922         * lib/printf-parse.h: New file, from GNU gettext.
23923         * lib/printf-parse.c: New file, from GNU gettext.
23924         * lib/vasnprintf.h: New file, from GNU gettext.
23925         * lib/vasnprintf.c: New file, from GNU gettext.
23926         * lib/asnprintf.c: New file, from GNU gettext.
23927         * lib/vasprintf.h: New file, from GNU gettext with modifications.
23928         * lib/vasprintf.c: New file, from GNU gettext.
23929         * lib/asprintf.c: New file, from GNU gettext.
23930
23931 2003-01-29  Bruno Haible  <bruno@clisp.org>
23932
23933         * modules/stpncpy: New module.
23934         * MODULES.html.sh (func_all_modules): Add it.
23935
23936 2003-01-29  Bruno Haible  <bruno@clisp.org>
23937
23938         * m4/stpncpy.m4: New file.
23939
23940 2003-01-29  Bruno Haible  <bruno@clisp.org>
23941
23942         * lib/stpncpy.h: New file, from GNU gettext with modifications.
23943         * lib/stpncpy.c: New file, from GNU gettext with modifications.
23944
23945 2003-01-28  Bruno Haible  <bruno@clisp.org>
23946
23947         * modules/c-ctype: New module.
23948         * MODULES.html.sh (func_all_modules): Add it.
23949
23950 2003-01-28  Bruno Haible  <bruno@clisp.org>
23951
23952         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
23953         Paul Eggert.
23954         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
23955         Paul Eggert.
23956
23957 2003-01-27  Bruno Haible  <bruno@clisp.org>
23958
23959         * modules/xsetenv: New module.
23960         * MODULES.html.sh (func_all_modules): Add it.
23961
23962 2003-01-27  Bruno Haible  <bruno@clisp.org>
23963
23964         * lib/xsetenv.h: New file, from GNU gettext.
23965         * lib/xsetenv.c: New file, from GNU gettext.
23966
23967 2003-01-23  Jim Meyering  <jim@meyering.net>
23968
23969         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
23970         from working on systems without dirfd (at least Irix and OSF1/Tru64).
23971
23972 2003-01-23  Bruno Haible  <bruno@clisp.org>
23973
23974         * modules/minmax: New module.
23975         * MODULES.html.sh (func_all_modules): Add it.
23976
23977 2003-01-23  Bruno Haible  <bruno@clisp.org>
23978
23979         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
23980         Eggert.
23981
23982 2003-01-22  Bruno Haible  <bruno@clisp.org>
23983
23984         * modules/exit: New module.
23985         * MODULES.html.sh (func_all_modules): Add it.
23986
23987 2003-01-22  Bruno Haible  <bruno@clisp.org>
23988
23989         * lib/exit.h: New file, from GNU gettext.
23990
23991 2003-01-19  Bruno Haible  <bruno@clisp.org>
23992
23993         * gnulib-tool: Recognize option --extract-maintainer.
23994         (func_get_maintainer): New function.
23995         * modules/*: Add Maintainer entry.
23996
23997 2003-01-16  Jim Meyering  <jim@meyering.net>
23998
23999         * m4/regex.m4: The `regex' struct is both input and output.
24000         Initialize it before each use.  Patch by Tim Waugh.
24001
24002 2003-01-16  Bruno Haible  <bruno@clisp.org>
24003
24004         * MODULES.html.sh: Add a table of contents. Add the module name as
24005         leftmost column. Add hyperlinks.
24006
24007 2003-01-15  Bruno Haible  <bruno@clisp.org>
24008
24009         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
24010
24011 2003-01-15  Bruno Haible  <bruno@clisp.org>
24012
24013         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
24014         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
24015         suffix.
24016
24017 2003-01-15  Bruno Haible  <bruno@clisp.org>
24018
24019         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
24020
24021 2003-01-15  Bruno Haible  <bruno@clisp.org>
24022
24023         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
24024         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
24025
24026 2003-01-14  Jim Meyering  <jim@meyering.net>
24027
24028         * lib/same.c (same_name): Tweak a comment.
24029
24030 2003-01-14  Bruno Haible  <bruno@clisp.org>
24031
24032         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
24033         when a string comparison is sufficient.
24034
24035 2003-01-14  Bruno Haible  <bruno@clisp.org>
24036
24037         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
24038         'unsigned int'.
24039
24040 2003-01-14  Bruno Haible  <bruno@clisp.org>
24041
24042         * lib/hash-pjw.c: Add comment about low quality of this function.
24043
24044 2003-01-13  Bruno Haible  <bruno@clisp.org>
24045
24046         * modules/stpcpy: Distribute lib/stpcpy.h.
24047         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
24048
24049 2003-01-13  Bruno Haible  <bruno@clisp.org>
24050
24051         * modules/*: Add a description.
24052         * modules/strpbrk: Fix Makefile.am snippet.
24053         * modules/strtoimax: Fix dependencies.
24054         * modules/strtoumax: Likewise.
24055
24056 2003-01-13  Bruno Haible  <bruno@clisp.org>
24057
24058         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
24059         * modules/alloca (Makefile.am): All object files depend on alloca.h.
24060         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
24061
24062 2003-01-13  Bruno Haible  <bruno@clisp.org>
24063
24064         * gnulib-tool (func_create_testdir): Store config/* files in the main
24065         directory.
24066         * config.rpath: Move to ...
24067         * config/config.rpath: ... here.
24068         * modules/gettext: Contains config/config.rpath, not config.rpath.
24069         * modules/iconv: Likewise.
24070
24071 2003-01-12  Paul Eggert  <eggert@twinsun.com>
24072
24073         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
24074         to avoid collisions with libcurses and libreadline.
24075
24076         * m4/getstr.m4: Remove.
24077         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
24078
24079 2003-01-12  Paul Eggert  <eggert@twinsun.com>
24080
24081         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
24082         to avoid collisions with libcurses and libreadline.
24083
24084         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
24085         * lib/getstr.h, getstr.c: Remove.
24086         * lib/getline.c: Include "getline.h", to check interface.
24087         Move body of old getstr.c here: this defines MIN_CHUNK and
24088         declares getdelim2, which is renamed from getstr.
24089         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
24090
24091         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
24092         All uses changed.
24093         * lib/linebuffer.h: Likewise.
24094         (readline): Remove backward-compatibility macro.
24095
24096 2003-01-12  Paul Eggert  <eggert@twinsun.com>
24097
24098         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
24099         to avoid collisions with libcurses and libreadline.
24100         * getstr: Remove.
24101         * MODULES.html.sh: Remove getstr.
24102         * modules/getline: Depend on unlocked-io, not getstr.
24103
24104 2003-01-12  Jim Meyering  <jim@meyering.net>
24105
24106         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
24107
24108 2003-01-10  Bruno Haible  <bruno@clisp.org>
24109
24110         * modules/alloca: Change Makefile.am requirements. Simplify Include
24111         requirements. Add lib/alloca_.h to file list.
24112
24113 2003-01-10  Bruno Haible  <bruno@clisp.org>
24114
24115         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
24116
24117 2003-01-10  Bruno Haible  <bruno@clisp.org>
24118
24119         * lib/alloca_.h: New file.
24120         * lib/getdate.y: Unconditionally include alloca.h.
24121         * lib/makepath.c: Likewise.
24122         * lib/setenv.c: Likewise.
24123         * lib/userspec.c: Likewise.
24124
24125 2003-01-09  Karl Berry  <karl@gnu.org>
24126
24127         * MODULES.html.sh: include `dirname $0` in PATH, to find
24128         gnulib-tool.
24129
24130 2003-01-09  Bruno Haible  <bruno@clisp.org>
24131
24132         * modules/stdbool: Change configure.ac, Makefile.am requirements.
24133         Simplify Include requirements. Add lib/stdbool.h.in to file list.
24134
24135 2003-01-09  Bruno Haible  <bruno@clisp.org>
24136
24137         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
24138
24139 2003-01-09  Bruno Haible  <bruno@clisp.org>
24140
24141         * lib/stdbool.h.in: New file.
24142
24143 2003-01-09  Bruno Haible  <bruno@clisp.org>
24144
24145         * gnulib-tool (func_all_modules): Ignore files ending in ~.
24146         * MODULES.html.sh: Likewise.
24147
24148 2003-01-08  Jim Meyering  <jim@meyering.net>
24149
24150         * lib/full-write.c: Undefine and define-away `const' after inclusion
24151         of errno.h, not before.  Suggestion from Bruno Haible.
24152
24153 2003-01-08  Bruno Haible  <bruno@clisp.org>
24154
24155         * modules/full-read: Depend on full-write.
24156
24157 2003-01-08  Bruno Haible  <bruno@clisp.org>
24158
24159         * lib/safe-read.c: Include specification header first, to ensure its
24160         selfcontainedness.
24161         * lib/full-write.c: Likewise.
24162
24163 2003-01-07  Jim Meyering  <jim@meyering.net>
24164
24165         * lib/full-write.c: Rework so that it may serve to define full_read,
24166         too.
24167         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
24168
24169 2003-01-07  Bruno Haible  <bruno@clisp.org>
24170
24171         * lib/strtoimax.c: Include <stdint.h> as an alternative to
24172         <inttypes.h>.
24173         * lib/xstrtol.h: Likewise.
24174         * lib/xstrtoimax.c: Likewise.
24175         * lib/xstrtoumax.c: Likewise.
24176         * lib/human.h: Likewise.
24177
24178         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
24179         on systems that have <inttypes.h> but not <stdint.h>.
24180
24181 2003-01-07  Bruno Haible  <bruno@clisp.org>
24182
24183         * MODULES.html.sh: Add copyright notice.
24184         (missed_files): Omit CVS directory entries.
24185         (func_module): Make it work with sed-3.02.
24186         * MODULES.txt: Remove file.
24187
24188 2003-01-06  Jim Meyering  <jim@meyering.net>
24189
24190         * lib/version-etc.c: Update year in translatable copyright string.
24191
24192 2003-01-03  Karl Berry  <karl@gnu.org>
24193
24194         * config/config.{guess,sub}: update from prep.
24195
24196 2003-01-02  Karl Berry  <karl@gnu.org>
24197
24198         * doc/COPYING.DOC: belatedly updated to 1.2.
24199
24200 2003-01-01  Karl Berry  <karl@gnu.org>
24201
24202         * gnulib-tool (func_verify_module): report module name $module in
24203         error message, not $1.
24204         * gnulib-tool (create-testdir): don't complain if destdir couldn't
24205         be created, only if it doesn't exist.
24206         * gnulib-tool (last_checkin_date): don't expand the $Date here.
24207
24208 2002-12-31  Paul Eggert  <eggert@twinsun.com>
24209
24210         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
24211
24212 2002-12-31  Paul Eggert  <eggert@twinsun.com>
24213
24214         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
24215         memcmp if strcoll doesn't work.
24216
24217 2002-12-31  Bruno Haible  <bruno@clisp.org>
24218
24219         * lib/utime.c (utime_null): No need to call ftruncate if the file was
24220         nonempty.
24221
24222 2002-12-31  Bruno Haible  <bruno@clisp.org>
24223
24224         * lib/memcoll.c (STRCOLL): New macro.
24225         (memcoll): Use it.
24226
24227 2002-12-31  Bruno Haible  <bruno@clisp.org>
24228
24229         * lib/localcharset.h: New file.
24230         * lib/localcharset.c: Include it.
24231         * lib/unicodeio.c: Likewise.
24232
24233 2002-12-31  Bruno Haible  <bruno@clisp.org>
24234
24235         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
24236         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
24237
24238 2002-12-31  Bruno Haible  <bruno@clisp.org>
24239
24240         * lib/getline.h: Include <stddef.h>, for size_t.
24241
24242         * lib/unicodeio.h: Include <stddef.h>, for size_t.
24243         * lib/unicodeio.c: Don't include <stddef.h>.
24244
24245 2002-12-31  Bruno Haible  <bruno@clisp.org>
24246
24247         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
24248         HAVE_TM_ZONE.
24249
24250 2002-12-24  Karl Berry  <karl@gnu.org>
24251
24252         * config/config.guess: update from prep.
24253
24254 2002-12-24  Bruno Haible  <bruno@clisp.org>
24255
24256         General infrasructure.
24257         * m4/README: Rewritten.
24258         * m4/onceonly.m4: New file.
24259         * m4/onceonly_2_57.m4: New file.
24260
24261         Module atexit.
24262         * m4/atexit.m4: New file.
24263
24264         Module strtod.
24265         * m4/strtod.m4: New file.
24266
24267         Module strtol.
24268         * m4/strtol.m4: New file.
24269
24270         Module strtoul.
24271         * m4/strtoul.m4: New file.
24272
24273         Module memchr.
24274         * m4/memchr.m4: New file.
24275
24276         Module memcmp.
24277         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
24278         (jm_FUNC_MEMCMP): Invoke it.
24279
24280         Module memcpy.
24281         * m4/memcpy.m4: New file.
24282
24283         Module memmove.
24284         * m4/memmove.m4: New file.
24285
24286         Module memset.
24287         * m4/memset.m4: New file.
24288
24289         Module strcspn.
24290         * m4/strcspn.m4: New file.
24291
24292         Module strpbrk.
24293         * m4/strpbrk.m4: New file.
24294
24295         Module strstr.
24296         * m4/strstr.m4: New file.
24297
24298         Module strerror.
24299         * m4/strerror.m4: New file.
24300
24301         Module mktime.
24302         * m4/mktime.m4: Renamed from jm-mktime.m4.
24303         (gl_PREREQ_MKTIME): New macro.
24304         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
24305
24306         Module malloc.
24307         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
24308         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
24309         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
24310
24311         Module realloc.
24312         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
24313         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
24314         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
24315
24316         Module strftime.
24317         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
24318         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
24319         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
24320         gl_TM_GMTOFF.
24321         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
24322
24323         Module xalloc.
24324         * m4/xalloc.m4: New file.
24325
24326         Module alloca.
24327         * m4/alloca.m4: New file.
24328
24329         Module putenv.
24330         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
24331         (jm_FUNC_PUTENV): Invoke it.
24332
24333         Module setenv.
24334         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
24335         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
24336         when invoked twice.
24337         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
24338         gt_FUNC_SETENV.
24339
24340         Module memrchr.
24341         * m4/memrchr.m4: New file.
24342
24343         Module stpcpy.
24344         * m4/stpcpy.m4: New file.
24345
24346         Module strcase.
24347         * m4/strcase.m4: New file.
24348
24349         Module strdup.
24350         * m4/strdup.m4: New file.
24351
24352         Module strnlen.
24353         * m4/strnlen.m4: New file.
24354
24355         Module strndup.
24356         * m4/strndup.m4: New file.
24357
24358         Module xstrtod.
24359         * m4/xstrtod.m4: New file.
24360
24361         Module xstrtol.
24362         * m4/xstrtol.m4: New file.
24363
24364         Module getdate.
24365         * m4/getdate.m4: New file.
24366
24367         Module unlocked-io.
24368         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
24369         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
24370         * m4/jm-glibc-io.m4n: Remove file.
24371
24372         Module long-options.
24373         * m4/long-options.m4: New file.
24374
24375         Module md5.
24376         * m4/md5.m4: New file.
24377
24378         Module sha.
24379         * m4/sha.m4: New file.
24380
24381         Module getstr.
24382         * m4/getstr.m4: New file.
24383
24384         Module getline.
24385         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
24386         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
24387         <sys/types.h>, for size_t. Use the function name gnu_getline, not
24388         simply getline. Infoke gl_PREREQ_GETLINE.
24389
24390         Module obstack.
24391         * m4/obstack.m4: New file.
24392
24393         Module hash.
24394         * m4/hash.m4: New file.
24395
24396         Module readtokens.
24397         * m4/readtokens.m4: New file.
24398
24399         Module strverscmp.
24400         * m4/strverscmp.m4: New file.
24401
24402         Module stdbool.
24403         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
24404         OSF/1.
24405
24406         Module strtoll.
24407         * m4/strtoll.m4: New file.
24408
24409         Module strtoull.
24410         * m4/strtoull.m4: New file.
24411
24412         Module strtoimax.
24413         * m4/strtoimax.m4: New file.
24414
24415         Module strtoumax.
24416         * m4/strtoumax.m4: New file.
24417
24418         Module xstrtoimax.
24419         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
24420         jm_AC_PREREQ_XSTRTOIMAX.
24421         Moved the strtol prerequisites to strtol.m4.
24422         Moved the strtoll prerequisites to strtoll.m4.
24423         Moved the strtoimax prerequisites to strtoimax.m4.
24424
24425         Module xstrtoumax.
24426         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
24427         jm_AC_PREREQ_XSTRTOUMAX.
24428         Moved the strtoul prerequisites to strtoul.m4.
24429         Moved the strtoull prerequisites to strtoull.m4.
24430         Moved the strtoumax prerequisites to strtoumax.m4.
24431
24432         Module chown.
24433         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
24434         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
24435
24436         Module dup2.
24437         * m4/dup2.m4: New file.
24438
24439         Module ftruncate.
24440         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
24441         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
24442
24443         Module getgroups.
24444         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
24445         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
24446
24447         Module gettimeofday.
24448         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
24449         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
24450         gl_PREREQ_GETTIMEOFDAY.
24451
24452         Module mkdir.
24453         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
24454         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
24455
24456         Module mkstemp.
24457         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
24458         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
24459         jm_AC_TYPE_UINTMAX_T.
24460         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
24461
24462         Module stat.
24463         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
24464         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
24465
24466         Module lstat.
24467         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
24468         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
24469
24470         Module timespec.
24471         * m4/timespec.m4 (gl_TIMESPEC): New macro.
24472         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
24473         * m4/st_mtim.m4: Indentation.
24474
24475         Module nanosleep.
24476         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
24477         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
24478         gl_PREREQ_NANOSLEEP.
24479
24480         Module regex.
24481         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
24482         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
24483         (gl_REGEX): New macro.
24484
24485         Module rename.
24486         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
24487         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
24488
24489         Module rmdir.
24490         * m4/rmdir.m4: New file.
24491
24492         Module utime.
24493         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
24494         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
24495         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
24496
24497         Module dirname.
24498         * m4/dirname.m4: New file.
24499
24500         Module getopt.
24501         * m4/getopt.m4: New file.
24502
24503         Module unistd-safer.
24504         * m4/unistd-safer.m4: New file.
24505
24506         Module fnmatch.
24507         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
24508         declaration.
24509         (gl_PREREQ_FNMATCH_EXTRA): New macro.
24510         (gl_FUNC_FNMATCH_POSIX): New macro.
24511         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
24512         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
24513         simply fnmatch.
24514
24515         Module exclude.
24516         * m4/exclude.m4: New file.
24517
24518         Module human.
24519         * m4/human.m4: New file.
24520
24521         Module acl.
24522         * m4/acl.m4: Nop.
24523
24524         Module backupfile.
24525         * m4/backupfile.m4: New file.
24526         * m4/d-ino.m4: Indentation.
24527
24528         Module fsusage.
24529         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
24530         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
24531         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
24532
24533         Module dirfd.
24534         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
24535         requirements.
24536
24537         Module euidaccess.
24538         * m4/euidaccess.m4: New file.
24539
24540         Module file-type.
24541         * m4/file-type.m4: New file.
24542
24543         Module fileblocks.
24544         * m4/fileblocks.m4: New file.
24545
24546         Module filemode.
24547         * m4/filemode.m4: New file.
24548
24549         Module isdir.
24550         * m4/isdir.m4: New file.
24551
24552         Module lchown.
24553         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
24554         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
24555
24556         Module makepath.
24557         * m4/makepath.m4: New file.
24558
24559         Module modechange.
24560         * m4/modechange.m4: New file.
24561
24562         Module mountlist.
24563         * m4/mountlist.m4: New file.
24564         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
24565         Indentation.
24566
24567         Module path-concat.
24568         * m4/path-concat.m4: New file.
24569
24570         Module pathmax.
24571         * m4/pathmax.m4: New file.
24572
24573         Module same.
24574         * m4/same.m4: New file.
24575
24576         Module save-cwd.
24577         * m4/save-cwd.m4: New file.
24578
24579         Module savedir.
24580         * m4/savedir.m4: New file.
24581
24582         Module xgetcwd.
24583         * m4/xgetcwd.m4: New file.
24584         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
24585
24586         Module xreadlink.
24587         * m4/xreadlink.m4: New file.
24588
24589         Module safe-read.
24590         * m4/safe-read.m4: New file.
24591
24592         Module safe-write.
24593         * m4/safe-write.m4: New file.
24594
24595         Module closeout.
24596         * m4/closeout.m4: New file.
24597
24598         Module stdio-safer.
24599         * m4/stdio-safer.m4: New file.
24600
24601         Module getpass.
24602         * m4/getpass.m4: New file.
24603
24604         Module getugroups.
24605         * m4/getugroups.m4: New file.
24606
24607         Module group-member.
24608         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
24609         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
24610
24611         Module idcache.
24612         * m4/idcache.m4: New file.
24613
24614         Module userspec.
24615         * m4/userspec.m4: New file.
24616
24617         Module gettime.
24618         * m4/clock_time.m4: New file.
24619         * m4/gettime.m4: New file.
24620
24621         Module settime.
24622         * m4/settime.m4: New file.
24623
24624         Module posixtm.
24625         * m4/posixtm.m4: New file.
24626
24627         Module gethostname.
24628         * m4/gethostname.m4: New file.
24629
24630         Module canon-host.
24631         * m4/canon-host.m4: New file.
24632
24633         Module gettext.
24634         * m4/codeset.m4: New file, from gettext-0.11.5.
24635         * m4/gettext.m4: New file, from gettext-0.11.5.
24636         * m4/glibc21.m4: New file, from gettext-0.11.5.
24637         * m4/iconv.m4: New file, from gettext-0.11.5.
24638         * m4/intdiv0.m4: New file, from gettext-0.11.5.
24639         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
24640         * m4/inttypes.m4: New file, from gettext-0.11.5.
24641         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
24642         * m4/isc-posix.m4: New file, from gettext-0.11.5.
24643         * m4/lcmessage.m4: New file, from gettext-0.11.5.
24644         * m4/lib-ld.m4: New file, from gettext-0.11.5.
24645         * m4/lib-link.m4: New file, from gettext-0.11.5.
24646         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
24647         * m4/progtest.m4: New file, from gettext-0.11.5.
24648         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
24649         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
24650         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
24651
24652         Module localcharset.
24653         * m4/localcharset.m4: New file.
24654
24655         Module hard-locale.
24656         * m4/hard-locale.m4: New file.
24657
24658         Module mbswidth.
24659         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
24660         onceonly macros.
24661         * m4/mbrtowc.m4: Add comment.
24662
24663         Module memcasecmp.
24664         * m4/memcasecmp.m4: New file.
24665
24666         Module memcoll.
24667         * m4/memcoll.m4: New file.
24668
24669         Module unicodeio.
24670         * m4/unicodeio.m4: New file.
24671
24672         Module rpmatch.
24673         * m4/rpmatch.m4: New file.
24674
24675         Module yesno.
24676         * m4/yesno.m4: New file.
24677
24678         Module exitfail.
24679         * m4/exitfail.m4: New file.
24680
24681         Module c-stack.
24682         * m4/c-stack.m4 (gl_C_STACK): New macro.
24683         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
24684
24685         Module error.
24686         * m4/error.m4 (gl_ERROR): New macro.
24687         (jm_PREREQ_ERROR): Use onceonly macros.
24688
24689         Module fatal.
24690         * m4/fatal.m4: New file.
24691
24692         Module getloadavg.
24693         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
24694         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
24695
24696         Module getpagesize.
24697         * m4/getpagesize.m4: New file.
24698
24699         Module getusershell.
24700         * m4/getusershell.m4: New file.
24701
24702         Module physmem.
24703         * m4/physmem.m4: New file.
24704
24705         Module posixver.
24706         * m4/posixver.m4: New file.
24707
24708         Module quotearg.
24709         * m4/quotearg.m4: New file.
24710
24711         Module quote.
24712         * m4/quote.m4: New file.
24713
24714         Module readutmp.
24715         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
24716
24717         Module sig2str.
24718         * m4/sig2str.m4: New file.
24719
24720         Other.
24721         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
24722         ulonglong.m4.
24723         * m4/intmax_t.m4: New file.
24724         * m4/d-type.m4: Indentation.
24725         * m4/jm-macros.m4: Update.
24726         * m4/prereq.m4 (jm_PREREQ): Update.
24727         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
24728         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
24729         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
24730         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
24731         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
24732         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
24733         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
24734         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
24735         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
24736         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
24737         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
24738         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
24739         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
24740         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
24741         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
24742         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
24743         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
24744         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
24745         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
24746
24747 2002-12-24  Bruno Haible  <bruno@clisp.org>
24748
24749         * MODULES.txt: Update according to m4/ changes.
24750
24751         Module gettext.
24752         * config.rpath: New file, from gettext-0.11.5.
24753
24754         * modules/*: New module descriptions.
24755         * gnulib-tool: New file.
24756         * MODULES.html.sh: New file.
24757
24758 2002-12-21  Karl Berry  <karl@gnu.org>
24759
24760         * doc/fdl.texi: update to version 1.2.
24761
24762 2002-12-19  Karl Berry  <karl@gnu.org>
24763
24764         * config/config.guess: update from prep.
24765
24766 2002-12-18  Bruno Haible  <bruno@clisp.org>
24767
24768         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
24769         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
24770
24771 2002-12-17  Bruno Haible  <bruno@clisp.org>
24772
24773         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
24774         stdlib.h, string.h.
24775
24776 2002-12-17  Bruno Haible  <bruno@clisp.org>
24777
24778         * lib/canon-host.c (strdup): Remove unused declaration.
24779
24780         * lib/fsusage.c: Include full_read.h.
24781         (get_fs_usage): Use full_read instead of safe_read.
24782
24783         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
24784
24785 2002-12-12  Karl Berry  <karl@gnu.org>
24786
24787         * config/config.guess: update from prep.
24788
24789 2002-12-11  Bruno Haible  <bruno@clisp.org>
24790
24791         * m4/setenv.m4: New file, from gettext-0.11.5.
24792
24793 2002-12-11  Bruno Haible  <bruno@clisp.org>
24794
24795         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
24796         not unsetenv().
24797         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
24798         modifications:
24799
24800         2002-12-11  Bruno Haible  <bruno@clisp.org>
24801
24802                 * setenv.c (alloca): Fall back to malloc.
24803                 (freea): New macro.
24804                 (setenv): Use freea() to free memory allocated with alloca().
24805
24806         2002-11-13  Bruno Haible  <bruno@clisp.org>
24807
24808                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
24809                 function declarations.
24810                 * unsetenv.c (unsetenv): Likewise.
24811
24812         2002-03-04  Bruno Haible  <bruno@clisp.org>
24813
24814                 Portability to AIX 4.3.3.
24815                 * unsetenv.c: New file, extracted from setenv.c.
24816                 * setenv.c: Move the unsetenv() function to unsetenv.c.
24817
24818         2001-12-20  Bruno Haible  <bruno@clisp.org>
24819
24820                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
24821                 use malloc instead. For SunOS 4.
24822
24823         2001-12-11  Bruno Haible  <bruno@clisp.org>
24824
24825                 * setenv.c: Declare alloca.
24826                 (compar_fn_t): New typedef.
24827                 (KNOWN_VALUE, STORE_VALUE): Use it.
24828
24829         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
24830         setenv.h.
24831
24832 2002-12-10  Paul Eggert  <eggert@twinsun.com>
24833
24834         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
24835         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
24836         Choose values that are less likely to collide with system fnmatch
24837         options.
24838         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
24839         defined (e.g., a pure POSIX system).
24840         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
24841         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
24842
24843 2002-12-06  Paul Eggert  <eggert@twinsun.com>
24844
24845         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
24846         a pain in practice to deal with generated m4 files.  This change
24847         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
24848
24849         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
24850         and jm-glibc-io.m4, as they are no longer a special case.
24851         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
24852         kludge and the auto-generation stuff.  Check only whether the
24853         functions are declared, not whether they exist, since older hosts
24854         that don't declare the functions can't use the optimization anyway.
24855
24856 2002-12-06  Jim Meyering  <jim@meyering.net>
24857
24858         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
24859
24860         Merge in changes from libc's misc/error.c, in preparation
24861         for the merge of gnulib's changes back into libc.
24862
24863         * lib/error.c (_): Define only if not already defined.
24864         Move definition to follow all #include directives.
24865         Include unlocked-io.h only if !_LIBC.
24866         [_LIBC]: Include <libio/libioP.h>.
24867         [USE_IN_LIBIO]: Include <libio/iolibio.h>
24868         (fflush): Tweak definition to use INTUSE.
24869         (putc): Define.
24870
24871 2002-12-05  Paul Eggert  <eggert@twinsun.com>
24872
24873         * lib/alloca.c [defined emacs]: Include "lisp.h".
24874         (xalloc_die) [defined emacs]: New macro.
24875         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
24876         [! defined emacs]: Include <xalloc.h>.
24877         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
24878         (pointer): Typedef to POINTER_TYPE *.
24879         (malloc): Remove decl; we now always use xmalloc.
24880         (alloca): Use old-style definition, since Emacs needs this.
24881         Check for arithmetic overflow when computing combined size.
24882
24883 2002-12-04  Paul Eggert  <eggert@twinsun.com>
24884
24885         Do not generate unlocked-io.h automatically, since it's easier to
24886         maintain it by hand.
24887
24888         * lib/unlocked-io.h: New file, from GNU diffutils,
24889         but with proper copyright notice and attribution.
24890         * lib/gen-uio: Remove.
24891         * lib/Makefile.am: Add copyright notice.
24892         (libfetish_a_SOURCES): Add unlocked-io.h.
24893         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
24894         (DISTCLEANFILES, io_functions): Remove macros.
24895         (EXTRA_DIST): Remove gen_uio.
24896         (unlocked-io.h): Remove rule.
24897
24898 2002-12-04  Jim Meyering  <jim@meyering.net>
24899
24900         Reflect the fact that stat.c and lstat.c are no longer generated.
24901         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
24902         (DISTCLEANFILES): Likewise.
24903         (EXTRA_DIST): Likewise.
24904         (all_local): Don't depend on stat.c or lstat.c.
24905         (stat.c, lstat.c): Remove rules.
24906         (EXTRA_DIST): Remove xstat.in.
24907
24908         * lib/xstat.in: Remove file.  Contents moved into stat.c.
24909         * lib/stat.c: New file.  Contents mostly from xstat.in.
24910         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
24911         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
24912
24913         * lib/safe-read.c: Rework so that it may serve to define safe_write,
24914         too.
24915         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
24916
24917 2002-12-03  Jim Meyering  <jim@meyering.net>
24918
24919         * lib/safe-read.c, safe-write.c: Change variable names and comments,
24920         but not semantics, to minimize the differences between these two files.
24921         (safe_read): Change comment to mention SAFE_READ_ERROR.
24922
24923         * lib/safe-read.c (IS_EINTR): Define.
24924         (safe_read): Use IS_EINTR in place of in-function cpp directives.
24925
24926 2002-12-02  Jim Meyering  <jim@meyering.net>
24927
24928         * lib/safe-read.c (EINTR): Define.
24929         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
24930         (INT_MAX): Provide fallback.
24931         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
24932
24933         * lib/safe-read.h (SAFE_READ_ERROR): Define.
24934
24935 2002-12-02  Bruno Haible  <bruno@clisp.org>
24936
24937         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
24938         Define, taken from safe-read.c.
24939         (INT_MAX): Provide fallback.
24940         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
24941         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
24942
24943         * lib/safe-read.c (EINTR): Remove definition.
24944         (safe_read): Don't use EINTR if it is absent.
24945
24946 2002-12-01  Jim Meyering  <jim@meyering.net>
24947
24948         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
24949         zero.
24950         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
24951
24952 2002-11-27  Paul Eggert  <eggert@twinsun.com>
24953
24954         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
24955         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
24956         with `if (! (value < limit)) abort ();', for readability.
24957
24958 2002-11-26  Karl Berry  <karl@gnu.org>
24959
24960         * lib/strdup.c: copy from libc again, with jim's ok.
24961         * lib/.cppi-disable: re-add strdup.c
24962
24963 2002-11-25  Karl Berry  <karl@gnu.org>
24964
24965         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
24966         instead of "strtol.c".
24967
24968 2002-11-25  Karl Berry  <karl@gnu.org>
24969
24970         * config/install-sh: update from automake for variable quoting, $0 in
24971         error msgs, etc.
24972
24973         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
24974         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
24975         entry.
24976
24977 2002-11-25  Jim Meyering  <jim@meyering.net>
24978
24979         * lib/mktime.c: Sync from libc, now that it has the latest fix.
24980
24981 2002-11-24  Karl Berry  <karl@gnu.org>
24982
24983         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
24984         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
24985
24986 2002-11-24  Jim Meyering  <jim@meyering.net>
24987
24988         Update from coreutils:
24989
24990         * lib/mktime.c: Merge in changes from libc.
24991
24992         Avoid a link-time failure on some Linux systems.
24993         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
24994         (otherwise).
24995         (__mon_yday): Declare with the STATIC attribute.
24996         (__mktime_internal): Likewise.
24997         Based on a report from Greg Schafer.
24998
24999 2002-11-23  Jim Meyering  <jim@meyering.net>
25000
25001         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
25002         Use `unsigned', not `int', as type of index.
25003
25004         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
25005
25006         * lib/fsusage.c: Remove unneeded parentheses around operands of
25007         `defined'.
25008
25009 2002-11-22  Paul Eggert  <eggert@twinsun.com>
25010
25011         * lib/quotearg.h: Allow multiple inclusion by surrounding with
25012         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
25013         so that we can be included first.
25014         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
25015         * lib/quotearg.c: Include quotearg.h immediately after config.h.
25016         No need to include stddef.h or sys/types.h any more.
25017         Surround local include files with "", not "<>".
25018         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
25019         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
25020         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
25021         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
25022         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
25023         (ISPRINT): Remove; no longer needed now that we assume C89.
25024
25025         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
25026         Preserve errno.
25027
25028         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
25029         quotearg_char): Use SIZE_MAX rather than
25030         (size_t) -1 when we are talking about "infinity".
25031
25032         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
25033
25034 2002-11-22  Paul Eggert  <eggert@twinsun.com>
25035
25036         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
25037         hint that one should use `if (! x) abort ();' rather than `assert
25038         (x);', and anyway it's one less thing to worry about configuring.
25039         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
25040         hash_rehash, hash_insert): Use abort rather than assert.
25041
25042 2002-11-22  Bruno Haible  <bruno@clisp.org>
25043
25044         * lib/safe-read.h: Assume C89. Add comments.
25045         (safe_read): Change return type to size_t.
25046         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
25047         byte counts > SSIZE_MAX correctly.
25048         * lib/safe-write.h: New file.
25049         * lib/safe-write.c: New file.
25050         * lib/full-read.h: New file.
25051         * lib/full-read.c: New file.
25052         * lib/full-write.h: Assume C89. Add comments.
25053         * lib/full-write.c: Include safe-write.h.
25054         (full_write): Rewritten to use safe_write.
25055         Suggested by Jim Meyering and Paul Eggert.
25056
25057 2002-11-21  Jim Meyering  <jim@meyering.net>
25058
25059         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
25060
25061         Merge in changes from the coreutils.
25062
25063         2002-09-25  Paul Eggert  <eggert@twinsun.com>
25064         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
25065         <stdint.h>.
25066         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
25067         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
25068         int.  Work more efficiently if X is the same width as uintmax_t.
25069         Do not compare X to -1, to avoid bogus compiler warning.
25070         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
25071         Don't assume that f_frsize and f_bsize are the same type.
25072
25073         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
25074         warning on FreeBSD.
25075
25076         * lib/makepath.c (make_path): Restore umask *before* creating the final
25077         component.
25078         (make_path): Minor reformatting.
25079
25080         * lib/xmalloc.c: Adjust to work with new autoconf macros,
25081         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
25082         HAVE_MALLOC/HAVE_REALLOC.
25083
25084         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
25085         dummy ones.  At least on GNU/Linux systems, `auto' means something
25086         else.
25087         From Michael Stone.
25088
25089 2002-11-21  Bruno Haible  <bruno@clisp.org>
25090
25091         Remove case insensitive option matching.
25092         * lib/argmatch.h (argcasematch): Remove declaration.
25093         (ARGCASEMATCH): Remove macro.
25094         (__xargmatch_internal): Remove case_sensitive argument.
25095         (XARGMATCH): Update.
25096         (XARGCASEMATCH): Remove macro.
25097         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
25098         case_sensitive argument.
25099         (argcasematch): Remove function.
25100         (__xargmatch_internal): Remove case_sensitive argument.
25101         (main): Use XARGMATCH instead of XARGCASEMATCH.
25102
25103         * lib/xmalloc.c: Change compile-time error message. Add comment about
25104         required autoconf version.
25105
25106 2002-11-20  Paul Eggert  <eggert@twinsun.com>
25107
25108         Merge argmatch cleanups from Bison.  Assume C89.
25109
25110         * lib/argmatch.c: Include config.h here, not in argmatch.h.
25111         Include stdlib.h, for EXIT_FAILURE.
25112         Always include <string.h>, since we assume C89.
25113         (EXIT_FAILURE): Remove pre-C89 bug workaround.
25114         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
25115         Include <stddef.h> instead, since it's all we need for size_t.
25116         (PARAMS): Remove.  All uses removed.
25117         (ARRAY_CARDINALITY): Do not bother to #undef.
25118         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
25119         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
25120         Remove unnecessary parentheses.
25121         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
25122         Insert necessary parentheses.
25123         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
25124         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
25125
25126 2002-11-19  Bruno Haible  <bruno@clisp.org>
25127
25128         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
25129         * lib/mbswidth.h: Include <stddef.h>, for size_t.
25130
25131         * lib/mbswidth.h (PARAMS): Remove macro.
25132         (mbswidth, mbsnwidth): Use ANSI C function declarations.
25133         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
25134
25135         * lib/gcd.h (PARAMS): Remove macro.
25136         (gcd): Use ANSI C function declarations.
25137         * lib/gcd.c (gcd): Likewise.
25138
25139 2002-11-15  Bruno Haible  <bruno@clisp.org>
25140
25141         * lib/strcspn.c: Include <stddef.h>.
25142         (strcspn): Use ANSI C function declaration. Change return type to
25143         size_t. Use NULL.
25144         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
25145         (strpbrk): Use NULL.
25146         * lib/strpbrk.h (PARAMS): Remove macro.
25147         (strpbrk): Use ANSI C function declaration.
25148         * lib/strstr.c: Don't include <sys/types.h>.
25149         * lib/strstr.h (PARAMS): Remove macro.
25150         (strstr): Use ANSI C function declarations.
25151
25152 2002-11-14  Karl Berry  <karl@gnu.org>
25153
25154         * config/mkinstalldirs: `do' on separate line, instead of
25155         `for var; do'.
25156
25157 2002-11-06  Bruno Haible  <bruno@clisp.org>
25158
25159         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
25160         * lib/gcd.c (gcd): Likewise.
25161
25162 2002-11-05  Bruno Haible  <bruno@clisp.org>
25163
25164         * lib/gcd.h: New file, from gettext-0.11.5.
25165         * lib/gcd.c: New file, from gettext-0.11.5.
25166
25167 2002-11-05  Bruno Haible  <bruno@clisp.org>
25168
25169         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
25170         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
25171         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
25172         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
25173
25174         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
25175         <libintl.h>.
25176         * lib/makepath.c: Include gettext.h instead of <locale.h> and
25177         <libintl.h>.
25178
25179         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
25180         * lib/human.c: Include gettext.h instead of <libintl.h>.
25181         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
25182         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
25183         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
25184         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
25185         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
25186         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
25187         (textdomain): Remove definition.
25188         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
25189
25190         * lib/long-options.c: Remove include of <libintl.h> and definition of
25191         _.
25192         * lib/same.c: Remove include of <libintl.h> and definition of _.
25193
25194 2002-11-04  Owen Taylor  <otaylor@redhat.com>
25195
25196         * lib/config.charset: A few additions for Solaris.
25197
25198 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
25199
25200         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
25201         * lib/localcharset.c (locale_charset): Declare as extern "C".
25202
25203 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
25204
25205         * lib/config.charset: msdos in uk_UA uses CP1125.
25206
25207 2002-11-04  Bruno Haible  <bruno@clisp.org>
25208
25209         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
25210         * lib/strcase.h: New file, from GNU gettext-0.11.5.
25211         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
25212         * lib/strstr.h: New file, from GNU gettext-0.11.5.
25213         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
25214
25215 2002-11-04  Bruno Haible  <bruno@clisp.org>
25216
25217         * lib/localcharset.c (locale_charset): Don't return an empty string.
25218
25219 2002-11-04  Bruno Haible  <bruno@clisp.org>
25220
25221         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
25222         aliases.
25223
25224 2002-11-04  Bruno Haible  <bruno@clisp.org>
25225
25226         * lib/config.charset: Update for newest glibc. Add canonical names
25227         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
25228
25229 2002-11-04  Bruno Haible  <bruno@clisp.org>
25230
25231         * lib/config.charset: Add support for NetBSD.
25232
25233 2002-11-04  Bruno Haible  <bruno@clisp.org>
25234
25235         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
25236
25237 2002-11-01  Bruno Haible  <bruno@clisp.org>
25238
25239         * configure.in: Add AC_CONFIG_AUX_DIR call.
25240         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
25241         test/Makefile.
25242         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
25243
25244 2002-09-28  Karl Berry  <karl@gnu.org>
25245
25246         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
25247         installed automake until the next release, since changes have been
25248         made.
25249
25250 2002-09-25  Karl Berry  <karl@gnu.org>
25251
25252         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
25253         * lib/getopt*: copy from libc/posix.
25254         * lib/gettext.h: copy from gettext.
25255         * lib/.cppi-disable: add strdup.c, gettext.h.
25256
25257 2002-09-25  Karl Berry  <karl@gnu.org>
25258
25259         * config/srclist.txt: enable gettext.h check.
25260         * config/config.{guess,sub}: update from prep.
25261         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
25262                 from automake 1.6.3.
25263         See srclist*.
25264
25265 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
25266
25267         * regex.c (PATFETCH): Remove the translating fetch.
25268         (PATFETCH_RAW): Rename to PATFETCH.
25269         (set_image_of_range): New fun.
25270         (SET_RANGE_TABLE_WORK_AREA): Use it.
25271         (regex_compile): Don't translate the pattern chars so eagerly.
25272         Only do it when inserting an `exactn' bytecode or when handling
25273         a char-range.
25274         (mutually_exclusive_p): Avoid empty statement.
25275
25276 2002-07-06  Jim Meyering  <meyering@lucent.com>
25277
25278         * m4/README: Don't mention Makefile.am.in.
25279         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
25280
25281 2002-07-01  Jim Meyering  <meyering@lucent.com>
25282
25283         * lib/c-stack.c: Include sys/time.h.
25284         From Volker Borchert.
25285
25286 2002-06-26  Paul Eggert  <eggert@twinsun.com>
25287
25288         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
25289
25290 2002-06-26  Paul Eggert  <eggert@twinsun.com>
25291
25292         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
25293         New macro.  Use it uniformly instead of
25294         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
25295         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
25296         reported by Vin Shelton.
25297
25298 2002-06-22  Paul Eggert  <eggert@twinsun.com>
25299
25300         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
25301         Do not assume SA_SIGINFO behavior.
25302         Bug reported by Jim Meyering on NetBSD 1.5.2.
25303
25304 2002-06-22  Jim Meyering  <meyering@lucent.com>
25305
25306         * m4/c-stack.m4: New file, from diffutils-2.8.2.
25307         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
25308
25309         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
25310         now that configure.ac uses AC_GNU_SOURCE.
25311         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
25312         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
25313
25314         Update to latest tools.  Suggestions from Paul Eggert.
25315         * m4/stdbool.m4: New file, from diffutils-2.8.2.
25316         * m4/gnu-source.m4: Update from diffutils-2.8.2.
25317         * m4/fnmatch.m4: Likewise.
25318         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
25319         to AC_HEADER_STDBOOL
25320
25321 2002-06-22  Jim Meyering  <meyering@lucent.com>
25322
25323         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
25324         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
25325
25326 2002-06-22  Jim Meyering  <meyering@lucent.com>
25327
25328         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
25329
25330         * lib/exitfail.c, exitfail.h: Likewise.
25331         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
25332
25333         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
25334         of fnmatch.h.
25335         (EXTRA_DIST): Add fnmatch_loop.c.
25336         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
25337
25338         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
25339         * lib/fnmatch.c: Update from diffutils-2.8.2.
25340         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
25341         * lib/fnmatch.h: Remove file.
25342
25343 2002-06-21  Jim Meyering  <meyering@lucent.com>
25344
25345         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
25346         * m4/mbrtowc.m4: Likewise.
25347
25348         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
25349         * m4/mbswidth.m4: Reflect name change:
25350         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
25351         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
25352
25353         * m4/lib-link.m4: Update from gettext-0.11.2.
25354         * m4/gettext.m4: Likewise.
25355
25356         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
25357         From Alfred M. Szmidt.
25358
25359 2002-06-18  Paul Eggert  <eggert@twinsun.com>
25360
25361         * lib/file-type.h: Report an error if neither S_ISREG nor
25362         S_IFREG is defined, instead of using a test specific to glibc
25363         2.2.  This should be safe, since POSIX requires S_ISREG and
25364         Unix Version 7 had S_IFREG.  We don't need to check for
25365         <sys/types.h> since we don't use any symbols that it defines.
25366
25367 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
25368
25369         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
25370         $@-t, so that each temporary file name is unique and valid in the first
25371         8 characters, for operation under DOS.
25372
25373 2002-06-15  Paul Eggert  <eggert@twinsun.com>
25374
25375         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
25376
25377 2002-06-15  Jim Meyering  <meyering@lucent.com>
25378
25379         Work even with DJGPP 2.03, which lacks support for symlinks.
25380         From Richard Dawe.
25381         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
25382         is defined.
25383         * lib/lchown.c (S_ISLNK): Likewise.
25384
25385 2002-06-15  Jim Meyering  <meyering@lucent.com>
25386
25387         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
25388         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
25389         have been included before this file.
25390
25391 2002-06-14  Jim Meyering  <meyering@lucent.com>
25392
25393         * lib/file-type.h: Use the version from diffutils-2.8.2.
25394         * lib/file-type.c: Likewise.
25395
25396 2002-06-07  Jim Meyering  <meyering@lucent.com>
25397
25398         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
25399         They're needed at least for NetBSD 1.5.2.
25400         ($statxfs_includes): Include those same headers.
25401         ($statxfs_includes): Include sys/vfs.h if available.
25402         ($statxfs_includes): Likewise for sys/statvfs.h.
25403         Check for the following members in both structs statfs and statvfs:
25404         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
25405
25406 2002-06-01  Jim Meyering  <meyering@lucent.com>
25407
25408         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
25409         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
25410
25411 2002-05-28  Jim Meyering  <meyering@lucent.com>
25412
25413         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
25414         Reported by Volker Borchert.
25415
25416 2002-05-27  Jim Meyering  <meyering@lucent.com>
25417
25418         Fix a problem seen only on nonconforming systems whereby ls.c's
25419         use of localtime, and then of gettimeofday would cause trouble:
25420         the localtime call used to initialize rpl_gettimeofday's save
25421         mechanism would clobber ls's current local time information so
25422         that in any long listing the first file would always be listed
25423         with date 1970-01-01.  Analysis by Volker Borchert.
25424
25425         * lib/gettimeofday.c (localtime): Undefine.
25426         (rpl_localtime): New function.
25427
25428 2002-05-27  Jim Meyering  <meyering@lucent.com>
25429
25430         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
25431         localtime.
25432
25433         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
25434         use the replacement function; it wouldn't resolve at link time.
25435         Reported by Volker Borchert.
25436
25437 2002-05-22  Jim Meyering  <meyering@lucent.com>
25438
25439         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
25440         file-type.h.
25441         * lib/file-type.h: New file.
25442         * lib/file-type.c (file_type): New file/function.  Extracted from
25443         diffutils.
25444
25445 2002-04-30  Jim Meyering  <meyering@lucent.com>
25446
25447         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
25448
25449 2002-04-29  Paul Eggert  <eggert@twinsun.com>
25450
25451         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
25452
25453 2002-04-29  Paul Eggert  <eggert@twinsun.com>
25454
25455         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
25456         Do not check for alloca.h (no longer used) or stdbool.h (was never
25457         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
25458
25459 2002-04-29  Paul Eggert  <eggert@twinsun.com>
25460
25461         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
25462
25463 2002-04-29  Jim Meyering  <meyering@lucent.com>
25464
25465         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
25466         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
25467         Use AC_FUNC_STRNLEN here instead.
25468
25469         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
25470         With autoconf-2.53a, it's part of AC_PROG_CC.
25471
25472 2002-04-28  Paul Eggert  <eggert@twinsun.com>
25473
25474         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
25475         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
25476
25477 2002-04-28  Paul Eggert  <eggert@twinsun.com>
25478
25479         * lib/sig2str.h, lib/sig2str.c: New files.
25480         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
25481
25482 2002-04-28  Paul Eggert  <eggert@twinsun.com>
25483
25484         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
25485         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
25486         of 127, since 64 is the largest conceivable number for ancient
25487         nonstandard hosts.
25488         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
25489
25490 2002-04-28  Jim Meyering  <meyering@lucent.com>
25491
25492         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
25493
25494 2002-04-24  Jim Meyering  <meyering@lucent.com>
25495
25496         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
25497         (jm_PREREQ): Use it.
25498
25499         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
25500         mach/mach.h fcntl.h.
25501         Check for this function: setlocale.
25502
25503 2002-04-24  Jim Meyering  <meyering@lucent.com>
25504
25505         * lib/gettext.h: New file, from Gettext.
25506         * lib/Makefile.am (INCLUDES): Remove -I../intl.
25507         (libfetish_a_SOURCES): Add gettext.h.
25508
25509 2002-04-16  Jim Meyering  <meyering@lucent.com>
25510
25511         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
25512         ut_pid, ut_id, ut_exit.
25513
25514 2002-04-16  Jim Meyering  <meyering@lucent.com>
25515
25516         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
25517         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
25518         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
25519
25520 2002-04-12  Jim Meyering  <meyering@lucent.com>
25521
25522         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
25523         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
25524         existence of the getmntinfo function.  Needed for Darwin 5.3.
25525
25526         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
25527         This is necessary at least on Darwin 5.3.
25528
25529         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
25530         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
25531         strnlen.o in the library, and that makes some versions of ranlib
25532         object.
25533
25534 2002-04-12  Jim Meyering  <meyering@lucent.com>
25535
25536         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
25537
25538 2002-04-09  Jim Meyering  <meyering@lucent.com>
25539
25540         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
25541         to be more precise.  Rather than saying we're checking whether the
25542         function `works', say what we're testing.
25543         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
25544         Reported by Bruno Haible.
25545
25546 2002-03-10  Jim Meyering  <meyering@lucent.com>
25547
25548         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
25549         Suggestion from Santiago Vila.
25550
25551 2002-03-08  Jim Meyering  <meyering@lucent.com>
25552
25553         * lib/rename.c: Mention that this wrapper is needed also on
25554         mips-dec-ultrix4.4 systems.
25555
25556 2002-03-02  Jim Meyering  <meyering@lucent.com>
25557
25558         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
25559         not HAVE_CLOCK_SETTIME.
25560
25561 2002-02-27  Paul Eggert  <eggert@twinsun.com>
25562
25563         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
25564         Check for clock_settime.
25565
25566 2002-02-27  Paul Eggert  <eggert@twinsun.com>
25567
25568         * lib/nanosleep.h: Rename to....
25569         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
25570
25571         * lib/gettime.c: New file.
25572         * lib/settime.c: New file.
25573         * lib/stime.c: Remove.
25574
25575         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
25576         timespec.h.  Remove nanosleep.h.
25577
25578 2002-02-25  Paul Eggert  <eggert@twinsun.com>
25579
25580         * m4/acl.m4: New file.
25581         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
25582         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
25583
25584 2002-02-25  Paul Eggert  <eggert@twinsun.com>
25585
25586         * lib/acl.c, lib/acl.h: New files.
25587         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
25588
25589 2002-02-24  Jim Meyering  <meyering@lucent.com>
25590
25591         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
25592         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
25593         cause trouble.  Reported by Nelson Beebe.
25594
25595 2002-02-23  Paul Eggert  <eggert@twinsun.com>
25596
25597         * lib/path-concat.c (xpath_concat): Reorder code to pacify
25598         compilers that don't know that xalloc_die never returns.
25599
25600 2002-02-20  Jim Meyering  <meyering@lucent.com>
25601
25602         * lib/getdate.c: Regenerate using bison-1.33.
25603
25604 2002-02-17  Jim Meyering  <meyering@lucent.com>
25605
25606         * config/config.guess (main): Don't use `head -1'; it's no longer
25607         portable. Use `sed 1q' instead.
25608
25609 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
25610
25611         * m4/codeset.m4: Upgrade to gettext-0.11.
25612         * m4/gettext.m4: Upgrade to gettext-0.11.
25613         * m4/glibc21.m4: Upgrade to gettext-0.11.
25614         * m4/iconv.m4: Upgrade to gettext-0.11.
25615         * m4/isc-posix.m4: Upgrade to gettext-0.11.
25616         * m4/lcmessage.m4: Upgrade to gettext-0.11.
25617         * m4/lib-ld.m4: New file, from gettext-0.11.
25618         * m4/lib-link.m4: New file, from gettext-0.11.
25619         * m4/lib-prefix.m4: New file, from gettext-0.11.
25620         * m4/progtest.m4: Upgrade to gettext-0.11.
25621
25622 2002-02-15  Paul Eggert  <eggert@twinsun.com>
25623
25624         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
25625         (jm_PREREQ): Use it.
25626
25627 2002-02-15  Paul Eggert  <eggert@twinsun.com>
25628
25629         * lib/posixver.c, lib/posixver.h: New files.
25630         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
25631
25632 2002-02-02  Paul Eggert  <eggert@twinsun.com>
25633             Bruno Haible  <bruno@clisp.org>
25634
25635         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
25636         (fwrite_success_callback): New declaration.
25637         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
25638         print_unicode_char. Call failure callback instead of error.
25639         (fwrite_success_callback): New function.
25640         (exit_failure_callback): New function.
25641         (fallback_failure_callback): New function.
25642         (print_unicode_char): Call unicode_to_mb.
25643
25644 2002-01-26  Jim Meyering  <meyering@lucent.com>
25645
25646         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
25647         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
25648
25649 2002-01-26  Jim Meyering  <meyering@lucent.com>
25650
25651         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
25652
25653 2002-01-22  Paul Eggert  <eggert@twinsun.com>
25654
25655         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
25656
25657 2002-01-22  Jim Meyering  <meyering@lucent.com>
25658
25659         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
25660         Otherwise, some versions of automake would omit the rule that makes
25661         Makefile from Makefile.in.
25662
25663 2002-01-21  Paul Eggert  <eggert@twinsun.com>
25664
25665         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
25666         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
25667         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
25668         (memcoll): Set errno to zero if there is no error.
25669
25670         * lib/quotearg.c (quotearg_buffer_restyled):
25671         Fix bug with quoting buffers containing NUL when backslashing escapes.
25672         This bug was exposed by the other changes in this patch.
25673         (quotearg_n_options): New arg ARGSIZE.
25674         All callers changed.
25675         (quoting_options_from_style): New function.
25676         (quotearg_n_style): Use it.
25677         (quotearg_n_style_mem): New function.
25678
25679         * lib/quotearg.h (quotearg_n_style_mem): New function.
25680
25681 2002-01-19  Jim Meyering  <meyering@lucent.com>
25682
25683         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
25684         Remove useless quotes: DF_PROG="df".
25685         * m4/strnlen.m4: New file.
25686
25687 2002-01-16  Paul Eggert  <eggert@twinsun.com>
25688
25689         * lib/backupfile.c (ISDIGIT): Comment fix.
25690         * lib/getdate.y (ISDIGIT): Likewise.
25691         * lib/posixtm.c (ISDIGIT, year): Likewise.
25692         * lib/strverscmp.c (ISDIGIT): Likewise.
25693         * lib/userspec.c (ISDIGIT): Likewise.
25694
25695 2002-01-16  Jim Meyering  <meyering@lucent.com>
25696
25697         * lib/getdate.y: Add three semicolons, each just before a closing
25698         brace. Bison (as of version 1.31) no longer papers over that mistake.
25699
25700 2002-01-05  Jim Meyering  <meyering@lucent.com>
25701
25702         * lib/version-etc.c (version_etc_copyright): Update copyright year.
25703
25704 2001-12-19  Paul Eggert  <eggert@twinsun.com>
25705
25706         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
25707         not silently exit merely because the output buffer happens to
25708         have nothing pending.
25709
25710 2001-12-18  Paul Eggert  <eggert@twinsun.com>
25711
25712         See the big note in ../ChangeLog.
25713         * lib/human.c (suffixes): Prefer K to k for 1024.
25714         (generate_suffix_backwards): New function.
25715         (human_readable_inexact): Use it.
25716         * lib/xstrtol.c (__xstrtol): If there is no number but there
25717         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
25718         Accept 'K' as well as 'k'.
25719
25720 2001-12-15  Jim Meyering  <meyering@lucent.com>
25721
25722         * lib/regex.h (__restrict_arr): Update from libc.
25723
25724         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
25725         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
25726         (STREQ): Define.
25727
25728 2001-12-14  Jim Meyering  <meyering@lucent.com>
25729
25730         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
25731         Suggestion from Bruno Haible.
25732
25733 2001-12-10  Jim Meyering  <meyering@lucent.com>
25734
25735         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
25736         xrealloc, Instead, include "xalloc.h".
25737         (initbuffer): Don't cast xmalloc return value to char*.
25738         (readline): Reword comment.
25739         Don't cast xrealloc return value to char*
25740         Return NULL, not 0.
25741
25742 2001-12-09  Jim Meyering  <meyering@lucent.com>
25743
25744         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
25745         about `signed and unsigned type in conditional expression'.
25746         * lib/posixtm.c (posix_time_parse): Likewise.
25747
25748         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
25749
25750         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
25751         to avoid a pedantic warning.
25752
25753         * lib/getstr.c: Don't include assert.h.
25754         (getstr): Remove warning-evoking assertions.
25755         Return -1 if offset parameter is out of bounds.
25756         Change the type of a local from int to size_t.
25757
25758         * lib/strftime.c (my_strftime_localtime_r): Include this function
25759         definition in the `#if ! HAVE_TM_GMTOFF' block.
25760
25761         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
25762         Include xalloc.h instead.
25763
25764 2001-12-02  Jim Meyering  <meyering@lucent.com>
25765
25766         * lib/tempname.c: Don't declare getenv, thus reverting the change of
25767         2001-11-18.  It's no longer necessary, now that stdlib.h is always
25768         included.
25769
25770         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
25771         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
25772
25773 2001-11-30  Akim Demaille  <akim@epita.fr>
25774
25775         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
25776         before being defined.
25777
25778 2001-11-27  Paul Eggert  <eggert@twinsun.com>
25779
25780         * lib/quotearg.h (quotearg_n, quotearg_n_style):
25781         First arg is int, not unsigned.
25782         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
25783         (SIZE_MAX, UINT_MAX): New macros.
25784         (quotearg_n_options): Abort if N is negative.
25785         Avoid overflow check on hosts where size_t is 64 bits and int
25786         is 32 bits, as overflow is impossible there.
25787         Fix off-by-one typo that caused unnecessary reallocation.
25788
25789 2001-11-27  Jim Meyering  <meyering@lucent.com>
25790
25791         * lib/tempname.c: Merge with version from libc.
25792         * lib/regex.c: Likewise.
25793
25794         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
25795         systems for which STDC_HEADERS is 0, it was not included, resulting in
25796         a warning about an integer-to-pointer conversion problem with getenv.
25797         Reported by Volker Borchert.
25798
25799 2001-11-26  Jim Meyering  <meyering@lucent.com>
25800
25801         * lib/gtod.h: Remove file.
25802         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
25803         * lib/gettimeofday.c: Don't include gtod.h.
25804         (GTOD_init): Remove function.
25805         (rpl_gettimeofday): Do its job here instead, rather than aborting.
25806         Suggestion from Volker Borchert.
25807
25808 2001-11-23  Jim Meyering  <meyering@lucent.com>
25809
25810         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
25811         it.
25812         * lib/hash.c (struct hash_table): Define it here instead.
25813
25814 2001-11-22  Jim Meyering  <meyering@lucent.com>
25815
25816         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
25817
25818 2001-11-20  Jim Meyering  <meyering@lucent.com>
25819
25820         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
25821         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
25822
25823 2001-11-19  Jim Meyering  <meyering@lucent.com>
25824
25825         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
25826         directory.  Use "conftestXXXXXX" as the template.
25827         Suggestion from Paul Eggert.
25828
25829         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
25830         immediately, so the test doesn't mistakenly hit the max-open-files
25831         limit.
25832
25833 2001-11-18  Paul Eggert  <eggert@twinsun.com>
25834
25835         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
25836         (TEMPORARIES): New macro.
25837         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
25838         removes an artificial limitation (e.g. HP-UX 10.20, where
25839         TMP_MAX is 17576).
25840
25841 2001-11-18  Jim Meyering  <meyering@lucent.com>
25842
25843         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
25844
25845 2001-11-18  Jim Meyering  <meyering@lucent.com>
25846
25847         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
25848         on SunOS 4.
25849
25850         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
25851         files will be created before anything else.
25852
25853 2001-11-17  Paul Eggert  <eggert@twinsun.com>
25854
25855         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
25856         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
25857
25858 2001-11-17  Jim Meyering  <meyering@lucent.com>
25859
25860         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
25861         Prompted by a report from Bob Proulx.
25862
25863         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
25864         Instead, require UTILS_FUNC_MKSTEMP.
25865
25866 2001-11-17  Jim Meyering  <meyering@lucent.com>
25867
25868         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
25869         Now, that's done as part of AC_FUNC_STRTOD.
25870
25871 2001-11-17  Jim Meyering  <meyering@lucent.com>
25872
25873         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
25874         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
25875         rather than group writable.  Patch by Juan F. Codagnone.
25876
25877         * lib/readtokens.c: Remove explicit declarations of xmalloc and
25878         xrealloc, Instead, include "xalloc.h".
25879
25880         * lib/mountlist.c: Include unlocked-io.h after all system headers.
25881         Remove explicit declarations of xmalloc, xrealloc,
25882         and xstrdup.  Instead, include "xalloc.h".
25883
25884         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
25885         unlocked-io.h.
25886         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
25887         Likewise.
25888         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
25889
25890         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
25891         Reported by Padraig Brady.
25892
25893         * lib/mkstemp.c: #undef mkstemp.
25894         Include config.h.
25895         (rpl_mkstemp): Rename from mkstemp.
25896         Protoize.
25897
25898 2001-11-16  Jim Meyering  <meyering@lucent.com>
25899
25900         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
25901         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
25902         determine the amount of total physical memory, use pstat_getstatic.
25903         HPUX-11 doesn't define _SC_PHYS_PAGES.
25904         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
25905         If sysconf couldn't be used to determine the amount of available
25906         physical memory, use both pstat_getstatic and pstat_getdynamic.
25907         Based on a patch from Bob Proulx.
25908
25909 2001-11-10  Jim Meyering  <meyering@lucent.com>
25910
25911         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
25912         (jm_PREREQ): Use it.
25913
25914 2001-11-09  Jim Meyering  <meyering@lucent.com>
25915
25916         * m4/jm-macros.m4: Require autoconf-2.52f.
25917         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
25918         Use these AC_-prefixed names, not the AM_-prefixed ones.
25919
25920         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
25921
25922 2001-11-05  Jim Meyering  <meyering@lucent.com>
25923
25924         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
25925
25926 2001-11-04  Jim Meyering  <meyering@lucent.com>
25927
25928         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
25929         $DEFS.
25930
25931 2001-11-03  Jim Meyering  <meyering@lucent.com>
25932
25933         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
25934         of AC_DEFUN.
25935
25936         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
25937         know the name of the variable in the macro definition.
25938
25939 2001-11-03  Jim Meyering  <meyering@lucent.com>
25940
25941         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
25942         in argmatch_to_argument call.
25943
25944         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
25945         argument.
25946
25947         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
25948         e.g., a fault due to an attempt to free a NULL pointer.
25949
25950 2001-11-01  Jim Meyering  <meyering@lucent.com>
25951
25952         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
25953         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
25954
25955 2001-11-01  Jim Meyering  <meyering@lucent.com>
25956
25957         * lib/dirfd.c, lib/dirfd.h: New files.
25958         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
25959
25960         * lib/hash.c (hash_print) [TESTING]: Clean up.
25961
25962 2001-10-22  Paul Eggert  <eggert@twinsun.com>
25963
25964         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
25965         to avoid a warning if -Wall.
25966
25967 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
25968
25969         * README: New file
25970         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
25971         (per RMS's instructions, this is now the canonical source)
25972         * lgpl/, gpl/: New directories.
25973
25974 2001-10-21  Paul Eggert  <eggert@twinsun.com>
25975
25976         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
25977
25978 2001-10-21  Jim Meyering  <meyering@lucent.com>
25979
25980         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
25981         this code would end up calling gettext even in packages built
25982         with --disable-nls.
25983         * lib/getopt.c (_): Likewise.
25984         * lib/regex.c (_): Likewise.
25985
25986 2001-10-20  Paul Eggert  <eggert@twinsun.com>
25987
25988         * m4/error.m4 (jm_PREREQ_ERROR):
25989         Do not invoke AC_CHECK_FUNCS with strerror_r, as
25990         AC_FUNC_STRERROR_R does that.
25991         Check for strerror declaration.
25992
25993         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
25994         are supposed to have them these days.
25995         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
25996         Merge changes from latest Autoconf CVS.
25997         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
25998         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
25999         POSIX decided to standardize on the int flavor of strerror_r.
26000
26001 2001-10-20  Paul Eggert  <eggert@twinsun.com>
26002
26003         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
26004         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
26005         Use strerror_r that is only a macro, even if it is not a function.
26006         (strerror): Check for HAVE_DECL_STRERROR before declaring.
26007         (private_strerror): Use prototypes, not old-style function definition.
26008         (print_errno_message): New function.
26009         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
26010         char*-flavored one.
26011         (error_tail, error, error_at_line): Use it.
26012
26013 2001-10-11  Jim Meyering  <meyering@lucent.com>
26014
26015         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
26016         and quote_n (1, ... to avoid clobbering a buffer.
26017
26018 2001-10-05  Jim Meyering  <meyering@lucent.com>
26019
26020         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
26021         hash-pjw.h.
26022         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
26023         * lib/hash-pjw.h: New file.
26024
26025 2001-09-30  Jim Meyering  <meyering@lucent.com>
26026
26027         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
26028         `struct fsstat' has the `f_fstypename' member.
26029         Use that to define FS_TYPE, which is now used to make
26030         the getfsstat link test tighter.
26031
26032 2001-09-30  Jim Meyering  <meyering@lucent.com>
26033
26034         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
26035         Include <sys/ucred.h>, for Apple Darwin.
26036         Include sys/mount.h and sys/fs_types.h only if available.
26037         (FS_TYPE): Define.
26038         (read_filesystem_list): Use FS_TYPE.
26039
26040 2001-09-29  Paul Eggert  <eggert@twinsun.com>
26041
26042         * lib/exclude.c (excluded_filename): 0 -> false, since it's
26043         a boolean context.
26044
26045 2001-09-29  Jim Meyering  <meyering@lucent.com>
26046
26047         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
26048         [one-argument getmntent function]): Include stdio.h before mntent.h.
26049         SunOS 4.1.x needs it for the declaration of `FILE'.
26050         Patch by Volker Borchert.
26051
26052         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
26053         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
26054         sys/fs_types.h, and make the link-test for getfsstat guard #include
26055         directives with appropriate #if HAVE_*_H tests so that we can
26056         detect getfsstat on Apple Darwin1.3.7 systems.
26057         Reported by Nelson Beebe.
26058         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
26059
26060 2001-09-28  Paul Eggert  <eggert@twinsun.com>
26061
26062         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
26063         #defines strtoimax.  Also treat the other strto* functions
26064         like strtoimax.
26065
26066         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
26067         Check for strtoul and strtoumax,
26068         as those declarations are made even in the signed case.
26069         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
26070         Likewise, for strtol and strtoimax.
26071
26072 2001-09-28  Paul Eggert  <eggert@twinsun.com>
26073
26074         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
26075         #defines strtoimax.  Also treat the other strto* functions
26076         like strtoimax.
26077
26078         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
26079         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
26080         (strtoimax, strtoumax): Do not declare if already defined as a macro.
26081
26082 2001-09-26  Jim Meyering  <meyering@lucent.com>
26083
26084         Most macros in unlocked-io.h had the wrong number of arguments.
26085         * lib/gen-uio: New script.
26086         (USE_UNLOCKED_IO): Define to 1 if not already defined.
26087         * lib/unlocked-io.hin: Remove file.
26088         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
26089         rather than trying to embed it here.
26090         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
26091         Reported by Padraig Brady.
26092
26093 2001-09-25  Volker Borchert  <bt@teknon.de>
26094
26095         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
26096         `result'.
26097
26098 2001-09-24  Jim Meyering  <meyering@lucent.com>
26099
26100         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
26101
26102 2001-09-23  Jim Meyering  <meyering@lucent.com>
26103
26104         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
26105         instead of the mere test for existence of mntent.h.  The latter
26106         would get a false-positive on AIX 3.4 systems.
26107         In the outer getmntent if-block, don't die if neither of the getmntent
26108         tests succeeds.  Instead, just fall through and continue with the
26109         remaining tests.
26110
26111 2001-09-23  Jim Meyering  <meyering@lucent.com>
26112
26113         * lib/mountlist.c: Remove useless parentheses in #if directives.
26114         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
26115         the deprecated MOUNTED symbol is no longer defined in mntent.h.
26116
26117 2001-09-22  Jim Meyering  <meyering@lucent.com>
26118
26119         * m4/gettext.m4: New file.  From gettext.
26120         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
26121         * m4/progtest.m4: Likewise
26122         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
26123         * m4/glibc21.m4: Likewise.
26124
26125         * m4/libintl.m4: Remove.  No longer used.
26126
26127 2001-09-22  Jim Meyering  <meyering@lucent.com>
26128
26129         * lib/localcharset.c: Update from latest gettext.
26130         * lib/config.charset: Likewise.
26131
26132 2001-09-20  Jim Meyering  <meyering@lucent.com>
26133
26134         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
26135         strtoimax.
26136         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
26137         strtoumax.
26138
26139 2001-09-20  Jim Meyering  <meyering@lucent.com>
26140
26141         * lib/xstrtol.c (strtoimax): Guard declaration with
26142         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
26143         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
26144         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
26145         (strtoumax): Likewise, for completeness (it wasn't necessary).
26146
26147 2001-09-17  Paul Eggert  <eggert@twinsun.com>
26148
26149         * lib/strtoimax.c (HAVE_LONG_LONG):
26150         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
26151         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
26152         to work around bug in IBM C compiler.
26153
26154 2001-09-17  Jim Meyering  <meyering@lucent.com>
26155
26156         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
26157         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
26158         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
26159         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
26160         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
26161         whenever the right hand side need not be expanded by the shell.
26162
26163 2001-09-16  Paul Eggert  <eggert@twinsun.com>
26164
26165         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
26166         library.  It's not correct, as some older glibcs are buggy.
26167         fnmatch wasn't fixed until glibc 2.2.
26168
26169         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
26170         special shell magic here.
26171
26172 2001-09-16  Jim Meyering  <meyering@lucent.com>
26173
26174         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
26175         * m4/jm-macros.m4: Require it.
26176
26177 2001-09-16  Jim Meyering  <meyering@lucent.com>
26178
26179         * lib/mkdir.c: New file.
26180
26181 2001-09-15  Jim Meyering  <meyering@lucent.com>
26182
26183         * m4/jm-macros.m4: Check for help2man.
26184
26185 2001-09-11  Jim Meyering  <meyering@lucent.com>
26186
26187         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
26188         The body, by Paul Eggert, was moved here from configure.in.
26189         * m4/jm-macros.m4: Require UTILS_HOST_OS.
26190
26191 2001-09-04  Paul Eggert  <eggert@twinsun.com>
26192
26193         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
26194         (jm_PREREQ): Use it.
26195
26196 2001-09-04  Paul Eggert  <eggert@twinsun.com>
26197
26198         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
26199         Use ssize_t, not int, to store result of readlink.
26200         Check for ssize_t overflow as well as size_t overflow,
26201         as POSIX says the result of readlink is implementation-defined
26202         when ssize_t overflows.
26203         Remove unnecessary cast to char*.
26204         Use free+malloc instead of realloc, as the storage doesn't need
26205         to be preserved and it's clearer and can be more efficient that way.
26206         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
26207         * lib/xreadlink.h (xreadlink): Update prototype.
26208
26209 2001-09-04  Paul Eggert  <eggert@twinsun.com>
26210
26211         * lib/xgetcwd.c: Revert some of the previous change; intead,
26212         fix the HAVE_GETCWD_NULL code to behave more like the
26213         !HAVE_GETCWD_NULL code used to.
26214
26215         Include "xalloc.h".
26216         (xgetcwd): Do not return NULL when memory is exhausted; instead,
26217         invoke xalloc_die.
26218
26219 2001-09-03  Paul Eggert  <eggert@twinsun.com>
26220
26221         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
26222         sys/param.h, as pathmax.h includes them.
26223
26224 2001-09-03  Paul Eggert  <eggert@twinsun.com>
26225
26226         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
26227         (jm_PREREQ_XGETCWD): New macro.
26228
26229         * m4/getcwd.m4: New file.
26230
26231 2001-09-03  Paul Eggert  <eggert@twinsun.com>
26232
26233         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
26234         like the HAVE_GETCWD_NULL code.
26235         Include pathmax.h if not HAVE_GETCWD.
26236         Do not include xalloc.h.
26237         (INITIAL_BUFFER_SIZE): New symbol.
26238         Do not use xmalloc / xrealloc, since the caller is responsible for
26239         handling errors.  Preserve errno around `free' during failure.
26240         Do not overrun buffer when using getwd.
26241
26242 2001-09-03  Paul Eggert  <eggert@twinsun.com>
26243
26244         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
26245         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
26246         getcwd (NULL, 0).
26247
26248 2001-09-03  Paul Eggert  <eggert@twinsun.com>
26249
26250         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
26251         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
26252         spotted by Jim Meyering.
26253
26254 2001-09-03  Jim Meyering  <meyering@lucent.com>
26255
26256         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
26257         failure.
26258
26259 2001-09-02  Jim Meyering  <meyering@lucent.com>
26260
26261         * lib/error.c: Update from GNU libc.
26262
26263 2001-09-01  Jim Meyering  <meyering@lucent.com>
26264
26265         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
26266         Used by df.
26267
26268 2001-09-01  Jim Meyering  <meyering@lucent.com>
26269
26270         * lib/xreadlink.c: New file.
26271         * lib/xreadlink.h: New file.
26272         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
26273         xreadlink.h.
26274
26275         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
26276         doesn't conflict with sparc Solaris 7's definition in
26277         /usr/include/sys/int_types.h.
26278
26279         * lib/exclude.c: Use `""', not `<>' to #include non-system header
26280         files.
26281         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
26282         and strncasecmp as r-values.  Unixware didn't have declarations.
26283
26284 2001-08-31  Paul Eggert  <eggert@twinsun.com>
26285
26286         * lib/xstrtol.h: Add copyright notice.
26287         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
26288         LONGINT_INVALID_SUFFIX_CHAR.
26289
26290 2001-08-31  Paul Eggert  <eggert@twinsun.com>
26291
26292         * lib/xstrtol.c (strtoimax): New decl.
26293
26294 2001-08-31  Paul Eggert  <eggert@twinsun.com>
26295
26296         * lib/xgetcwd.c: Don't include pathmax.h.
26297         Include stdlib.h and unistd.h if available.
26298         Include xalloc.h.
26299         (xmalloc, xstrdup, free): Remove decls.
26300         (xgetcwd): Don't assume sizes fit in unsigned.
26301         Check for overflow when computing sizes.
26302         Simplify reallocation code.
26303
26304 2001-08-31  Paul Eggert  <eggert@twinsun.com>
26305
26306         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
26307         a directory's st_size can have an arbitrary value, so the old
26308         usage could waste an arbitrary amount of memory.  All uses
26309         changed.
26310         * lib/savedir.h: Update prototype.
26311
26312 2001-08-31  Paul Eggert  <eggert@twinsun.com>
26313
26314         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
26315
26316         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
26317         old strtoimax.c.
26318
26319         Also, make the following further changes to make this file's
26320         configuration more similar to that of strtol.c:
26321         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
26322         (strtoumax, uintmax_t, strtoull, strtol): Remove.
26323         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
26324         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
26325         changed to signed values.
26326
26327         And make the following changes as well:
26328         Fix copyright notice, as 1999 was missing.
26329         (verify): New macro.
26330         (strtoimax): Check sizes at compile-time, not run-time.
26331         Prefer strtol to strtoll if both work.
26332         (main): Remove; it was not that useful and was a pain to maintain.
26333
26334         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
26335
26336 2001-08-31  Jim Meyering  <meyering@lucent.com>
26337
26338         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
26339         Use an initial, malloc'd, buffer of length 128 rather than
26340         a statically allocated one of length 1024.
26341
26342 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26343
26344         Simplify code, partly by assuming autoconf 2.52 semantics.
26345
26346         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
26347
26348         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
26349         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
26350         All uses removed.
26351         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
26352         Move AC_REQUIRE to next-to-top level, to avoid confusion.
26353         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
26354         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
26355         jm_AC_HEADER_INTTYPES_H.
26356         * m4/jm-macros.m4 (jm_MACROS): Likewise.
26357
26358         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
26359
26360         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
26361         Quote first arg of AC_DEFUN.
26362         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
26363         since they are needed to parse the include file even if we need
26364         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
26365         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
26366         but with opposite signedness.
26367
26368 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26369
26370         Merge 'exclude' changes from tar 1.13.22.
26371         This fixes one or two unlikely storage allocation overflow bugs,
26372         but doesn't change user-visible behavior otherwise.
26373
26374 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26375
26376         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
26377         (jm_PREREQ_EXCLUDE): New macro.
26378
26379 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26380
26381         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
26382         tm to be declared.
26383
26384 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26385
26386         * lib/hash.c: Remove '2001' from copyright notice.
26387
26388 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26389
26390         * lib/full-write.h: New file.
26391         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
26392         * lib/full-write.c: Correct credits, as cccp.c no longer
26393         exists and anyway it was so heavily changed from the old cccp
26394         code as to be unrecognizable.  Include full-write.h.
26395         (full_write) Return size_t, with short writes meaning failure.
26396         All callers changed.  This fixes a bug with large buffers
26397         on 64-bit hosts.
26398         * lib/utime.c: Include full-write.h.
26399
26400 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26401
26402         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
26403         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
26404         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
26405         Include if available.
26406         (<xalloc.h>): Include
26407         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
26408         (verify): New macro.  Use it to verify that EXCLUDE macros do not
26409         collide with FNM macros.
26410         (struct patopts): New struct.
26411         (struct exclude): Use it, as exclude patterns now come with options.
26412         (new_exclude): Support above changes.
26413         (new_exclude, add_exclude_file):
26414         Initial size must now be a power of two to simplify overflow checking.
26415         (free_exclude, fnmatch_no_wildcards): New function.
26416         (excluded_filename): No longer requires options arg, as the options
26417         are determined by add_exclude.  Now returns bool, not int.
26418         (excluded_filename, add_exclude):
26419         Add support for the fancy new exclusion options.
26420         (add_exclude, add_exclude_file): Now takes int options arg.
26421         Check for arithmetic overflow when computing sizes.
26422         (add_exclude_file): xrealloc might modify errno, so don't
26423         realloc until after errno might be used.
26424
26425         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
26426         New macros.
26427         (free_exclude): New decl.
26428         (add_exclude, add_exclude_file): Now takes int options arg.
26429         (excluded_filename): No longer requires options arg, as the options
26430         are determined by add_exclude.  Now returns bool, not int.
26431
26432 2001-08-30  Paul Eggert  <eggert@twinsun.com>
26433
26434         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
26435
26436 2001-08-27  Jim Meyering  <meyering@lucent.com>
26437
26438         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
26439
26440         * lib/version-etc.c (N_): Remove definition.
26441         Revert most of last change.
26442         Instead, simply don't mark the `Copyright...' string for translation.
26443         Based on advice from Paul Eggert.
26444
26445         * lib/strtoxmax.c: Tweak comment.
26446
26447 2001-08-26  Jim Meyering  <meyering@lucent.com>
26448
26449         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
26450
26451         * m4/xstrtoimax.m4: New file.
26452         * m4/xstrtoumax.m4: Add comments explaining why we
26453         AC_REPLACE_FUNCS(strtol).
26454
26455 2001-08-26  Jim Meyering  <meyering@lucent.com>
26456
26457         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
26458         of copyright with `%s' so translators don't get an untranslated
26459         message in 2002.
26460         (COPYRIGHT_YEAR): Define.
26461         (version_etc): Use fprintf rather than fputs.
26462         Suggestion from Ulrich Drepper.
26463
26464         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
26465
26466         * lib/strtoll.c: New file, from GNU libc.
26467         * lib/xstrtoimax.c: New file.
26468
26469         * lib/xstrtol.h: Add xstrtoimax.
26470         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
26471         * lib/strtoimax.c: New file.  Likewise, but first define
26472         STRTOUXMAX_SIGNED.
26473
26474         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
26475         ...
26476         * lib/strtoxmax.c: ... then renamed to this.
26477
26478 2001-08-18  Paul Eggert  <eggert@twinsun.com>
26479
26480         * m4/inttypes.m4: Add AC_PREREQ(2.13).
26481         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
26482         (jm_AC_TYPE_INTMAX_T): New macro.
26483         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
26484
26485         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
26486
26487         * m4/longlong.m4: Renamed from ulonglong.m4.
26488         * m4/inttypes.m4: Renamed from inttypes_h.m4.
26489         * m4/uintmax_t.m4: Removed.
26490
26491 2001-08-13  Paul Eggert  <eggert@twinsun.com>
26492
26493         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
26494         Port to Solaris 8, where 'sed' requires a space after the 'r'
26495         command, and where sh dislikes "$/".  Clean up the spacing a bit.
26496         Redirect output to $tmp just once.
26497
26498 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
26499
26500         * lib/addext.c (<errno.h>): Include.
26501         (errno): Declare if not defined.
26502         (addext): Work correctly when pathconf returns -1 and leaves
26503         errno alone because there is no limit.  Also, work even if
26504         pathconf returns a value greater than SIZE_MAX.
26505
26506 2001-08-12  Jim Meyering  <meyering@lucent.com>
26507
26508         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
26509         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
26510         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
26511         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
26512         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
26513         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
26514         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
26515         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
26516         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
26517         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
26518         utime.m4, utimes.m4, xstrtoumax.m4:
26519         Quote the first argument in each use of AC_DEFUN.
26520
26521 2001-08-12  Jim Meyering  <meyering@lucent.com>
26522
26523         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
26524         Simply `return getcwd (NULL, 0);'.
26525         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
26526         Use 1300 as initial value for length, not PATH_MAX.
26527
26528         * lib/pathmax.h: Clean up cpp syntax.
26529
26530 2001-08-12  Jim Meyering  <meyering@lucent.com>
26531
26532         * lib/gettimeofday.c: New file.
26533         * lib/gtod.h: New file.
26534         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
26535
26536 2001-08-05  Jim Meyering  <meyering@lucent.com>
26537
26538         * m4/jm-macros.m4: Require autoconf-2.52.
26539
26540 2001-08-04  Jim Meyering  <meyering@lucent.com>
26541
26542         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
26543         stmt, to get in sync with glibc.
26544
26545 2001-08-03  Paul Eggert  <eggert@twinsun.com>
26546
26547         The following changes are from gettext 0.10.39 as maintained by
26548         Bruno Haible.
26549
26550         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
26551         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
26552         with inverted sense.  All uses changed.
26553
26554         * lib/mbswidth.c: Don't include <limits.h>.
26555         Include <stdlib.h> and <string.h> unconditionally.
26556         (iswcntrl, mbsinit, ISCNTRL): New macros.
26557         (mbsnwidth): Use K&R style function declarations.
26558         Don't bother checking for MB_LEN_MAX == 1, since the compiler
26559         can optimize it when MB_CUR_MAX == 1.
26560         The width of control characters is zero, not 1.
26561
26562 2001-08-03  Paul Eggert  <eggert@twinsun.com>
26563
26564         The following changes are from gettext 0.10.39 as maintained by
26565         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
26566
26567         * m4/codeset.m4: Upgrade to serial AM1.
26568         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
26569         all uses changed.  Quote first arg of AC_DEFUN.
26570         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
26571
26572         * m4/iconv.m4: Upgrade to serial AM2.
26573         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
26574         Add --with-libconv-prefix.
26575         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
26576         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
26577         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
26578         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
26579         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
26580
26581         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
26582         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
26583         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
26584         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
26585         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
26586         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
26587         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
26588         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
26589         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
26590
26591         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
26592         string.h any more.
26593
26594         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
26595         not the default value.
26596
26597         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
26598         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
26599         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
26600         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
26601         Also check for iswcntrl, used for wcwidth fallback.
26602         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
26603         to Autoconf 2.13.
26604
26605 2001-08-03  Jim Meyering  <meyering@lucent.com>
26606
26607         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
26608         as it was in the original.  Reported by Paul Eggert.
26609
26610 2001-07-16  Jim Meyering  <meyering@lucent.com>
26611
26612         * m4/gettimeofday.m4: New file.
26613         Prompted by a report from Bernhard Baehr.
26614
26615 2001-07-15  Jim Meyering  <meyering@lucent.com>
26616
26617         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
26618         stuff. Now it's in ../Makefile.cfg.
26619
26620 2001-07-15  Jim Meyering  <meyering@lucent.com>
26621
26622         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
26623         (BUILT_SOURCES): Add unlocked-io.h.
26624         (io_functions): Define.
26625         (unlocked-io.h): New rule.
26626         (DISTCLEANFILES): Add unlocked-io.h.
26627         (all-local): Depend on unlocked-io.h, to ensure it is created.
26628
26629         * lib/unlocked-io.hin: New file
26630
26631         * lib/regex.c: Update from glibc.
26632
26633 2001-07-05  Jim Meyering  <meyering@lucent.com>
26634
26635         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
26636         recommendation.
26637         (libfetish_a_SOURCES): Put all .h files here instead.
26638         Remove a thus-exposed (better checks in automake) duplicate and
26639         two unnecessary .h files.
26640
26641 2001-07-04  Jim Meyering  <meyering@lucent.com>
26642
26643         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
26644         that generates jm-glibc-io.m4 so that it doesn't trigger any make
26645         distcheck failure.
26646
26647 2001-07-02  Jim Meyering  <meyering@lucent.com>
26648
26649         The following changes were prompted by suggestions from Bruno Haible.
26650
26651         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
26652         is now generated.
26653         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
26654         definition of EXTRA_DIST.
26655         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
26656         ensure that the generated file is created/updated whenever the list
26657         of $(unlocked_functions) is changed.
26658         (jm-glibc-io.m4): New rule.
26659         (unlocked-io.h): New rule -- currently unused.
26660
26661 2001-06-24  Jim Meyering  <meyering@lucent.com>
26662
26663         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
26664         unmatched right bracket, rather than kludging it with an extra,
26665         falsely-matching quote in a comment.  Patch by Akim Demaille.
26666
26667 2001-06-11  Jim Meyering  <meyering@lucent.com>
26668
26669         * lib/regex.c: Update from GNU libc.
26670
26671 2001-05-27  Jim Meyering  <meyering@lucent.com>
26672
26673         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
26674         Check for ut_type in struct utmp.
26675
26676 2001-05-27  Jim Meyering  <meyering@lucent.com>
26677
26678         * lib/readutmp.h (UT_TYPE): Define.
26679
26680 2001-05-24  Jim Meyering  <meyering@lucent.com>
26681
26682         * lib/argmatch.c: Include "quote.h".
26683         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
26684         quote function.  Reported by Göran Uddeborg.
26685
26686 2001-05-22  Jim Meyering  <meyering@lucent.com>
26687
26688         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
26689         now that we use the package-supplied version unconditionally.
26690         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
26691
26692 2001-05-21  Jim Meyering  <meyering@lucent.com>
26693
26694         * m4/regex.m4: Change a couple backticks to single quotes to avoid
26695         shell syntax errors.
26696
26697 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
26698
26699         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
26700
26701 2001-05-20  Paul Eggert  <eggert@twinsun.com>
26702
26703         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
26704         Don't bother to check library strftime, since
26705         we'll be using our own my_strftime function anyway.
26706         Define my_strftime instead of strftime.
26707
26708 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
26709
26710         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
26711         which is not yet declared.
26712
26713 2001-05-15  Jim Meyering  <meyering@lucent.com>
26714
26715         * m4/regex.m4: Use proper quoting so brackets appear in the test
26716         program.
26717         Reported by, and with help from, Bruno Haible.
26718
26719 2001-05-13  Jim Meyering  <meyering@lucent.com>
26720
26721         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
26722         undefined.
26723
26724 2001-05-11  Paul Eggert  <eggert@twinsun.com>
26725
26726         dirname code cleanup.  base_name now behaves more compatibly
26727         with POSIX basename when given file names that have trailing
26728         slashes, and similarly for dir_name.  Add new primitives
26729         base_len and dir_len.  Put the directory-name-related decls
26730         into dirname.h.
26731
26732         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
26733         * lib/backupfile.c (base_name): Likewise.
26734         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
26735         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
26736         * lib/makepath.c (strip_trailing_slashes): Likewise.
26737         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
26738         ISSLASH): Likewise.
26739         * lib/rename.c (strip_trailing_slashes): Likewise.
26740         * lib/same.c (base_name): Likewise.
26741         * lib/stripslash.c (ISSLASH): Likewise.
26742
26743         * lib/addext.c: Include <dirname.h> after size_t is defined.
26744         * lib/backupfile.c: Likewise.
26745
26746         * lib/addext.c (addext): Use base_len to trim redundant
26747         trailing slashes instead of doing it ourselves.
26748         But do not trim the last slash if it is not redundant.
26749
26750         * lib/backupfile.c (find_backup_file_name,
26751         max_backup_version): Use base_len instead of rolling it ourselves.
26752         Handle the case of "" and (on DOS) "C:" correctly.
26753
26754         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
26755         needed. Include <string.h>, <dirname.h>.
26756         (base_name): Allow file names ending in slashes, other than names
26757         that are all slashes.  In this case, return the basename followed
26758         by the slashes.  This is more general, and can be used in places
26759         where the original base_name purposely had an assertion failure.
26760         (base_len): New function.
26761
26762         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
26763         Do not include <assert.h>; no longer needed.
26764         Include xalloc.h.
26765         (memrchr): Remove decl.
26766         (dir_name_r): Remove.
26767         (dir_len): Renamed from dirlen.  All callers changed.
26768         Rewrite in terms of base_name, for simplicity and consistency.
26769         (dir_name): Never return NULL.  All callers changed.
26770         Do not include <stdlib.h> in test program; no longer needed.
26771         return 0; is fine for test program.
26772
26773         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
26774         New macros.
26775         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
26776
26777         * lib/path-concat.c (path_concat): Use base_len to compute
26778         base length, not strlen; this means we cannot rely on memcpy
26779         to null-terminate.
26780
26781         * lib/same.c (STREQ): Remove.
26782         (same_name): Handle the case where the basename ends in trailing '/'.
26783
26784         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
26785         a slash was stripped.  Do not strip the last slash after a
26786         file system prefix.
26787
26788 2001-05-11  Paul Eggert  <eggert@twinsun.com>
26789
26790         * lib/Makefile.am (libfetish_a_SOURCES):
26791         Add strftime.c, since we now compile it on all hosts.
26792
26793         * lib/strftime.c (my_strftime):
26794         Define to nstrftime if emacs, but only if my_strftime is not defined.
26795         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
26796         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
26797         Add one more extra argument: a nanoseconds value.
26798         All uses changed.
26799         (ns): New macro.
26800         (my_strftime function): Add %N format.
26801         (emacs_strftimeu): Renamed from emacs_strftime,
26802         with extra ut argument.
26803
26804 2001-05-09  Paul Eggert  <eggert@twinsun.com>
26805
26806         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
26807
26808 2001-04-21  Jim Meyering  <meyering@lucent.com>
26809
26810         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
26811         doesn't interfere.
26812
26813 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
26814
26815         * m4/ftruncate.m4: Check for chsize.
26816         Link with ftruncate.o unconditionally if ftruncate is missing.
26817         This was required when cross-compiling to i586-mingw32msvc.
26818
26819 2001-04-08  Jim Meyering  <meyering@lucent.com>
26820
26821         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
26822         recomputed; that's necessary when the offset spans a DST transition.
26823         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
26824
26825 2001-04-02  Jim Meyering  <meyering@lucent.com>
26826
26827         * lib/regex.h, regex.c: Update from GNU libc.
26828
26829 2001-03-24  Jim Meyering  <meyering@lucent.com>
26830
26831         * m4/jm-macros.m4: Require autoconf-2.49d.
26832
26833 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
26834
26835         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
26836
26837 2001-03-19  Paul Eggert  <eggert@twinsun.com>
26838
26839         * lib/version-etc.c (version_etc_copyright): Update to 2001.
26840
26841 2001-03-17  Jim Meyering  <meyering@lucent.com>
26842
26843         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
26844         now that the version in autoconf is equivalent.
26845         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
26846
26847         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
26848         Suggestion from Akim Demaille.
26849
26850         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
26851         (jm_PREREQ_TEMPNAME): New function.
26852
26853 2001-03-16  Paul Eggert  <eggert@twinsun.com>
26854
26855         * lib/tempname.c (uint64_t): Define to uintmax_t if
26856         not defined, and if UINT64_MAX is not defined.
26857         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
26858         Reported by John David Anglin.
26859
26860 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
26861
26862         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
26863         resolve alias if codeset is empty.
26864         * lib/config.charset (BeOS): Use wildcard syntax.
26865
26866 2001-03-13  Jim Meyering  <meyering@lucent.com>
26867
26868         * lib/path-concat.c (path_concat)
26869         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
26870         concatenating e.g., `C:' and `foo'.
26871         From Bruno Haible.
26872
26873 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
26874
26875         * lib/localcharset.c (locale_charset): Don't use
26876         setlocale(LC_CTYPE,NULL). Don't return NULL.
26877         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
26878
26879 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
26880
26881         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
26882         support for DOS/DJGPP.
26883
26884 2001-03-01  Paul Eggert  <eggert@twinsun.com>
26885
26886         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
26887         lacks mkstemp.  Compile our own tempname.c if we compile our own
26888         mkstemp.c, as mkstemp relies on tempname.
26889
26890 2001-03-01  Jim Meyering  <meyering@lucent.com>
26891
26892         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
26893         AH_VERBATIM really does output its argument verbatim.
26894
26895 2001-02-28  Paul Eggert  <eggert@twinsun.com>
26896
26897         * lib/Makefile.am (libfetish_a_SOURCES):
26898         Add dup-safer.c, fopen-safer.c.
26899         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
26900
26901         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
26902         * lib/unistd-safer.h: New files.
26903
26904 2001-02-25  Paul Eggert  <eggert@twinsun.com>
26905
26906         The mkstemp replacement is taken from glibc 2.2.2, with some
26907         portability fixes for use outside glibc, as follows:
26908
26909         * lib/tempname.c (struct_stat64): New macro.
26910         (direxists, __gen_tempname): Use it.
26911         This avoids a portability problem with Solaris 8.
26912
26913         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
26914         (<stddef.h>, <stdint.h>, <string.h>):
26915         Include only if STDC_HEADERS || _LIBC.
26916         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
26917         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
26918         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
26919         (__set_errno): Define this macro if <errno.h> doesn't.
26920         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
26921         Define these macros if <stdio.h> doesn't.
26922         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
26923         Define these macros if <sys/stat.h>
26924         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
26925         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
26926         __xstat64): Define if not _LIBC.
26927         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
26928         (__gen_tempname): Invoke gettimeofday only if
26929         HAVE_GETTIMEOFDAY || _LIBC;
26930         otherwise, fall back on plain "time".
26931         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
26932
26933         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
26934
26935         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
26936
26937 2001-02-18  Paul Eggert  <eggert@twinsun.com>
26938
26939         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
26940
26941 2001-02-17  Paul Eggert  <eggert@twinsun.com>
26942
26943         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
26944         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
26945         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
26946         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
26947
26948 2001-02-17  Paul Eggert  <eggert@twinsun.com>
26949
26950         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
26951         Remove workaround macros for hosts that have mbrtowc but not
26952         mbstate_t, as we now insist on proper declarations for both
26953         before using mbrtowc.
26954
26955 2001-02-17  Jim Meyering  <meyering@lucent.com>
26956
26957         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
26958         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
26959         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
26960         UnixWare 7.1.1.
26961
26962         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
26963         rather than AC_CACHE_VAL.
26964
26965 2001-02-17  Jim Meyering  <meyering@lucent.com>
26966
26967         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
26968         around included file name.
26969
26970         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
26971
26972         * lib/strftime.c: Update from GNU libc (the only changes were to
26973         comments).
26974
26975 2001-02-17  Jim Meyering  <meyering@lucent.com>
26976
26977         * lib/regex.c: Update from libc.
26978
26979 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
26980
26981         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
26982         clash.
26983
26984 2001-02-16  Paul Eggert  <eggert@twinsun.com>
26985
26986         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
26987         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
26988         Reported by Mark Hounschell via Paul Eggert.
26989
26990 2001-02-07  Jim Meyering  <meyering@lucent.com>
26991
26992         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
26993
26994 2001-02-05  Jim Meyering  <meyering@lucent.com>
26995
26996         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
26997         it includes the patch required for `large file' support with at least
26998         HP-UX's 10.20 /bin/cc.
26999
27000 2001-02-03  Jim Meyering  <meyering@lucent.com>
27001
27002         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
27003         AS_IF, now that it works once again (mysteriously).
27004         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
27005
27006 2001-01-30  Jim Meyering  <meyering@lucent.com>
27007
27008         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
27009         * m4/chown.m4: Rename conftestchown to conftest.chown.
27010         * m4/rename.m4: s/conftestdir/conftest.d1/ and
27011         s/conftestdir2/conftest.d2/.
27012         * m4/utimes.m4: s/conftestdata/conftest.data/
27013         Inspired by Pavel Roskin's change in autoconf.
27014
27015 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
27016
27017         * lib/config.charset: Update for FreeBSD 4.2.
27018
27019 2001-01-27  Jim Meyering  <meyering@lucent.com>
27020
27021         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
27022         a use of AS_IF.
27023         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
27024
27025 2001-01-26  Jim Meyering  <meyering@lucent.com>
27026
27027         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
27028         quotearg.c includes it.
27029
27030 2001-01-26  Jim Meyering  <meyering@lucent.com>
27031
27032         * lib/quotearg.c: Include stddef.h.
27033         * lib/quote.c: Include stddef.h.
27034         Reported by Axel Kittenberger.
27035
27036         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
27037         line in double quotes so that it evokes a better diagnostic.
27038         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
27039         Reported by Axel Kittenberger.
27040
27041 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
27042
27043         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
27044         as if it was a `charset'.
27045
27046 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
27047
27048         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
27049         has const.
27050
27051 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
27052
27053         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
27054         to avoid a warning.  Add back 'const' to inptr.
27055
27056 2001-01-20  Jim Meyering  <meyering@lucent.com>
27057
27058         Be sure that headers are checked before used in code compiled
27059         for the type checks.
27060         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
27061         In place of that, invoke jm_CHECK_ALL_TYPES.
27062         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
27063         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
27064         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
27065         The check for ssize_t was mistakenly run before the test for unistd.h.
27066
27067         The configure-time check for stdbool.h was missing.
27068         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
27069         (jm_PREREQ_HASH): New function.
27070
27071 2001-01-17  Jim Meyering  <meyering@lucent.com>
27072
27073         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
27074         for autoconf-2.49c.
27075         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
27076
27077 2001-01-16  Jim Meyering  <meyering@lucent.com>
27078
27079         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
27080         From Bruno Haible.
27081
27082 2001-01-14  Jim Meyering  <meyering@lucent.com>
27083
27084         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
27085         foo and bar.  Create conftestdir/ in the script, not in the C code.
27086         Remove directories in the script, not in the C code.
27087         Remove conftestdir{,2} before trying to create the directory.
27088         Make the entire configure script fail if the mkdir fails.
27089
27090 2001-01-14  Jim Meyering  <meyering@lucent.com>
27091
27092         * lib/rename.c: New file.  From Volker Borchert.
27093         Include stdlib.h, string.h or strings.h, and xalloc.h.
27094         Use strip_trailing_slashes rather than open-coding it.
27095
27096 2001-01-03  Paul Eggert  <eggert@twinsun.com>
27097
27098         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
27099
27100 2001-01-03  Jim Meyering  <meyering@lucent.com>
27101
27102         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
27103         of local `inptr' to avoid warning with some system declarations of
27104         iconv.
27105
27106 2001-01-02  Volker Borchert  <bt@teknon.de>
27107
27108         * m4/rename.m4: New file.
27109         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
27110
27111 2001-01-01  Jim Meyering  <meyering@lucent.com>
27112
27113         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
27114         even on systems with utmpx.h.  It's necessary for the declaration of
27115         utmp's ut_user member.  Reported by Andreas Jaeger.
27116
27117         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
27118         available. They are required for the declarations of getgrgid and
27119         getpwuid resp.
27120         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
27121         Reported by Andreas Jaeger.
27122
27123 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
27124
27125         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
27126         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
27127         so `make install' also works in VPATH builds.
27128
27129 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
27130
27131         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
27132         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
27133         can be used in subdirectories.
27134
27135 2000-12-29  Paul Eggert  <eggert@twinsun.com>
27136
27137         * lib/modechange.c: Do not assume that mode_t uses the
27138         traditional octal encoding.  E.g. "chmod 1 FOO" should set
27139         the other-execute bit of FOO even if S_IXOTH != 1.
27140
27141         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
27142         WOTH, XOTH, ALLM): New macros.
27143         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
27144          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
27145         Use them.
27146         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
27147         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
27148         (mode_compile):
27149         No need to use uintmax_t; unsigned long is long enough.
27150         Don't bother to get suffix since we don't use it.
27151
27152 2000-12-26  Jim Meyering  <meyering@lucent.com>
27153
27154         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
27155         better with autoheader.
27156
27157 2000-12-24  Jim Meyering  <meyering@lucent.com>
27158
27159         * lib/hash.c (is_prime): Return explicit boolean values.
27160         (hash_get_first): Return NULL to appease Irix5.6's 89.
27161         Reported by Nelson Beebe.
27162
27163 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
27164
27165         * lib/localcharset.c (locale_charset): Add support for Win32.
27166
27167 2000-12-18  Paul Eggert  <eggert@twinsun.com>
27168
27169         * lib/physmem.h, lib/physmem.c: New files.
27170
27171         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
27172         (noinst_HEADERS): Add physmem.h.
27173
27174         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
27175         't' for compatibility with Solaris 8 sort.
27176
27177 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
27178
27179         * lib/config.charset: Add support for BeOS.
27180
27181 2000-12-17  Jim Meyering  <meyering@lucent.com>
27182
27183         * m4/dos.m4 (jm_AC_DOS): New file and macro.
27184         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
27185
27186 2000-12-16  Jim Meyering  <meyering@lucent.com>
27187
27188         This bug had a serious impact on chown: `chown N:M FILE' (for integer
27189         N and M) would have treated it like `chown N:N FILE'.
27190
27191         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
27192
27193 2000-12-16  Jim Meyering  <meyering@lucent.com>
27194
27195         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
27196         SHELLS_FILE to a file name that's useful on djgpp systems.
27197         Include stdlib.h.
27198         (ADDITIONAL_DEFAULT_SHELLS): Define.
27199         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
27200         Based mostly on a patch from Prashant TR.
27201
27202 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
27203
27204         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
27205         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
27206         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
27207
27208 2000-12-08  Andreas Schwab  <schwab@suse.de>
27209
27210         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
27211         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
27212
27213 2000-12-07  Jim Meyering  <meyering@lucent.com>
27214
27215         * lib/stripslash.c (ISSLASH): Define.
27216         (strip_trailing_slashes): Use ISSLASH rather than comparing against
27217         `/'.
27218         From Prashant TR.
27219
27220         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
27221         (dir_name_r): Declare this function as static.
27222         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
27223         manifest itself on a name containing a mix of slashes and
27224         backslashes.
27225         Make this function work with names starting with a DOS-style
27226         drive letter and colon prefix.
27227         (dir_name): Append `.' if necessary.
27228         Based mostly on patches from Prashant TR and Eli Zaretskii.
27229
27230         * lib/dirname.h (dir_name_r): Remove prototype.
27231
27232 2000-12-06  Paul Eggert  <eggert@twinsun.com>
27233
27234         * m4/off_t-format.m4: Remove this file.
27235         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
27236
27237 2000-12-06  Jim Meyering  <meyering@lucent.com>
27238
27239         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
27240         replacement strtoull, we may well need the replacement strtoul, too.
27241         Check for declarations of strtoul and strtoull.
27242         Check for strtol.  Mainly as a cue to cause automake to include
27243         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
27244         Check for limits.h -- strtol.c needs it.
27245
27246 2000-12-05  Jim Meyering  <meyering@lucent.com>
27247
27248         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
27249
27250 2000-12-04  Jim Meyering  <meyering@lucent.com>
27251
27252         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
27253         Also include memory.h, stdlib.h, unistd.h if appropriate.
27254         Reported by Andreas Jaeger (conflicting declaration of malloc).
27255
27256 2000-12-02  Jim Meyering  <meyering@lucent.com>
27257
27258         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
27259         * m4/jm-macros.m4 (jm_MACROS): require it.
27260
27261 2000-12-02  Jim Meyering  <meyering@lucent.com>
27262
27263         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
27264
27265 2000-12-01  Paul Eggert  <eggert@twinsun.com>
27266
27267         * lib/memrchr.c: Include <config.h> before any system include file.
27268
27269 2000-11-30  Jim Meyering  <meyering@lucent.com>
27270
27271         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
27272
27273 2000-11-30  Jim Meyering  <meyering@lucent.com>
27274
27275         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
27276
27277 2000-11-29  Paul Eggert  <eggert@twinsun.com>
27278
27279         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
27280
27281 2000-11-26  Jim Meyering  <meyering@lucent.com>
27282
27283         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
27284
27285 2000-11-22  Paul Eggert  <eggert@twinsun.com>
27286
27287         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
27288         size of (size_t) -1; it's not portable.
27289
27290 2000-11-17  Jim Meyering  <meyering@lucent.com>
27291
27292         * lib/strstr.c: Update from GNU libc.
27293
27294 2000-11-17  Akim Demaille  <akim@epita.fr>
27295
27296         * lib/obstack.h: Formatting changes.
27297         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
27298         prevent type checking.
27299         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
27300         cast the value to (void *): assigning a `foo *' to a `void *'
27301         variable is valid.
27302         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
27303
27304 2000-11-16  Jim Meyering  <meyering@lucent.com>
27305
27306         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
27307
27308 2000-11-11  Jim Meyering  <meyering@lucent.com>
27309
27310         * lib/error.c: Add a couple #includes, merging from GNU libc version.
27311
27312 2000-11-10  Jim Meyering  <meyering@lucent.com>
27313
27314         * lib/obstack.h: Update from GNU libc.
27315         * lib/obstack.c: Likewise.
27316
27317 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
27318
27319         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
27320
27321 2000-11-06  Paul Eggert  <eggert@twinsun.com>
27322
27323         * lib/getusershell.c (setusershell): Use rewind rather than
27324         fseek/fseeko, to avoid configuration hassles with fseeko.
27325         Don't bother opening SHELLS_FILE if shellstream is NULL;
27326         it's not necessary.
27327
27328 2000-11-05  Jim Meyering  <meyering@lucent.com>
27329
27330         * lib/makepath.h (make_dir): Declare.
27331         * lib/makepath.c (make_dir): Remove `static' attribute.
27332         Tweak a comment.
27333
27334 2000-11-04  Jim Meyering  <meyering@lucent.com>
27335
27336         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
27337
27338 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
27339
27340         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
27341         last one in a bucket, advance to the next bucket.
27342
27343 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
27344
27345         * lib/fnmatch.c: Do not comment out all the code if we are using
27346         the GNU C library, because in some cases we are replacing buggy
27347         code in the GNU C library itself.
27348
27349 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
27350
27351         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
27352         (regex_compile): Catch bogus \(\1\).
27353
27354 2000-10-30  Paul Eggert  <eggert@twinsun.com>
27355
27356         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
27357         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
27358         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
27359
27360 2000-10-30  Paul Eggert  <eggert@twinsun.com>
27361
27362         * lib/error.h, getline.h, modechange.h:
27363         Remove "2000" from Copyright line, as the file hasn't been
27364         changed this year other than in the copyright notice.
27365
27366         * lib/xalloc.h: Add "2000" to Copyright line, as this file
27367         was changed this year.
27368
27369 2000-10-29  Jim Meyering  <meyering@lucent.com>
27370
27371         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
27372         renaming.
27373         * m4/ls-mntd-fs.m4: Likewise
27374
27375 2000-10-29  Jim Meyering  <meyering@lucent.com>
27376
27377         * lib/xstat.in: Fix grammar in comment.
27378
27379 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
27380
27381         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
27382         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
27383         doesn't define __restrict_arr.
27384
27385 2000-10-28  Jim Meyering  <meyering@lucent.com>
27386
27387         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
27388         (jm_PREREQ_MEMCHR): New function.
27389
27390 2000-10-28  Jim Meyering  <meyering@lucent.com>
27391
27392         * lib/memchr.c: Update from libc.
27393         Adjust for portability:
27394         [HAVE_STDLIB_H]: Include stdlib.h.
27395         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
27396         Undef __memchr, too.
27397         [!weak_alias]: Define __memchr to memchr.
27398
27399         * lib/regex.c: Update from libc.
27400         * lib/regex.h: Likewise.
27401         * lib/getopt1.c: Likewise.
27402         * lib/memcmp.c: Likewise.
27403
27404         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
27405         Avoid using fseek, when possible -- it's broken by design.
27406         Patch by Ulrich Drepper.
27407
27408 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
27409
27410         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
27411         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
27412         Giving in to popular pressure to shut up the compiler with casts.
27413
27414 2000-10-26  Jim Meyering  <meyering@lucent.com>
27415
27416         * lib/strftime.c: Update from libc.
27417
27418 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
27419
27420         * regex.c: More `unsigned char' -> `re_char' changes.
27421         Also change several `int' into `re_wchar_t'.
27422         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
27423         (PUSH_FAILURE_POINTER): Don't cast any more.
27424         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
27425         We want GCC to complain, since this piece of code makes
27426         re_match non-reentrant, which *should* be fixed.
27427         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
27428         (EXTEND_BUFFER): Use RETALLOC.
27429         (SET_LIST_BIT): Don't cast.
27430         (re_wchar_t): New type.
27431         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
27432         that those two functions will always properly return.
27433         (IMMEDIATE_QUIT_CHECK): Cast to void.
27434         (analyse_first): Use recursion rather than an explicit stack.
27435         (re_compile_fastmap): Can't fail anymore.
27436         (re_search_2): Don't check re_compile_fastmap for failure.
27437         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
27438         Now also sets the new value (passed in a new argument).
27439         (re_match_2_internal): Use it.
27440         Also, use a new var `reg' of type size_t when looping through regs
27441         rather than reuse the inappropriate `mcnt'.
27442
27443 2000-10-25  Jim Meyering  <meyering@lucent.com>
27444
27445         * lib/obstack.c: Update from libc.
27446
27447 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
27448
27449         * regex.c (regex_compile): Change the way of handling a range from
27450         a char less than 256 to a char not less than 256.
27451
27452 2000-10-24  Andrew Innes  <andrewi@gnu.org>
27453
27454         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
27455         NT-Emacs only.
27456         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
27457         so that re_search functions only quit when callers expect them to.
27458
27459 2000-10-23  Jim Meyering  <meyering@lucent.com>
27460
27461         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
27462         wrong.  That set_locale call must not have any side effects.
27463         From Paul Eggert.
27464
27465 2000-10-22  Jim Meyering  <meyering@lucent.com>
27466
27467         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
27468         [CYCLIC]: Remove now-unused definition.
27469
27470         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
27471         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
27472         Suggestion from Ulrich Drepper.
27473
27474 2000-10-21  Jim Meyering  <meyering@lucent.com>
27475
27476         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
27477         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
27478         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
27479
27480 2000-10-21  Jim Meyering  <meyering@lucent.com>
27481
27482         * lib/dirname.c (memrchr): Declare if necessary.
27483         (dir_name): Remove the restriction that there be no
27484         trailing slashes.  Now, this code skips past them, effectively
27485         ignoring them.
27486         [TEST_DIRNAME] (main): New unit tests.
27487
27488         * lib/memrchr.c: New file from GNU libc.
27489         Undef __memrchr, too.
27490         [!weak_alias]: Define __memrchr to memrchr.
27491         Guard weak_alias use with `#ifdef weak_alias'.
27492
27493 2000-10-21  Jim Meyering  <meyering@lucent.com>
27494
27495         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
27496         (dir_name): Use dir_name_r.
27497         * lib/dirname.h (dir_name_r): Declare it.
27498
27499 2000-10-17  Jim Meyering  <meyering@lucent.com>
27500
27501         * lib/quote.h (PARAMS): Define and use.
27502         Reported by Akim Demaille.
27503
27504         * lib/getopt.c: Update from libc.
27505
27506 2000-10-16  Jim Meyering  <meyering@lucent.com>
27507
27508         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
27509         setlocale.
27510         From Jan Fedak.
27511
27512 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
27513
27514         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
27515
27516 2000-09-25  Jim Meyering  <meyering@lucent.com>
27517
27518         * lib/md5.h (rol): Define (from GnuPG).
27519
27520         * lib/sha.c: Give credit (GnuPG) where due.
27521         (M): Use rol rather than open-coding it.
27522         Add a FIXME comment.
27523
27524 2000-09-21  Jim Meyering  <meyering@lucent.com>
27525
27526         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
27527         Reported by Michael Stone.
27528
27529 2000-09-20  Jim Meyering  <meyering@lucent.com>
27530
27531         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
27532         (noinst_HEADERS): Add sha.h.
27533         Based on code from Scott G. Miller and from GnuPG.
27534
27535 2000-09-18  Jim Meyering  <meyering@lucent.com>
27536
27537         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
27538         LIBS. Otherwise, everyone ends up linking with -lelf for some
27539         configurations.
27540         Reported by Mike Stone.
27541
27542 2000-09-15  Jim Meyering  <meyering@lucent.com>
27543
27544         * lib/regex.c: Update from libc.
27545
27546 2000-09-10  Jim Meyering  <meyering@lucent.com>
27547
27548         * lib/getopt.c (_getopt_internal): Update from glibc.
27549
27550 2000-09-09  Jim Meyering  <meyering@lucent.com>
27551
27552         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
27553         think it should be used as a general replacement for isascii.
27554         * lib/fnmatch.c: Likewise.
27555         * lib/mbswidth.c: Likewise
27556         * lib/regex.c: Likewise.
27557
27558         Don't use atoi.
27559         * lib/userspec.c: Include sys/param.h and limits.h.
27560         Include xstrtol.h.
27561         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
27562         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
27563         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
27564         UID, GID.  Check range.
27565
27566 2000-09-06  Jim Meyering  <meyering@lucent.com>
27567
27568         * lib/getopt.c (_getopt_internal): Update from glibc.
27569
27570 2000-08-30  Jim Meyering  <meyering@lucent.com>
27571
27572         * lib/strftime.c: Merge in changes from GNU libc.
27573
27574 2000-08-26  Jim Meyering  <meyering@lucent.com>
27575
27576         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
27577         * m4/fpending.m4: New file.
27578
27579 2000-08-26  Jim Meyering  <meyering@lucent.com>
27580
27581         * lib/closeout.c: Include "__fpending.h".
27582         (close_stdout_status): Return right away if there's nothing to flush.
27583
27584         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
27585         * lib/__fpending.c: New file.
27586         * lib/__fpending.h: New file.
27587
27588 2000-08-20  Jim Meyering  <meyering@lucent.com>
27589
27590         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
27591         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
27592         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
27593
27594 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
27595
27596         Improve fileutils installation on systems where running
27597         programs (like install) can't be unlinked.
27598         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
27599         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
27600
27601 2000-08-07  Paul Eggert  <eggert@twinsun.com>
27602
27603         Standardize on "memory exhausted" instead of "Memory exhausted"
27604         or "virtual memory exhausted".
27605         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
27606         "virtual memory exhausted".
27607         * lib/same.c (same_name): Invoke xalloc_die instead of printing
27608         our own message.
27609         * lib/userspec.c (parse_user_spec): Likewise.
27610         * lib/bumpalloc.h: comment fix
27611         * lib/same.c, userspec.c: Include xalloc.h.
27612
27613         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
27614         not char *const and pointing to a constant array.
27615         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
27616         (xrealloc): Comment fix.
27617
27618         * lib/userspec.c (parse_user_spec):
27619         Don't translate a message until just before returning,
27620         to avoid unnecessary translation.
27621
27622 2000-08-07  Jim Meyering  <meyering@lucent.com>
27623
27624         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
27625         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
27626         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
27627         getgroups.c, gethostname.c, getopt.h, group-member.c,
27628         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
27629         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
27630         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
27631         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
27632         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
27633         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
27634         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
27635         yesno.c: Back out Copyright date changes for each file with no change
27636         this year.  This eases coordination with other programs using the same
27637         source code modules.  From Paul Eggert.
27638
27639 2000-08-06  Paul Eggert  <eggert@twinsun.com>
27640
27641         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
27642         not char, for compatibility with glibc 2.1.3 strftime.c.
27643
27644 2000-08-03  Greg McGary  <greg@mcgary.org>
27645
27646         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
27647         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
27648         (EXTEND_BUFFER): Use them.
27649
27650 2000-08-01  Jim Meyering  <meyering@lucent.com>
27651
27652         * lib/dirname.c (ISSLASH): Define.
27653         (BACKSLASH_IS_PATH_SEPARATOR): Define.
27654         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
27655         both `\' and `/' may be use as path separators.
27656         Based on a patch from Prashant TR.
27657
27658 2000-07-31  Paul Eggert  <eggert@twinsun.com>
27659
27660         * lib/quotearg.c (quotearg_n_options): Don't make the initial
27661         slot vector a constant, since it might get modified.
27662
27663 2000-07-31  Jim Meyering  <meyering@lucent.com>
27664
27665         * lib/xmalloc.c: Use `virtual memory exhausted', not
27666         `Memory exhausted'.
27667         * lib/obstack.c (print_and_abort): Likewise.
27668
27669 2000-07-30  Paul Eggert  <eggert@twinsun.com>
27670
27671         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
27672         buffer, so that the caller can always quote one small
27673         component of a "memory exhausted" message in slot 0.
27674         From a suggestion by Jim Meyering.
27675
27676 2000-07-30  Jim Meyering  <meyering@lucent.com>
27677
27678         * lib/makepath.c (make_path): Quote the other instance, too.
27679
27680         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
27681         (STATIC_BUF_SIZE): Define.
27682         (quotearg_n_options): Use only statically allocated storage when
27683         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
27684         than STATIC_BUF_SIZE.
27685
27686 2000-07-29  Jim Meyering  <meyering@lucent.com>
27687
27688         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
27689         * lib/dirname.c (dir_name): Likewise.
27690
27691         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
27692         `/'.
27693
27694         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
27695         (dir_name): Assert that there are no trailing slashes.
27696
27697 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
27698
27699         * lib/mbswidth.h (mbswidth): Add a flags argument.
27700         (mbswidth): New declaration.
27701         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
27702         * lib/mbswidth.c (mbswidth): Add a flags argument.
27703         (mbsnwidth): New function.
27704
27705 2000-07-24  Jim Meyering  <meyering@lucent.com>
27706
27707         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
27708
27709 2000-07-23  Paul Eggert  <eggert@twinsun.com>
27710
27711         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
27712
27713 2000-07-23  Paul Eggert  <eggert@twinsun.com>
27714
27715         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
27716         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
27717         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
27718         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
27719         invoke multibyte primitives.
27720
27721 2000-07-23  Paul Eggert  <eggert@twinsun.com>
27722
27723         * lib/quotearg.c:
27724         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
27725         so that mbstate_t is always defined.
27726
27727         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
27728         be 1 in at least one GCC installation, and this configuration
27729         error is likely to be common.  Ignoring MB_LEN_MAX hurts
27730         performance on hosts that have mbrtowc but have only unibyte
27731         locales, but I assume these hosts are rare.
27732
27733 2000-07-23  Paul Eggert  <eggert@twinsun.com>
27734
27735         * lib/mbswidth.c (_XOPEN_SOURCE):
27736         Don't define; this causes problems on Solaris 7.
27737         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
27738
27739 2000-07-23  Jim Meyering  <meyering@lucent.com>
27740
27741         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
27742         too: getgrgid, getpwuid, getuid.
27743
27744 2000-07-23  Jim Meyering  <meyering@lucent.com>
27745
27746         * lib/basename.c (base_name): Add an assertion.
27747
27748 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
27749
27750         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
27751         shadow its mbsinit function.
27752
27753 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
27754
27755         * lib/mbswidth.h: New file.
27756         * lib/mbswidth.c: New file.
27757         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
27758         (noinst_HEADERS): Add mbswidth.h.
27759
27760 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
27761
27762         * lib/config.charset: Add support for FreeBSD. Improve support for
27763         HP-UX and IRIX 6.
27764
27765 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
27766
27767         * m4/mbswidth.m4: New file.
27768         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
27769
27770 2000-07-15  Jim Meyering  <meyering@lucent.com>
27771
27772         * lib/makepath.c: Include quote.h.
27773         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
27774         corresponding argument in a `quote (...)' call.
27775         Give better diagnostics.
27776
27777         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
27778         (noinst_HEADERS): Add quote.h.
27779
27780         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
27781         from tar's src/misc.c.
27782         * lib/quote.h: New file.  Prototypes for same.
27783
27784 2000-07-14  Paul Eggert  <eggert@twinsun.com>
27785
27786         From a suggestion by Bruno Haible.
27787         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
27788         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
27789         to decide whether to define the BeOS workaround macro;
27790         this adjusts to the change to AC_MBSTATE_T.
27791
27792 2000-07-14  Jim Meyering  <meyering@lucent.com>
27793
27794         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
27795         jm_AC_TYPE_UINTMAX_T.
27796
27797 2000-07-13  Paul Eggert  <eggert@twinsun.com>
27798
27799         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
27800
27801         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
27802         quotearg_buffer_restyled): Add support for
27803         clocale_quoting_style.  Undo previous change to
27804         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
27805         and "{RIGHT QUOTATION MARK}" msgids.
27806
27807 2000-07-10  Paul Eggert  <eggert@twinsun.com>
27808
27809         From a suggestion by Bruno Haible.
27810         * m4/mbstate_t.m4 (AC_MBSTATE_T):
27811         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
27812         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
27813         and mbstate_t, to a single-part test that simply defines mbstate_t.
27814         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
27815         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
27816
27817 2000-07-10  Jim Meyering  <meyering@lucent.com>
27818
27819         * m4/strerror_r.m4: Mirror the correction made in autoconf.
27820
27821         * m4/gnu-source.m4: Output to confdefs.h directly.
27822         Suggestion from Akim Demaille.
27823
27824 2000-07-09  Paul Eggert  <eggert@twinsun.com>
27825
27826         The old behavior of quoting `like this' doesn't look good with
27827         newer, ISO-style fonts.  See:
27828         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
27829
27830         Instead, quote "like this" by default.  Let the translator
27831         tailor the locale-specific quoting behavior by providing
27832         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
27833
27834         * lib/quotearg.c (N_): New macro.
27835         (gettext_default): New function.
27836         (quotearg_buffer_restyled): Use
27837         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
27838         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
27839
27840 2000-07-09  Jim Meyering  <meyering@lucent.com>
27841
27842         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
27843         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
27844
27845         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
27846         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
27847
27848 2000-07-09  Jim Meyering  <meyering@lucent.com>
27849
27850         * lib/Most files: Update copyright dates to include 2000.
27851
27852 2000-07-08  Jim Meyering  <meyering@lucent.com>
27853
27854         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
27855         if not defined.
27856         (xgethostname): Remove now-unnecessary #ifdef.
27857         Move declaration of `err' into loop where it's used.
27858
27859 2000-07-05  Paul Eggert  <eggert@twinsun.com>
27860         and Bruno Haible  <haible@clisp.cons.org>
27861
27862         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
27863         only if the test for an object-type mbstate_t fails.  This
27864         prevents us from mistakenly reporting that mbstate_t is a
27865         system object type after we "#define mbstate_t int" to work
27866         around its lack.
27867
27868 2000-07-05  Paul Eggert  <eggert@twinsun.com>
27869         and Bruno Haible  <haible@clisp.cons.org>
27870
27871         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
27872
27873 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
27874
27875         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
27876         to strerror_r.
27877         Include <ctype.h> for use of isalpha.
27878
27879 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
27880
27881         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
27882         by allocating a larger buffer. Test the gethostname return value for
27883         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
27884         returns an error and ENAMETOOLONG isn't defined.
27885
27886 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
27887
27888         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
27889         dimension.
27890
27891 2000-07-04  Jim Meyering  <meyering@lucent.com>
27892
27893         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
27894         of the deprecated AC_CHECKING.
27895
27896 2000-07-04  Jim Meyering  <meyering@lucent.com>
27897
27898         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
27899         Reported by Bruno Haible.
27900
27901 2000-07-04  Jim Meyering  <meyering@lucent.com>
27902
27903         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
27904         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
27905         lacks mbrtowc.
27906
27907 2000-07-03  Paul Eggert  <eggert@twinsun.com>
27908
27909         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
27910         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
27911
27912 2000-07-03  Paul Eggert  <eggert@twinsun.com>
27913         and Bruno Haible  <haible@clisp.cons.org>
27914
27915         * lib/quotearg.c (mbrtowc):
27916         Assign to *pwc, and return 1 only if result is nonzero.
27917         (iswprint): Use ISPRINT when substituting our own mbrtowc.
27918
27919 2000-07-03  Jim Meyering  <meyering@lucent.com>
27920
27921         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
27922
27923 2000-07-03  Jim Meyering  <meyering@lucent.com>
27924
27925         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
27926         This is necessary to get a definition of e.g., UTMP_FILE on
27927         HP-UX 10.20.
27928         From Bob Proulx.
27929
27930 2000-07-02  Jim Meyering  <meyering@lucent.com>
27931
27932         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
27933
27934         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
27935         AC_LIBOBJ(function_name).
27936         * m4/chown.m4: Likewise.
27937         * m4/fnmatch.m4: Likewise.
27938         * m4/ftruncate.m4: Likewise.
27939         * m4/getgroups.m4: Likewise.
27940         * m4/getline.m4: Likewise.
27941         * m4/group-member.m4: Likewise.
27942         * m4/jm-macros.m4: Likewise.
27943         * m4/lstat.m4: Likewise.
27944         * m4/malloc.m4: Likewise.
27945         * m4/memcmp.m4: Likewise.
27946         * m4/nanosleep.m4: Likewise.
27947         * m4/putenv.m4: Likewise.
27948         * m4/realloc.m4: Likewise.
27949         * m4/regex.m4: Likewise.
27950         * m4/stat.m4: Likewise.
27951         * m4/strftime.m4: Likewise.
27952
27953 2000-07-02  Jim Meyering  <meyering@lucent.com>
27954
27955         * lib/quotearg.c (mbstate_t): Don't define here.
27956
27957 2000-07-02  Jim Meyering  <meyering@lucent.com>
27958
27959         * lib/nanosleep.c (SIGCONT): Define if not already defined.
27960
27961 2000-07-01  Jim Meyering  <meyering@lucent.com>
27962
27963         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
27964
27965 2000-07-01  Jim Meyering  <meyering@lucent.com>
27966
27967         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
27968         problem.
27969
27970 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
27971
27972         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
27973         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
27974
27975 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
27976
27977         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
27978         per change in ../m4/ls-mntd-fs.m4.
27979         (read_filesystem_list): Ignore symbolic links.
27980
27981 2000-06-29  Jim Meyering  <meyering@lucent.com>
27982
27983         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
27984         for declaration of strcmp.
27985
27986         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
27987
27988         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
27989         Avoid warning by casting result to `char *' to remove `const'.
27990
27991 2000-06-28  Jim Meyering  <meyering@lucent.com>
27992
27993         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
27994         included by quotearg.c, for which we perform this test.  From
27995         Bruno Haible.
27996
27997 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
27998
27999         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
28000         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
28001         <utmpx.h> exists, put readutmp.o into LIBOBJS.
28002
28003 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
28004
28005         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
28006
28007 2000-06-26  Paul Eggert  <eggert@twinsun.com>
28008
28009         savedir now sets errno on failure and invokes xmalloc to get memory.
28010         Fix a couple of other minor bugs while we're at it.
28011
28012         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
28013         (NAMLEN): Remove macro.
28014         (malloc, realloc): Remove decls.
28015         (stpcpy): Likewise.
28016         ("xalloc.h"): Include.
28017         (NAME_SIZE_DEFAULT): New macro.
28018         (savedir): Use xmalloc / xrealloc to allocate memory.
28019         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
28020         Skip "" directory entries.
28021         Use strlen to calculate directory entry length, since the old method
28022         is rarely used these days and isn't worth supporting.
28023         Don't use a pointer after freeing it.
28024         Check for integer overflow when calculating allocation size.
28025         Use memcpy to copy entries, instead of stpcpy.
28026         Set errno properly when returning NULL.
28027         Check for readdir error.
28028
28029 2000-06-26  Jim Meyering  <meyering@lucent.com>
28030
28031         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
28032
28033 2000-06-25  Jim Meyering  <meyering@lucent.com>
28034
28035         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
28036         Linux header bug when _XOPEN_SOURCE is defined to 500.
28037
28038 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
28039
28040         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
28041         deficiency.
28042
28043 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
28044
28045         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
28046         Include xalloc.h.
28047         Don't include <stdlib.h>.  Don't declare malloc, realloc.
28048
28049 2000-06-24  Jim Meyering  <meyering@lucent.com>
28050
28051         * m4/strerror_r.m4: Revive this file -- to try out an experimental
28052         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
28053         for which strerror does return char*, but which lacks a conveniently
28054         accessible declaration of the function.  If the compile-test says
28055         strerror_r doesn't work, then resort to a `run'-test that works on
28056         BeOS and segfaults on DEC Unix.
28057
28058 2000-06-24  Jim Meyering  <meyering@lucent.com>
28059
28060         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
28061
28062 2000-06-23  Paul Eggert  <eggert@twinsun.com>
28063
28064         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
28065         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
28066
28067 2000-06-23  Paul Eggert  <eggert@twinsun.com>
28068
28069         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
28070         (mbrtowc, mbstate_t): Define substitutes if
28071         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
28072         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
28073         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
28074
28075 2000-06-23  Jim Meyering  <meyering@lucent.com>
28076
28077         * m4/afs.m4: Add missing AC_MSG_RESULT.
28078         Reported by Bruno Haible.
28079
28080         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
28081         Suggestion from Bruno Haible.
28082
28083 2000-06-23  Jim Meyering  <meyering@lucent.com>
28084
28085         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
28086
28087 2000-06-21  Jim Meyering  <meyering@lucent.com>
28088
28089         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
28090
28091 2000-06-21  Jim Meyering  <meyering@lucent.com>
28092
28093         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
28094         (noinst_HEADERS): Add getstr.h.
28095
28096         * lib/getline.c (getstr): Move into a separate file.
28097         * lib/getstr.c (getstr): New file, extracted from getline.c, with
28098         the following changes: new parameter, delim2; both delim[12]
28099         parameters have type `int', not `char'.  The latter would lose
28100         with 8-bit delimiters.
28101         * lib/getstr.h: New file.
28102
28103 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
28104
28105         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
28106         than 1024, return a memory chunk of least possible size, instead
28107         of size PATH_MAX + 2. In the loop, increment the size proportionally.
28108         Use free/xmalloc instead of xrealloc to avoid copying for very long
28109         paths.
28110
28111 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
28112
28113         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
28114         the empty string.
28115
28116 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
28117
28118         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
28119         address, not strdup.  Include <stdlib.h> and don't declare free().
28120
28121 2000-06-19  Jim Meyering  <meyering@lucent.com>
28122
28123         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
28124
28125 2000-06-18  Jim Meyering  <meyering@lucent.com>
28126
28127         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
28128
28129         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
28130         `checking whether...' message to be consistent with that of the
28131         lstat test.
28132
28133 2000-06-18  Jim Meyering  <meyering@lucent.com>
28134
28135         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
28136         Besides, these days every porting target provides a mkdir function.
28137
28138         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
28139         needed. (this snippet comes from src/system.h).
28140
28141 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
28142
28143         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
28144
28145 2000-06-15  Paul Eggert  <eggert@twinsun.com>
28146
28147         * lib/human.c (adjust_value): New function.
28148         (human_readable_inexact): Apply rounding style even when
28149         printing approximate values.
28150
28151 2000-06-14  Paul Eggert  <eggert@twinsun.com>
28152
28153         * lib/human.c (human_readable_inexact): Allow an input block
28154         size that is not a multiple of the output block size, and vice versa.
28155         Reported by Piergiorgio Sartor.
28156
28157 2000-06-14  Paul Eggert  <eggert@twinsun.com>
28158
28159         * lib/getdate.y (get_date): Apply relative times after time
28160         zone indicator, not before.  Reported by Todd A. Jacobs.
28161
28162 2000-06-13  Jim Meyering  <meyering@lucent.com>
28163
28164         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
28165
28166         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
28167
28168 2000-06-12  Paul Eggert  <eggert@twinsun.com>
28169
28170         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
28171
28172 2000-06-12  Jim Meyering  <meyering@lucent.com>
28173
28174         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
28175         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
28176         optional argument.
28177         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
28178         the optional argument, `lib'.
28179
28180 2000-06-08  Jim Meyering  <meyering@lucent.com>
28181
28182         * m4/largefile.m4: Remove file (now that it's part of autoconf).
28183
28184 2000-06-04  Paul Eggert  <eggert@twinsun.com>
28185
28186         Rewrite largefile configuration so that we don't need to run
28187         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
28188         AC_CANONICAL_HOST in configure.in -- jmm]
28189
28190         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
28191         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
28192         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
28193         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
28194         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
28195         All uses changed.
28196         Instead of inspecting the output of getconf, try to compile the
28197         test program without and with the macro definition.
28198         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
28199         for getconf.  Instead, check for the needed flags by compiling
28200         test programs.
28201
28202 2000-06-04  Paul Eggert  <eggert@twinsun.com>
28203
28204         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
28205
28206 2000-06-04  Jim Meyering  <meyering@lucent.com>
28207
28208         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
28209         SunOS 4.1.4 for which gid_t is an unsigned type.
28210
28211 2000-06-03  Jim Meyering  <meyering@lucent.com>
28212
28213         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
28214         now that autoconf requires that.
28215
28216         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
28217         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
28218         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
28219
28220 2000-06-03  Jim Meyering  <meyering@lucent.com>
28221
28222         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
28223
28224 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
28225
28226         * m4/glibc21.m4: New file.
28227         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
28228
28229 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
28230
28231         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
28232         newer, don't install charset.alias.
28233         * lib/config.charset: Change the Linux/glibc rules so they become empty
28234         on glibc-2.1 or newer.
28235
28236 2000-06-02  Jim Meyering  <meyering@lucent.com>
28237
28238         * lib/mountlist.c: Back out last change.  Instead, do this...
28239         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
28240         me_dummy member using the same `ignore'-testing code.
28241         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
28242         fs_type strings.
28243         From Mark D. Roth.
28244
28245 2000-05-29  Jim Meyering  <meyering@lucent.com>
28246
28247         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
28248         mounts with the `ignore' attribute.  Based on a patch from
28249         Mark D. Roth.
28250
28251 2000-05-28  Jim Meyering  <meyering@lucent.com>
28252
28253         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
28254         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
28255         * m4/stat.m4: Likewise.
28256         * m4/lstat.m4: Likewise.
28257         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
28258
28259         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
28260         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
28261
28262 2000-05-26  Jim Meyering  <meyering@lucent.com>
28263
28264         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
28265
28266 2000-05-24  Jim Meyering  <meyering@lucent.com>
28267
28268         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
28269         autoconf requires that.
28270         * m4/lib-check.m4: Likewise.
28271         * m4/jm-macros.m4: Likewise.
28272         * m4/strftime.m4: Likewise.
28273
28274         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
28275         AC_CHECK_DECLS, now that autoconf requires that.
28276
28277 2000-05-22  Jim Meyering  <meyering@lucent.com>
28278
28279         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
28280         * m4/lstat.m4: Likewise.
28281
28282 2000-05-22  Jim Meyering  <meyering@lucent.com>
28283
28284         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
28285
28286 2000-05-20  Jim Meyering  <meyering@lucent.com>
28287
28288         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
28289         (jm_PREREQ): Use it.
28290
28291 2000-05-18  Jim Meyering  <meyering@lucent.com>
28292
28293         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
28294         back, too, since it may have been modified by allocate_entry.
28295         (hash_delete): Rewrite to use neither the assignment operator
28296         nor the comma operator in an if-expression.
28297
28298 2000-05-15  Paul Eggert  <eggert@twinsun.com>
28299
28300         * lib/closeout.c:
28301         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
28302         Remove; no longer needed.
28303         "quotearg.h": Add include.
28304         (file_name): Do not bother to explicitly initialize to NULL; it's less
28305         efficient on some hosts.
28306         (close_stdout_status): Remove test as to whether stdout was already
28307         closed; it breaks for the case "echo x | sort >&-".
28308         Quote file name colons.
28309         Do not assume that _("write error") lacks format strings.
28310
28311 2000-05-15  Jim Meyering  <meyering@lucent.com>
28312
28313         * lib/version-etc.c (version_etc_copyright): Update the copyright
28314         string used in all --version output.
28315
28316 2000-05-14  Jim Meyering  <meyering@lucent.com>
28317
28318         * lib/closeout.c (close_stdout_set_file_name): New function.
28319         (close_stdout_status): Use new file-scoped global.
28320         Return right away if fstat says the stdout file descriptor is invalid.
28321         * lib/closeout.h (close_stdout_set_file_name): Declare.
28322
28323 2000-05-10  Jim Meyering  <meyering@lucent.com>
28324
28325         * lib/closeout.c [default_exit_status]: New file-scoped variable.
28326         (close_stdout_set_status): New function.
28327         * lib/closeout.h (close_stdout_set_status): Declare.
28328
28329 2000-05-09  Jim Meyering  <meyering@lucent.com>
28330
28331         * m4/gettext.m4: Rename this...
28332         * m4/libintl.m4: ...to this.
28333
28334 2000-05-08  Jim Meyering  <meyering@lucent.com>
28335
28336         * lib/long-options.c: Don't include closeout.h.
28337         (parse_long_options): Don't call close_stdout for --version.
28338
28339 2000-05-06  Paul Eggert  <eggert@twinsun.com>
28340
28341         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
28342         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
28343         2.1.3 bug.  This avoids a clash when files like regex.c define
28344         _GNU_SOURCE.
28345
28346 2000-05-06  Jim Meyering  <meyering@lucent.com>
28347
28348         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
28349         (AC_REPLACE_FUNCS): Add strnlen.
28350
28351         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
28352         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
28353
28354         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
28355         AC_SEARCH_LIBS call for nanosleep.
28356         (LIB_NANOSLEEP): Set and AC_SUBST.
28357
28358 2000-05-06  Jim Meyering  <meyering@lucent.com>
28359
28360         * lib/strnlen.c: Undefine __strnlen and strnlen.
28361         [!weak_alias]: Define __strnlen to strnlen.
28362
28363         * lib/atexit.c: New file, from libiberty.
28364
28365 2000-05-06  Jim Meyering  <meyering@lucent.com>
28366
28367         * lib/closeout.c (close_stdout_status): Also check for errors on the
28368         stderr stream.
28369
28370 2000-05-05  Jim Meyering  <meyering@lucent.com>
28371
28372         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
28373         AC_SEARCH_LIBS call for clock_gettime.
28374         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
28375
28376         * m4/search-libs.m4: Update from autoconf.
28377
28378         su doesn't work on Solaris 2.6.
28379         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
28380         <shadow.h>.  Reported by Dragos Harabor.
28381
28382 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
28383
28384         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
28385         memcpy instead of xmalloc, xrealloc, path_concat.
28386         (locale_charset): Treat empty environment variables as absent.
28387         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
28388
28389 2000-05-04  Jim Meyering  <meyering@lucent.com>
28390
28391         * lib/getopt.c: Update from glibc.
28392         * lib/obstack.c: Likewise.
28393         * lib/obstack.h: Likewise.
28394         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
28395         file
28396
28397         * lib/regex.h: Likewise.
28398         * lib/strndup.c: Likewise.
28399         * lib/strnlen.c: New file, from glibc.
28400
28401 2000-05-03  Jim Meyering  <meyering@lucent.com>
28402
28403         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
28404
28405 2000-05-02  Paul Eggert  <eggert@twinsun.com>
28406
28407         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
28408         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
28409         compile-time test, rather than inspecting host and OS, to
28410         decide whether to define _LARGEFILE_SOURCE.
28411
28412 2000-05-01  Jim Meyering  <meyering@lucent.com>
28413
28414         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
28415
28416         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
28417         Based on a patch from Bruno Haible.
28418
28419 2000-05-01  Jim Meyering  <meyering@lucent.com>
28420
28421         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
28422
28423 2000-04-29  Jim Meyering  <meyering@lucent.com>
28424
28425         * lib/path-concat.c: Declare strdup only if it's not defined.
28426         * lib/canon-host.c: Likewise.
28427
28428 2000-04-28  Jim Meyering  <meyering@lucent.com>
28429
28430         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
28431         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
28432         is included first, then limits.h is included by locale.h by libintl.h.
28433         From John David Anglin.
28434
28435 2000-04-25  Jim Meyering  <meyering@lucent.com>
28436
28437         * lib/makepath.c (S_IRWXUGO): Define.
28438         (make_path): Always perform explicit chmod if MODE specifies any
28439         of the `special' permission bits.  Prompted by a bug report against
28440         install from Mate Wierdl and Joost van Baal.
28441
28442 2000-04-18  Jim Meyering  <meyering@lucent.com>
28443
28444         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
28445         (jm_PREREQ): Use it.
28446
28447 2000-04-18  Jim Meyering  <meyering@lucent.com>
28448
28449         * lib/README: New file.
28450
28451         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
28452         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
28453
28454 2000-04-17  Jim Meyering  <meyering@lucent.com>
28455
28456         Get it right :-)
28457         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
28458         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
28459         Suggestion from Akim Demaille.
28460
28461 2000-04-17  Jim Meyering  <meyering@lucent.com>
28462
28463         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
28464         the definition of it to rpl_strftime also defined-away the system's
28465         declaration.
28466
28467 2000-04-15  Jim Meyering  <meyering@lucent.com>
28468
28469         Use `C' to denote so-called `contiguous' files, the same way
28470         that tar does.
28471         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
28472         (ftypelet): Use S_ISCTG.
28473         From Michael Deutschmann.
28474
28475 2000-04-14  Jim Meyering  <meyering@lucent.com>
28476
28477         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
28478         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
28479         clobbered.
28480
28481 2000-04-14  Jim Meyering  <meyering@lucent.com>
28482
28483         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
28484
28485 2000-04-13  Jim Meyering  <meyering@lucent.com>
28486
28487         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
28488         AH_VERBATIM to insert required #ifndef into config.h.in.
28489         Suggestion from Akim Demaille.
28490
28491 2000-04-12  Jim Meyering  <meyering@lucent.com>
28492
28493         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
28494         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
28495         Christian Krackowizer.
28496
28497         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
28498         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
28499         (AC_SYS_LARGEFILE): Require.
28500         (AM_C_PROTOTYPES): Require.
28501
28502 2000-04-08  Jim Meyering  <meyering@lucent.com>
28503
28504         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
28505         names don't conflict.  Reported by Eli Zaretskii.
28506
28507 2000-04-07  Jim Meyering  <meyering@lucent.com>
28508
28509         * lib/putenv.c: Move inclusion of errno.h so it follows that of
28510         sys/types.h, to work around system header problems on AIX 3.2.5.
28511         From Bruno Haible.
28512
28513 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
28514
28515         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
28516         bug.  Deal with the different error behavior of Irix iconv.
28517
28518 2000-04-05  Paul Eggert  <eggert@twinsun.com>
28519
28520         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
28521         IRIX if the installer said otherwise.
28522
28523 2000-04-05  Jim Meyering  <meyering@lucent.com>
28524
28525         Portability tweaks required for ultrix4.3.
28526         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
28527         (jm_CHECK_DECLS): Add getutent to the list of functions.
28528         (_jm_DECL_HEADERS): Add utmpx.h.
28529         From John David Anglin.
28530
28531         * m4/strftime.m4: Back out the 2000-04-02 change.
28532         Instead of that change, simply undefine putenv in the test program.
28533
28534 2000-04-05  Jim Meyering  <meyering@lucent.com>
28535
28536         Portability tweaks required for ultrix4.3.
28537         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
28538         getutent.
28539         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
28540         * lib/canon-host.c: Declare strdup.
28541         * lib/path-concat.c: Likewise.
28542         From John David Anglin.
28543
28544 2000-04-04  Jim Meyering  <meyering@lucent.com>
28545
28546         Be more DOS 8.3-friendly.
28547         * lib/ref-add.sin: Renamed from ref-add.sed.in.
28548         * lib/ref-del.sin: Renamed from ref-del.sed.in.
28549         * lib/Makefile.am: Reflect renaming.
28550         Reported by Eli Zaretskii.
28551
28552         Use a temporary file name that won't clash with `charset.alias'
28553         in the DOS 8.3 name space.
28554         * lib/Makefile.am (charset_tmp): Define.
28555         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
28556         (uninstall-local): Likewise.
28557         Reported by Eli Zaretskii.
28558
28559 2000-04-03  Jim Meyering  <meyering@lucent.com>
28560
28561         * m4/gettext.m4: Fix typo in comment.
28562
28563         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
28564         textutils/configure.in).  Suggestion from Paul Eggert.
28565         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
28566
28567 2000-04-02  Paul Eggert  <eggert@twinsun.com>
28568
28569         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
28570         variable in the shell rather than using putenv, which isn't
28571         portable.  This avoids the configure-time inter-test dependency
28572         on the potentially-renamed putenv function.
28573
28574 2000-03-30  Paul Eggert  <eggert@twinsun.com>
28575
28576         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
28577         before checking struct stat.st_blksize, so that
28578         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
28579
28580 2000-03-29  Paul Eggert  <eggert@twinsun.com>
28581
28582         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
28583         since strftime.c uses HAVE_STRFTIME to decide whether to use
28584         the underlying strftime.
28585
28586 2000-03-29  Paul Eggert  <eggert@twinsun.com>
28587
28588         * lib/time/strftime.c (my_strftime): Make sure we call the system
28589         strftime, not ourselves, when invoking the underlying strftime.
28590
28591 2000-03-24  Jim Meyering  <meyering@lucent.com>
28592
28593         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
28594         (charset_alias): Define.
28595         (install-exec-local): Factor out common code.
28596         (uninstall-local): Split lines longer than 80.
28597         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
28598         (SUFFIXES): Define.
28599         (.sed.in.sed): New rule.  Don't redirect directly to $@.
28600         (CLEANFILES): Add ref-add.sed and ref-del.sed.
28601
28602 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
28603
28604         * lib/config.charset: Output a line containing "Packages using this
28605         file".
28606         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
28607         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
28608         ref-del.sed): New rules.
28609
28610 2000-03-17  Jim Meyering  <meyering@lucent.com>
28611
28612         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
28613         Otherwise, include <strings.h>
28614
28615 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
28616
28617         * lib/unicodeio.c (utf8_wctomb): New function.
28618         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
28619         format instead of in UCS-4 with platform dependent endianness.
28620
28621 2000-03-10  Jim Meyering  <meyering@lucent.com>
28622
28623         * m4/lib-check.m4: Look for getspnam in -lgen, too.
28624         From Marco Franzen.
28625
28626 2000-03-07  Paul Eggert  <eggert@twinsun.com>
28627
28628         * lib/savedir.c (savedir): Work even if directory size is
28629         negative; this can happen with some screwy NFS configurations.
28630
28631 2000-03-06  Jim Meyering  <meyering@lucent.com>
28632
28633         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
28634         if it's NULL (because we ran out of memory).  From Bruno Haible.
28635
28636 2000-03-05  Jim Meyering  <meyering@lucent.com>
28637
28638         * lib/localcharset.c ("path-concat.h"): Include.
28639         (get_charset_aliases): Use path_concat instead of ANSI string
28640         concatenation.
28641
28642         * lib/unicodeio.h (PARAMS): Define.
28643         Use it to guard prototype.
28644
28645 2000-03-04  Jim Meyering  <meyering@lucent.com>
28646
28647         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
28648         for lib/localcharset.c.
28649
28650 2000-03-04  Jim Meyering  <meyering@lucent.com>
28651
28652         * lib/Makefile.am (install-exec-local): Create $(libdir) before
28653         installing into it.
28654         (uninstall-local): Uncomment this rule so `make distcheck' works
28655         once again.
28656
28657         * lib/unicodeio.c (<errno.h>): Include it.
28658         (errno): Declare if not defined.
28659
28660         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
28661
28662         * lib/config.charset: New version, incorporating remarks from a linux
28663         i18n mailing list.  From Bruno Haible.
28664
28665 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
28666
28667         * m4/codeset.m4: New file.
28668         * m4/iconv.m4: New file.
28669         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
28670
28671 2000-03-03  Jim Meyering  <meyering@lucent.com>
28672
28673         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
28674
28675 2000-03-02  Jim Meyering  <meyering@lucent.com>
28676
28677         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
28678         the messages come out on separate lines.
28679
28680         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
28681         rather than jm_CHECK_DECLARATIONS.
28682         * m4/decl.m4: Remove now-unused file.
28683
28684         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
28685         geteuid.
28686
28687 2000-03-02  Jim Meyering  <meyering@lucent.com>
28688
28689         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
28690
28691 2000-03-01  Jim Meyering  <meyering@lucent.com>
28692
28693         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
28694         * lib/unicodeio.c: Likewise.
28695
28696 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
28697
28698         * lib/config.charset: New file.
28699         * lib/localcharset.c: New file.
28700         * lib/unicodeio.h, lib/unicodeio.c: New files.
28701         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
28702         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
28703         (noinst_HEADERS): Add unicodeio.h.
28704         (all-local, install-exec-local, charset.alias): New targets.
28705
28706 2000-02-28  Paul Eggert  <eggert@twinsun.com>
28707
28708         * lib/quotearg.c (ALERT_CHAR): New macro.
28709         (quotearg_buffer_restyled): Use it.
28710
28711 2000-02-27  Jim Meyering  <meyering@lucent.com>
28712
28713         * m4/check-decl.m4: Add getenv to the list.
28714
28715 2000-02-27  Jim Meyering  <meyering@lucent.com>
28716
28717         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
28718         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
28719
28720         * lib/backupfile.c: Guard inclusion of stdlib.h with
28721         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
28722         Declare malloc if needed.
28723
28724         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
28725         `#ifndef HAVE_DECL..'
28726         now that autoconf always defines the HAVE_DECL_ symbols.
28727         * lib/human.c: Likewise.
28728         * lib/same.c: Likewise.
28729         * lib/strtoumax.c: Likewise.
28730
28731         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
28732         declaration check was not run.
28733         * lib/hash.c: Likewise.
28734         * lib/human.c: Likewise.
28735         * lib/same.c: Likewise.
28736         * lib/strtoumax.c: Likewise.
28737
28738         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
28739         `.', then first look up the entire `.'-containing string as a login
28740         name.
28741
28742 2000-02-23  Jim Meyering  <meyering@lucent.com>
28743
28744         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
28745         in place of my hack.
28746
28747 2000-02-18  Paul Eggert  <eggert@twinsun.com>
28748
28749         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
28750         (textint): New typedef.
28751         (parser_control): Member year changed from int to textint.
28752         All uses changed.
28753         (YYSTYPE): Removed; replaced by %union with int and textint members.
28754         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
28755         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
28756         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
28757         (tSNUMBER, tUNUMBER): Now of type <textintval>.
28758         (date, number, to_year): Use width of number in digits, not its value,
28759         to determine whether it's a 2-digit year, or a 2-digit time.
28760         (yylex): Store number of digits of numeric tokens.
28761         Reported by John Kendall.
28762
28763         (parser_control): Changed from struct parser_control to typedef (for
28764         consistency).  All uses changed.
28765
28766         (tID): Removed; not used.
28767         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
28768
28769 2000-02-14  Paul Eggert  <eggert@twinsun.com>
28770
28771         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
28772         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
28773
28774 2000-02-12  Jim Meyering  <meyering@lucent.com>
28775
28776         * lib/userspec.c (ISDIGIT): Define it.
28777         (isdigit): Remove definition.
28778         (is_number): Use ISDIGIT, not isdigit.
28779         <libintl.h>: Include.
28780         (_ and N_): Define.
28781         (parse_user_spec): Mark translatable strings.
28782
28783 2000-02-10  Jim Meyering  <meyering@lucent.com>
28784
28785         With these changes, nanosleep.[ch] are finally enough like the other
28786         lib/* replacement files to compile on a few more losing systems.
28787
28788         * lib/nanosleep.h: Don't include config.h.
28789         Remove prototype from declaration of nanosleep.
28790         (PARAMS): Remove now-unneeded definition.
28791         * lib/nanosleep.c: #undef nanosleep.
28792         (rpl_nanosleep): Rename from nanosleep.
28793
28794 2000-02-10  Jim Meyering  <meyering@lucent.com>
28795
28796         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
28797         gnu_nanosleep to rpl_nanosleep.
28798
28799 2000-02-09  Jim Meyering  <meyering@lucent.com>
28800
28801         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
28802         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
28803
28804 2000-02-08  Akim Demaille  <akim@epita.fr>
28805
28806         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
28807         `[' and `]' and remove uses of `changequote'.
28808         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
28809         (AC_SYS_LARGEFILE): Likewise.
28810         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
28811         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
28812         of changequote.
28813         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
28814         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
28815         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
28816         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
28817
28818 2000-02-05  Jim Meyering  <meyering@lucent.com>
28819
28820         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
28821         Remove explicit use of AC_HEADER_TIME.  It is required by
28822         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
28823         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
28824         in autoconf whereby the expansion of the latter ended up preceding
28825         the expansion of its prerequisite, AC_HEADER_TIME.
28826         Reported by Volker Borchert.
28827
28828 2000-02-03  Jim Meyering  <meyering@lucent.com>
28829
28830         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
28831
28832 2000-02-03  Jim Meyering  <meyering@lucent.com>
28833
28834         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
28835         rather than with `#if HAVE_UTMPNAME'.
28836
28837 2000-02-02  Jim Meyering  <meyering@lucent.com>
28838
28839         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
28840         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
28841         Reported by Eli Zaretskii.
28842
28843 2000-02-01  Jim Meyering  <meyering@lucent.com>
28844
28845         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
28846
28847 2000-01-31  Jim Meyering  <meyering@lucent.com>
28848
28849         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
28850         functions.  Add the time.h and sys/time.h headers along with the
28851         AC_REQUIRE'ment of AC_HEADER_TIME.
28852
28853 2000-01-31  Jim Meyering  <meyering@lucent.com>
28854
28855         * lib/nanosleep.h (nanosleep): Guard declaration with
28856         `#if ! HAVE_DECL_NANOSLEEP'.
28857         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
28858         the declaration in that vendor's sys/timers.h.
28859         Reported by Christian Krackowizer.
28860
28861         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
28862         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
28863         (ISPRINT): Likewise.
28864         Reported by Tom Tromey.
28865
28866 2000-01-30  Jim Meyering  <meyering@lucent.com>
28867
28868         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
28869
28870         * m4/prereq.m4 (utmp_includes): Define.
28871         Check for ut_user and ut_name members in both struct utmpx
28872         and struct utmp.
28873
28874 2000-01-30  Jim Meyering  <meyering@lucent.com>
28875
28876         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
28877         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
28878         header files where only utmpx.ut_user is declared.
28879
28880         * lib/readutmp.h (UT_USER): Define.
28881
28882 2000-01-29  Jim Meyering  <meyering@lucent.com>
28883
28884         * m4/lib-check.m4: New file containing library-related checks from
28885         fileutils and sh-utils (textutils had none).
28886
28887 2000-01-28  Jim Meyering  <meyering@lucent.com>
28888
28889         * m4/perl.m4: Change format of warning message to look more like that
28890         from the missing script.  Suggestion from François Pinard.
28891
28892 2000-01-25  Jim Meyering  <meyering@lucent.com>
28893
28894         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
28895         well as time.h in the compile check.
28896         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
28897         Fix typo in cross-compiling case: s/yes/no/.
28898
28899 2000-01-23  Jim Meyering  <meyering@lucent.com>
28900
28901         * m4/jm-macros.m4: Move df-related tests here from
28902         fileutils/configure.in
28903
28904         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
28905         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
28906
28907         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
28908         s/space/ac_fsusage_space/.
28909         (jm_FILE_SYSTEM_USAGE): Take two parameters.
28910
28911         * m4/ftruncate.m4: New file (derived from part of
28912         fileutils/configure.in).
28913         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
28914         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
28915
28916         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
28917         AC_SUBST these here, rather than just in sh-util/configure.in, so
28918         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
28919         all the same.
28920         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
28921         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
28922         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
28923         (AC_SUBST(POW_LIBM)): Likewise.
28924         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
28925
28926 2000-01-23  Jim Meyering  <meyering@lucent.com>
28927
28928         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
28929         obstack.c.
28930
28931 2000-01-22  Jim Meyering  <meyering@lucent.com>
28932
28933         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
28934
28935         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
28936
28937         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
28938         configure.in
28939         (AC_CHECK_HEADERS): Likewise for sh-utils.
28940         (AC_CHECK_HEADERS): Likewise for textutils.
28941         Merge the three lists of headers.
28942
28943         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
28944         from fileutils' configure.in.
28945
28946         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
28947         code. Moved tests into their own function (_jm_DECL_HEADERS) in
28948         check-decl.m4.
28949
28950         * m4/check-decl.m4: Use #if rather than #ifdef.
28951         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
28952         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
28953         (_jm_DECL_HEADERS): Define new function.
28954         (jm_CHECK_DECLARATIONS): Require it.
28955
28956 2000-01-22  Jim Meyering  <meyering@lucent.com>
28957
28958         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
28959         [! HAVE_DECL_STRTOULL]: Declare strtoull.
28960         Required for some AIX systems.  Reported by Christian Krackowizer.
28961         [TESTING] (main): New function.
28962
28963         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
28964         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
28965         letters.
28966
28967         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
28968         iswprint.
28969
28970         * lib/strverscmp.c (ISDIGIT): Define.
28971         (strverscmp): Use ISDIGIT, not isdigit.
28972
28973 2000-01-19  Jim Meyering  <meyering@lucent.com>
28974
28975         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
28976         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
28977         defines `struct timespec' in <sys/time.h>
28978
28979         * m4/c-bs-a.m4: Remove uses of changequote altogether.
28980         Thanks to Akim for explaining.
28981
28982 2000-01-17  Paul Eggert  <eggert@twinsun.com>
28983
28984         * lib/nanosleep.c (nanosleep):
28985         Don't use SA_INTERRUPT to decide whether to call sigaction, as
28986         POSIX.1 doesn't require SA_INTERRUPT and some systems
28987         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
28988         it's been part of POSIX.1 since day 1 (in 1988).
28989
28990 2000-01-17  Jim Meyering  <meyering@lucent.com>
28991
28992         * lib/interlock: Remove unused file.  Reported by François Pinard.
28993
28994 2000-01-16  Paul Eggert  <eggert@twinsun.com>
28995
28996         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
28997         alert, backslash, formfeed, and vertical tab unnecessarily in
28998         shell quoting style.
28999
29000 2000-01-16  Jim Meyering  <meyering@lucent.com>
29001
29002         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
29003         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
29004         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
29005         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
29006
29007 2000-01-16  Jim Meyering  <meyering@lucent.com>
29008
29009         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
29010         because the latter didn't work.
29011
29012 2000-01-15  Jim Meyering  <meyering@lucent.com>
29013
29014         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
29015         (AC_REPLACE_FUNCS): Add memcpy and memset.
29016         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
29017         Add strpbrk.
29018         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
29019
29020 2000-01-12  Jim Meyering  <meyering@lucent.com>
29021
29022         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
29023         (jm_PREREQ): Use it.
29024         (jm_PREREQ_READUTMP): New macro.
29025         (jm_PREREQ): Use it.
29026
29027 2000-01-11  Paul Eggert  <eggert@twinsun.com>
29028
29029         Quote multibyte characters correctly.
29030         * m4/c-bs-a.m4: New file.
29031         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
29032         (jm_PREREQ): Use it.
29033
29034 2000-01-11  Paul Eggert  <eggert@twinsun.com>
29035
29036         * m4/uintmax_t.m4: Port to autoconf 2.13.
29037
29038 2000-01-08  Jim Meyering  <meyering@ascend.com>
29039
29040         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
29041         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
29042
29043 2000-01-04  Jim Meyering  <meyering@ascend.com>
29044
29045         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
29046         jm_STRUCT_DIRENT_D_TYPE.
29047         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
29048         jm_STRUCT_DIRENT_D_INO.
29049         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
29050         jm_STRUCT_UTIMBUF.
29051         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
29052         renamings.
29053         * m4/utime.m4: Likewise.
29054
29055         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
29056         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
29057
29058 2000-01-03  Paul Eggert  <eggert@twinsun.com>
29059
29060         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
29061         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
29062
29063 2000-01-02  Jim Meyering  <meyering@ascend.com>
29064
29065         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
29066         remember if this is necessary.
29067
29068 1999-12-26  Jim Meyering  <meyering@ascend.com>
29069
29070         * m4/jm-macros.m4: Use it here.
29071         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
29072
29073 1999-12-23  Jim Meyering  <meyering@ascend.com>
29074
29075         * m4/jm-macros.m4: Check for clock_gettime (moved from
29076         fileutils/configure.in)
29077         Check for gettimeofday.
29078
29079 1999-12-20  Jim Meyering  <meyering@ascend.com>
29080
29081         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
29082         autoconf-2.14a-1999-12-20.
29083
29084 1999-12-19  Jim Meyering  <meyering@ascend.com>
29085
29086         * m4/lstat-slash.m4: New file.
29087         * m4/jm-macros.m4: Use the new macro:
29088         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
29089
29090 1999-12-07  Jim Meyering  <meyering@ascend.com>
29091
29092         * m4/perl.m4: Require that File::Compare be available, too.
29093         Too many systems seem to lack it.
29094
29095         * m4/strftime.m4: Add checks for most of the cpp macros tested in
29096         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
29097
29098 1999-11-18  Paul Eggert  <eggert@twinsun.com>
29099
29100         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
29101         problem with the QNX 4.25 shell, which doesn't propagate exit
29102         status of failed commands inside shell assignments.
29103
29104 1999-11-17  Jim Meyering  <meyering@ascend.com>
29105
29106         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
29107
29108 1999-11-07  Jim Meyering  <meyering@ascend.com>
29109
29110         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
29111
29112 1999-11-06  Jim Meyering  <meyering@ascend.com>
29113
29114         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
29115         * m4/jm-macros.m4 (jm_MACROS): Use it here.
29116
29117 1999-11-05  Jim Meyering  <meyering@ascend.com>
29118
29119         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
29120         configure.in of textutils, fileutils, and sh-utils into this one
29121         (shared between those packages) file.
29122         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
29123         AC_STRUCT_ST_BLKSIZE.
29124
29125 1999-11-03  Jim Meyering  <meyering@ascend.com>
29126
29127         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
29128         of AC_CHECK_TYPE checks includes unistd.h.
29129         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
29130         Suggestion from Akim Demaille.
29131
29132 1999-10-30  Jim Meyering  <meyering@ascend.com>
29133
29134         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
29135         m4-quoted string.
29136         * m4/ls-mntd-fs.m4: Likewise.
29137         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
29138         * m4/jm-winsz1.m4: Likewise.
29139
29140         * m4/const.m4: Remove file, since the fix made it into the experimental
29141         version of autoconf.
29142         * m4/mktime.m4: Likewise.
29143
29144         * m4/check-type.m4: Remove file, now that the latest version of
29145         AC_CHECK_TYPE takes a third arg to specify additional #includes.
29146
29147         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
29148         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
29149         AC_CHECK_TYPE.
29150
29151 1999-10-04  Jim Meyering  <meyering@ascend.com>
29152
29153         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
29154
29155 1999-09-22  Paul Eggert  <eggert@twinsun.com>
29156
29157         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
29158         2.95.1 bug with HP-UX 10.20.
29159
29160 1999-09-17  Jim Meyering  <meyering@ascend.com>
29161
29162         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
29163         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
29164         due to missing strdup (against sh-utils-2.0).
29165
29166 1999-08-29  Jim Meyering  <meyering@ascend.com>
29167
29168         * m4/jm-macros.m4: Require jm_BISON.
29169         * m4/bison.m4: New file.
29170
29171 1999-08-17  Paul Eggert  <eggert@twinsun.com>
29172
29173         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
29174         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
29175
29176 1999-08-05  Jim Meyering  <meyering@ascend.com>
29177
29178         * m4/getline.m4: Rename test file from conftestdata to conftest.data
29179         to avoid conflicts with `conftest' on 8+3 filesystems.
29180         Suggestion from Eli Zaretskii.
29181
29182 1999-08-04  Jim Meyering  <meyering@ascend.com>
29183
29184         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
29185         fileutils and sh-utils (textutils's getline test was inadequate).
29186         (AM_FUNC_GETLINE): Run this test.
29187         (AC_CHECK_FUNCS): Check for getdelim.
29188         Reported by Bob Proulx.
29189
29190 1999-08-02  Jim Meyering  <meyering@ascend.com>
29191
29192         * m4/jm-macros.m4: Add a comment.
29193
29194 1999-08-01  Paul Eggert  <eggert@twinsun.com>
29195
29196         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
29197         <inttypes.h> defines strtoumax as a macro (and not as a
29198         function).
29199
29200 1999-08-01  Paul Eggert  <eggert@twinsun.com>
29201
29202         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
29203         that we can shift, multiply and divide unsigned long long
29204         values; Ultrix cc can't do it.
29205
29206 1999-08-01  Paul Eggert  <eggert@twinsun.com>
29207
29208         * m4/mktime.m4: New file, which is a preview of what should appear
29209         in the next public autoconf release.
29210
29211 1999-08-01  Paul Eggert  <eggert@twinsun.com>
29212
29213         * m4/lfs.m4: Remove this file.
29214         * m4/largefile.m4: New file.  It contains the old contents of
29215         lfs.m4, except that all names with prefix AC_LFS have been
29216         changed to use the prefix AC_SYS_LARGEFILE instead, to be
29217         compatible with future autoconf versions.  Also, some minor m4
29218         quoting problems have been fixed.
29219
29220 1999-08-01  Paul Eggert  <eggert@twinsun.com>
29221
29222         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
29223         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
29224         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
29225         and simplify the shell code.
29226
29227 1999-08-01  Jim Meyering  <meyering@ascend.com>
29228
29229         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
29230         m4.
29231
29232 1999-07-20  Jim Meyering  <meyering@ascend.com>
29233
29234         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
29235
29236 1999-07-15  Jim Meyering  <meyering@ascend.com>
29237
29238         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
29239
29240 1999-05-22  Jim Meyering  <meyering@ascend.com>
29241
29242         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
29243
29244 1999-05-20  Jim Meyering  <meyering@ascend.com>
29245
29246         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
29247         Add a colon after each `then' in case $4 is empty.
29248
29249 1999-05-16  Jim Meyering  <meyering@ascend.com>
29250
29251         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
29252
29253 1999-05-10  Jim Meyering  <meyering@ascend.com>
29254
29255         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
29256
29257         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
29258         AC_FUNC_MKTIME.
29259
29260 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
29261
29262         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
29263
29264 1999-05-04  Paul Eggert  <eggert@twinsun.com>
29265
29266         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
29267         not CPPFLAGS, so that linking works correctly in IRIX.
29268
29269 1999-04-30  Paul Eggert  <eggert@twinsun.com>
29270
29271         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
29272
29273 1999-04-20  Paul Eggert  <eggert@twinsun.com>
29274
29275         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
29276         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
29277         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
29278         jm_AC_TYPE_UNSIGNED_LONG_LONG.
29279         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
29280
29281         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
29282
29283 1999-04-20  Jim Meyering  <meyering@ascend.com>
29284
29285         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
29286         AC_REPLACE xstroull if necessary.  From Paul Eggert.
29287         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
29288
29289 1999-04-18  Jim Meyering  <meyering@ascend.com>
29290
29291         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
29292         * m4/jm-macros.m4: Use it.
29293
29294 1999-04-06  Jim Meyering  <meyering@ascend.com>
29295
29296         * m4/strftime.m4: Remove test for %f.
29297
29298 1999-03-29  Jim Meyering  <meyering@ascend.com>
29299
29300         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
29301         superset of the AC_TYPE_* checks in the textutils, fileutils,
29302         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
29303         AC_TYPE_PID_T.
29304
29305 1999-03-28  Jim Meyering  <meyering@ascend.com>
29306
29307         * m4/jm-macros.m4: Define GNU_PACKAGE here.
29308         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
29309         replaced e.g., in the *.sh files of the sh-utils.
29310
29311 1999-03-20  Jim Meyering  <meyering@ascend.com>
29312
29313         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
29314         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
29315         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
29316
29317 1999-03-19  Jim Meyering  <meyering@ascend.com>
29318
29319         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
29320
29321 1999-03-12  Jim Meyering  <meyering@ascend.com>
29322
29323         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
29324
29325 1999-03-07  Jim Meyering  <meyering@ascend.com>
29326
29327         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
29328         declared.
29329
29330 1999-02-17  Jim Meyering  <meyering@ascend.com>
29331
29332         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
29333         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
29334
29335 1999-02-07  Jim Meyering  <meyering@ascend.com>
29336
29337         * m4/group-member.m4: New file -- extracted from sh-utils'
29338         configure.in.
29339
29340         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
29341         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
29342
29343 1999-02-06  Jim Meyering  <meyering@ascend.com>
29344
29345         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
29346         * m4/fnmatch.m4: Likewise.
29347         * m4/getgroups.m4: Likewise.
29348         * m4/lstat.m4: Likewise.
29349         * m4/malloc.m4: Likewise.
29350         * m4/putenv.m4: Likewise.
29351         * m4/realloc.m4: Likewise.
29352         * m4/regex.m4: Likewise.
29353         * m4/stat.m4: Likewise.
29354         * m4/strftime.m4: Likewise.
29355         Suggestion from Alain Magloire.
29356
29357         * m4/chown.m4: Use `.$ac_objext', not `.o'.
29358         * m4/fnmatch.m4: Likewise.
29359         * m4/getgroups.m4: Likewise.
29360         * m4/getline.m4: Likewise.
29361         * m4/lstat.m4: Likewise.
29362         * m4/malloc.m4: Likewise.
29363         * m4/memcmp.m4: Likewise.
29364         * m4/putenv.m4: Likewise.
29365         * m4/realloc.m4: Likewise.
29366         * m4/regex.m4: Likewise.
29367         * m4/stat.m4: Likewise.
29368         * m4/strftime.m4: Likewise.
29369         Suggestion from Alain Magloire.
29370
29371         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
29372         an argument.
29373
29374         * m4/regex.m4: Add a run-time Test for proper operation of
29375         re_compile_pattern.
29376
29377 1999-01-31  Jim Meyering  <meyering@ascend.com>
29378
29379         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
29380
29381 1999-01-30  Jim Meyering  <meyering@ascend.com>
29382
29383         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
29384
29385         * m4/jm-mktime.m4: Make this a wrapper around the official
29386         AM_FUNC_MKTIME rather than my private copy, now that the official one
29387         is up to date.
29388         * m4/mktime.m4: Remove file.
29389
29390         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
29391         * m4/uptime.m4: Likewise.
29392         * m4/uintmax_t.m4: Likewise.
29393
29394 1999-01-28  Jim Meyering  <meyering@ascend.com>
29395
29396         * m4/jm-macros.m4: Use jm_AFS.
29397         * m4/afs.m4: New file (from fileutils' configure.in).
29398
29399         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
29400         * m4/chown.m4: Likewise.
29401         * m4/d-ino.m4: Likewise.
29402         * m4/d-type.m4: Likewise.
29403         * m4/fnmatch.m4: Likewise.
29404         * m4/getgroups.m4: Likewise.
29405         * m4/gettext.m4: Likewise.
29406         * m4/jm-mktime.m4: Likewise.
29407         * m4/jm-winsz2.m4: Likewise.
29408         * m4/lcmessage.m4: Likewise.
29409         * m4/ls-mntd-fs.m4: Likewise.
29410         * m4/malloc.m4: Likewise.
29411         * m4/memcmp.m4: Likewise.
29412         * m4/putenv.m4: Likewise.
29413         * m4/realloc.m4: Likewise.
29414         * m4/st_mtim.m4: Likewise.
29415         * m4/strftime.m4: Likewise.
29416
29417 1999-01-16  Jim Meyering  <meyering@ascend.com>
29418
29419         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
29420         (ARGMATCH_DIE_DECL): Define.
29421
29422 1999-01-12  Jim Meyering  <meyering@ascend.com>
29423
29424         * m4/Makefile.am.in: Rewrite to avoid using fmt.
29425         Reported by Lars Hecking.
29426
29427 1999-01-10  Jim Meyering  <meyering@ascend.com>
29428
29429         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
29430         gross kludge.
29431         * m4/inttypes_h.m4: Likewise.
29432         * m4/lstat.m4: Likewise.
29433         * m4/malloc.m4: Likewise.
29434         * m4/readdir.m4: Likewise.
29435         * m4/realloc.m4: Likewise.
29436         * m4/st_dm_mode.m4: Likewise.
29437         * m4/stat.m4: Likewise.
29438         * m4/utimbuf.m4: Likewise.
29439         * m4/utimes.m4: Likewise.
29440
29441         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
29442         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
29443         comments in config.h.in are meaningful.
29444
29445         * m4/jm-macros.m4: Require autoconf-2.13 here.
29446
29447         * m4/regex.m4: By default, don't use the included regex.c on systems
29448         with glibc 2.  Suggestion from Uli Drepper.
29449
29450 1999-01-02  Jim Meyering  <meyering@ascend.com>
29451
29452         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
29453
29454 1998-12-18  Jim Meyering  <meyering@ascend.com>
29455
29456         * m4/Makefile.am.in (Makefile.am): Simplify rule.
29457         Based on a suggestion from Lars Hecking.
29458
29459 1998-11-16  Paul Eggert  <eggert@twinsun.com>
29460
29461         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
29462
29463 1998-11-16  Jim Meyering  <meyering@ascend.com>
29464
29465         * m4/lfs.m4: Double-quote the `uname...` expression.
29466
29467 1998-11-14  Jim Meyering  <meyering@ascend.com>
29468
29469         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
29470         * m4/stat.m4: Likewise.
29471
29472 1998-11-03  Jim Meyering  <meyering@ascend.com>
29473
29474         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
29475         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
29476
29477 1998-10-18  Jim Meyering  <meyering@ascend.com>
29478
29479         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
29480
29481 1998-10-17  Jim Meyering  <meyering@ascend.com>
29482
29483         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
29484         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
29485         calls for those previously hard-coded headers.  Instead, take a new
29486         parameter.
29487         (jm_CHECK_DECLARATIONS): Reflect interface change.
29488         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
29489         (jm_CHECK_DECL_LOCALTIME_R): New macro.
29490
29491         * m4/mktime.m4: Test for spring-forward gap before long-running test.
29492
29493 1998-10-14  Jim Meyering  <meyering@ascend.com>
29494
29495         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
29496         instead of "TZ=America/Vancouver".  From Paul Eggert.
29497
29498 1998-10-11  Jim Meyering  <meyering@ascend.com>
29499
29500         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
29501         This adds a test for a recently added compatibility fix for mktime.c.
29502         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
29503
29504 1998-09-27  Jim Meyering  <meyering@ascend.com>
29505
29506         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
29507
29508         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
29509         ../configure.in, including a change from Gordon Matzigkeit to allow
29510         cross-compiling for the Hurd.
29511
29512         * m4/glibc.m4: New file/macro to test for the GNU C Library
29513         versions 1 and 2.  From Gordon Matzigkeit.
29514         Indent.
29515
29516 1998-09-21  Jim Meyering  <meyering@ascend.com>
29517
29518         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
29519
29520 1998-08-18  Paul Eggert  <eggert@twinsun.com>
29521
29522         Port nanosecond-resolution times to UnixWare 2.1.2 and
29523         pedantic Solaris 2.6.
29524
29525         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
29526         AC_STRUCT_ST_MTIM.
29527         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
29528         Generate name of ns member, instead of just 1 or undef.
29529         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
29530
29531 1998-08-15  Jim Meyering  <meyering@ascend.com>
29532
29533         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
29534         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
29535         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
29536         instead of jm_TYPE_SSIZE_T.
29537
29538 1998-08-12  Jim Meyering  <meyering@ascend.com>
29539
29540         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
29541
29542 1998-08-02  Jim Meyering  <meyering@ascend.com>
29543
29544         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
29545         in acconfig.h manually.
29546
29547 1998-07-31  Paul Eggert  <eggert@twinsun.com>
29548
29549         * m4/st_mtim.m4: New file.
29550
29551 1998-07-28  Jim Meyering  <meyering@ascend.com>
29552
29553         * m4/utimes.m4: Undef stat.
29554
29555 1998-07-25  Jim Meyering  <meyering@ascend.com>
29556
29557         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
29558         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
29559
29560 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
29561
29562         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
29563         uid and gid actually remain unchanged.
29564
29565 1998-07-07  Jim Meyering  <meyering@ascend.com>
29566
29567         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
29568
29569 1998-07-04  Jim Meyering  <meyering@ascend.com>
29570
29571         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
29572         to prove that this macro can be used in packages without regex.c.
29573
29574 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
29575
29576         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
29577         is to be used.
29578
29579 1998-07-03  Jim Meyering  <meyering@ascend.com>
29580
29581         * m4/gettext.m4: Add -lintl if it's found to be necessary.
29582
29583         * m4/gettext.m4: New file -- from gettext-0.10.35.
29584         * m4/lcmessage.m4: Likewise.
29585         * m4/progtest.m4: Likewise.
29586
29587         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
29588         * m4/jm-macros.m4: Require the new macro.
29589
29590 1998-06-29  Jim Meyering  <meyering@ascend.com>
29591
29592         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
29593         for the definition of NGROUPS (used in a system header included
29594         by sys/mount.h).
29595
29596 1998-06-28  Jim Meyering  <meyering@ascend.com>
29597
29598         * m4/ls-mntd-fs.m4: New file.
29599         * m4/fstypename.m4: New file.
29600
29601         * m4/jm-macros.m4: Require the new macro.
29602         * m4/jm-glibc-io.m4: New file.
29603
29604 1998-05-19  Jim Meyering  <meyering@ascend.com>
29605
29606         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
29607         * m4/lchown.m4: New file.
29608
29609         * m4/Makefile.am.in: New file.
29610         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
29611
29612 1998-05-14  Jim Meyering  <meyering@ascend.com>
29613
29614         * m4/Makefile.am (EXTRA_DIST): Add them.
29615         * m4/jm-macros.m4: New file.
29616         * m4/utimbuf.m4: New file.
29617
29618 1998-05-12  Jim Meyering  <meyering@ascend.com>
29619
29620         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
29621
29622 1998-05-11  Jim Meyering  <meyering@ascend.com>
29623
29624         * m4/isc-posix.m4: New file.
29625
29626 1998-05-10  Jim Meyering  <meyering@ascend.com>