Tests for module 'snprintf-posix'.
[pspp] / ChangeLog
1 2007-03-06  Bruno Haible  <bruno@clisp.org>
2
3         * modules/snprintf-posix-tests: New file.
4         * tests/test-snprintf-posix.c: New file.
5
6         * modules/snprintf-posix: New file.
7         * m4/snprintf-posix.m4: New file.
8         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
9         gl_FUNC_SNPRINTF.
10         (gl_FUNC_SNPRINTF): Invoke it.
11         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
12         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
13         is set.
14         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
15
16 2007-03-06  Bruno Haible  <bruno@clisp.org>
17
18         * modules/vsnprintf-posix-tests: New file.
19         * tests/test-vsnprintf-posix.c: New file.
20         * tests/test-snprintf-posix.h: New file.
21
22         * modules/vsnprintf-posix: New file.
23         * m4/vsnprintf-posix.m4: New file.
24         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
25         gl_FUNC_VSNPRINTF.
26         (gl_FUNC_VSNPRINTF): Invoke it.
27         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
28         * lib/stdio_.h (vsnprintf): Define as a replacement if
29         REPLACE_VSNPRINTF is set.
30         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
31
32 2007-03-06  Bruno Haible  <bruno@clisp.org>
33
34         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
35         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
36
37 2007-03-06  Bruno Haible  <bruno@clisp.org>
38
39         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
40         (asinl): Declare also if HAVE_DECL_ASINL is set.
41         (atanl): Declare also if HAVE_DECL_ATANL is set.
42         (ceill): Declare also if HAVE_DECL_CEILL is set.
43         (cosl): Declare also if HAVE_DECL_COSL is set.
44         (expl): Declare also if HAVE_DECL_EXPL is set.
45         (floorl): Declare also if HAVE_DECL_FLOORL is set.
46         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
47         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
48         (logl): Declare also if HAVE_DECL_LOGL is set.
49         (sinl): Declare also if HAVE_DECL_SINL is set.
50         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
51         (tanl): Declare also if HAVE_DECL_TANL is set.
52         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
53         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
54         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
55         declaration of frexpl, ldexpl.
56         * modules/printf-frexpl (Depends-on): Add math.
57         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
58
59 2007-03-05  Bruno Haible  <bruno@clisp.org>
60
61         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
62         frexpl and ldexpl are declared.
63         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
64
65 2007-03-05  Bruno Haible  <bruno@clisp.org>
66
67         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
68         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
69
70 2007-03-05  Bruno Haible  <bruno@clisp.org>
71
72         * lib/stdio_.h: Include <stddef.h>.
73
74 2007-03-05  Bruno Haible  <bruno@clisp.org>
75
76         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
77
78 2007-03-05  Bruno Haible  <bruno@clisp.org>
79
80         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
81         NetBSD 4, from Ralf Wildenhues.
82
83 2007-03-04  Bruno Haible  <bruno@clisp.org>
84
85         * lib/vasprintf.h: Update #if logic for the case when the functions
86         exist but are overridden.
87
88 2007-03-04  Bruno Haible  <bruno@clisp.org>
89
90         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
91         implementations: glibc-2.4 and MacOS X 10.3.
92         * tests/test-vasnprintf-posix.c (test_function): Test also the case
93         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
94         * tests/test-vasprintf-posix.c (test_function): Likewise.
95
96 2007-03-04  Bruno Haible  <bruno@clisp.org>
97
98         * modules/vasprintf-posix-tests: New file.
99         * tests/test-vasprintf-posix.c: New file.
100
101         * modules/vasprintf-posix: New file.
102         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
103         defined.
104         * m4/vasprintf-posix.m4: New file.
105         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
106         gl_FUNC_VASPRINTF.
107         (gl_FUNC_VASPRINTF): Invoke it.
108         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
109         here.
110         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
111
112 2007-03-04  Bruno Haible  <bruno@clisp.org>
113
114         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
115         REPLACE_GETTIMEOFDAY.
116         * modules/sys_time (Makefile.am): Likewise.
117         * m4/sys_time_h.m4: Likewise.
118         * m4/gettimeofday.m4: Likewise.
119
120 2007-03-04  Bruno Haible  <bruno@clisp.org>
121
122         * modules/vasnprintf-posix-tests: New file.
123         * tests/test-vasnprintf-posix.c: New file.
124
125         * modules/vasnprintf-posix: New file.
126         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
127         printf-frexpl.h.
128         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
129         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
130         REPLACE_VASNPRINTF is defined.
131         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
132         gl_FUNC_VASNPRINTF.
133         (gl_FUNC_VASNPRINTF): Invoke it.
134         * m4/vasnprintf-posix.m4: New file.
135         * m4/printf.m4: New file.
136
137 2007-03-04  Bruno Haible  <bruno@clisp.org>
138
139         Compile progreloc.c only if --enable-relocatable is specified.
140         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
141         if --enable-relocatable was specified.
142         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
143         lib_SOURCES.
144
145 2007-03-04  Jim Meyering  <jim@meyering.net>
146
147         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
148         Use it consistently, rather than enumerating errno constants.
149
150 2007-03-04  Bruno Haible  <bruno@clisp.org>
151
152         * modules/xvasprintf-tests: New file.
153         * tests/test-xvasprintf.c: New file.
154
155         * modules/vasprintf-tests: New file.
156         * tests/test-vasprintf.c: New file.
157
158         * modules/vasnprintf-tests: New file.
159         * tests/test-vasnprintf.c: New file.
160
161         * modules/vsnprintf-tests: New file.
162         * tests/test-vsnprintf.c: New file.
163
164         * modules/snprintf-tests: New file.
165         * tests/test-snprintf.c: New file.
166
167 2007-03-04  Bruno Haible  <bruno@clisp.org>
168
169         Compile relocatable.c only if --enable-relocatable is specified.
170         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
171         gl_RELOCATABLE_LIBRARY.
172         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
173         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
174         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
175         gl_RELOCATABLE_LIBRARY.
176         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
177         (Makefile.am): Remove lib_SOURCES.
178         * modules/relocatable-lib-lgpl (configure.ac): Invoke
179         gl_RELOCATABLE_LIBRARY.
180         (Makefile.am): Remove lib_SOURCES.
181         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
182         always.
183         * modules/relocatable-prog-wrapper (configure.ac): Invoke
184         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
185
186 2007-03-04  Bruno Haible  <bruno@clisp.org>
187
188         * modules/argmatch-tests: New file.
189         * tests/test-argmatch.c: New file.
190
191         * tests/test-allocsa.c (main): Halve the number of loop runs.
192
193         * modules/alloca-opt-tests: New file.
194         * tests/test-alloca-opt.c: New file.
195
196 2007-03-04  Jim Meyering  <jim@meyering.net>
197
198         Work around difference between Linux ACLs and Solaris 10 ZFS.
199         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
200         for EINVAL.
201
202 2007-03-03  Bruno Haible  <bruno@clisp.org>
203
204         * modules/relocatable-prog (Depends-on): Add back progreloc's
205         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
206
207 2007-03-03  Bruno Haible  <bruno@clisp.org>
208
209         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
210         * modules/relocatable-lib: New file.
211
212 2007-03-03  Bruno Haible  <bruno@clisp.org>
213
214         * modules/relocatable-prog: Renamed from modules/relocatable.
215         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
216
217 2007-03-03  Bruno Haible  <bruno@clisp.org>
218
219         * modules/relocatable-script (Files): Add doc/relocatable.texi,
220         m4/relocatable-lib.m4.
221         (Depends-on): Remove 'relocatable'.
222         (configure.ac): Add gl_RELOCATABLE_NOP.
223
224 2007-03-03  Bruno Haible  <bruno@clisp.org>
225
226         * modules/relocatable-prog-wrapper: New file.
227         * modules/relocatable (Depends-on): Add it. Remove all other
228         dependencies except progname.
229         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
230
231         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
232         (gl_FUNC_STRERROR): Nop.
233         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
234
235         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
236         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
237
238         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
239         (gl_FUNC_READLINK): Update.
240
241         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
242
243 2007-03-03  Bruno Haible  <bruno@clisp.org>
244
245         * lib/xreadlink.c: Include <unistd.h> unconditionally.
246         * modules/xreadlink (Depends-on): Add unistd.
247         * modules/xreadlink-with-size (Depends-on): Likewise.
248
249 2007-03-03  Bruno Haible  <bruno@clisp.org>
250
251         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
252         extracted from gt_FUNC_SETENV.
253         (gt_FUNC_SETENV): Remove macro.
254         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
255         remove gt_FUNC_SETENV.
256
257 2007-03-03  Bruno Haible  <bruno@clisp.org>
258
259         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
260         ENABLE_RELOCATABLE here.
261         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
262
263 2007-03-03  Bruno Haible  <bruno@clisp.org>
264
265         * modules/rbtreehash-list-tests (Depends-on): Add progname.
266         * tests/test-rbtreehash_list.c: Include progname.h.
267         (main): Call set_program_name.
268
269         * modules/rbtree-oset-tests (Depends-on): Add progname.
270         * tests/test-rbtree_oset.c: Include progname.h.
271         (main): Call set_program_name.
272
273         * modules/rbtree-list-tests (Depends-on): Add progname.
274         * tests/test-rbtree_list.c: Include progname.h.
275         (main): Call set_program_name.
276
277         * modules/linked-list-tests (Depends-on): Add progname.
278         * tests/test-linked_list.c: Include progname.h.
279         (main): Call set_program_name.
280
281 2007-03-03  Bruno Haible  <bruno@clisp.org>
282
283         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
284         All uses of __restrict changed to _Restrict_.
285         * lib/glob_.h (__restrict): Remove macro.
286
287 2007-03-02  Bruno Haible  <bruno@clisp.org>
288
289         * modules/gettext (configure.ac): Require gettext infrastructure
290         from version 0.16.1.
291
292 2007-03-02  Bruno Haible  <bruno@clisp.org>
293
294         * modules/linkedhash-list-tests (Depends-on): Add progname.
295         * tests/test-linkedhash_list.c: Include progname.h.
296         (main): Call set_program_name.
297
298         * modules/carray-list-tests (Depends-on): Add progname.
299         * tests/test-carray_list.c: Include progname.h.
300         (main): Call set_program_name.
301
302         * modules/avltreehash-list-tests (Depends-on): Add progname.
303         * tests/test-avltreehash_list.c: Include progname.h.
304         (main): Call set_program_name.
305
306         * modules/avltree-oset-tests (Depends-on): Add progname.
307         * tests/test-avltree_oset.c: Include progname.h.
308         (main): Call set_program_name.
309
310         * modules/avltree-list-tests (Depends-on): Add progname.
311         * tests/test-avltree_list.c: Include progname.h.
312         (main): Call set_program_name.
313
314         * modules/array-oset-tests (Depends-on): Add progname.
315         * tests/test-array_oset.c: Include progname.h.
316         (main): Call set_program_name.
317
318         * modules/array-list-tests (Depends-on): Add progname.
319         * tests/test-array_list.c: Include progname.h.
320         (main): Call set_program_name.
321
322         * modules/argp-tests (Depends-on): Add progname.
323         * tests/test-argp.c: Include argp.h first. Include progname.h.
324         (main): Call set_program_name.
325
326 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
327
328         * doc/gnulib-tool.texi (Initial import): Reword description of
329         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
330         limited effect even if defined after the first system include.
331
332 2007-03-01  Bruno Haible  <bruno@clisp.org>
333
334         * build-aux/config.libpath: Update to libtool-1.5.22.
335         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
336
337 2007-03-01  Bruno Haible  <bruno@clisp.org>
338
339         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
340         foo_CFLAGS.
341         Reported by Ralf Wildenhues.
342
343 2007-03-01  Bruno Haible  <bruno@clisp.org>
344
345         * build-aux/install-reloc: Remove object files left over by some
346         compilers.
347         Reported by Ralf Wildenhues.
348
349 2007-03-01  Bruno Haible  <bruno@clisp.org>
350
351         * build-aux/install-reloc: Break long lines.
352
353 2007-03-01  Bruno Haible  <bruno@clisp.org>
354
355         * doc/relocatable.texi: Document that it may not work on OpenBSD.
356         Reported by Ralf Wildenhues.
357
358 2007-03-01  Bruno Haible  <bruno@clisp.org>
359
360         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
361         include ordering constraints.
362
363 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
364
365         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
366         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
367         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
368         as another example.
369         * lib/time_.h: Fix misspelling.
370         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
371         Require gl_HEADER_TIME_H_DEFAULTS.
372         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
373         * m4/time_r.m4 (gl_TIME_R): Likewise.
374         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
375
376 2007-03-01  Bruno Haible  <bruno@clisp.org>
377
378         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
379         * m4/utimens.m4 (gl_UTIMENS): Likewise.
380
381 2007-03-01  Jim Meyering  <jim@meyering.net>
382
383         * modules/xreadlink (Maintainer): Add my name.
384         * modules/xreadlink-with-size (Depends-on): Alphabetize.
385
386 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
387             Bruno Haible  <bruno@clisp.org>
388
389         * build-aux/install-reloc: Compile also c-ctype.c.
390         * build-aux/relocatable.sh.in: New file.
391         * doc/relocatable.texi: New file.
392         * doc/relocatable-maint.texi: New file.
393         * doc/gnulib.texi: Include relocatable-maint.texi.
394         * lib/progreloc.c: Include unistd.h unconditionally.
395         * lib/relocwrapper.c: Include unistd.h unconditionally.
396         Include c-ctype.h.
397         (add_dotbin): Use c_tolower.
398         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
399         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
400         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
401         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
402         to m4/relocatable-lib.m4.
403         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
404         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
405         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
406         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
407         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
408         * modules/relocatable: New file.
409         * modules/relocatable-lib: New file.
410         * modules/relocatable-script: New file.
411
412 2007-02-28  Bruno Haible  <bruno@clisp.org>
413
414         Import --enable-relocatable infrastructure.
415         * build-aux/config.libpath: New file, from GNU gettext.
416         * build-aux/install-reloc: New file, from GNU gettext.
417         * build-aux/reloc-ldflags: New file, from GNU gettext.
418         * lib/relocatable.h: New file, from GNU gettext.
419         * lib/relocatable.c: New file, from GNU gettext.
420         * lib/relocwrapper.c: New file, from GNU gettext.
421         * m4/relocatable.m4: New file, from GNU gettext.
422
423 2007-02-28  Bruno Haible  <bruno@clisp.org>
424
425         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
426
427         * modules/xreadlink: New file, from GNU gettext with modifications.
428         * lib/xreadlink.c: New file, from GNU gettext.
429         * lib/xreadlink.h: Add comments.
430         (xreadlink): New declaration.
431
432         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
433         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
434         lib/xreadlink-with-size.c.
435         (configure.ac): Remove gl_XREADLINK invocation.
436         (Makefile.am): Augment lib_SOURCES.
437         * m4/xreadlink.m4: Remove file.
438         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
439         (xreadlink_with_size): Renamed from xreadink.
440         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
441         * modules/canonicalize (Depends-on): Replace xreadlink with
442         xreadlink-with-size.
443         * lib/canonicalize.c (canonicalize_filename_mode): Update.
444
445 2007-02-25  Jim Meyering  <jim@meyering.net>
446
447         * build-aux/announce-gen: When complaining about excess arguments,
448         list them.
449
450 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
451
452         * README: Document signed integer overflow situation more
453         accurately.
454
455 2007-02-25  Bruno Haible  <bruno@clisp.org>
456
457         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
458         'a' or 'A' conversion.
459
460 2007-02-25  Bruno Haible  <bruno@clisp.org>
461
462         * modules/filename: Renamed from modules/pathname.
463         (Files): Replace lib/pathname.h with lib/filename.h. Replace
464         lib/concatpath.c with lib/concat-filename.c.
465         (Makefile.am): Update.
466         (Include): Replace pathname.h with filename.h.
467         * lib/filename.h: Renamed from lib/pathname.h.
468         (concatenated_filename): Renamed from concatenated_pathname.
469         * lib/concat-filename.c: Renamed from lib/concatpath.c.
470         (concatenated_filename): Renamed from concatenated_pathname.
471         * lib/findprog.c: Include filename.h instead of pathname.h.
472         (find_in_path): Update.
473         * lib/javacomp.c: Include filename.h instead of pathname.h.
474         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
475         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
476         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
477         is_oldgcj_14_13_usable, is_javac_usable): Update.
478         * lib/javaexec.c: Include filename.h instead of pathname.h.
479         (execute_java_class): Update.
480         * modules/findprog: Update.
481         * modules/javacomp: Update.
482         * modules/javaexec: Update.
483         * MODULES.html.sh (File system functions): Add 'filename', remove
484         'pathname'.
485
486 2007-02-25  Bruno Haible  <bruno@clisp.org>
487
488         * modules/printf-frexpl-tests: New file.
489         * tests/test-printf-frexpl.c: New file.
490
491         * modules/printf-frexpl: New file.
492         * lib/printf-frexpl.h: New file.
493         * lib/printf-frexpl.c: New file.
494         * m4/printf-frexpl.m4: New file.
495
496 2007-02-25  Bruno Haible  <bruno@clisp.org>
497
498         * modules/printf-frexp-tests: New file.
499         * tests/test-printf-frexp.c: New file.
500
501         * modules/printf-frexp: New file.
502         * lib/printf-frexp.h: New file.
503         * lib/printf-frexp.c: New file.
504         * m4/printf-frexp.m4: New file.
505
506 2007-02-25  Bruno Haible  <bruno@clisp.org>
507
508         Assume automake >= 1.10 for the tests.
509         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
510         * modules/arctwo-tests: Likewise.
511         * modules/argp-tests: Likewise.
512         * modules/avltree-list-tests: Likewise.
513         * modules/avltree-oset-tests: Likewise.
514         * modules/avltreehash-list-tests: Likewise.
515         * modules/carray-list-tests: Likewise.
516         * modules/crc-tests: Likewise.
517         * modules/des-tests: Likewise.
518         * modules/gc-arcfour-tests: Likewise.
519         * modules/gc-arctwo-tests: Likewise.
520         * modules/gc-des-tests: Likewise.
521         * modules/gc-hmac-md5-tests: Likewise.
522         * modules/gc-hmac-sha1-tests: Likewise.
523         * modules/gc-md2-tests: Likewise.
524         * modules/gc-md4-tests: Likewise.
525         * modules/gc-md5-tests: Likewise.
526         * modules/gc-pbkdf2-sha1-tests: Likewise.
527         * modules/gc-rijndael-tests: Likewise.
528         * modules/gc-sha1-tests: Likewise.
529         * modules/gc-tests: Likewise.
530         * modules/getaddrinfo-tests: Likewise.
531         * modules/hmac-md5-tests: Likewise.
532         * modules/hmac-sha1-tests: Likewise.
533         * modules/linked-list-tests: Likewise.
534         * modules/linkedhash-list-tests: Likewise.
535         * modules/lock-tests: Likewise.
536         * modules/md2-tests: Likewise.
537         * modules/md4-tests: Likewise.
538         * modules/md5-tests: Likewise.
539         * modules/rbtree-list-tests: Likewise.
540         * modules/rbtree-oset-tests: Likewise.
541         * modules/rbtreehash-list-tests: Likewise.
542         * modules/read-file-tests: Likewise.
543         * modules/rijndael-tests: Likewise.
544         * modules/stdint-tests: Likewise.
545         * modules/tls-tests: Likewise.
546
547 2007-02-24  Bruno Haible  <bruno@clisp.org>
548
549         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
550         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
551         function; instead check whether isnan with a double argument links.
552         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
553         function; instead check whether isnan with a 'long double' argument
554         links.
555         Reported by Eric Blake <ebb9@byu.net>.
556
557 2007-02-24  Bruno Haible  <bruno@clisp.org>
558
559         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
560         defined.
561         * lib/isnanl.c: Remove all code. Just include isnan.c.
562         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
563
564 2007-02-25  Jim Meyering  <jim@meyering.net>
565
566         Avoid conflicting types for 'unsetenv' on FreeBSD.
567         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
568         conflicting with FreeBSD's (5.0 and 6.1) function declaration
569         in stdlib.h.
570
571 2007-02-24  Bruno Haible  <bruno@clisp.org>
572
573         * modules/isnanl-nolibm-tests: New file.
574         * tests/test-isnanl.c: New file.
575
576         * modules/isnanl-nolibm: New file.
577         * lib/isnanl.h: New file.
578         * lib/isnanl.c: New file.
579         * m4/isnanl.m4: New file.
580
581 2007-02-24  Bruno Haible  <bruno@clisp.org>
582
583         * modules/isnan-nolibm-tests: New file.
584         * tests/test-isnan.c: New file.
585
586         * modules/isnan-nolibm: New file.
587         * lib/isnan.h: New file.
588         * lib/isnan.c: New file.
589         * m4/isnan.m4: New file.
590
591 2007-02-24  Bruno Haible  <bruno@clisp.org>
592
593         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
594         assume that an exponent fits in 20 bits.
595
596 2007-02-24  Jim Meyering  <jim@meyering.net>
597
598         * m4/regex.m4: Update the description of the configure-time option,
599         --without-included-regex, to state accurately what the defaults are,
600         and perhaps to give people an idea why using this option is risky.
601
602 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
603
604         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
605         loops on small arguments.  This attempts to avoid the problem
606         Bruno Haible reported for AIX 4.3.2 in
607         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
608
609 2007-02-23  Bruno Haible  <bruno@clisp.org>
610
611         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
612         Needed for help2man.
613
614 2007-02-23  Karl Berry  <karl@gnu.org>
615
616         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
617         exists, foo.h should be cvs-ignored, not committed.
618
619 2007-02-23  Eric Blake  <ebb9@byu.net>
620
621         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
622         * lib/stat-time.h (includes): Likewise.
623         * lib/utimecmp.c (includes): Likewise.
624         * lib/utimens.h (includes): Likewise.
625         * lib/getdate.y (includes): Also include "timespec.h" for use
626         internal to the module.
627         * modules/utimens (Depends-on): Revert yesterday's patch.
628         * modules/nanosleep (Depends-on): Add missing dependency.
629
630 2007-02-22  Bruno Haible  <bruno@clisp.org>
631
632         * lib/glob.c: Don't include getlogin_r.h.
633
634 2007-02-22  Jim Meyering  <jim@meyering.net>
635
636         * modules/utimens (Depends-on): Add timespec, required for
637         utimens.h's inclusion of timespec.h.
638
639 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
640
641         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
642         long unreadable paths in GNU/Linux.  Problem reported by Andreas
643         Schwab in
644         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
645         I'll try to think of a better way to fix the Solaris problem.
646
647         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
648         like glibc; on Solaris 10, it fails with errno == EINVAL.
649         POSIX says the behavior is unspecified if the first argument is NULL,
650         so play it safe and never pass NULL to the system getcwd.
651
652 2007-02-21  Jim Meyering  <jim@meyering.net>
653
654         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
655         of gettimeofday.  It would conflict with the one now always
656         provided via sys_time_.h.  Reported by Matthew Woehlke, as
657         an IRIX 6.5 build failure.
658
659 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
660
661         Minor fixups to port to Solaris 10 with Sun C 5.8.
662         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
663         * modules/getcwd (Depends-on): Add dirfd.
664         * lib/putenv.c (putenv): #undef it.
665         (rpl_putenv): New decl.
666         (malloc, free): Include <stdlib.h> rather than prototyping separately.
667
668 2007-02-20  Bruno Haible  <bruno@clisp.org>
669
670         * modules/stdio-tests: New file.
671         * tests/test-stdio.c: New file.
672
673         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
674         (Depends-on): Add stdio.
675         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
676         (Include): Use <stdio.h> instead of vsnprintf.h.
677         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
678         HAVE_DECL_VSNPRINTF.
679         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
680
681         * modules/snprintf (Files): Remove lib/snprintf.h.
682         (Depends-on): Add stdio.
683         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
684         (Include): Use <stdio.h> instead of snprintf.h.
685         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
686         HAVE_DECL_SNPRINTF.
687         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
688         * lib/getaddrinfo.c: Likewise.
689
690         * modules/stdio: New file.
691         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
692         * lib/snprintf.h: Remove file.
693         * lib/vsnprintf.h: Remove file.
694         * lib/.cppi-disable: Remove snprintf.h.
695         * m4/stdio_h.m4: New file.
696         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
697
698 2007-02-20  Jim Meyering  <jim@meyering.net>
699
700         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
701         used by e.g., mingw.  From Bruno Haible.
702
703 2007-02-19  Bruno Haible  <bruno@clisp.org>
704
705         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
706         warnings.
707         Reported by Ben Pfaff <blp@cs.stanford.edu>.
708
709 2007-02-19  Bruno Haible  <bruno@clisp.org>
710
711         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
712         from mingw users.
713
714 2007-02-19  Bruno Haible  <bruno@clisp.org>
715
716         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
717         warnings.
718         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
719
720 2007-02-19  Jim Meyering  <jim@meyering.net>
721
722         Don't use FD after a successful "fdopendir (fd)".
723         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
724         Reset it by calling dirfd on the just-obtained DIR*.
725
726         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
727         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
728
729 2007-02-18  Bruno Haible  <bruno@clisp.org>
730
731         * lib/readlink.c: Include <unistd.h>.
732         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
733         HAVE_READLINK.
734         * modules/readlink (Depends-on): Add unistd.
735         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
736         (Include): Add <unistd.h>.
737
738         * lib/getlogin_r.h: Remove file.
739         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
740         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
741         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
742         HAVE_DECL_GETLOGIN_R.
743         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
744         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
745         (Include): Use <unistd.h> instead of getlogin_r.h.
746
747         * lib/getcwd.h: Remove file.
748         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
749         * lib/xgetcwd.c: Likewise.
750         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
751         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
752         * modules/getcwd (Files): Remove lib/getcwd.h.
753         (Depends-on): Add unistd.
754         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
755         (Include): Use <unistd.h> instad of getcwd.h.
756
757         * lib/ftruncate.c: Include <unistd.h> first.
758         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
759         Set HAVE_FTRUNCATE.
760         * modules/ftruncate (Depends-on): Add unistd.
761         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
762
763         * lib/fchdir.c: Include <unistd.h> first.
764         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
765         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
766         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
767         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
768         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
769
770         * lib/dup2.c: Include <unistd.h> first.
771         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
772         HAVE_DUP2.
773         * modules/dup2 (Depends-on): Add unistd.
774         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
775
776         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
777         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
778         REPLACE_CHOWN. Don't define chown as a macro here.
779         * modules/chown (Depends-on): Add unistd.
780         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
781
782         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
783         Add definition for GL_LINK_WARNING.
784         (chown, dup2): New declarations.
785         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
786         link warning.
787         (ftruncate): New declaration.
788         (getcwd): New declaration, taken from old getcwd.h.
789         (getlogin_r): New declaration, taken from old getlogin_r.h.
790         (readlink): New declaration.
791         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
792         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
793         (gl_PREREQ_UNISTD): Remove macro.
794         (gl_UNISTD_MODULE_INDICATOR): New macro.
795         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
796         many new variables. Don't set UNISTD_H.
797         * modules/unistd (Description): Change.
798         (Depends-on): Add link-warning.
799         (configure.ac): Update.
800         (Makefile.am): Create unistd.h always. Substitute many new variables
801         into it.
802
803 2007-02-18  Bruno Haible  <bruno@clisp.org>
804
805         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
806         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
807         HAVE_GETSUBOPT.
808         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
809         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
810         * lib/getsubopt.h: Remove file.
811         * modules/getsubopt (Files): Remove lib/getsubopt.h.
812         (Depends-on): Add stdlib.
813         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
814         (Includes): Use <stdlib.h> instead of getsubopt.h.
815         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
816         Set HAVE_GETSUBOPT.
817         * lib/getsubopt.c: Don't include getsubopt.h.
818
819 2007-02-18  Bruno Haible  <bruno@clisp.org>
820
821         * modules/fchdir (Depends-on): Add dup2.
822
823 2007-02-18  Bruno Haible  <bruno@clisp.org>
824
825         * lib/stdlib_.h: Handle glibc's special invocation convention
826         specially.
827
828 2007-02-18  Bruno Haible  <bruno@clisp.org>
829
830         * modules/stdlib-tests: New file.
831         * tests/test-stdlib.c: New file.
832
833         * modules/mkstemp (Files): Remove lib/mkstemp.h.
834         (Depends-on): Add stdlib.
835         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
836         (Includes): Use <stdlib.h> instead of mkstemp.h.
837         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
838         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
839         * lib/mkstemp.c: Don't include mkstemp.h.
840         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
841         * lib/stdlib--.h: Don't include mkstemp.h.
842
843         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
844         (Depends-on): Add stdlib.
845         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
846         (Includes): Use <stdlib.h> instead of mkdtemp.h.
847         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
848         HAVE_MKDTEMP.
849         * lib/mkdtemp.c: Don't include mkdtemp.h.
850         * lib/clean-temp.c: Don't include mkdtemp.h.
851
852         * modules/exit (Files): Remove lib/exit.h.
853         (Depends-on): Add stdlib.
854         (Makefile.am): Remove lib_SOURCES.
855         (Include): Use <stdlib.h> instead of exit.h.
856         * lib/argmatch.c: Don't include exit.h.
857         * lib/execute.c: Likewise.
858         * lib/pagealign_alloc.c: Likewise.
859         * lib/pipe.c: Likewise.
860         * lib/wait-process.c: Likewise.
861         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
862         * lib/exitfail.c: Likewise.
863         * lib/savewd.c: Likewise.
864         * lib/xsetenv.c: Likewise.
865
866         * modules/stdlib: New file.
867         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
868         and extra comments about mkstemp().
869         * lib/exit.h: Remove file.
870         * lib/mkdtemp.h: Remove file.
871         * lib/mkstemp.h: Remove file.
872         * m4/stdlib_h.m4: New file.
873         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
874
875 2007-02-18  Bruno Haible  <bruno@clisp.org>
876
877         * modules/math-tests: New file.
878         * tests/test-math.c: New file.
879
880         * modules/math: New file.
881         * modules/mathl (Files): Remove lib/mathl.h.
882         (Depends-on): Add math.
883         (Makefile.am): Don't mention mathl.h.
884         (Include): Use <math.h> instead of mathl.h.
885         * lib/math_.h: New file.
886         * lib/mathl.h: Remove file.
887         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
888         mathl.h.
889         * lib/asinl.c: Likewise.
890         * lib/atanl.c: Likewise.
891         * lib/ceill.c: Likewise.
892         * lib/cosl.c: Likewise.
893         * lib/expl.c: Likewise.
894         * lib/floorl.c: Likewise.
895         * lib/frexpl.c: Likewise.
896         * lib/ldexpl.c: Likewise.
897         * lib/logl.c: Likewise.
898         * lib/sincosl.c: Likewise.
899         * lib/sinl.c: Likewise.
900         * lib/sqrtl.c: Likewise.
901         * lib/tanl.c: Likewise.
902         * lib/trigl.c: Likewise.
903         * m4/math_h.m4: New file.
904         * MODULES.html.sh (Mathematics): Add math.
905
906 2007-02-17  Bruno Haible  <bruno@clisp.org>
907
908         * modules/wctype-tests: New file.
909         * tests/test-wctype.c: New file.
910
911         * modules/wchar-tests: New file.
912         * tests/test-wchar.c: New file.
913
914         * modules/unistd-tests: New file.
915         * tests/test-unistd.c: New file.
916
917         * modules/time-tests: New file.
918         * tests/test-time.c: New file.
919
920         * modules/sysexits-tests: New file.
921         * tests/test-sysexits.c: New file.
922
923         * modules/sys_time-tests: New file.
924         * tests/test-sys_time.c: New file.
925
926         * modules/sys_stat-tests: New file.
927         * tests/test-sys_stat.c: New file.
928
929         * modules/sys_socket-tests: New file.
930         * tests/test-sys_socket.c: New file.
931
932         * modules/sys_select-tests: New file.
933         * tests/test-sys_select.c: New file.
934
935         * modules/string-tests: New file.
936         * tests/test-string.c: New file.
937
938         * modules/stdbool-tests: New file.
939         * tests/test-stdbool.c: New file.
940
941         * modules/netinet_in-tests: New file.
942         * tests/test-netinet_in.c: New file.
943
944         * modules/inttypes-tests: New file.
945         * tests/test-inttypes.c: New file.
946
947         * modules/fcntl-tests: New file.
948         * tests/test-fcntl.c: New file.
949
950         * modules/byteswap-tests: New file.
951         * tests/test-byteswap.c: New file.
952
953         * modules/arpa_inet-tests: New file.
954         * tests/test-arpa_inet.c: New file.
955
956 2007-02-17  Bruno Haible  <bruno@clisp.org>
957
958         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
959         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
960         if the corresponding module is not enabled. Emit link warnings if
961         the function is used nevertheless.
962         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
963         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
964         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
965         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
966         * modules/inttypes (Depends-on): Add link-warning.
967         (Makefile.am): Copy the contents of build-aux/link-warning.h into
968         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
969         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
970         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
971         * modules/imaxdiv (configure.ac): Likewise.
972         * modules/strtoimax (configure.ac): Likewise.
973         * modules/strtoumax (configure.ac): Likewise.
974
975 2007-02-17  Bruno Haible  <bruno@clisp.org>
976
977         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
978         gl_STRING_MODULE_INDICATOR_DEFAULTS.
979         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
980         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
981
982 2007-02-17  Bruno Haible  <bruno@clisp.org>
983
984         * modules/link-warning: New file.
985         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
986         * lib/string_.h (GL_LINK_WARNING): Remove definition.
987         * modules/string (Depends-on): Add link-warning.
988         (Makefile.am): Copy the contents of build-aux/link-warning.h into
989         string.h.
990         * MODULES.html.sh (Support for building libraries and executables): Add
991         link-warning.
992
993 2007-02-17  Bruno Haible  <bruno@clisp.org>
994
995         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
996         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
997         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
998         long lines.
999
1000 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
1001             Bruno Haible  <bruno@clisp.org>
1002
1003         * modules/tmpfile: New file.
1004         * lib/tmpfile.c: New file.
1005         * m4/tmpfile.m4: New file.
1006         * MODULES.html.sh (func_all_modules): New section "Input/output".
1007
1008 2007-02-15  Bruno Haible  <bruno@clisp.org>
1009
1010         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
1011         (supports_delete_on_close): New function.
1012         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
1013
1014 2007-02-14  Bruno Haible  <bruno@clisp.org>
1015
1016         * modules/mbspcasecmp-tests: New file.
1017         * tests/test-mbspcasecmp.sh: New file.
1018         * tests/test-mbspcasecmp.c: New file.
1019
1020         New module mbspcasecmp.
1021         * modules/mbspcasecmp: New file.
1022         * lib/mbspcasecmp.c: New file.
1023         * lib/string_.h (strncasecmp): Change warning message.
1024         (mbspcasecmp): New declaration.
1025         * m4/mbspcasecmp.m4: New file.
1026         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1027         GNULIB_MBSPCASECMP.
1028         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
1029         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
1030
1031 2007-02-14  Bruno Haible  <bruno@clisp.org>
1032
1033         * modules/mbsncasecmp-tests: New file.
1034         * tests/test-mbsncasecmp.sh: New file.
1035         * tests/test-mbsncasecmp.c: New file.
1036
1037         New module mbsncasecmp.
1038         * modules/mbsncasecmp: New file.
1039         * lib/mbsncasecmp.c: New file.
1040         * lib/string_.h (mbsncasecmp): New declaration.
1041         * m4/mbsncasecmp.m4: New file.
1042         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1043         GNULIB_MBSNCASECMP.
1044         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
1045         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
1046
1047 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
1048
1049         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
1050         Verify that it doesn't overlap with our flags.
1051         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
1052         do not have the desired effect in multibyte locales; instead, use
1053         mbscasecmp.
1054         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
1055         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
1056         we don't require GNU fnmatch ourselves (if our users require it, they
1057         should do so explicitly).
1058
1059         Fix regex code so it doesn't rely on strcasecmp.
1060         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
1061         Otherwise, include gnulib's langinfo.h.
1062         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
1063         undesirable behavior in non-C locales.  Instead, rely on localecharset.
1064         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
1065         * modules/regex (FILES): Remove m4/codeset.m4.
1066         (Depends-on): Add localcharset.  Remove strcase.
1067
1068 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1069
1070         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
1071         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
1072
1073 2007-02-13  Bruno Haible  <bruno@clisp.org>
1074
1075         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
1076         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1077
1078 2007-02-12  Bruno Haible  <bruno@clisp.org>
1079
1080         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
1081         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
1082         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
1083         time warning rather than a link error.
1084
1085 2007-02-12  Bruno Haible  <bruno@clisp.org>
1086
1087         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
1088         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
1089         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1090
1091 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1092
1093         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
1094         args, not 2.
1095
1096 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1097
1098         New module 'time', so that apps can include <time.h> as per
1099         POSIX and GNU instead of separate include files like time_r.h
1100         and timegm.h.  This implementation tries out a simpler approach
1101         for replacing decls in standard include files (as compared to
1102         the string module), somewhat as an experiment.
1103
1104         * config/srclist.txt: Comment out mktime.c for now.
1105         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
1106         since it doesn't apply any more.  Use generic wording instead.
1107         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
1108         'time'.
1109         * lib/time_.h, m4/time_h.m4, modules/time: New files.
1110         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
1111         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
1112         Don't include <sys/types.h>; no longer needed since we assume C89.
1113         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
1114         * lib/strftime.c: Likewise.
1115         * lib/time_r.c: Likewise.
1116         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
1117         * lib/nanosleep.c: Include <time.h> first, to check interface.
1118         * lib/strptime.c: Likewise.
1119         * lib/time_r.c: Likewise.
1120         * lib/timegm.c: Likewise.
1121         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
1122         needed.
1123         * lib/timegm.c: Don't include timegm.h; no longer needed.
1124         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
1125         time.h now handles any problems in that area.
1126         (struct timespec, nanosleep): Remove; time.h now arranges for these.
1127         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
1128         that time.h defines struct timespec.
1129         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
1130         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
1131         handles that.
1132         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
1133         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
1134         needed.  Set REPLACE_LOCALTIME.
1135         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
1136         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
1137         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
1138         nanosleep; time_h.m4 now does that.  Don't require
1139         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
1140         module handles this now.
1141         * modules/getdate (Depends-on): Remove timespec.  Add time.
1142         * modules/nanosleep (Depends-on): Likewise.
1143         * modules/stat-time (Depends-on): Likewise.
1144         * modules/nanosleep (Include): Include time.h, not timespec.h.
1145         * modules/strptime (Files): Remove lib/strptime.h.
1146         (Depends-on): Add extensions, time.
1147         (Include): Include time.h, not strptime.h.
1148         * modules/time_r (Files): Remove lib/time_r.h.
1149         (Depends-on): Add time.
1150         (Include): Include time.h, not time_r.h.
1151         * modules/timegm: Likewise.
1152         * modules/timespec (Description): Now does timespec-related decls
1153         of our own, instead of struct timespec itself.
1154         (Depends-on): Add time; remove extensions.
1155         (Maintainer): Add self.
1156         * modules/utimecmp (Depends-on): Add time; remove timespec.
1157         * modules/utimens (Depends-on): Likewise.
1158         * modules/xnanosleep (Depends-on): Likewise.
1159
1160 2007-02-11  Bruno Haible  <bruno@clisp.org>
1161
1162         * lib/c-strstr.c: Include allocsa.h.
1163         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1164         * lib/c-strcasestr.c: Include allocsa.h.
1165         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1166         * lib/strcasestr.c: Include allocsa.h.
1167         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1168         * lib/mbsstr.c: Include allocsa.h.
1169         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
1170         allocsa/freesa instead of malloc/free.
1171         * lib/mbscasestr.c: Include allocsa.h.
1172         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
1173         allocsa/freesa instead of malloc/free.
1174         * modules/c-strstr (Depends-on): Add allocsa.
1175         * modules/c-strcasestr (Depends-on): Likewise.
1176         * modules/strcasestr (Depends-on): Likewise.
1177         * modules/mbsstr (Depends-on): Likewise.
1178         * modules/mbscasestr (Depends-on): Likewise.
1179
1180 2007-02-11  Bruno Haible  <bruno@clisp.org>
1181
1182         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
1183
1184         * modules/mbsspn-tests: New file.
1185         * tests/test-mbsspn.sh: New file.
1186         * tests/test-mbsspn.c: New file.
1187
1188 2007-02-11  Bruno Haible  <bruno@clisp.org>
1189
1190         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
1191
1192         * modules/mbspbrk-tests: New file.
1193         * tests/test-mbspbrk.sh: New file.
1194         * tests/test-mbspbrk.c: New file.
1195
1196 2007-02-11  Bruno Haible  <bruno@clisp.org>
1197
1198         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
1199         unneeded cast.
1200
1201         * modules/mbscspn-tests: New file.
1202         * tests/test-mbscspn.sh: New file.
1203         * tests/test-mbscspn.c: New file.
1204
1205 2007-02-11  Bruno Haible  <bruno@clisp.org>
1206
1207         * modules/mbscasecmp-tests: New file.
1208         * tests/test-mbscasecmp.sh: New file.
1209         * tests/test-mbscasecmp.c: New file.
1210
1211 2007-02-11  Bruno Haible  <bruno@clisp.org>
1212
1213         Ensure O(n) worst-case complexity of mbscasestr.
1214         * lib/mbscasestr.c: Include stdbool.h.
1215         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
1216         functions.
1217         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
1218         the bookkeeping indicates that it's worth it.
1219         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
1220
1221         * modules/mbscasestr-tests: New file.
1222         * tests/test-mbscasestr1.c: New file.
1223         * tests/test-mbscasestr2.sh: New file.
1224         * tests/test-mbscasestr2.c: New file.
1225         * tests/test-mbscasestr3.sh: New file.
1226         * tests/test-mbscasestr3.c: New file.
1227         * tests/test-mbscasestr4.sh: New file.
1228         * tests/test-mbscasestr4.c: New file.
1229         * m4/locale-tr.m4: New file.
1230
1231 2007-02-11  Bruno Haible  <bruno@clisp.org>
1232
1233         Ensure O(n) worst-case complexity of mbsstr.
1234         * lib/mbsstr.c: Include stdbool.h.
1235         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
1236         functions.
1237         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
1238         bookkeeping indicates that it's worth it.
1239         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
1240
1241         * modules/mbsstr-tests: New file.
1242         * tests/test-mbsstr1.c: New file.
1243         * tests/test-mbsstr2.sh: New file.
1244         * tests/test-mbsstr2.c: New file.
1245         * tests/test-mbsstr3.sh: New file.
1246         * tests/test-mbsstr3.c: New file.
1247         * m4/locale-fr.m4: New file.
1248
1249 2007-02-11  Bruno Haible  <bruno@clisp.org>
1250
1251         * lib/mbsrchr.c (mbsrchr): Fix bug.
1252
1253         * modules/mbsrchr-tests: New file.
1254         * tests/test-mbsrchr.sh: New file.
1255         * tests/test-mbsrchr.c: New file.
1256
1257 2007-02-11  Bruno Haible  <bruno@clisp.org>
1258
1259         * lib/mbschr.c (mbschr): Fix bug.
1260
1261         * modules/mbschr-tests: New file.
1262         * tests/test-mbschr.sh: New file.
1263         * tests/test-mbschr.c: New file.
1264         * m4/locale-zh.m4: New file.
1265
1266 2007-02-11  Bruno Haible  <bruno@clisp.org>
1267
1268         Support for copying multibyte string iterators.
1269         * lib/mbiter.h: Include <string.h>.
1270         (mbiter_multi_copy): New function.
1271         (mbi_copy): New macro.
1272         * lib/mbuiter.h: Include <string.h>.
1273         (mbuiter_multi_copy): New function.
1274         (mbui_copy): New macro.
1275
1276 2007-02-11  Bruno Haible  <bruno@clisp.org>
1277
1278         New module mbslen.
1279         * modules/mbslen: New file.
1280         * lib/mbslen.c: New file.
1281         * lib/string_.h (mbslen): New declaration.
1282         * m4/mbslen.m4: New file.
1283         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1284         GNULIB_MBSLEN.
1285         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
1286         * MODULES.html.sh (Internationalization functions): Add mbslen.
1287
1288 2007-02-11  Bruno Haible  <bruno@clisp.org>
1289
1290         Ensure O(n) worst-case complexity of strcasestr substitute.
1291         * lib/strcasestr.c: Include stdbool.h.
1292         (knuth_morris_pratt): New function.
1293         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
1294         bookkeeping indicates that it's worth it.
1295         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
1296
1297         * modules/strcasestr-tests: New file.
1298         * tests/test-strcasestr.c: New file.
1299
1300 2007-02-11  Bruno Haible  <bruno@clisp.org>
1301
1302         Ensure O(n) worst-case complexity of c_strcasestr.
1303         * lib/c-strcasestr.c: Include stdbool.h, string.h.
1304         (knuth_morris_pratt): New function.
1305         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
1306         the bookkeeping indicates that it's worth it.
1307         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
1308
1309         * modules/c-strcasestr-tests: New file.
1310         * tests/test-c-strcasestr.c: New file.
1311
1312 2007-02-11  Bruno Haible  <bruno@clisp.org>
1313
1314         Ensure O(n) worst-case complexity of c_strstr.
1315         * lib/c-strstr.c: Include stdbool.h, string.h.
1316         (knuth_morris_pratt): New function.
1317         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
1318         bookkeeping indicates that it's worth it.
1319         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
1320
1321         * lib/c-strstr.c: Complete rewrite for maintainability.
1322
1323         * modules/c-strstr-tests: New file.
1324         * tests/test-c-strstr.c: New file.
1325
1326 2007-02-11  Bruno Haible  <bruno@clisp.org>
1327
1328         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
1329         5.2.1 and earlier, whereby \055 was treated just like the range
1330         delimiter '-'.
1331         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
1332
1333 2007-02-08  Bruno Haible  <bruno@clisp.org>
1334
1335         * modules/regex (Depends-on): Add stdbool.
1336         Reported by Dalibor Topic <robilad@kaffe.org>.
1337
1338 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
1339
1340         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
1341         Prefer returning from main to exiting from it.
1342         Remove unnecessary parens after sizeof.
1343
1344 2007-02-05  Bruno Haible  <bruno@clisp.org>
1345
1346         New module mbssep.
1347         * modules/mbssep: New file.
1348         * lib/mbssep.c: New file.
1349         * lib/string_.h (strsep): Add a conditional link warning.
1350         (mbssep): New declaration.
1351         * m4/mbssep.m4: New file.
1352         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1353         GNULIB_MBSSEP.
1354         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
1355         * MODULES.html.sh (Internationalization functions): Add mbssep.
1356
1357 2007-02-05  Bruno Haible  <bruno@clisp.org>
1358
1359         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
1360         Optimize search in case of 1 delimiter.
1361
1362 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1363
1364         * lib/acl.h: Include sys/types.h before sys/acl.h.
1365
1366 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1367
1368         Merge upstream fix for glibc bugzilla #3957:
1369
1370         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
1371
1372         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
1373         bit for RE_HAT_LISTS_NOT_NEWLINE.
1374         (build_charclass_op): Remove bogus comment.
1375
1376 2007-02-05  Simon Josefsson  <simon@josefsson.org>
1377
1378         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
1379
1380 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1381
1382         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
1383         * lib/memmem.c [!defined _LIBC]: Include config.h.
1384
1385 2007-02-04  Bruno Haible  <bruno@clisp.org>
1386
1387         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
1388         warning message.
1389
1390 2007-02-04  Bruno Haible  <bruno@clisp.org>
1391
1392         New module mbstok_r.
1393         * modules/mbstok_r: New file.
1394         * lib/mbstok_r.c: New file.
1395         * lib/string_.h (strtok_r): Change argument names to match the
1396         comments. Add a conditional link warning.
1397         (mbstok_r): New declaration.
1398         * m4/mbstok_r.m4: New file.
1399         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1400         GNULIB_MBSTOK_R.
1401         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
1402         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
1403
1404 2007-02-04  Bruno Haible  <bruno@clisp.org>
1405
1406         New module mbsspn.
1407         * modules/mbsspn: New file.
1408         * lib/mbsspn.c: New file.
1409         * lib/string_.h (strspn): Add a conditional link warning.
1410         (mbsspn): New declaration.
1411         * m4/mbsspn.m4: New file.
1412         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1413         GNULIB_MBSSPN.
1414         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
1415         * MODULES.html.sh (Internationalization functions): Add mbsspn.
1416
1417 2007-02-04  Bruno Haible  <bruno@clisp.org>
1418
1419         New module mbspbrk.
1420         * modules/mbspbrk: New file.
1421         * lib/mbspbrk.c: New file.
1422         * lib/string_.h (strpbrk): Add a conditional link warning.
1423         (mbspbrk): New declaration.
1424         * m4/mbspbrk.m4: New file.
1425         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1426         GNULIB_MBSPBRK.
1427         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
1428         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
1429
1430 2007-02-04  Bruno Haible  <bruno@clisp.org>
1431
1432         New module mbscspn.
1433         * modules/mbscspn: New file.
1434         * lib/mbscspn.c: New file.
1435         * lib/string_.h (strcspn): Add a conditional link warning.
1436         (mbscspn): New declaration.
1437         * m4/mbscspn.m4: New file.
1438         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1439         GNULIB_MBSCSPN.
1440         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
1441         * MODULES.html.sh (Internationalization functions): Add mbscspn.
1442
1443 2007-02-04  Bruno Haible  <bruno@clisp.org>
1444
1445         New module mbscasestr, reduced goal of strcasestr.
1446         * modules/mbscasestr: New file.
1447         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
1448         (mbscasestr): Renamed from strcasestr.
1449         * lib/strcasestr.c: Don't include mbuiter.h.
1450         (strcasestr): Remove support for multibyte locales.
1451         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
1452         Change the conditional link warning.
1453         (mbscasestr): New declaration.
1454         * m4/mbscasestr.m4: New file.
1455         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
1456         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
1457         REPLACE_STRCASESTR.
1458         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
1459         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1460         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1461         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
1462         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
1463         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1464         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
1465         (Depends-on): Remove mbuiter.
1466         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
1467
1468 2007-02-04  Bruno Haible  <bruno@clisp.org>
1469
1470         Simplify handling of strncasecmp.
1471         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
1472         the conditional link warning.
1473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1474         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
1475         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
1476         * modules/strcase (configure.ac): Don't invoke
1477         gl_STRING_MODULE_INDICATOR.
1478         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
1479
1480 2007-02-04  Bruno Haible  <bruno@clisp.org>
1481
1482         New module mbscasecmp, reduced goal of strcasecmp.
1483         * modules/mbscasecmp: New file.
1484         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
1485         (mbscasecmp): Renamed from strcasecmp.
1486         * lib/strcasecmp.c: Don't include mbuiter.h.
1487         (strcasecmp): Remove support for multibyte locales.
1488         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
1489         Change the conditional link warning.
1490         (mbscasecmp): New declaration.
1491         * m4/mbscasecmp.m4: New file.
1492         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
1493         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
1494         REPLACE_STRCASECMP.
1495         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
1496         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1497         GNULIB_MBSCASECMP.
1498         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
1499         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
1500         * modules/strcase (Files): Remove m4/mbrtowc.m4.
1501         (Depends-on): Remove mbuiter.
1502         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
1503
1504 2007-02-04  Bruno Haible  <bruno@clisp.org>
1505
1506         New module mbsstr. Remove module strstr.
1507         * modules/mbsstr: New file.
1508         * modules/strstr: Remove file.
1509         * lib/mbsstr.c: Renamed from lib/strstr.c.
1510         (mbsstr): Renamed from strstr.
1511         * lib/string_.h (strstr): Remove declaration. Change the conditional
1512         link warning.
1513         (mbsstr): New declaration.
1514         * m4/mbsstr.m4: New file.
1515         * m4/strstr.m4: Remove file.
1516         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
1517         REPLACE_STRSTR.
1518         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
1519         Don't initialize GNULIB_STRSTR.
1520         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
1521         substitute GNULIB_STRSTR and REPLACE_STRSTR.
1522         * MODULES.html.sh (Internationalization functions): Add mbsstr.
1523         (Support for systems lacking ANSI C 89): Remove strstr.
1524
1525 2007-02-04  Bruno Haible  <bruno@clisp.org>
1526
1527         New module mbsrchr.
1528         * modules/mbsrchr: New file.
1529         * lib/mbsrchr.c: New file.
1530         * lib/string_.h (strrchr): Add a conditional link warning.
1531         (mbsrchr): New declaration.
1532         * m4/mbsrchr.m4: New file.
1533         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1534         GNULIB_MBSRCHR.
1535         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
1536         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
1537
1538 2007-02-04  Bruno Haible  <bruno@clisp.org>
1539
1540         New module mbschr.
1541         * modules/mbschr: New file.
1542         * lib/mbschr.c: New file.
1543         * lib/string_.h (strchr): Add a conditional link warning.
1544         (mbschr): New declaration.
1545         * m4/mbschr.m4: New file.
1546         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1547         GNULIB_MBSCHR.
1548         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
1549         * MODULES.html.sh (Internationalization functions): Add mbschr.
1550
1551 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1552
1553         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
1554
1555         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
1556
1557 2007-02-04  Bruno Haible  <bruno@clisp.org>
1558
1559         New module description section 'configure.ac-early'.
1560         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
1561         (func_get_autoconf_early_snippet): New function.
1562         (func_import, func_create_testdir): Use it. Remove special cases for
1563         modules 'extensions' and 'lock'.
1564         * modules/extensions (configure.ac-early): Require
1565         gl_USE_SYSTEM_EXTENSIONS.
1566         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
1567
1568 2007-02-04  Bruno Haible  <bruno@clisp.org>
1569
1570         Make use of gcj-4.3's -fsource and -ftarget option.
1571         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
1572         and if so try the options -fsource and -ftarget.
1573         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
1574         source_version, ftarget_option, target_version arguments.
1575         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
1576         (is_envjavac_oldgcj_14_14_usable): Renamed from
1577         is_envjavac_gcj_14_14_usable.
1578         (is_envjavac_oldgcj_14_13_usable): Renamed from
1579         is_envjavac_gcj_14_13_usable.
1580         (is_gcj_present): Update.
1581         (is_gcj_43, is_gcj43_usable): New functions.
1582         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
1583         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
1584         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
1585         try the options -fsource and -ftarget.
1586
1587 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1588
1589         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
1590         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
1591         larger value.
1592
1593 2007-02-03  Jim Meyering  <jim@meyering.net>
1594
1595         Give tools a better chance to allocate space for very large buffers.
1596         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
1597
1598         Make pwd and readlink work also when run with an unreadable parent dir
1599         on systems with openat support.
1600         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
1601         provided getcwd function, even when we have openat support.
1602         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
1603
1604 2007-02-02  Bruno Haible  <bruno@clisp.org>
1605
1606         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
1607         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
1608         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
1609         portability problems if one of these functions is only used on specific
1610         platforms.
1611         Reported by Paul Eggert.
1612
1613 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1614
1615         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
1616         is causing more trouble than it's curing.
1617         * lib/regex_internal.h (__mempcpy): Remove.
1618         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
1619         (and make the code a tad smaller to boot).
1620         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
1621
1622 2007-02-02  Jim Meyering  <jim@meyering.net>
1623
1624         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
1625         section, not in the Makefile.am: one.
1626
1627 2007-02-02  Eric Blake  <ebb9@byu.net>
1628
1629         * lib/strchrnul.c: Always include config.h first.
1630
1631         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
1632         gnulib strstr is not necessary here.
1633
1634 2007-02-02  Simon Josefsson  <simon@josefsson.org>
1635
1636         * m4/socklen.m4: Fix typo.
1637
1638 2007-02-02  Eric Blake  <ebb9@byu.net>
1639
1640         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
1641         * modules/netinet_in (Makefile.am): Likewise.
1642
1643 2007-02-01  Bruno Haible  <bruno@clisp.org>
1644
1645         * lib/string_.h (GL_LINK_WARNING): New macro.
1646         (strcasecmp, strstr, strcasestr): If provided by the system,
1647         conditionally define as a macro that leads to a warning instead of to
1648         an error.
1649         (strncasecmp): Conditionally define as a macro that leads to a warning.
1650
1651 2007-02-01  Karl Berry  <karl@gnu.org>
1652
1653         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
1654
1655 2007-02-01  Bruno Haible  <bruno@clisp.org>
1656
1657         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
1658         renamings.
1659
1660 2007-02-01  Eric Blake  <ebb9@byu.net>
1661
1662         * modules/regex (Depends-on): Revert dependence on mempcpy.
1663         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
1664         module's definition of mempcpy.
1665         Reported by Paul Eggert.
1666
1667 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
1668
1669         * lib/string_.h: If the gnulib module XYZ is not present, undefine
1670         the symbol XYZ before redefining it.  This fixes a problem with
1671         programs that don't use XYZ, when compiled on systems that define
1672         XYZ to something else.
1673
1674 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1675
1676         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
1677         occurs when "mkdir -m foo" creates a setgid directory that is (1)
1678         writeable to group or other and (2) is intended to have a special
1679         mode bit that is set or cleared.  In such a case, the directory
1680         should be neither group- nor other-writeable until the special
1681         mode bits are right.
1682
1683 2007-01-31  Eric Blake  <ebb9@byu.net>
1684
1685         * modules/mountlist (Depends-on): Add strstr.
1686
1687         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
1688         bug.
1689         * modules/string (Makefile.am): Remove redundant replacement.
1690         * modules/regex (Depends-on): Add mempcpy.
1691
1692 2007-01-31  Bruno Haible  <bruno@clisp.org>
1693
1694         New module description field 'Link'.
1695         * gnulib-tool (func_usage): Document --extract-link-directive.
1696         (sed_extract_prog): Recognize 'Link' directive.
1697         (func_get_link_directive): New function.
1698         (func_import): Show summary of link directives.
1699         Handle --extract-link-directive option.
1700         * modules/acl (Link): New section.
1701         * modules/clock-time (Link): New section.
1702         * modules/euidaccess (Link): New section.
1703         * modules/gettext (Link): New section.
1704         * modules/iconv (Link): New section.
1705         * modules/lock (Link): New section.
1706         * modules/nanosleep (Link): New section.
1707         * modules/readline (Link): New section.
1708
1709 2007-01-27  Bruno Haible  <bruno@clisp.org>
1710
1711         Enforce the use of gnulib modules for unportable <string.h> functions.
1712         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
1713         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
1714         (gl_HEADER_STRING_H_BODY): Require it.
1715         * lib/string_.h: If the gnulib module XYZ is not present, redefine
1716         the symbol XYZ to one that gives a link error.
1717         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
1718         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
1719         * modules/mempcpy (configure.ac): Likewise.
1720         * modules/memrchr (configure.ac): Likewise.
1721         * modules/stpcpy (configure.ac): Likewise.
1722         * modules/stpncpy (configure.ac): Likewise.
1723         * modules/strcase (configure.ac): Likewise.
1724         * modules/strcasestr (configure.ac): Likewise.
1725         * modules/strchrnul (configure.ac): Likewise.
1726         * modules/strdup (configure.ac): Likewise.
1727         * modules/strndup (configure.ac): Likewise.
1728         * modules/strnlen (configure.ac): Likewise.
1729         * modules/strpbrk (configure.ac): Likewise.
1730         * modules/strsep (configure.ac): Likewise.
1731         * modules/strstr (configure.ac): Likewise.
1732         * modules/strtok_r (configure.ac): Likewise.
1733
1734 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
1735
1736         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
1737
1738 2007-01-30  Jim Meyering  <jim@meyering.net>
1739
1740         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
1741
1742 2007-01-29  Bruno Haible  <bruno@clisp.org>
1743
1744         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
1745         * lib/execute.c: Likewise.
1746         * lib/pipe.c: Likewise.
1747         * lib/printf-args.h: Likewise.
1748         * lib/printf-args.c: Likewise.
1749         * lib/printf-parse.c: Likewise.
1750         * lib/vasnprintf.c: Likewise.
1751
1752 2007-01-29  Eric Blake  <ebb9@byu.net>
1753
1754         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
1755         declaration.
1756
1757 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1758
1759         * lib/strptime.h (strptime): Use 'restrict' for args where
1760         POSIX requires this.
1761         * lib/strptime.c (strptime): Likewise.
1762         Change license notice from LGPL to GPL, since gnulib-tool will
1763         change this as needed.
1764         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
1765         defined.
1766         Include "strptime.h" first, to check interface.
1767         Do not #undef _LIBC and _NL_CURRENT.
1768         Do not include <stdlib.h>; no longer needed.
1769         Include "time_r.h" and declare ptime_locale_status
1770         only if _LIBC is not defined.
1771         (__P): Remove unused macro.
1772         (match_string): Bring back glibc version, but use it only if _LIBC
1773         is defined.
1774         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
1775         Remove unnecessary assertion and abort() call.
1776         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
1777         * m4/strptime.m4: Fix serial number comment.
1778         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
1779         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
1780         (Depends-on): Add time_r.
1781
1782 2007-01-29  Bruno Haible  <bruno@clisp.org>
1783
1784         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
1785         strptime.
1786         * modules/strptime (Depends-on): Add stdbool.
1787         * lib/strptime.h: Include <time.h> always. Add comments.
1788
1789 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
1790
1791         * modules/strptime: New file.
1792         * lib/strptime.h: New file.
1793         * lib/strptime.c: New file.
1794         * m4/strptime.m4: New file.
1795
1796 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1797
1798         * MODULES.html.sh: New module mpsort.
1799         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
1800
1801         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
1802         a circularity problem with HP-UX ia64 reported by Bob Proulx in
1803         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
1804         All uses changed.
1805         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
1806         All uses changed.
1807         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
1808         to _Restrict_.
1809         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
1810         the parameter matches the prototype.
1811
1812 2007-01-28  Jim Meyering  <jim@meyering.net>
1813
1814         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
1815         sys/time.h here, reverting that part of the previous patch:
1816         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
1817
1818 2007-01-28  Bruno Haible  <bruno@clisp.org>
1819
1820         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
1821         value of $(SYS_TIME_H).
1822         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
1823         remove it conditionally, too. [added by Jim Meyering]
1824         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
1825         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
1826         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
1827         GETTIMEOFDAY_REPLACEMENT to 1.
1828
1829 2007-01-28  Bruno Haible  <bruno@clisp.org>
1830
1831         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
1832         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
1833         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
1834         Set UNISTD_H instead of UNISTD_H2.
1835         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
1836
1837 2007-01-28  Bruno Haible  <bruno@clisp.org>
1838
1839         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
1840         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
1841
1842 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1843
1844         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
1845         (func_create_testdir): Ensure C locale for `grep' and `tr'
1846         character ranges.
1847         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
1848         ACLOCAL_AMFLAGS parsing state machine.
1849
1850 2007-01-27  Bruno Haible  <bruno@clisp.org>
1851
1852         * modules/unistr/base: Update.
1853
1854 2007-01-27  Bruno Haible  <bruno@clisp.org>
1855
1856         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
1857         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
1858         * modules/unistr/u32-mbtouc-unsafe: Renamed from
1859         modules/unistr/u32-mbtouc.
1860         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
1861         * lib/unistr.h: Update.
1862         * lib/linebreak.c: Update.
1863         * modules/unistr/u32-mbtouc: Renamed from
1864         modules/unistr/u32-mbtouc-safe.
1865         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
1866         * lib/unistr.h: Update.
1867         * lib/unistr/u32-to-u8.c: Update.
1868         * lib/unistr/u32-to-u16.c: Update.
1869
1870 2007-01-27  Bruno Haible  <bruno@clisp.org>
1871
1872         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
1873         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
1874         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
1875         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
1876         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
1877         * modules/unistr/u16-mbtouc-unsafe: Renamed from
1878         modules/unistr/u16-mbtouc.
1879         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
1880         * lib/unistr.h: Update.
1881         * lib/linebreak.c: Update.
1882         * modules/linebreak: Update.
1883         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
1884         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
1885         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
1886         * modules/unistr/u16-mbtouc: Renamed from
1887         modules/unistr/u16-mbtouc-safe.
1888         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
1889         * lib/unistr.h: Update.
1890         * lib/unistr/u16-to-u8.c: Update.
1891         * modules/unistr/u16-to-u8: Update.
1892         * lib/unistr/u16-to-u32.c: Update.
1893         * modules/unistr/u16-to-u32: Update.
1894
1895 2007-01-27  Bruno Haible  <bruno@clisp.org>
1896
1897         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
1898         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
1899         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
1900         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
1901         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
1902         * modules/unistr/u8-mbtouc-unsafe: Renamed from
1903         modules/unistr/u8-mbtouc.
1904         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
1905         * lib/unistr.h: Update.
1906         * lib/striconveh.c: Update.
1907         * modules/striconveh: Update.
1908         * lib/linebreak.c: Update.
1909         * modules/linebreak: Update.
1910         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
1911         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
1912         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
1913         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
1914         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
1915         * lib/unistr.h: Update.
1916         * lib/striconveh.c: Update.
1917         * modules/striconveh: Update.
1918         * lib/unistr/u8-to-u16.c: Update.
1919         * modules/unistr/u8-to-u16: Update.
1920         * lib/unistr/u8-to-u32.c: Update.
1921         * modules/unistr/u8-to-u32: Update.
1922
1923 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1924
1925         Sync from Libtool.
1926         * lib/argz.c: Do not include strings.h nor memory.h, include
1927         string.h unconditionally.  Patch by Simon Josefsson.
1928
1929 2007-01-27  Bruno Haible  <bruno@clisp.org>
1930
1931         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
1932         from gl_HEADER_STRING_H_BODY.
1933         (gl_HEADER_STRING_H_BODY): Require it.
1934         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
1935         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
1936         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
1937         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
1938         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1939         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
1940         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1941         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
1942         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
1943         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
1944         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
1945         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
1946         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
1947         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
1948         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
1949
1950 2007-01-27  Bruno Haible  <bruno@clisp.org>
1951
1952         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
1953         check_PROGRAMS into noinst_PROGRAMS.
1954         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
1955         check_PROGRAMS in this case.
1956         (func_import): Set for_test to false.
1957         (func_create_testdir): Set for_test to true.
1958
1959 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
1960             Bruno Haible  <bruno@clisp.org>
1961
1962         * modules/strcasestr (Files): Remove lib/strcasestr.h.
1963         (Depends-on): Add string.
1964         (Includes): Use <string.h> instead of strcasestr.h.
1965         * modules/string (Makefile.am): Also substitute the value of
1966         REPLACE_STRCASESTR.
1967         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
1968         assume strcasestr is declared in <string.h> not <strings.h>. Also
1969         set REPLACE_STRCASESTR.
1970         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
1971         REPLACE_STRCASESTR.
1972         * lib/strcasestr.h: Remove file.
1973         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
1974         * lib/string_.h (strcasestr): New declaration.
1975
1976 2007-01-27  Bruno Haible  <bruno@clisp.org>
1977
1978         * lib/string_.h: Use 'extern'.
1979
1980 2007-01-27  Jim Meyering  <jim@meyering.net>
1981
1982         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
1983         of set-but-not-used local, "q".
1984
1985         * lib/mempcpy.c: Include <config.h> before <string.h>.
1986         This fixes a compilation error on HP-UX, due to the system's
1987         "restrict"-using mempcpy prototype.
1988
1989 2007-01-26  Bruno Haible  <bruno@clisp.org>
1990
1991         Small optimization.
1992         * lib/javacomp.c: Include c-strstr.h.
1993          (is_envjavac_gcj): Use c_strstr instead of strstr.
1994         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
1995
1996 2007-01-26  Bruno Haible  <bruno@clisp.org>
1997
1998         * MODULES.html.sh (Unicode string functions): Add the new modules.
1999
2000         * modules/uniconv/u32-strconv-to-locale: New file.
2001         * lib/uniconv/u32-strconv-to-locale.c: New file.
2002
2003         * modules/uniconv/u16-strconv-to-locale: New file.
2004         * lib/uniconv/u16-strconv-to-locale.c: New file.
2005
2006         * modules/uniconv/u8-strconv-to-locale: New file.
2007         * lib/uniconv/u8-strconv-to-locale.c: New file.
2008
2009         * modules/uniconv/u32-strconv-from-locale: New file.
2010         * lib/uniconv/u32-strconv-from-locale.c: New file.
2011
2012         * modules/uniconv/u16-strconv-from-locale: New file.
2013         * lib/uniconv/u16-strconv-from-locale.c: New file.
2014
2015         * modules/uniconv/u8-strconv-from-locale: New file.
2016         * lib/uniconv/u8-strconv-from-locale.c: New file.
2017
2018         * modules/uniconv/u32-strconv-to-enc: New file.
2019         * lib/uniconv/u32-strconv-to-enc.c: New file.
2020         * modules/uniconv/u32-strconv-to-enc-tests: New file.
2021         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
2022
2023         * modules/uniconv/u16-strconv-to-enc: New file.
2024         * lib/uniconv/u16-strconv-to-enc.c: New file.
2025         * lib/uniconv/u-strconv-to-enc.h: New file.
2026         * modules/uniconv/u16-strconv-to-enc-tests: New file.
2027         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
2028
2029         * modules/uniconv/u8-strconv-to-enc: New file.
2030         * lib/uniconv/u8-strconv-to-enc.c: New file.
2031         * modules/uniconv/u8-strconv-to-enc-tests: New file.
2032         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
2033
2034         * modules/uniconv/u32-strconv-from-enc: New file.
2035         * lib/uniconv/u32-strconv-from-enc.c: New file.
2036         * modules/uniconv/u32-strconv-from-enc-tests: New file.
2037         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
2038
2039         * modules/uniconv/u16-strconv-from-enc: New file.
2040         * lib/uniconv/u16-strconv-from-enc.c: New file.
2041         * modules/uniconv/u16-strconv-from-enc-tests: New file.
2042         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
2043
2044         * modules/uniconv/u8-strconv-from-enc: New file.
2045         * lib/uniconv/u8-strconv-from-enc.c: New file.
2046         * lib/uniconv/u-strconv-from-enc.h: New file.
2047         * modules/uniconv/u8-strconv-from-enc-tests: New file.
2048         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
2049
2050         * modules/uniconv/u32-conv-from-enc: New file.
2051         * lib/uniconv/u32-conv-from-enc.c: New file.
2052         * modules/uniconv/u32-conv-from-enc-tests: New file.
2053         * tests/uniconv/test-u32-conv-from-enc.c: New file.
2054
2055         * modules/uniconv/u16-conv-from-enc: New file.
2056         * lib/uniconv/u16-conv-from-enc.c: New file.
2057         * lib/uniconv/u-conv-from-enc.h: New file.
2058         * modules/uniconv/u16-conv-from-enc-tests: New file.
2059         * tests/uniconv/test-u16-conv-from-enc.c: New file.
2060
2061         * modules/uniconv/u8-conv-from-enc: New file.
2062         * lib/uniconv/u8-conv-from-enc.c: New file.
2063         * modules/uniconv/u8-conv-from-enc-tests: New file.
2064         * tests/uniconv/test-u8-conv-from-enc.c: New file.
2065
2066         * modules/uniconv/base: New file.
2067         * lib/uniconv.h: New file.
2068
2069 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
2070
2071         * doc/gnulib-tool.texi (Initial import): Update to match current
2072         behavior with strdup module.
2073         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
2074         * lib/memmem.h: Remove; all uses removed.  This is now done
2075         by <string.h>.
2076         * lib/mempcpy.h: Likewise.
2077         * lib/memrchr.h: Likewise.
2078         * lib/stpcpy.h: Likewise.
2079         * lib/stpncpy.h: Likewise.
2080         * lib/strcase.h: Likewise.
2081         * lib/strchrnul.h: Likewise.
2082         * lib/strdup.h: Likewise.
2083         * lib/strndup.h: Likewise.
2084         * lib/strnlen.h: Likewise.
2085         * lib/strpbrk.h: Likewise.
2086         * lib/strsep.h: Likewise.
2087         * lib/strstr.h: Likewise.
2088         * lib/strtok_r.h: Likewise.
2089         * lib/string_.h: New file.
2090         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
2091         Rely on <string.h> instead.
2092         * lib/canon-host.c: Likewise.
2093         * lib/chdir-long.c: Likewise.
2094         * lib/concatpath.c: Likewise.
2095         * lib/exclude.c: Likewise.
2096         * lib/fchdir.c: Likewise.
2097         * lib/getaddrinfo.c: Likewise.
2098         * lib/getcwd.c: Likewise.
2099         * lib/getsubopt.c: Likewise.
2100         * lib/glob.c: Likewise.
2101         * lib/hard-locale.c: Likewise.
2102         * lib/iconvme.c: Likewise.
2103         * lib/javacomp.c: Likewise.
2104         * lib/mempcpy.c: Likewise.
2105         * lib/memrchr.c: Likewise.
2106         * lib/regex_internal.h: Likewise.
2107         * lib/stpncpy.c: Likewise.
2108         * lib/strcasecmp.c: Likewise.
2109         * lib/strchrnul.c: Likewise.
2110         * lib/strdup.c: Likewise.
2111         * lib/striconv.c: Likewise.
2112         * lib/striconveh.c: Likewise.
2113         * lib/striconveha.c: Likewise.
2114         * lib/strncasecmp.c: Likewise.
2115         * lib/strndup.c: Likewise.
2116         * lib/strnlen.c: Likewise.
2117         * lib/strsep.c: Likewise.
2118         * lib/strstr.c: Likewise.
2119         * lib/strtok_r.c: Likewise.
2120         * lib/userspec.c: Likewise.
2121         * lib/w32spawn.h: Likewise.
2122         * lib/xstrndup.c: Likewise.
2123         * lib/mountlist.c (strstr): Remove decl.
2124         * m4/string_h.m4: New file.
2125         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
2126         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
2127         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
2128         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
2129         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
2130         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
2131         Set REPLACE_STRCASECMP if necessary.
2132         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
2133         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
2134         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
2135         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
2136         HAVE_DECL_STRDUP if necessary.
2137         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
2138         since gl_FUNC_STRNDUP does that now.
2139         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
2140         Check for decl here...
2141         (gl_PREREQ_STRNLEN): ... not here.
2142         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
2143         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
2144         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
2145         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
2146         necessary.
2147         * modules/string: New file.
2148         * modules/memmem (Files): Remove special-purpose include file.
2149         (Depends-on): Add string.
2150         (Include): Include <string.h>, not the removed file.
2151         * modules/mempcpy: Likewise.
2152         * modules/memrchr: Likewise.
2153         * modules/stpcpy: Likewise.
2154         * modules/stpncpy: Likewise.
2155         * modules/strcase: Likewise.
2156         * modules/strchrnul: Likewise.
2157         * modules/strdup: Likewise.
2158         * modules/strndup: Likewise.
2159         * modules/strnlen: Likewise.
2160         * modules/strpbrk: Likewise.
2161         * modules/strsep: Likewise.
2162         * modules/strstr: Likewise.
2163         * modules/strtok_r: Likewise.
2164         * tests/test-dirname.c: Don't include "strdup.h", since
2165         <string.h> now suffices.
2166         * tests/test-memmem.c: Don't include "memmem.h", since
2167         <string.h> now suffices.
2168
2169 2007-01-25  Bruno Haible  <bruno@clisp.org>
2170
2171         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
2172         *resultp is 0.
2173
2174         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
2175         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
2176         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
2177         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
2178
2179         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
2180         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
2181         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
2182         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
2183         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
2184         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
2185
2186 2007-01-24  Bruno Haible  <bruno@clisp.org>
2187
2188         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
2189         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
2190         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
2191         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
2192         gl_FUNC_FTS_CORE.
2193         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
2194         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
2195         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
2196         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
2197         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
2198         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
2199         gl_FUNC_FCHOWNAT.
2200         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
2201         gl_FUNC_STRFTIME.
2202         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
2203         Reported by Ralf Wildenhues.
2204
2205 2007-01-24  Bruno Haible  <bruno@clisp.org>
2206
2207         Drop AC_REQUIRE calls that are redundant with the module dependencies.
2208         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
2209         gl_GETADDRINFO.
2210         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
2211         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
2212         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
2213
2214 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
2215
2216         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
2217         Don't use 'exit'; just return from 'main'.
2218         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
2219
2220         * lib/fnmatch_.h: Readjust white space and comments to match
2221         glibc, to avoid spurious diffs.
2222
2223 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2224
2225         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
2226         2004-12-01 change by Jakub Jelinek, since this code won't compile
2227         if !LIBC.  Problem reported by Bob Proulx.
2228
2229 2007-01-23  Bruno Haible  <bruno@clisp.org>
2230
2231         * lib/striconveh.c: Include c-strcaseeq.h.
2232         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
2233         * modules/striconveh (Depends-on): Add c-strcaseeq.
2234
2235 2007-01-23  Bruno Haible  <bruno@clisp.org>
2236
2237         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
2238
2239         * modules/c-strcaseeq: New file.
2240         * lib/c-strcaseeq.h: New file.
2241
2242         * modules/streq: New file.
2243         * lib/streq.h: New file.
2244
2245 2007-01-23  Bruno Haible  <bruno@clisp.org>
2246
2247         * modules/striconveha-tests: New file.
2248         * tests/test-striconveha.c: New file.
2249
2250         * lib/striconveha.h: Include <stdbool.h>.
2251         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
2252         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
2253         (mem_iconveha_notranslit): Renamed from mem_iconveha.
2254         (mem_iconveha): New function.
2255         (str_iconveha_notranslit): Renamed from str_iconveha.
2256         (str_iconveha): New function.
2257         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
2258         c-strcase.
2259
2260 2007-01-23  Bruno Haible  <bruno@clisp.org>
2261
2262         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
2263         encodings without forgiving before trying any encoding with handler.
2264         (str_iconveha): Try all encodings without forgiving before trying any
2265         encoding with handler.
2266
2267 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2268
2269         Import the following changes from libc.
2270
2271         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
2272
2273         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
2274
2275         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
2276
2277         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
2278         normal_bracket label.
2279
2280         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
2281
2282         [BZ #361]
2283         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
2284         to normal_bracket after fetching the next character.
2285
2286 2007-01-22  Bruno Haible  <bruno@clisp.org>
2287
2288         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
2289         argument.
2290         * lib/striconveh.c (iconv_carefully_1): New function.
2291         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
2292         argument.
2293         (str_cd_iconveh): Update.
2294         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
2295         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
2296         * tests/test-striconveh.c (MAGIC): New macro.
2297         (new_offsets): New function.
2298         (main): Test call with and without offsets.
2299
2300 2007-01-22  Bruno Haible  <bruno@clisp.org>
2301
2302         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
2303         * modules/sys_select (Makefile.am): Likewise.
2304         * modules/sys_socket (Makefile.am): Likewise.
2305         * modules/sys_time (Makefile.am): Likewise.
2306
2307 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
2308
2309         * modules/gettimeofday (License): Change from GPL to LGPL, since
2310         gettimeofday is a library function.
2311
2312 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2313
2314         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
2315
2316 2007-01-21  Bruno Haible  <bruno@clisp.org>
2317
2318         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
2319
2320 2007-01-21  Bruno Haible  <bruno@clisp.org>
2321
2322         * modules/striconveha: New file.
2323         * lib/striconveha.h: New file.
2324         * lib/striconveha.c: New file.
2325         * MODULES.html.sh (Internationalization functions): Add striconveha.
2326         * lib/striconv.c (str_iconv): Optimize the case of an empty input
2327         string.
2328         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
2329
2330 2007-01-21  Bruno Haible  <bruno@clisp.org>
2331
2332         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
2333         * lib/striconveh.c (str_iconveh): Likewise.
2334
2335 2007-01-21  Bruno Haible  <bruno@clisp.org>
2336
2337         * lib/striconveh.h (mem_iconveh): New declaration.
2338         * lib/striconveh.c (mem_iconveh): New function.
2339         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
2340
2341 2007-01-21  Bruno Haible  <bruno@clisp.org>
2342
2343         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
2344
2345         * lib/striconveh.h (mem_cd_iconveh): Change specification.
2346         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
2347         original result buffer.
2348         (str_cd_iconveh): Update.
2349         * tests/test-striconveh.c (main): Update.
2350
2351         * lib/striconv.h (mem_cd_iconv): Change specification.
2352         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
2353         result buffer.
2354         (str_cd_iconv): Update.
2355         * tests/test-striconv.c (main): Update.
2356
2357 2007-01-21  Bruno Haible  <bruno@clisp.org>
2358
2359         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
2360
2361 2007-01-20  Jim Meyering  <jim@meyering.net>
2362
2363         * lib/userspec.c (parse_with_separator): If a user or group string
2364         starts with "+", skip the corresponding name-to-ID look-up, since
2365         such a look-up must fail: user and group names may not include "+".
2366
2367 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2368
2369         * lib/poll.c: Include sys/time.h and time.h unconditionally,
2370         since we now assume the sys_time module.
2371         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
2372         check for sys/time.h; no longer needed.
2373         * modules/poll (Depends-on): Depend on sys_time.
2374
2375 2007-01-18  Bruno Haible  <bruno@clisp.org>
2376
2377         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
2378         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2379
2380         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
2381         gettimeofday.
2382
2383         * tests/test-gettimeofday.c: Include <time.h>.
2384         (dummy): Remove variable.
2385
2386         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
2387         gl_HEADER_SYS_TIME_H.
2388         (gl_HEADER_SYS_TIME_H): New macro.
2389
2390         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
2391         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2392         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
2393         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
2394         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2395         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
2396         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
2397         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2398         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
2399         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
2400         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2401
2402         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
2403         last change; it caused a compilation error when cross-compiling to
2404         Cygwin.
2405
2406 2007-01-18  Jim Meyering  <jim@meyering.net>
2407
2408         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
2409         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
2410         than the race-prone "test -d sys || mkdir sys".
2411         (configure.ac): Use AC_PROG_MKDIR_P.
2412         * modules/sys_select: Likewise.
2413         * modules/sys_socket: Likewise.
2414         * modules/sys_time: Likewise.
2415
2416 2007-01-18  Eric Blake  <ebb9@byu.net>
2417
2418         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
2419         replace gettimeofday.
2420         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
2421         name, to avoid infinite recursion.
2422
2423 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
2424
2425         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
2426         module sys_time.
2427         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
2428         assume timespec.h defines struct timeval.
2429         * lib/settime.c: Likewise.
2430         * lib/utimens.c: Likewise.
2431         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
2432         since we now assume the gettimeofday module.
2433         * lib/tempname.c (__gen_tempname): Likewise.
2434         * lib/gettimeofday.h: Remove.
2435         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
2436         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
2437         Include <time.h>, for 'time()'.
2438         (localtime_buffer_addr): Also use this workaround if
2439         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
2440         to simplify the uses.  All uses changed.
2441         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
2442         that #undef is inside {}, and 'const' follows type name consistently.
2443         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
2444         (gettimeofday): Do not use the maximum possible value for
2445         tv->tv_usec, since that might break usages other than ls.c.
2446         Instead, we'll leave ls.c alone.  This undoes today's patch
2447         by Bruno.  Add a compile-time warning for 1s-clock resolution;
2448         we've never observed the problem but might as well keep the
2449         canary.
2450         * lib/nanosleep.c: Include timespec.h first, for interface check.
2451         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
2452         now assume the sys_time module.
2453         * lib/tempname.c: Likewise.
2454         * lib/timespec.h: Likewise.
2455         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
2456         needed.
2457         * lib/strftime.c: Likewise.
2458         * lib/timespec.h: Likewise.
2459         * lib/posixtm.c: Include posixtm.h first, for interface check.
2460         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
2461         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
2462         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
2463         * lib/sys_time_.h: New file.
2464         * lib/timespec.h (struct timespec): Use long int, not long.
2465         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
2466         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
2467         Remove obsolescent call to AC_HEADER_TIME.
2468         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2469         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2470         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2471         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
2472         Likewise.
2473         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
2474         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
2475         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
2476         into the sys_time module.  Check for gettimeofday just once.
2477         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
2478         for gettimeofday signature to just check the signature.  Merely
2479         compile it, since linking doesn't test signature.  Improve test for
2480         whether gettimeofday.o is actually needed.
2481         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
2482         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
2483         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
2484         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2485         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
2486         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
2487         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
2488         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
2489         than worrying about sys/time.h.
2490         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
2491         Don't bother worrying about TIME_WITH_SYS_TIME.
2492         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
2493         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
2494         * m4/sys_time_h.m4: New file.
2495         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
2496         Don't include sys/time.h.  Return from main rather than exiting.
2497         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
2498         all uses changed.
2499         * modules/gethrxtime (Depends-on): Add sys_time.
2500         * modules/gettime (Depends-on): Likewise.
2501         * modules/gettimeofday (Depends-on): Likewise.
2502         * modules/nanosleep (Depends-on): Likewise.
2503         * modules/settime (Depends-on): Likewise.
2504         * modules/tempname (Depends-on): Likewise.
2505         * modules/utimens (Depends-on): Likewise.
2506         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
2507         (Include:) Change back to <sys/time.h>.
2508         (Maintainer:) Add self.
2509         * modules/sys_time: New file.
2510         * modules/tempname (Depends-on): Add gettimeofday.
2511         * tests/test-gettimeofday.c: Include <sys/time.h>
2512         rather than gettimeofday.h.
2513
2514 2007-01-17  Bruno Haible  <bruno@clisp.org>
2515
2516         * gnulib-tool (func_get_license): Revert last patch. Instead, let
2517         the license default to GPL.
2518         (func_create_testdir): Don't complain if a module is LGPL and its
2519         tests module depends on GPLed modules.
2520
2521 2007-01-17  Bruno Haible  <bruno@clisp.org>
2522
2523         * lib/gettimeofday.c (gettimeofday): Add code for the case
2524         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
2525         maximum possible value for tv->tv_usec, rather than the minimum one.
2526
2527 2005-10-08  Martin Lambers  <marlam@marlam.de>
2528 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2529 2007-01-16  Bruno Haible  <bruno@clisp.org>
2530
2531         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
2532         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
2533         gl_FUNC_GETTIMEOFDAY.
2534         (Include): Add gettimeofday.h.
2535         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
2536         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
2537         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
2538         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
2539         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
2540         * lib/gettimeofday.h: New file.
2541         * lib/gettimeofday.c: Include <sys/timeb.h>.
2542         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
2543         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2544         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
2545         fall back on time().
2546
2547         * tests/test-gettimeofday.c: New file.
2548         * modules/gettimeofday-tests: New file.
2549
2550 2007-01-16  Eric Blake  <ebb9@byu.net>
2551
2552         * modules/fnmatch (Depends-on): Depend on wchar.
2553         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
2554         * m4/fnmatch.m4: Likewise.
2555         * modules/mbchar (Makefile.am): Assume <wchar.h>.
2556         * m4/mbchar.m4: Likewise.
2557         * modules/mbswidth (Depends-on): Depend on wchar.
2558         * lib/mbswidth.c: Assume <wchar.h>.
2559         * m4/mbswidth.m4: Likewise.
2560         * modules/quotearg (Depends-on): Depend on wchar.
2561         * lib/quotearg.c: Assume <wchar.h>.
2562         * m4/quotearg.m4: Likewise.
2563         * modules/regex (Depends-on): Depend on wchar.
2564         * lib/regex_internal.h: Assume <wchar.h>.
2565         * m4/regex.m4: Likewise.
2566         * modules/stdint (Depends-on): Depend on wchar.
2567         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
2568         * m4/stdint.m4: Likewise.
2569         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
2570         * modules/strftime (Depends-on): Depend on wchar.
2571         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
2572         * modules/strtol (Depends-on): Depend on wchar.
2573         * lib/strtol.c: Assume <wchar.h>.
2574         * modules/wcwidth (Depends-on): Depend on wchar.
2575         * lib/wcwidth.h: Assume <wchar.h>.
2576         * m4/wcwidth.m4: Likewise.
2577
2578 2007-01-16  Bruno Haible  <bruno@clisp.org>
2579
2580         * modules/csharpexec-script: New, created from...
2581         * modules/csharpexec: ... this.
2582
2583 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
2584
2585         * modules/javaexec-script: New, created from...
2586         * modules/javaexec: ... this.
2587
2588 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2589
2590         * modules/poll (Dependencies): Add sys_select.
2591
2592 2007-01-15  Jim Meyering  <jim@meyering.net>
2593
2594         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
2595         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
2596         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
2597         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
2598
2599 2007-01-15  Bruno Haible  <bruno@clisp.org>
2600
2601         * modules/striconveh: New file.
2602         * lib/striconveh.h: New file.
2603         * lib/striconveh.c: New file.
2604         * MODULES.html.sh (Internationalization functions): Add striconveh.
2605
2606         * modules/striconveh-tests: New file.
2607         * tests/test-striconveh.c: New file.
2608
2609 2007-01-15  Bruno Haible  <bruno@clisp.org>
2610
2611         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
2612         not from GNU libiconv or GNU libc.
2613
2614 2007-01-15  Bruno Haible  <bruno@clisp.org>
2615
2616         * doc/gnulib-intro.texi (Copyright): Explain the different license
2617         terms for module descriptions, autoconf macros, tests, documentation.
2618
2619 2007-01-14  Bruno Haible  <bruno@clisp.org>
2620
2621         * modules/striconv-tests: New file.
2622         * tests/test-striconv.c: New file.
2623
2624 2007-01-14  Bruno Haible  <bruno@clisp.org>
2625
2626         * modules/iconv-tests: New file.
2627         * tests/test-iconv.c: New file.
2628
2629 2007-01-14  Bruno Haible  <bruno@clisp.org>
2630
2631         * gnulib-tool (func_get_license): For test modules, use the license of
2632         the main module.
2633
2634 2007-01-14  Bruno Haible  <bruno@clisp.org>
2635
2636         * modules/iconv (Include): Clarify that <iconv.h> can only be included
2637         if iconv is found to exist.
2638
2639 2007-01-14  Bruno Haible  <bruno@clisp.org>
2640
2641         * modules/c-ctype-tests: New file.
2642         * tests/test-c-ctype.c: New file.
2643
2644 2007-01-14  Bruno Haible  <bruno@clisp.org>
2645
2646         * modules/binary-io-tests: New file.
2647         * tests/test-binary-io.sh: New file.
2648         * tests/test-binary-io.c: New file.
2649
2650 2007-01-14  Bruno Haible  <bruno@clisp.org>
2651
2652         * modules/array-oset-tests: New file.
2653         * tests/test-array_oset.c: New file.
2654
2655 2007-01-14  Bruno Haible  <bruno@clisp.org>
2656
2657         * modules/array-list-tests: New file.
2658         * tests/test-array_list.c: New file.
2659
2660 2007-01-14  Bruno Haible  <bruno@clisp.org>
2661
2662         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
2663         and make.
2664         Reported by Simon Josefsson in
2665         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
2666
2667 2007-01-14  Bruno Haible  <bruno@clisp.org>
2668
2669         * modules/allocsa-tests: New file.
2670         * tests/test-allocsa.c: New file.
2671
2672 2007-01-14  Bruno Haible  <bruno@clisp.org>
2673
2674         * modules/fchdir (Depends-on): Add absolute-header.
2675         * modules/unistd (Depends-on): Likewise.
2676
2677 2006-12-30  Bruno Haible  <bruno@clisp.org>
2678
2679         * modules/fchdir: New file.
2680         * modules/unistd (Files): Add lib/unistd_.h.
2681         (Makefile.am): Generate unistd.h from unistd_.h.
2682         * lib/fchdir.c: New file.
2683         * lib/dirent_.h: New file.
2684         * lib/unistd_.h: New file.
2685         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
2686         * m4/fchdir.m4: New file.
2687         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
2688         (gl_HEADER_UNISTD): Invoke it.
2689         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
2690         function.
2691         * lib/backupfile.c (opendir, closedir): Undefine.
2692         * lib/chown.c (open, close): Undefine.
2693         * lib/clean-temp.c (open, close): Undefine.
2694         * lib/copy-file.c (open, close): Undefine.
2695         * lib/execute.c (open, close): Undefine.
2696         * lib/fsusage.c (open, close): Undefine.
2697         * lib/gc-gnulib.c (open, close): Undefine.
2698         * lib/getcwd.c (opendir, closedir): Undefine.
2699         * lib/glob.c (opendir, closedir): Undefine.
2700         * lib/javacomp.c (open, close): Undefine.
2701         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
2702         * lib/openat-proc.c (open, close): Undefine.
2703         * lib/pagealign_alloc.c (open, close): Undefine.
2704         * lib/pipe.c (open, close): Undefine.
2705         * lib/progreloc.c (open, close): Undefine.
2706         * lib/savedir.c (opendir, closedir): Undefine.
2707         * lib/utime.c (open, close): Undefine.
2708         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
2709
2710 2007-01-10  Bruno Haible  <bruno@clisp.org>
2711
2712         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
2713
2714 2007-01-12  Eric Blake  <ebb9@byu.net>
2715
2716         Provide a robust <wchar.h>.  Further simplifications are now
2717         possible in other modules, but not included here.
2718         * modules/wchar: New module.
2719         * m4/wchar.m4: New file.
2720         * lib/wchar_.h: Likewise.
2721         * modules/mbchar (Depends-on): Depend on wchar, as the first use
2722         of the new module.
2723         * MODULES.html.sh (Extended multibyte and wide character utilities):
2724         New section.
2725
2726 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
2727
2728         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
2729         to a reasonable default for memory allocation.
2730         (xreadlink): Don't allocate a huge buffer, to work around a buggy
2731         file system that reports garbage st_size values for symlinks.
2732         Problem reported by Liyang Hu.
2733
2734 2007-01-11  Simon Josefsson  <simon@josefsson.org>
2735
2736         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
2737         Emacs .#* auto-save files).
2738
2739 2007-01-11  Bruno Haible  <bruno@clisp.org>
2740
2741         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
2742         directory.
2743
2744 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
2745
2746         Use @...@ consistently in lib/wctype_.h.
2747         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
2748         on it being set to 1 or 0.
2749         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
2750         go back to AC_SUBSTing it.
2751         * modules/wctype (Makefile.am): Undo previous change.
2752
2753 2007-01-10  Eric Blake  <ebb9@byu.net>
2754
2755         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
2756         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
2757         * modules/wctype (Makefile.am): Likewise.
2758         Reported by Chris McGuire.
2759
2760 2007-01-10  Jim Meyering  <jim@meyering.net>
2761
2762         fts.c: a small readability/maintainability improvement
2763         * lib/fts.c (fts_read): Make this code slightly more readable and
2764         maintainable by hoisting the "sp->fts_cur = p" assignments to
2765         immediately follow the statements that set P.  Derived from
2766         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
2767
2768 2007-01-10  Eric Blake  <ebb9@byu.net>
2769
2770         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
2771         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
2772         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2773         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
2774         Reported by Chris McGuire.
2775
2776 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2777
2778         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
2779         in sed script.
2780
2781 2007-01-09  Bruno Haible  <bruno@clisp.org>
2782
2783         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
2784         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
2785         variables.
2786         (func_module): Use them.
2787
2788 2007-01-09  Bruno Haible  <bruno@clisp.org>
2789
2790         * modules/unistr/base: New file.
2791         * lib/unistr.h: New file.
2792
2793         * modules/unistr/u8-to-u16: New file.
2794         * lib/unistr/u8-to-u16.c: New file.
2795
2796         * modules/unistr/u8-to-u32: New file.
2797         * lib/unistr/u8-to-u32.c: New file.
2798
2799         * modules/unistr/u16-to-u8: New file.
2800         * lib/unistr/u16-to-u8.c: New file.
2801
2802         * modules/unistr/u16-to-u32: New file.
2803         * lib/unistr/u16-to-u32.c: New file.
2804
2805         * modules/unistr/u32-to-u8: New file.
2806         * lib/unistr/u32-to-u8.c: New file.
2807
2808         * modules/unistr/u32-to-u16: New file.
2809         * lib/unistr/u32-to-u16.c: New file.
2810
2811         * modules/unistr/u8-check: New file.
2812         * modules/unistr/u16-check: New file.
2813         * modules/unistr/u32-check: New file.
2814         * lib/unistr/u8-check.c: New file.
2815         * lib/unistr/u16-check.c: New file.
2816         * lib/unistr/u32-check.c: New file.
2817
2818         * modules/unistr/u8-chr: New file.
2819         * modules/unistr/u16-chr: New file.
2820         * modules/unistr/u32-chr: New file.
2821         * lib/unistr/u8-chr.c: New file.
2822         * lib/unistr/u16-chr.c: New file.
2823         * lib/unistr/u32-chr.c: New file.
2824
2825         * modules/unistr/u8-cmp: New file.
2826         * modules/unistr/u16-cmp: New file.
2827         * modules/unistr/u32-cmp: New file.
2828         * lib/unistr/u8-cmp.c: New file.
2829         * lib/unistr/u16-cmp.c: New file.
2830         * lib/unistr/u32-cmp.c: New file.
2831
2832         * modules/unistr/u8-cpy: New file.
2833         * modules/unistr/u16-cpy: New file.
2834         * modules/unistr/u32-cpy: New file.
2835         * lib/unistr/u8-cpy.c: New file.
2836         * lib/unistr/u16-cpy.c: New file.
2837         * lib/unistr/u32-cpy.c: New file.
2838         * lib/unistr/u-cpy.h: New file.
2839
2840         * modules/unistr/u8-cpy-alloc: New file.
2841         * modules/unistr/u16-cpy-alloc: New file.
2842         * modules/unistr/u32-cpy-alloc: New file.
2843         * lib/unistr/u8-cpy-alloc.c: New file.
2844         * lib/unistr/u16-cpy-alloc.c: New file.
2845         * lib/unistr/u32-cpy-alloc.c: New file.
2846         * lib/unistr/u-cpy-alloc.h: New file.
2847
2848         * modules/unistr/u8-endswith: New file.
2849         * modules/unistr/u16-endswith: New file.
2850         * modules/unistr/u32-endswith: New file.
2851         * lib/unistr/u8-endswith.c: New file.
2852         * lib/unistr/u16-endswith.c: New file.
2853         * lib/unistr/u32-endswith.c: New file.
2854         * lib/unistr/u-endswith.h: New file.
2855
2856         * modules/unistr/u8-mblen: New file.
2857         * modules/unistr/u16-mblen: New file.
2858         * modules/unistr/u32-mblen: New file.
2859         * lib/unistr/u8-mblen.c: New file.
2860         * lib/unistr/u16-mblen.c: New file.
2861         * lib/unistr/u32-mblen.c: New file.
2862
2863         * modules/unistr/u8-mbtouc: New file.
2864         * modules/unistr/u16-mbtouc: New file.
2865         * modules/unistr/u32-mbtouc: New file.
2866         * lib/unistr/u8-mbtouc.c: New file.
2867         * lib/unistr/u16-mbtouc.c: New file.
2868         * lib/unistr/u32-mbtouc.c: New file.
2869
2870         * modules/unistr/u8-mbtouc-safe: New file.
2871         * modules/unistr/u16-mbtouc-safe: New file.
2872         * modules/unistr/u32-mbtouc-safe: New file.
2873         * lib/unistr/u8-mbtouc-safe.c: New file.
2874         * lib/unistr/u16-mbtouc-safe.c: New file.
2875         * lib/unistr/u32-mbtouc-safe.c: New file.
2876
2877         * modules/unistr/u8-move: New file.
2878         * modules/unistr/u16-move: New file.
2879         * modules/unistr/u32-move: New file.
2880         * lib/unistr/u8-move.c: New file.
2881         * lib/unistr/u16-move.c: New file.
2882         * lib/unistr/u32-move.c: New file.
2883         * lib/unistr/u-move.h: New file.
2884
2885         * modules/unistr/u8-next: New file.
2886         * modules/unistr/u16-next: New file.
2887         * modules/unistr/u32-next: New file.
2888         * lib/unistr/u8-next.c: New file.
2889         * lib/unistr/u16-next.c: New file.
2890         * lib/unistr/u32-next.c: New file.
2891
2892         * modules/unistr/u8-prev: New file.
2893         * modules/unistr/u16-prev: New file.
2894         * modules/unistr/u32-prev: New file.
2895         * lib/unistr/u8-prev.c: New file.
2896         * lib/unistr/u16-prev.c: New file.
2897         * lib/unistr/u32-prev.c: New file.
2898
2899         * modules/unistr/u8-set: New file.
2900         * modules/unistr/u16-set: New file.
2901         * modules/unistr/u32-set: New file.
2902         * lib/unistr/u8-set.c: New file.
2903         * lib/unistr/u16-set.c: New file.
2904         * lib/unistr/u32-set.c: New file.
2905         * lib/unistr/u-set.h: New file.
2906
2907         * modules/unistr/u8-startswith: New file.
2908         * modules/unistr/u16-startswith: New file.
2909         * modules/unistr/u32-startswith: New file.
2910         * lib/unistr/u8-startswith.c: New file.
2911         * lib/unistr/u16-startswith.c: New file.
2912         * lib/unistr/u32-startswith.c: New file.
2913         * lib/unistr/u-startswith.h: New file.
2914
2915         * modules/unistr/u8-stpcpy: New file.
2916         * modules/unistr/u16-stpcpy: New file.
2917         * modules/unistr/u32-stpcpy: New file.
2918         * lib/unistr/u8-stpcpy.c: New file.
2919         * lib/unistr/u16-stpcpy.c: New file.
2920         * lib/unistr/u32-stpcpy.c: New file.
2921         * lib/unistr/u-stpcpy.h: New file.
2922
2923         * modules/unistr/u8-stpncpy: New file.
2924         * modules/unistr/u16-stpncpy: New file.
2925         * modules/unistr/u32-stpncpy: New file.
2926         * lib/unistr/u8-stpncpy.c: New file.
2927         * lib/unistr/u16-stpncpy.c: New file.
2928         * lib/unistr/u32-stpncpy.c: New file.
2929         * lib/unistr/u-stpncpy.h: New file.
2930
2931         * modules/unistr/u8-strcat: New file.
2932         * modules/unistr/u16-strcat: New file.
2933         * modules/unistr/u32-strcat: New file.
2934         * lib/unistr/u8-strcat.c: New file.
2935         * lib/unistr/u16-strcat.c: New file.
2936         * lib/unistr/u32-strcat.c: New file.
2937         * lib/unistr/u-strcat.h: New file.
2938
2939         * modules/unistr/u8-strchr: New file.
2940         * modules/unistr/u16-strchr: New file.
2941         * modules/unistr/u32-strchr: New file.
2942         * lib/unistr/u8-strchr.c: New file.
2943         * lib/unistr/u16-strchr.c: New file.
2944         * lib/unistr/u32-strchr.c: New file.
2945
2946         * modules/unistr/u8-strcmp: New file.
2947         * modules/unistr/u16-strcmp: New file.
2948         * modules/unistr/u32-strcmp: New file.
2949         * lib/unistr/u8-strcmp.c: New file.
2950         * lib/unistr/u16-strcmp.c: New file.
2951         * lib/unistr/u32-strcmp.c: New file.
2952
2953         * modules/unistr/u8-strcpy: New file.
2954         * modules/unistr/u16-strcpy: New file.
2955         * modules/unistr/u32-strcpy: New file.
2956         * lib/unistr/u8-strcpy.c: New file.
2957         * lib/unistr/u16-strcpy.c: New file.
2958         * lib/unistr/u32-strcpy.c: New file.
2959         * lib/unistr/u-strcpy.h: New file.
2960
2961         * modules/unistr/u8-strcspn: New file.
2962         * modules/unistr/u16-strcspn: New file.
2963         * modules/unistr/u32-strcspn: New file.
2964         * lib/unistr/u8-strcspn.c: New file.
2965         * lib/unistr/u16-strcspn.c: New file.
2966         * lib/unistr/u32-strcspn.c: New file.
2967         * lib/unistr/u-strcspn.h: New file.
2968
2969         * modules/unistr/u8-strdup: New file.
2970         * modules/unistr/u16-strdup: New file.
2971         * modules/unistr/u32-strdup: New file.
2972         * lib/unistr/u8-strdup.c: New file.
2973         * lib/unistr/u16-strdup.c: New file.
2974         * lib/unistr/u32-strdup.c: New file.
2975         * lib/unistr/u-strdup.h: New file.
2976
2977         * modules/unistr/u8-strlen: New file.
2978         * modules/unistr/u16-strlen: New file.
2979         * modules/unistr/u32-strlen: New file.
2980         * lib/unistr/u8-strlen.c: New file.
2981         * lib/unistr/u16-strlen.c: New file.
2982         * lib/unistr/u32-strlen.c: New file.
2983         * lib/unistr/u-strlen.h: New file.
2984
2985         * modules/unistr/u8-strmblen: New file.
2986         * modules/unistr/u16-strmblen: New file.
2987         * modules/unistr/u32-strmblen: New file.
2988         * lib/unistr/u8-strmblen.c: New file.
2989         * lib/unistr/u16-strmblen.c: New file.
2990         * lib/unistr/u32-strmblen.c: New file.
2991
2992         * modules/unistr/u8-strmbtouc: New file.
2993         * modules/unistr/u16-strmbtouc: New file.
2994         * modules/unistr/u32-strmbtouc: New file.
2995         * lib/unistr/u8-strmbtouc.c: New file.
2996         * lib/unistr/u16-strmbtouc.c: New file.
2997         * lib/unistr/u32-strmbtouc.c: New file.
2998
2999         * modules/unistr/u8-strncat: New file.
3000         * modules/unistr/u16-strncat: New file.
3001         * modules/unistr/u32-strncat: New file.
3002         * lib/unistr/u8-strncat.c: New file.
3003         * lib/unistr/u16-strncat.c: New file.
3004         * lib/unistr/u32-strncat.c: New file.
3005         * lib/unistr/u-strncat.h: New file.
3006
3007         * modules/unistr/u8-strncmp: New file.
3008         * modules/unistr/u16-strncmp: New file.
3009         * modules/unistr/u32-strncmp: New file.
3010         * lib/unistr/u8-strncmp.c: New file.
3011         * lib/unistr/u16-strncmp.c: New file.
3012         * lib/unistr/u32-strncmp.c: New file.
3013
3014         * modules/unistr/u8-strncpy: New file.
3015         * modules/unistr/u16-strncpy: New file.
3016         * modules/unistr/u32-strncpy: New file.
3017         * lib/unistr/u8-strncpy.c: New file.
3018         * lib/unistr/u16-strncpy.c: New file.
3019         * lib/unistr/u32-strncpy.c: New file.
3020         * lib/unistr/u-strncpy.h: New file.
3021
3022         * modules/unistr/u8-strnlen: New file.
3023         * modules/unistr/u16-strnlen: New file.
3024         * modules/unistr/u32-strnlen: New file.
3025         * lib/unistr/u8-strnlen.c: New file.
3026         * lib/unistr/u16-strnlen.c: New file.
3027         * lib/unistr/u32-strnlen.c: New file.
3028         * lib/unistr/u-strnlen.h: New file.
3029
3030         * modules/unistr/u8-strpbrk: New file.
3031         * modules/unistr/u16-strpbrk: New file.
3032         * modules/unistr/u32-strpbrk: New file.
3033         * lib/unistr/u8-strpbrk.c: New file.
3034         * lib/unistr/u16-strpbrk.c: New file.
3035         * lib/unistr/u32-strpbrk.c: New file.
3036         * lib/unistr/u-strpbrk.h: New file.
3037
3038         * modules/unistr/u8-strrchr: New file.
3039         * modules/unistr/u16-strrchr: New file.
3040         * modules/unistr/u32-strrchr: New file.
3041         * lib/unistr/u8-strrchr.c: New file.
3042         * lib/unistr/u16-strrchr.c: New file.
3043         * lib/unistr/u32-strrchr.c: New file.
3044
3045         * modules/unistr/u8-strspn: New file.
3046         * modules/unistr/u16-strspn: New file.
3047         * modules/unistr/u32-strspn: New file.
3048         * lib/unistr/u8-strspn.c: New file.
3049         * lib/unistr/u16-strspn.c: New file.
3050         * lib/unistr/u32-strspn.c: New file.
3051         * lib/unistr/u-strspn.h: New file.
3052
3053         * modules/unistr/u8-strstr: New file.
3054         * modules/unistr/u16-strstr: New file.
3055         * modules/unistr/u32-strstr: New file.
3056         * lib/unistr/u8-strstr.c: New file.
3057         * lib/unistr/u16-strstr.c: New file.
3058         * lib/unistr/u32-strstr.c: New file.
3059         * lib/unistr/u-strstr.h: New file.
3060
3061         * modules/unistr/u8-strtok: New file.
3062         * modules/unistr/u16-strtok: New file.
3063         * modules/unistr/u32-strtok: New file.
3064         * lib/unistr/u8-strtok.c: New file.
3065         * lib/unistr/u16-strtok.c: New file.
3066         * lib/unistr/u32-strtok.c: New file.
3067         * lib/unistr/u-strtok.h: New file.
3068
3069         * modules/unistr/u8-uctomb: New file.
3070         * modules/unistr/u16-uctomb: New file.
3071         * modules/unistr/u32-uctomb: New file.
3072         * lib/unistr/u8-uctomb.c: New file.
3073         * lib/unistr/u16-uctomb.c: New file.
3074         * lib/unistr/u32-uctomb.c: New file.
3075
3076         * MODULES.html.sh (Unicode string functions): Add the new modules.
3077
3078 2007-01-08  Bruno Haible  <bruno@clisp.org>
3079
3080         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
3081         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
3082         subdirectories.
3083
3084 2007-01-08  Karl Berry  <karl@gnu.org>
3085
3086         * doc/error.texi: mention that main() fns must set program_name
3087         when progname is used.
3088
3089 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
3090
3091         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
3092         WCTYPE_H is empty, for the benefit of builds from non-distclean
3093         directories.  Problem reported by Eric Blake in
3094         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
3095
3096 2007-01-08  Bruno Haible  <bruno@clisp.org>
3097
3098         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
3099         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
3100         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
3101         PROVIDE_CANONICALIZE_FILENAME_MODE.
3102         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
3103
3104 2007-01-08  Bruno Haible  <bruno@clisp.org>
3105
3106         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
3107         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
3108         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
3109         * lib/fts.c: Likewise.
3110         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
3111
3112 2006-12-25  Bruno Haible  <bruno@clisp.org>
3113
3114         * modules/utf8-ucs4-safe: New file.
3115         * lib/utf8-ucs4-safe.h: New file.
3116         * lib/unistr/utf8-ucs4-safe.c: New file.
3117
3118         * modules/utf16-ucs4-safe: New file.
3119         * lib/utf16-ucs4-safe.h: New file.
3120         * lib/unistr/utf16-ucs4-safe.c: New file.
3121
3122         * MODULES.html.sh (Unicode string functions): Add the new modules.
3123
3124 2007-01-08  Bruno Haible  <bruno@clisp.org>
3125
3126         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
3127         (Depends-on): Add unitypes.
3128         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
3129         (u8_mbtouc_aux): Move out to separate file.
3130         (u8_mbtouc): Use ucs4_t, uint8_t types.
3131         * lib/unistr/utf8-ucs4.c: New file.
3132
3133         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
3134         (Depends-on): Add unitypes.
3135         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
3136         (u16_mbtouc_aux): Move out to separate file.
3137         (u16_mbtouc): Use ucs4_t, uint16_t types.
3138         * lib/unistr/utf16-ucs4.c: New file.
3139
3140         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
3141         (Depends-on): Add unitypes.
3142         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
3143         (u8_uctomb_aux): Move out to separate file.
3144         (u8_uctomb): Use ucs4_t, uint8_t types.
3145         * lib/unistr/ucs4-utf8.c: New file.
3146
3147         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
3148         (Depends-on): Add unitypes.
3149         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
3150         (u16_uctomb_aux): Move out to separate file.
3151         (u16_uctomb): Use ucs4_t, uint16_t types.
3152         * lib/unistr/ucs4-utf16.c: New file.
3153
3154 2006-12-25  Bruno Haible  <bruno@clisp.org>
3155
3156         * modules/unitypes: New file.
3157         * lib/unitypes.h: New file.
3158         * MODULES.html.sh (func_all_modules): New section "Unicode string
3159         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
3160         this section. Add unitypes.
3161
3162 2007-01-08  Bruno Haible  <bruno@clisp.org>
3163
3164         Avoid variable names that conflict with those from libtool.
3165         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
3166         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
3167         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
3168         library_names_spec to acl_library_names_spec, hardcode_* to
3169         acl_hardcode_*.
3170         Reported by Ralf Wildenhues.
3171
3172 2007-01-08  Bruno Haible  <bruno@clisp.org>
3173
3174         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
3175         definition.
3176         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
3177         definition.
3178         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
3179         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
3180         definition.
3181         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
3182         definition.
3183         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
3184         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
3185         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
3186         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
3187         definition.
3188         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
3189         definition.
3190         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
3191         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
3192         GC_USE_<algorithm>.
3193         * lib/gc-libgcrypt.c: Likewise.
3194         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
3195         * modules/gc-arctwo (configure.ac): Likewise.
3196         * modules/gc-des (configure.ac): Likewise.
3197         * modules/gc-hmac-md5 (configure.ac): Likewise.
3198         * modules/gc-hmac-sha1 (configure.ac): Likewise.
3199         * modules/gc-md2 (configure.ac): Likewise.
3200         * modules/gc-md4 (configure.ac): Likewise.
3201         * modules/gc-md5 (configure.ac): Likewise.
3202         * modules/gc-random (configure.ac): Likewise.
3203         * modules/gc-rijndael (configure.ac): Likewise.
3204         * modules/gc-sha1 (configure.ac): Likewise.
3205
3206 2007-01-08  Bruno Haible  <bruno@clisp.org>
3207
3208         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
3209         macro definition.
3210         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
3211         definition.
3212         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
3213         definition.
3214         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
3215         * modules/fcntl-safer (configure.ac): Likewise.
3216         * modules/fopen-safer (configure.ac): Likewise.
3217         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
3218         GNULIB_FWRITEERROR macro definition.
3219
3220 2007-01-08  Bruno Haible  <bruno@clisp.org>
3221
3222         * m4/gnulib-common.m4: New file.
3223         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
3224         (func_get_filelist): Add m4/gnulib-common.m4.
3225
3226 2007-01-08  Bruno Haible  <bruno@clisp.org>
3227
3228         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
3229         command.
3230
3231 2007-01-08  Jim Meyering  <jim@meyering.net>
3232
3233         Use a more robust test for a "can't happen" condition.
3234         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
3235         narrowed the st_size value.  Presuming the "can't happen" condition
3236         is true, that narrowing could conceivably convert an invalid st_size
3237         value into a valid one.  Instead, use a change based on Matthew
3238         Woehlke's original patch.
3239
3240         Slight readability improvement: use an assert-like macro
3241         in place of literal "abort ()" uses.
3242         * lib/fts.c (fts_assert): Define.
3243         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
3244         Use this macro instead of a bare 'abort'.
3245
3246 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3247
3248         Don't worry about using IRIX 5.3's wctype.h broken definitions;
3249         simply work around them.
3250         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
3251         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
3252         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
3253         declaring.
3254         Don't bother to define as macros, since the standard doesn't require it.
3255         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
3256         longer worry about IRIX 5.3.
3257         (HAVE_WCTYPE_CTMP_BUG): Remove.
3258
3259 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3260
3261         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
3262         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
3263         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
3264         Problems reported by Georg Schwarz for IRIX 5.3.
3265
3266         * gnulib-tool (autoconf_minversion): Take the maximum version number
3267         found, not the minimum.  Problem reported by James Youngman.
3268
3269 2007-01-03  Karl Berry  <karl@gnu.org>
3270
3271         * doc/error.texi: new file, explaining interaction with progname.
3272         * doc/gnulib.texi: include it.  Update copyright.
3273
3274 2007-01-03  Simon Josefsson  <simon@josefsson.org>
3275
3276         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
3277         AC_CANONICAL_HOST, to improve autobuild outputs.
3278
3279 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
3280             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
3281
3282         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
3283         sockets, server sockets, and other file descriptors.  Count errors
3284         to compute the return value.  Reorder the code a bit to be easier
3285         to follow.  Don't set event bits that were not requested (except
3286         POLLERR and POLLHUP).
3287
3288 2007-01-01  Bruno Haible  <bruno@clisp.org>
3289
3290         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
3291
3292 2007-01-03  Jim Meyering  <jim@meyering.net>
3293
3294         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
3295
3296 2007-01-02  Bruno Haible  <bruno@clisp.org>
3297
3298         * modules/settime (Include): Require timespec.h.
3299         * modules/nanosleep (Include): Likewise.
3300
3301 2007-01-01  Bruno Haible  <bruno@clisp.org>
3302
3303         * gnulib-tool (func_emit_copyright_notice): Bump year.
3304         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
3305
3306 2007-01-01  Bruno Haible  <bruno@clisp.org>
3307
3308         Improve support for OpenBSD.
3309         * build-aux/config.rpath (libname_spec): Export.
3310         (library_names_spec): New variable. Export.
3311         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
3312         library_names_spec from the config.rpath output. Locate shared library
3313         through the name pattern in library_names_spec.
3314
3315 2007-01-01  Eric Blake  <ebb9@byu.net>
3316
3317         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
3318
3319 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3320
3321         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
3322         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
3323         assume the C locale, and avoid an "eval" that could cause trouble.
3324         Problem with SORT reported by Bob Proulx.
3325
3326         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
3327         Define.  Trivial patch from Henning Nielsen Lund, originally
3328         sent to bug-grep@gnu.org today.
3329
3330 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
3331
3332         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
3333         struct stat.  Problem reported by Henning Nielsen Lund.
3334         * lib/acl.c: Include acl.h first, to check interface.  Don't
3335         bother to include sys/types.h and sys/stat.h again.
3336
3337 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
3338
3339         Import the following change from libc; problem reported by
3340         Sven Verdoolaege.
3341
3342         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
3343
3344         [BZ #1373]
3345         * lib/argp.h: Remove __NTH for __argp_usage inline function.
3346
3347 2006-12-28  Jim Meyering  <jim@meyering.net>
3348
3349         * build-aux/announce-gen: Do not assume that the package
3350         builds any of tar.gz, tar.bz2, and .xdelta files.
3351         Suggestion from Simon Josefsson.
3352
3353 2006-12-28  Simon Josefsson  <simon@josefsson.org>
3354
3355         * modules/announce-gen: New file.
3356
3357 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
3358
3359         * lib/mbchar.h: Just include <wctype.h>; the wctype module
3360         handles its gotchas now.
3361         * lib/mbswidth.c: Likewise.
3362         * lib/wcwidth.h: Likewise.
3363         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
3364         and iswcntrl; the wctype module does this stuff now.
3365         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
3366         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3367         * modules/mbchar (Depends-on): Add wctype.
3368         * modules/mbswidth (Depends-on): Likewise.
3369         * modules/wcwidth (Depends-on): Likewise.
3370
3371 2006-12-27  Eric Blake  <ebb9@byu.net>
3372
3373         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
3374         module uses more than what <wctype.h> is required to provide.
3375
3376 2006-12-26  Eric Blake  <ebb9@byu.net>
3377
3378         * gnulib-tool (sed_extract_prog): Avoid space-tab.
3379
3380 2006-12-26  Eric Blake  <ebb9@byu.net>
3381
3382         * modules/absolute-header: New module.
3383         * modules/fcntl (Depends-on): Depend on it.
3384         * modules/inttypes (Depends-on): Likewise.
3385         * modules/stdint (Depends-on): Likewise.
3386         * modules/sys_stat (Depends-on): Likewise.
3387         * modules/wctype (Depends-on): Likewise.
3388         * MODULES.html.sh (Support for building libraries and
3389         executables): Document it.
3390
3391 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3392
3393         * gnulib-tool (SED): Remove, undoing previous change.
3394         The problem was that it broke coreutils on Solaris, because
3395         "sed --posix" leaked into a makefile.
3396         (sed): New alias, if 'alias' and GNU sed.
3397
3398 2006-12-24  Jim Meyering  <jim@meyering.net>
3399
3400         Work around an fchownat bug in glibc-2.4:
3401         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
3402         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
3403         in spite of the -P option.
3404         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
3405         New macros.
3406         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
3407         * modules/openat (Files): Add lib/fchownat.c.
3408         * lib/openat.c (fchownat): Don't define here.  Move to...
3409         * lib/fchownat.c: ...this new file.
3410
3411 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
3412
3413         Fix bug reported by Bruno Haible in
3414         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
3415         where quotearg.c didn't compile on Mac OS X 10.2 because it
3416         lacks <wchar.h> and wint_t.
3417         * lib/wctype_.h (__wctype_wint_t): New type.
3418         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
3419         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
3420         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
3421         Arg is now of type __wctype_wint_t, not wint_t.
3422         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
3423         substitute HAVE_WINT_T.
3424         * modules/wctype (Files): Add m4/wint_t.m4.
3425         (wctype.h): Substitute HAVE_WINT_T.
3426
3427 2006-12-23  Bruno Haible  <bruno@clisp.org>
3428
3429         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
3430
3431 2006-12-23  Bruno Haible  <bruno@clisp.org>
3432
3433         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
3434         S_ISLNK.
3435         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
3436         mingw.
3437
3438 2006-12-22  Bruno Haible  <bruno@clisp.org>
3439
3440         * lib/copy-file.c: Include acl.h.
3441         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
3442         Close the file descriptors only after being done with copy_acl.
3443         * modules/copy-file (Depends-on): Add acl.
3444
3445 2006-12-22  Bruno Haible  <bruno@clisp.org>
3446
3447         * gnulib-tool (SED): New variable.
3448         Use $SED instead of sed everywhere.
3449
3450 2006-12-22  Bruno Haible  <bruno@clisp.org>
3451
3452         * modules/no-c++: New file.
3453         * m4/no-c++.m4: New file.
3454         * MODULES.html.sh (Support for building libraries and executables):
3455         Add no-c++.
3456
3457 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3458
3459         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
3460         Include <limits.h>, and use its INT_MAX to rewrite the
3461         j loop so that it does not overflow 'int'.  Problem reported by
3462         Ralf Wildenhues in
3463         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
3464         Play it safe by shifting left by 1 rather than multiplying by 2,
3465         as GCC is less likely to optimize this away when the value
3466         is signed (when it assumes overflow leads to undefined behavior).
3467         Also, don't assume time_t uses two's complement.
3468
3469 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3470
3471         * MODULES.html.sh: New module wctype.
3472         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
3473         * lib/fnmatch.c: Don't bother to include <wchar.h> before
3474         <wctype.h>, since the new wctype module should fix this.
3475         * lib/quotearg.c: Include <wctype.h> unconditionally, since
3476         the wctype module should arrange for it.
3477         * lib/regex_internal.h: Likewise.
3478         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
3479         since the wctype module should handle this now.
3480         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
3481         * modules/fnmatch (Depends-on): Add wctype.
3482         * modules/quotearg (Depends-on): Likewise.
3483         * modules/regex (Depends-on): Likewise.
3484
3485 2006-12-19  Bruno Haible  <bruno@clisp.org>
3486
3487         * lib/strdup.h [C++]: Wrap definitions in extern "C".
3488         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
3489
3490 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3491
3492         * modules/savewd (Depends-on): Fix dependency on fcntl.
3493
3494 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3495
3496         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
3497         conforms to C99, rather than relying on the user's environment
3498         setting of STDINT_H.
3499
3500 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3501         and Eric Blake  <ebb9@byu.net>
3502
3503         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
3504         This is more consistent with the other defines here.
3505         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
3506         Port to z/OS.  Problem reported by Paul Gilmartin.
3507         Change local vars to use gl_ prefix rather than ac_.
3508         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
3509         with other defines.
3510         * modules/double-slash-root: New module.
3511         * modules/dirname (Files): Remove m4/double-slash-root.m4.
3512         (Depends-on): Add double-slash-root.
3513         * MODULES.html.sh (File system functions): Mention new module.
3514
3515 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
3516
3517         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
3518         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
3519         This is for the benefit of gzip, which doesn't do i18n.
3520
3521 2006-12-12  Jim Meyering  <jim@meyering.net>
3522
3523         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
3524         Reported by Andreas Schwab <schwab@suse.de>.
3525
3526 2006-12-12  Bruno Haible  <bruno@clisp.org>
3527
3528         Merge these changes.
3529         2006-09-05  Bruno Haible  <bruno@clisp.org>
3530         * lib/iconvme.c (iconv_string): No need to save and restore errno when
3531         iconv_alloc succeeded.
3532         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
3533         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
3534         test for " && dest " at the end - dest is always != NULL there. Call
3535         iconv with 4xNULL arguments initially, to reset the state. Call iconv
3536         with 2xNULL arguments, also to flush the state storage. Handle the
3537         IRIX iconv behaviour. Realloc the final result, to throw away unused
3538         memory.
3539
3540 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
3541
3542         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
3543         and fchmodat unconditionally, since glibc 2.4 has them.
3544         Problem reported by Arkadiusz Miskiewicz.
3545
3546 2006-12-10  Bruno Haible  <bruno@clisp.org>
3547
3548         * gnulib-tool (func_import): Show the include files only for those
3549         modules that are copied and specified.
3550         Reported by Karl Berry.
3551
3552 2006-12-08  Jim Meyering  <jim@meyering.net>
3553
3554         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
3555         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
3556
3557         * build-aux/announce-gen: Add two new options, both optional:
3558         --bootstrap-tools=TOOL_LIST
3559               a comma-separated list of tools, e.g.,
3560               autoconf,automake,bison,gnulib
3561         --gnulib-snapshot-date=DATE
3562               if gnulib is in the bootstrap tool list,
3563               then report this as the snapshot date.
3564               If not specified, use the current date/time.
3565               If you specify a date here, be sure it's UTC.
3566
3567 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3568
3569         * tests/test-argp-2.sh: Fix test to match actual output.
3570         (func_compare): Fix sed script to be portable.
3571
3572 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
3573
3574         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
3575         workaround for this case.  It is not autoconfigured now; offhand
3576         it's hard to see how to autoconfigure it.
3577
3578 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
3579
3580         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
3581         a directory that is about to be chowned.  Such a directory's
3582         initial file permissions should permit the owner only and this
3583         should not be changed until after the chown, since the group and
3584         other bits would be incorrect if they granted permission before
3585         the chown.
3586
3587         Fix porting problem for iswctype reported by Georg Schwarz in:
3588         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
3589         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
3590         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
3591         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
3592         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3593
3594 2006-12-03  Jim Meyering  <jim@meyering.net>
3595
3596         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
3597         p->fts_statp may not yet be defined.
3598         (fts_read): Instead, set it in the caller, once p->fts_statp is
3599         sure to be defined, and corresponds to a top-level directory.
3600         This bug made du -x fail.  Here's the coreutils test case:
3601         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
3602         Reported by Mike Frysinger.
3603
3604 2006-12-01  Jim Meyering  <jim@meyering.net>
3605
3606         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
3607         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
3608         Reported by Simon Josefsson.
3609
3610 2006-11-30  Jim Meyering  <jim@meyering.net>
3611
3612         * m4/warning.m4: Use the all-permissive copyright notice
3613         recommended by RMS (rather than LGPL).
3614         * m4/vararrays.m4: Likewise.
3615         * m4/flexmember.m4: Likewise.
3616
3617 2006-11-29  Bruno Haible  <bruno@clisp.org>
3618
3619         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3620         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
3621         using +=.
3622         Reported by Simon Josefsson <simon@josefsson.org>.
3623
3624 2006-11-28  James Youngman <jay@gnu.org>
3625
3626         * README: Advise users that they might find the bug-gnulib@gnu.org
3627         and autotools-announce@gnu.org mailing lists useful.
3628
3629 2006-11-28  Bruno Haible  <bruno@clisp.org>
3630
3631         * m4/ptrdiff_max.m4: Remove file.
3632
3633 2006-11-21  Bruno Haible  <bruno@clisp.org>
3634
3635         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
3636         _AC_COMPUTE_INT.
3637         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3638         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
3639         _AC_COMPUTE_INT.
3640         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3641         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
3642         _AC_COMPUTE_INT.
3643         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3644
3645 2006-11-28  Jim Meyering  <jim@meyering.net>
3646
3647         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
3648         warning from "gcc -Wshadow" about shadowing the builtin.
3649
3650 2006-11-27  Bruno Haible  <bruno@clisp.org>
3651
3652         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
3653         _AC_COMPUTE_INT.
3654         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3655
3656 2006-11-27  Bruno Haible  <bruno@clisp.org>
3657             Paul Eggert  <eggert@cs.ucla.edu>
3658
3659         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
3660
3661 2006-11-26  Bruno Haible  <bruno@clisp.org>
3662
3663         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3664         noinst_LTLIBRARIES.
3665
3666 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
3667             Bruno Haible  <bruno@clisp.org>
3668
3669         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
3670         if compiling with "gcc -ansi".
3671
3672 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
3673
3674         Fix some incompatibilities with gcc -ansi -pedantic.
3675         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
3676         if compiling pedantically with GCC, unless it's C99 or later.
3677         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
3678         it mishandles gcc -ansi -pedantic as well.
3679         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
3680         if gcc -pedantic.
3681         * lib/regexec.c (check_node_accept_bytes): Don't use auto
3682         initializers for struct if -pedantic, unless it's C99 or later.
3683
3684 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
3685
3686         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
3687         Don't close an fd more than once. Identical atimes indicate
3688         success, not failure.
3689
3690 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
3691
3692         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
3693
3694 2006-11-23  Jim Meyering  <jim@meyering.net>
3695
3696         * build-aux/announce-gen: New file.  From coreutils.
3697
3698 2006-11-22  Jim Meyering  <jim@meyering.net>
3699
3700         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
3701         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
3702         (fts_read): Use a temporary to narrow the overused st_size member
3703         before using it in a switch statement.  Reported by Matthew Woehlke.
3704
3705         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
3706         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
3707
3708 2006-11-20  Bruno Haible  <bruno@clisp.org>
3709
3710         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
3711         changequote instead of pairs of brackets.
3712         Reported by Andreas Schwab <schwab@suse.de>.
3713
3714 2006-11-21  Jim Meyering  <jim@meyering.net>
3715
3716         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
3717         so as to remain compatible with older compilers.
3718         Patch from Michael Deutschmann.
3719
3720 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3721
3722         * MODULES.html.sh (File system functions): Add openat.
3723
3724         * lib/openat.h (rpl_fstatat): New macro, if
3725         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
3726         (fstatat): Define to rpl_fstatat under the same conditions,
3727         unless COMPILING_FSTATAT.
3728         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
3729         seems to have the bug.
3730         * lib/fstatat.c: New file.
3731         * modules/openat (Files): Add it.
3732
3733 2006-11-20  Bruno Haible  <bruno@clisp.org>
3734
3735         * Makefile: New file.
3736
3737 2006-11-20  Jim Meyering  <jim@meyering.net>
3738
3739         The beginnings of syntax-related checks for gnulib.
3740         * lib/Makefile: New file.
3741         * lib/t-idcache: New script.  Ensure that the two halves of
3742         idcache.c stay in sync.
3743
3744         * lib/idcache.c: Adjust comments in user- and group- portions to
3745         be more accurate, and to be consistent with one another.
3746
3747 2006-11-20  Jim Meyering  <jim@meyering.net>
3748
3749         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
3750         continue using the flexible array member (thus, this module performs
3751         half as many malloc calls), with the addition that...
3752         (getgroup, getuser): Consistently record a non-match via an empty
3753         "name" string, and map an empty string match to a NULL return value.
3754         * modules/idcache (Depends-on): Re-add flexmember.
3755
3756         * lib/idcache.c (getuser): Remove all uses of the register keyword.
3757         (getuidbyname, getgroup, getgidbyname): Likewise.
3758
3759         Use cleaner syntax: NULL rather than 0.
3760         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
3761
3762 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3763
3764         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
3765         It mishandled the case where the group was missing.
3766         Problem reported by Greg Schafer.
3767         * modules/idcache: Likewise.
3768
3769 2006-11-18  Jim Meyering  <jim@meyering.net>
3770
3771         * check-module (%exempt_header): Add exception for some
3772         conditionally-included headers.
3773
3774         * modules/i-ring (Depends-on): Add verify.
3775         (License): Change to LGPL.
3776
3777 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
3778
3779         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
3780         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
3781         and inttostr.h.  Use snprintf rather than uinttostr, so that
3782         LGPLed code doesn't depend on GPLed.
3783
3784 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3785
3786         * modules/inline (License): Change from GPL to LGPL.
3787
3788 2006-11-17  Jim Meyering  <jim@meyering.net>
3789
3790         * modules/d-type (License): Switch to LGPL.
3791
3792 2006-11-15  Bruno Haible  <bruno@clisp.org>
3793
3794         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
3795
3796 2006-11-15  Eric Blake  <ebb9@byu.net>
3797
3798         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
3799         the module dependency.
3800
3801 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
3802             Bruno Haible  <bruno@clisp.org>
3803
3804         * gnulib-tool (func_create_testdir): Add license consistency check.
3805
3806 2006-11-15  Eric Blake  <ebb9@byu.net>
3807
3808         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
3809         random "(cached)" in configure output.
3810
3811 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3812
3813         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
3814         test for conforming inttypes.h is both announced and cached.
3815
3816         * MODULES.html.sh (seen_modules, seen_files): New variables.
3817         (func_module): Rewrite to use a few less gnulib-tool and sed
3818         invocations.  Avoid a couple of quadratic algorithms for ...
3819         (missed_modules, missed_files): ... these, with ...
3820         (func_append, func_tmpdir): ... these new functions, from
3821         gnulib-tool.  Analogously, install traps for cleanup.
3822
3823         * tests/test-gc.c (main): Remove unused variables.
3824         * tests/test-read-file.c: Include stdlib.h, for 'free'.
3825
3826 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
3827
3828         * modules/inttostr (License): Change to LGPL.
3829
3830 2006-11-14  Eric Blake  <ebb9@byu.net>
3831
3832         * modules/tempname (License): Change to LGPL.
3833
3834 2006-11-14  Eric Blake  <ebb9@byu.net>
3835
3836         * doc/functions.texi (Function Portability): *printf functions on
3837         Cygwin now understand all POSIX size specifiers.
3838
3839 2006-11-14  Bruno Haible  <bruno@clisp.org>
3840
3841         * modules/c-ctype (License): Change to LGPL.
3842
3843 2006-11-12  Bruno Haible  <bruno@clisp.org>
3844
3845         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
3846         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
3847         for GNOME libraries, for which the include files are installed in
3848         subdirectories of $prefix/include.
3849
3850 2006-11-12  Bruno Haible  <bruno@clisp.org>
3851
3852         * m4/lib-link.m4: Require at least autoconf-2.54.
3853         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
3854         name to underscores for the --with option.
3855
3856 2006-11-13  Bruno Haible  <bruno@clisp.org>
3857
3858         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
3859         the tests directory.
3860         Reported by Ralf Wildenhues.
3861
3862 2006-11-13  Bruno Haible  <bruno@clisp.org>
3863
3864         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
3865         (func_emit_initmacro_end): Undo the override here.
3866         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
3867         Works around the famous automake error in coreutils.
3868
3869 2006-11-13  Eric Blake  <ebb9@byu.net>
3870
3871         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
3872         element, not its node.
3873
3874 2006-11-12  Bruno Haible  <bruno@clisp.org>
3875
3876         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
3877         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
3878
3879 2006-11-12  Bruno Haible  <bruno@clisp.org>
3880
3881         * gnulib-tool: New option --local-symlink.
3882         (func_usage): Document it.
3883         (lsymbolic): New variable.
3884         (func_import, func_create_testdir): If --symlink was not specified,
3885         test whether --local-symlink was specified and the file comes from
3886         the local_gnulib_dir.
3887
3888 2006-11-12  Bruno Haible  <bruno@clisp.org>
3889
3890         * gnulib-tool (func_ln): New function.
3891         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
3892
3893 2006-11-12  Bruno Haible  <bruno@clisp.org>
3894
3895         Finish support for source files in subdirectories.
3896         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
3897         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
3898         AUTOMAKE_OPTIONS.
3899         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
3900
3901 2006-11-12  Bruno Haible  <bruno@clisp.org>
3902
3903         * gnulib-tool (func_get_automake_snippet): Synthesize also an
3904         EXTRA_lib_SOURCES augmentation.
3905         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
3906
3907 2006-11-12  Jim Meyering  <jim@meyering.net>
3908
3909         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
3910         file descriptors.  This also averts a failure on systems with
3911         native openat support when a traversed directory lacks "x" access.
3912         * lib/fts_.h: Include "i-ring.h"
3913         (struct FTS) [fts_fd_ring]: New member.
3914         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
3915         (FCHDIR): Add parentheses.
3916         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
3917         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
3918         When descending, rather than simply closing the previous
3919         fts_cwd_fd value, push that file descriptor onto the ring.
3920         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
3921         (fts_open): Initialize the new fd_ring member.
3922         (fts_close): Clear the ring.
3923         (fts_safe_changedir): When possible, use our new fd_ring to skip
3924         the diropen and fstat and dev/ino comparison that would normally
3925         accompany a virtual `chdir ("..")'.
3926
3927         * modules/fts (Depends-on): Add i-ring.
3928         * modules/i-ring: New module.
3929         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
3930         * m4/i-ring.m4: New file.
3931
3932 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3933
3934         * gnulib-tool (func_create_testdir): Fix replacement of
3935         `build-aux' in configure.ac.  Run autotools in gltests
3936         subdirectory.
3937         (func_create_testdir, func_create_megatestdir, test): There is
3938         no need for '--force' in most autotool invocations in a new
3939         tree.  Actually fail the whole test if any of the tools, or the
3940         configure or make stages fail.
3941
3942         Sync from Automake.
3943         * build-aux/gnupload: Revert last change.  Add pointer to upload
3944         instructions of the GNU Maintenance Instructions.
3945         Suggestion by Karl Berry.
3946
3947 2006-11-10  Jim Meyering  <jim@meyering.net>
3948
3949         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
3950
3951 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3952
3953         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
3954         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
3955         (bind_textdomain_codeset) [! ENABLE_NLS]:
3956         Evaluate all the arguments.  That way, callers get compatible behavior
3957         if the arguments have side effects.  Also, it avoids some GCC
3958         diagnostics in some cases; Joel E. Denny reported problems when Bison
3959         was configured with --enable-gcc-warnigs.
3960
3961 2006-11-10  Jim Meyering  <jim@meyering.net>
3962
3963         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
3964         relevant options in CFLAGS (like -O, -fno-inline) are taken into
3965         account.
3966
3967 2006-11-10  Jim Meyering  <jim@meyering.net>
3968
3969         * modules/inline: New file/module.
3970         * modules/xalloc (Files): Remove m4/inline.m4.
3971         (Depends-on): Add inline, instead.
3972         * modules/oset: Likewise.
3973         * modules/list: Likewise.
3974
3975 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3976
3977         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
3978         Problem reported by Matthew Woehlke.
3979
3980 2006-11-09  Bruno Haible  <bruno@clisp.org>
3981
3982         * lib/tempname.c (gen_tempname): Remove variant that invokes
3983         __gen_tempname.
3984         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
3985         __gen_tempname.
3986
3987 2006-11-08  Bruno Haible  <bruno@clisp.org>
3988
3989         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
3990         to 'yes' instead of 'cross-compiling'.
3991
3992 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
3993
3994         * lib/quotearg.h (quotearg_free): New decl.
3995         * lib/quotearg.c (quotearg_free): New function.
3996         (slot0, nslots, slotvec0, slotvec):
3997         Now file-scope so that quotearg_free can get at them.
3998
3999 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4000
4001         Sync from Automake.
4002         * build-aux/gnupload: Add missing 'gnu' to example URL.
4003         Report by Karl Berry.
4004
4005 2006-11-08  Bruno Haible  <bruno@clisp.org>
4006
4007         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
4008         Suggested by Paul Eggert.
4009
4010 2006-11-08  Jim Meyering  <jim@meyering.net>
4011
4012         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
4013         It's already included if !_LIBC.
4014         (fts_safe_changedir): Add a comment.
4015
4016 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
4017
4018         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
4019         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
4020         Matthew Woehlke.
4021
4022         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
4023         definitions up, to avoid colliding with change below.
4024         (static_inline) [HAVE_INLINE]: New macro.
4025         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
4026         Provide extern decls when !HAVE_INLINE.  Do not define unless
4027         static_inline is defined, either by us or by xmalloc.c.  Use
4028         static_inline rather than static inline.
4029         (XCALLOC): Optimize sizeof(T) = 1 case.
4030         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
4031
4032 2006-11-07  Bruno Haible  <bruno@clisp.org>
4033
4034         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
4035         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
4036         AC_C_INLINE.
4037         * modules/xalloc (Files): Add m4/inline.m4.
4038
4039 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4040
4041         * README: Fix typo.
4042         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
4043         (Miscellanous Notes): ...from this.
4044
4045 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
4046
4047         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
4048         Mention that offsetof should be used instead of sizeof.
4049         From Bruno Haible.
4050
4051 2006-11-07  Bruno Haible  <bruno@clisp.org>
4052
4053         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
4054
4055 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4056
4057         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
4058         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
4059         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
4060         (gl_tree_add_before, gl_tree_add_after):
4061         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
4062         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
4063         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
4064         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
4065         (gl_linked_add_after, gl_linked_add_at): Likewise.
4066         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
4067         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
4068         (gl_tree_add_before, gl_tree_add_after): Likewise.
4069         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
4070         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
4071         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
4072
4073 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4074
4075         * lib/gl_oset.h: Use C comment style, not C++ comment style.
4076
4077 2006-11-06  Bruno Haible  <bruno@clisp.org>
4078
4079         * m4/inline.m4: New file.
4080         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
4081         * modules/list (Files): Add m4/inline.m4.
4082         * modules/oset (Files): Likewise.
4083
4084 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4085
4086         * lib/idcache.c: Include <stddef.h>, for offsetof.
4087         (struct userid.name): Change from char * to a flexible array member.
4088         All uses changed.
4089         * modules/idcache (Depends-on): Add flexmember.
4090
4091         * MODULES.html.sh (Core language properties): New module flexmember.
4092         * modules/flexmember, m4/flexmember.m4: New files.
4093
4094         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
4095         inline functions that are identical with the old xnmalloc_inline,
4096         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
4097         that we can avoid some unnecessary integer multiplications and
4098         divisions in the common case where the element size is known at
4099         compile time.
4100         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
4101         needed.
4102         (xnboundedmalloc): Remove.
4103         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
4104         arguments, for consistency with rest of this header.
4105         (xcharalloc): Rewrite using XNMALLOC.
4106         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
4107         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
4108         versions have been moved to lib/xalloc.h and renamed to be the
4109         non-*_inline versions.
4110         (xmalloc, xrealloc): Implement without reference to the xnmalloc
4111         and xnrealloc functions, since those functions are now inline and
4112         now call us.
4113         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
4114         renaming described above.
4115         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
4116         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
4117         captures the dependency in AC_C_INLINE.
4118
4119         New module canonicalize-lgpl, proposed by Charles Wilson in
4120         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
4121         with a few small changes afterwards.
4122         * MODULES.html.sh (File system functions): New module
4123         canonicalize-lgpl.
4124         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
4125         and canonicalize_file_name.
4126         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
4127         * modules/canonicalize-lgpl: New files.
4128
4129 2006-11-05  Bruno Haible  <bruno@clisp.org>
4130
4131         * gnulib-tool (func_import, func_create_testdir): Create directories
4132         also for files in subdirectories of lib/.
4133
4134 2006-11-05  Bruno Haible  <bruno@clisp.org>
4135
4136         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
4137         ANSI C compliant.
4138
4139 2006-11-03  Bruno Haible  <bruno@clisp.org>
4140
4141         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
4142         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
4143         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
4144         (xnboundedmalloc): New inline function.
4145         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
4146         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
4147         xmalloc.
4148         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
4149         xmalloc.
4150         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
4151         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
4152         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
4153         xmalloc.
4154         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
4155         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
4156         xmalloc.
4157         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
4158         gl_tree_add_after): Use XMALLOC instead of xmalloc.
4159         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
4160         xmalloc.
4161         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
4162         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
4163         gl_tree_add_after): Use XMALLOC instead of xmalloc.
4164         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
4165         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
4166         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
4167         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
4168
4169 2006-11-03  Bruno Haible  <bruno@clisp.org>
4170
4171         * lib/c-ctype.h [C++]: Define functions without name mangling.
4172         * lib/fwriteerror.h [C++]: Likewise.
4173         * lib/gcd.h [C++]: Likewise.
4174         * lib/linebreak.h [C++]: Likewise.
4175
4176 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
4177
4178         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
4179         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
4180         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
4181         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
4182         Check for functions and headers just once.
4183         Check for declaration of canonicalize_file_name.
4184         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
4185
4186 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4187
4188         * gnulib-tool (func_import): Fix typo in actioncmd.
4189
4190 2006-11-02  Bruno Haible  <bruno@clisp.org>
4191
4192         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
4193         newline sequence in the Makefile.am snippet as a space, like "make"
4194         does.
4195         Reported by Roger Persson <perrog@gmail.com>.
4196
4197 2006-11-01  Bruno Haible  <bruno@clisp.org>
4198
4199         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
4200         already declared in <string.h>.
4201         * lib/strcase.h (strncasecmp): Don't declare it if yes.
4202
4203 2006-11-01  Bruno Haible  <bruno@clisp.org>
4204
4205         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
4206         * lib/strcase.h: Include <string.h>.
4207         (strcasecmp): Define to rpl_strcasecmp here.
4208
4209 2006-11-01  Bruno Haible  <bruno@clisp.org>
4210
4211         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
4212
4213 2006-11-01  Eric Blake  <ebb9@byu.net>
4214
4215         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
4216
4217         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
4218
4219 2006-10-29  Bruno Haible  <bruno@clisp.org>
4220
4221         Make it compile in C++ mode.
4222         * lib/full-write.c (full_rw): Add a cast.
4223
4224 2006-11-01  Bruno Haible  <bruno@clisp.org>
4225
4226         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
4227         be POSIX compliant.
4228         Reported by Roger Persson <perrog@gmail.com>.
4229
4230 2006-11-01  Eric Blake  <ebb9@byu.net>
4231
4232         * lib/getopt_.h: Fix comments.
4233
4234 2006-10-31  Eric Blake  <ebb9@byu.net>
4235
4236         * modules/tmpdir (Depends-on): Add sys_stat.
4237         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
4238         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
4239         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
4240         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
4241         tempname.
4242
4243 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4244
4245         Avoid some C++ diagnostics reported by Bruno Haible.
4246         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
4247         xmalloc.
4248         (quotearg_alloc): Use xcharalloc rather than xmalloc.
4249         (struct slotvec): Move to top level.
4250         (quotearg_n_options): Rewrite to avoid xmalloc.
4251         * lib/xalloc.h (xcharalloc): New function.
4252         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
4253         [defined __cplusplus]: Add function template that provides result
4254         type propagation.  This part of the change is from Bruno Haible.
4255
4256 2006-10-29  Bruno Haible  <bruno@clisp.org>
4257
4258         Make it compile in C++ mode.
4259         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
4260         * lib/strnlen1.c (strnlen1): Cast memchr result.
4261         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
4262         * lib/clean-temp.c (string_equals, string_hash): Add casts.
4263         (create_temp_dir): Rename local variable 'template'.
4264         (compile_csharp_using_sscli): Add cast.
4265         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
4266         * lib/findprog.c (find_in_path): Likewise.
4267         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
4268         * lib/wait-process.c (register_slave_subprocess): Likewise.
4269
4270 2006-10-22  Bruno Haible  <bruno@clisp.org>
4271
4272         * modules/tsearch: New file.
4273         * lib/tsearch.h: New file.
4274         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
4275         * m4/tsearch.m4: New file.
4276         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
4277
4278 2006-10-29  Eric Blake  <ebb9@byu.net>
4279
4280         * lib/arcfour.c: Assume config.h.
4281         * lib/arctwo.c: Likewise.
4282         * lib/base64.c: Likewise.
4283         * lib/check-version.c: Likewise.
4284         * lib/crc.c: Likewise.
4285         * lib/des.c: Likewise.
4286         * lib/gc-gnulib.c: Likewise.
4287         * lib/gc-libgcrypt.c: Likewise.
4288         * lib/gc-pbkdf2-sha1.c: Likewise.
4289         * lib/getaddrinfo.c: Likewise.
4290         * lib/getdelim.c: Likewise.
4291         * lib/getline.c: Likewise.
4292         * lib/hmac-md5.c: Likewise.
4293         * lib/hmac-sha1.c: Likewise.
4294         * lib/iconvme.c: Likewise.
4295         * lib/md2.c: Likewise.
4296         * lib/md4.c: Likewise.
4297         * lib/memxor.c: Likewise.
4298         * lib/read-file.c: Likewise.
4299         * lib/readline.c: Likewise.
4300         * lib/rijndael-alg-fst.c: Likewise.
4301         * lib/rijndael-api-fst.c: Likewise.
4302         * lib/xgetdomainname.c: Likewise.
4303
4304 2006-10-28  Eric Blake  <ebb9@byu.net>
4305
4306         * lib/xstrndup.c: Assume config.h.
4307
4308 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
4309
4310         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
4311         stat-macros.h is now for our own macros, whereas stat_h is for
4312         macros in the <sys/stat.h> name space.
4313         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
4314         (STAT_MACROS_H): Remove.
4315         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
4316         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
4317         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
4318         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
4319         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
4320         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
4321         Move these macros to ...
4322         * lib/stat_.h: here.  Don't include stat-macros.h.
4323         * lib/canonicalize.c: Don't include stat-macros.h.
4324         * lib/chown.c: Likewise.
4325         * lib/euidaccess.c: Likewise.
4326         * lib/file-type.c: Likewise.
4327         * lib/filemode.c: Likewise.
4328         * lib/glob.c: Likewise.
4329         * lib/isapipe.c: Likewise.
4330         * lib/lchown.c: Likewise.
4331         * lib/lstat.c: Likewise.
4332         * lib/mkdir-p.c: Likewise.
4333         * lib/rmdir.c: Likewise.
4334         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
4335         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
4336         unless mkdir isn't declared, to speed up 'configure'.
4337         Always create sys/stat.h, since it's unlikely any real sys/stat.h
4338         would define all the S_* symbols.
4339         * modules/canonicalize (Depends-on):
4340         Depend on sys_stat, not stat-macros.
4341         * modules/chown: Likewise.
4342         * modules/euidaccess: Likewise.
4343         * modules/filemode: Likewise.
4344         * modules/file-type: Likewise.
4345         * modules/glob: Likewise.
4346         * modules/isapipe: Likewise.
4347         * modules/lchown: Likewise.
4348         * modules/lstat: Likewise.
4349         * modules/mkancesdirs: Likewise.
4350         * modules/rmdir: Likewise.
4351         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
4352         * modules/modechange: Likewise.
4353         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
4354         (configure.ac): Remove gl_STAT_MACROS.
4355         * modules/sys_stat (Depends-on): Remove stat-macros.
4356
4357 2006-10-27  Bruno Haible  <bruno@clisp.org>
4358
4359         * m4/signed.m4: Remove file.
4360         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
4361         invocation.
4362         * modules/vasnprintf (Files): Remove m4/signed.m4.
4363
4364 2006-10-27  Bruno Haible  <bruno@clisp.org>
4365
4366         Update to GNU gettext 0.16.
4367         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
4368         m4/inttypes-h.m4, m4/signed.m4.
4369         * m4/gettext.m4: Update to GNU gettext 0.16.
4370         * m4/intl.m4: New file, from GNU gettext.
4371         * m4/intldir.m4: New file, from GNU gettext.
4372         * config/srclist.txt: Update
4373
4374 2006-10-27  Eric Blake  <ebb9@byu.net>
4375
4376         * MODULES.html.sh: Document tempname.
4377         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
4378         dependencies.
4379         (Files): Move lib/tempname.c...
4380         * modules/tempname: ...to this new module.
4381         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
4382         (gl_PREREQ_TEMPNAME): Move...
4383         * m4/tempname.m4: ...to this new file.
4384         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
4385         * modules/sys_stat (Depends-on): Add stat-macros.
4386         * lib/stat_.h (includes): Pick up stat macros.
4387         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
4388         if stat macros are broken.
4389         * lib/tempname.c (includes): No need to include "stat-macros.h".
4390         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
4391         (direxists, __path_search) [!_LIBC]: Don't compile these in
4392         gnulib; the tmpdir module covers that.
4393         * lib/tempname.h: New file.
4394
4395 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
4396
4397         * COPYING: Explain how gnulib-tool converts licence headers.
4398         Almost all wording by Eric Blake.
4399
4400 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
4401
4402         * lib/mbchar.h (is_basic_table): Make read-only.
4403         * lib/mbchar.c (is_basic_table): Likewise.
4404         Reported by John Darrington.
4405
4406 2006-10-25  Bruno Haible  <bruno@clisp.org>
4407
4408         * lib/progname.h (set_program_name): Undefine before defining.
4409
4410 2006-10-25  Bruno Haible  <bruno@clisp.org>
4411
4412         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
4413         false for non-gcc C++ compilers.
4414         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
4415
4416 2006-10-24  Bruno Haible  <bruno@clisp.org>
4417
4418         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
4419         iconv implementations like Irix iconv.
4420
4421 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4422
4423         * modules/vararrays: New file.
4424         * m4/vararrays.m4: New file, taken from diffutils.
4425         * MODULES.html.sh: New module vararrays.
4426
4427 2006-10-24  Karl Berry  <karl@gnu.org>
4428
4429         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
4430         Don't call GNU Unix.
4431
4432 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4433
4434         * users.txt: Add Libtool.
4435
4436         Sync from Libtool:
4437
4438         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4439
4440         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
4441         to gnulib's policy of including config.h unconditionally.
4442
4443 2006-10-24  Bruno Haible  <bruno@clisp.org>
4444
4445         * modules/wcwidth (Files): Add m4/wint_t.m4.
4446         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
4447         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
4448
4449 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4450
4451         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
4452         to pacify GCC with some -W flags enabled.  Problem reported by
4453         Bruno Haible.
4454
4455 2006-10-24  Jim Meyering  <jim@meyering.net>
4456
4457         * MODULES.html.sh: Remove uinttostr.  It's not a module.
4458         Reported by Karl Berry.
4459
4460 2006-10-23  Bruno Haible  <bruno@clisp.org>
4461
4462         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
4463
4464 2006-10-24  Bruno Haible  <bruno@clisp.org>
4465
4466         * lib/gl_list.h: Use C comment style, not C++ comment style.
4467
4468 2006-10-23  Eric Blake  <ebb9@byu.net>
4469
4470         * lib/getaddrinfo.c (includes): Add missing include.
4471
4472 2006-10-23  Bruno Haible  <bruno@clisp.org>
4473             Paul Eggert  <eggert@cs.ucla.edu>
4474
4475         Ability to rename obstack_free.
4476         * lib/obstack.h (__obstack_free): New macro. Declare instead of
4477         obstack_free.
4478         (obstack_free): Invoke the __obstack_free macro.
4479         * lib/obstack.c (obstack_free): Use __obstack_free macro.
4480
4481 2006-10-23  Bruno Haible  <bruno@clisp.org>
4482             Paul Eggert  <eggert@cs.ucla.edu>
4483
4484         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
4485         __argc, __argv from the declaration. (They are defined as macros on
4486         mingw.)
4487
4488 2006-10-22  Bruno Haible  <bruno@clisp.org>
4489
4490         * doc/gnulib-intro.texi: New file.
4491         * doc/gnulib.texi: Include it.
4492
4493 2006-10-21  Bruno Haible  <bruno@clisp.org>
4494
4495         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
4496         "Introduction", "Miscellanous Notes", "Particular Modules".
4497
4498 2006-10-21  Bruno Haible  <bruno@clisp.org>
4499
4500         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4501         Change mostlyclean-local rule to avoid sh syntax error from bash
4502         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
4503
4504 2006-10-23  Jim Meyering  <jim@meyering.net>
4505
4506         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
4507         in place of snprintf.
4508
4509         * modules/inttostr (Files): Add lib/uinttostr.c.
4510         * lib/uinttostr.c (inttostr): New file/function.
4511         * lib/inttostr.h (uinttostr): Declare.
4512         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
4513         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
4514         Add uinttostr.
4515         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
4516
4517 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4518
4519         * lib/canonicalize.c (ELOOP): Define if not already defined.
4520         Problem reported by Bruno Haible in
4521         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
4522
4523 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4524
4525         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
4526         Problem reported by Perry Smith and Ville Laurikari.
4527
4528         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
4529         uses.
4530
4531 2006-10-19  Bruno Haible  <bruno@clisp.org>
4532
4533         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
4534         for mingw.
4535
4536 2006-10-19  Bruno Haible  <bruno@clisp.org>
4537
4538         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
4539         Needed for mingw.
4540
4541 2006-10-19  Bruno Haible  <bruno@clisp.org>
4542
4543         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
4544
4545 2006-10-19  Bruno Haible  <bruno@clisp.org>
4546
4547         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
4548         it.
4549
4550 2006-10-19  Bruno Haible  <bruno@clisp.org>
4551
4552         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
4553         invocation.
4554
4555 2006-10-19  Bruno Haible  <bruno@clisp.org>
4556
4557         * gnulib-tool (func_create_testdir): Don't include ftruncate and
4558         mountlist by default.
4559
4560 2006-10-16  Bruno Haible  <bruno@clisp.org>
4561
4562         * lib/c-strstr.c: Include c-strstr.h.
4563
4564 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4565
4566         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
4567         in a slash.
4568
4569 2006-10-18  Bruno Haible  <bruno@clisp.org>
4570
4571         * lib/lock.h [C++]: Wrap definitions in extern "C".
4572
4573 2006-10-18  Bruno Haible  <bruno@clisp.org>
4574
4575         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
4576         gl_LIBOBJS list.
4577
4578 2006-10-18  Bruno Haible  <bruno@clisp.org>
4579
4580         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
4581
4582 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4583
4584         * lib/xstrtol.h: Include gettext.h.
4585         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
4586         Problem reported by Eric Blake.
4587         * modules/xstrtol (Depends-on): Add gettext-h.
4588
4589 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
4590
4591         * lib/strftime.c (advance): New macro.
4592         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
4593         incomplete type, so you can't add 0 to it.  Problem and patch
4594         reported by Eelco Dolstra for dietlibc.
4595
4596 2006-10-18  Jim Meyering  <jim@meyering.net>
4597
4598         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
4599         type for a local, and rename it: s/up/user_proc/.
4600
4601 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
4602
4603         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
4604         READ_UTMP_USER_PROCESS.
4605         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
4606
4607 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
4608
4609         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
4610         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
4611
4612 2006-10-17  Eric Blake  <ebb9@byu.net>
4613
4614         * lib/sigprocmask.c (sigprocmask): Fix typo.
4615
4616         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
4617
4618         * modules/clean-temp (Makefile.am): Don't add to make output...
4619         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
4620         config.h.
4621
4622 2006-10-17  Bruno Haible  <bruno@clisp.org>
4623
4624         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
4625         differently if DEFAULT_TEXT_DOMAIN is set.
4626
4627 2006-10-16  Bruno Haible  <bruno@clisp.org>
4628
4629         * lib/clean-temp.c: Include fwriteerror.h.
4630
4631 2006-10-16  Bruno Haible  <bruno@clisp.org>
4632
4633         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
4634
4635 2006-10-16  Bruno Haible  <bruno@clisp.org>
4636
4637         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
4638         * lib/sigprocmask.h: Include <sys/types.h>.
4639         (sigset_t): Use the system's definition if present.
4640
4641 2006-10-17  Eric Blake  <ebb9@byu.net>
4642
4643         * lib/xvasprintf.c (includes): Assume config.h.
4644         * lib/xasprintf.c (includes): Likewise.
4645
4646 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
4647
4648         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
4649         at least as wide as intmax_t.
4650
4651 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
4652
4653         (Imported from Automake.)
4654         * build-aux/gnupload: Update to version 1.1 of directive file.
4655
4656 2006-10-16  Eric Blake  <ebb9@byu.net>
4657
4658         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
4659         match Automake 1.10a.
4660
4661 2006-10-14  Bruno Haible  <bruno@clisp.org>
4662
4663         * modules/sigprocmask: New file.
4664         * lib/sigprocmask.h: New file.
4665         * lib/sigprocmask.c: New file.
4666         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
4667         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
4668         request sigprocmask.o.
4669         (gl_PREREQ_SIGPROCMASK): New macro.
4670         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
4671         (Depends-on): Add sigprocmask.
4672         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
4673         gt_SIGNALBLOCKING. Test for 'raise' only once.
4674         * lib/fatal-signal.c: Include sigprocmask.h.
4675         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
4676         unblock_fatal_signals): Define always.
4677         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
4678         sigprocmask.
4679
4680 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
4681
4682         Sync from Automake.
4683         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
4684         which incorrectly sets the mode of an existing destination
4685         directory.  In some cases the unpatched install-sh could do the
4686         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
4687         system.  We hope this is rare in practice, but it's clearly worth
4688         fixing.  Problem reported by Alex Unleashed in
4689         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
4690         Also, don't bother to check for -m bugs unless we're using -m;
4691         suggested by Stepan Kasal.
4692
4693 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4694
4695         Sync from Automake.
4696         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
4697         `-c' flag, so they appear at the same position as in %FASTDEP%
4698         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
4699         which ignores unknown options only after the first non-option.
4700         Bug report against M4 by Nelson H. F. Beebe.
4701
4702 2006-10-13  Jim Meyering  <jim@meyering.net>
4703
4704         Fix a bug in yesterday's change.
4705         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
4706         p->fts_statp->st_dev would be used uninitialized.
4707         Ensures that we always call fts_stat on the very first entry.
4708         Miklos Szeredi reported that find -xdev stopped working.
4709
4710 2006-10-12  Bruno Haible  <bruno@clisp.org>
4711
4712         * gnulib-tool (func_get_automake_snippet): Append an automatically
4713         computed EXTRA_DIST augmentation.
4714         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
4715         * modules/alloca-opt (Makefile.am): Likewise.
4716         * modules/allocsa (Makefile.am): Likewise.
4717         * modules/arcfour (Makefile.am): Likewise.
4718         * modules/arctwo (Makefile.am): Likewise.
4719         * modules/argmatch (Makefile.am): Likewise.
4720         * modules/argz (Makefile.am): Likewise.
4721         * modules/atexit (Makefile.am): Likewise.
4722         * modules/backupfile (Makefile.am): Likewise.
4723         * modules/byteswap (Makefile.am): Likewise.
4724         * modules/c-strtod (Makefile.am): Likewise.
4725         * modules/c-strtold (Makefile.am): Likewise.
4726         * modules/calloc (Makefile.am): Likewise.
4727         * modules/canon-host (Makefile.am): Likewise.
4728         * modules/canonicalize (Makefile.am): Likewise.
4729         * modules/chdir-long (Makefile.am): Likewise.
4730         * modules/chdir-safer (Makefile.am): Likewise.
4731         * modules/check-version (Makefile.am): Likewise.
4732         * modules/chown (Makefile.am): Likewise.
4733         * modules/cloexec (Makefile.am): Likewise.
4734         * modules/close-stream (Makefile.am): Likewise.
4735         * modules/closeout (Makefile.am): Likewise.
4736         * modules/crc (Makefile.am): Likewise.
4737         * modules/csharpexec (Makefile.am): Likewise.
4738         * modules/cycle-check (Makefile.am): Likewise.
4739         * modules/des (Makefile.am): Likewise.
4740         * modules/dev-ino (Makefile.am): Likewise.
4741         * modules/dirfd (Makefile.am): Likewise.
4742         * modules/dirname (Makefile.am): Likewise.
4743         * modules/dup2 (Makefile.am): Likewise.
4744         * modules/eealloc (Makefile.am): Likewise.
4745         * modules/error (Makefile.am): Likewise.
4746         * modules/euidaccess (Makefile.am): Likewise.
4747         * modules/exclude (Makefile.am): Likewise.
4748         * modules/exitfail (Makefile.am): Likewise.
4749         * modules/fcntl-safer (Makefile.am): Likewise.
4750         * modules/fcntl (Makefile.am): Likewise.
4751         * modules/file-type (Makefile.am): Likewise.
4752         * modules/fileblocks (Makefile.am): Likewise.
4753         * modules/filemode (Makefile.am): Likewise.
4754         * modules/filenamecat (Makefile.am): Likewise.
4755         * modules/fnmatch (Makefile.am): Likewise.
4756         * modules/fopen-safer (Makefile.am): Likewise.
4757         * modules/fpending (Makefile.am): Likewise.
4758         * modules/fprintftime (Makefile.am): Likewise.
4759         * modules/free (Makefile.am): Likewise.
4760         * modules/fsusage (Makefile.am): Likewise.
4761         * modules/ftruncate (Makefile.am): Likewise.
4762         * modules/fts (Makefile.am): Likewise.
4763         * modules/gc-arcfour (Makefile.am): Likewise.
4764         * modules/gc-des (Makefile.am): Likewise.
4765         * modules/gc-hmac-md5 (Makefile.am): Likewise.
4766         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
4767         * modules/gc-md4 (Makefile.am): Likewise.
4768         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4769         * modules/gc-sha1 (Makefile.am): Likewise.
4770         * modules/gc (Makefile.am): Likewise.
4771         * modules/getaddrinfo (Makefile.am): Likewise.
4772         * modules/getcwd (Makefile.am): Likewise.
4773         * modules/getdelim (Makefile.am): Likewise.
4774         * modules/getdomainname (Makefile.am): Likewise.
4775         * modules/getgroups (Makefile.am): Likewise.
4776         * modules/gethostname (Makefile.am): Likewise.
4777         * modules/gethrxtime (Makefile.am): Likewise.
4778         * modules/getline (Makefile.am): Likewise.
4779         * modules/getloadavg (Makefile.am): Likewise.
4780         * modules/getlogin_r (Makefile.am): Likewise.
4781         * modules/getndelim2 (Makefile.am): Likewise.
4782         * modules/getopt (Makefile.am): Likewise.
4783         * modules/getpagesize (Makefile.am): Likewise.
4784         * modules/getpass-gnu (Makefile.am): Likewise.
4785         * modules/getpass (Makefile.am): Likewise.
4786         * modules/getsubopt (Makefile.am): Likewise.
4787         * modules/gettime (Makefile.am): Likewise.
4788         * modules/gettimeofday (Makefile.am): Likewise.
4789         * modules/getugroups (Makefile.am): Likewise.
4790         * modules/getusershell (Makefile.am): Likewise.
4791         * modules/glob (Makefile.am): Likewise.
4792         * modules/group-member (Makefile.am): Likewise.
4793         * modules/hard-locale (Makefile.am): Likewise.
4794         * modules/hash (Makefile.am): Likewise.
4795         * modules/hmac-md5 (Makefile.am): Likewise.
4796         * modules/hmac-sha1 (Makefile.am): Likewise.
4797         * modules/human (Makefile.am): Likewise.
4798         * modules/idcache (Makefile.am): Likewise.
4799         * modules/imaxabs (Makefile.am): Likewise.
4800         * modules/imaxdiv (Makefile.am): Likewise.
4801         * modules/inet_ntop (Makefile.am): Likewise.
4802         * modules/inet_pton (Makefile.am): Likewise.
4803         * modules/intprops (Makefile.am): Likewise.
4804         * modules/inttostr (Makefile.am): Likewise.
4805         * modules/inttypes (Makefile.am): Likewise.
4806         * modules/isapipe (Makefile.am): Likewise.
4807         * modules/javaversion (Makefile.am): Likewise.
4808         * modules/lchmod (Makefile.am): Likewise.
4809         * modules/lchown (Makefile.am): Likewise.
4810         * modules/localcharset (Makefile.am): Likewise.
4811         * modules/long-options (Makefile.am): Likewise.
4812         * modules/lstat (Makefile.am): Likewise.
4813         * modules/malloc (Makefile.am): Likewise.
4814         * modules/mathl (Makefile.am): Likewise.
4815         * modules/mbchar (Makefile.am): Likewise.
4816         * modules/md2 (Makefile.am): Likewise.
4817         * modules/md4 (Makefile.am): Likewise.
4818         * modules/md5 (Makefile.am): Likewise.
4819         * modules/memcasecmp (Makefile.am): Likewise.
4820         * modules/memchr (Makefile.am): Likewise.
4821         * modules/memcmp (Makefile.am): Likewise.
4822         * modules/memcoll (Makefile.am): Likewise.
4823         * modules/memcpy (Makefile.am): Likewise.
4824         * modules/memmem (Makefile.am): Likewise.
4825         * modules/memmove (Makefile.am): Likewise.
4826         * modules/mempcpy (Makefile.am): Likewise.
4827         * modules/memrchr (Makefile.am): Likewise.
4828         * modules/memset (Makefile.am): Likewise.
4829         * modules/memxor (Makefile.am): Likewise.
4830         * modules/mkancesdirs (Makefile.am): Likewise.
4831         * modules/mkdir-p (Makefile.am): Likewise.
4832         * modules/mkdir (Makefile.am): Likewise.
4833         * modules/mkdtemp (Makefile.am): Likewise.
4834         * modules/mkstemp (Makefile.am): Likewise.
4835         * modules/mktime (Makefile.am): Likewise.
4836         * modules/modechange (Makefile.am): Likewise.
4837         * modules/mountlist (Makefile.am): Likewise.
4838         * modules/nanosleep (Makefile.am): Likewise.
4839         * modules/obstack (Makefile.am): Likewise.
4840         * modules/openat (Makefile.am): Likewise.
4841         * modules/pagealign_alloc (Makefile.am): Likewise.
4842         * modules/pathmax (Makefile.am): Likewise.
4843         * modules/physmem (Makefile.am): Likewise.
4844         * modules/poll (Makefile.am): Likewise.
4845         * modules/posixtm (Makefile.am): Likewise.
4846         * modules/posixver (Makefile.am): Likewise.
4847         * modules/putenv (Makefile.am): Likewise.
4848         * modules/quote (Makefile.am): Likewise.
4849         * modules/quotearg (Makefile.am): Likewise.
4850         * modules/raise (Makefile.am): Likewise.
4851         * modules/read-file (Makefile.am): Likewise.
4852         * modules/readline (Makefile.am): Likewise.
4853         * modules/readlink (Makefile.am): Likewise.
4854         * modules/readtokens (Makefile.am): Likewise.
4855         * modules/readutmp (Makefile.am): Likewise.
4856         * modules/realloc (Makefile.am): Likewise.
4857         * modules/regex (Makefile.am): Likewise.
4858         * modules/rename-dest-slash (Makefile.am): Likewise.
4859         * modules/rename (Makefile.am): Likewise.
4860         * modules/rijndael (Makefile.am): Likewise.
4861         * modules/rmdir (Makefile.am): Likewise.
4862         * modules/rpmatch (Makefile.am): Likewise.
4863         * modules/safe-read (Makefile.am): Likewise.
4864         * modules/safe-write (Makefile.am): Likewise.
4865         * modules/same-inode (Makefile.am): Likewise.
4866         * modules/same (Makefile.am): Likewise.
4867         * modules/save-cwd (Makefile.am): Likewise.
4868         * modules/savedir (Makefile.am): Likewise.
4869         * modules/setenv (Makefile.am): Likewise.
4870         * modules/settime (Makefile.am): Likewise.
4871         * modules/sha1 (Makefile.am): Likewise.
4872         * modules/sig2str (Makefile.am): Likewise.
4873         * modules/snprintf (Makefile.am): Likewise.
4874         * modules/stat-macros (Makefile.am): Likewise.
4875         * modules/stat-time (Makefile.am): Likewise.
4876         * modules/stdbool (Makefile.am): Likewise.
4877         * modules/stdint (Makefile.am): Likewise.
4878         * modules/stdlib-safer (Makefile.am): Likewise.
4879         * modules/stpcpy (Makefile.am): Likewise.
4880         * modules/stpncpy (Makefile.am): Likewise.
4881         * modules/strcase (Makefile.am): Likewise.
4882         * modules/strcasestr (Makefile.am): Likewise.
4883         * modules/strchrnul (Makefile.am): Likewise.
4884         * modules/strcspn (Makefile.am): Likewise.
4885         * modules/strdup (Makefile.am): Likewise.
4886         * modules/strerror (Makefile.am): Likewise.
4887         * modules/strftime (Makefile.am): Likewise.
4888         * modules/strndup (Makefile.am): Likewise.
4889         * modules/strnlen (Makefile.am): Likewise.
4890         * modules/strpbrk (Makefile.am): Likewise.
4891         * modules/strsep (Makefile.am): Likewise.
4892         * modules/strstr (Makefile.am): Likewise.
4893         * modules/strtod (Makefile.am): Likewise.
4894         * modules/strtoimax (Makefile.am): Likewise.
4895         * modules/strtok_r (Makefile.am): Likewise.
4896         * modules/strtol (Makefile.am): Likewise.
4897         * modules/strtoll (Makefile.am): Likewise.
4898         * modules/strtoul (Makefile.am): Likewise.
4899         * modules/strtoull (Makefile.am): Likewise.
4900         * modules/strtoumax (Makefile.am): Likewise.
4901         * modules/strverscmp (Makefile.am): Likewise.
4902         * modules/sys_socket (Makefile.am): Likewise.
4903         * modules/sys_stat (Makefile.am): Likewise.
4904         * modules/sysexits (Makefile.am): Likewise.
4905         * modules/time_r (Makefile.am): Likewise.
4906         * modules/timegm (Makefile.am): Likewise.
4907         * modules/timespec (Makefile.am): Likewise.
4908         * modules/tmpfile-safer (Makefile.am): Likewise.
4909         * modules/trim (Makefile.am): Likewise.
4910         * modules/unistd-safer (Makefile.am): Likewise.
4911         * modules/unlinkdir (Makefile.am): Likewise.
4912         * modules/unlocked-io (Makefile.am): Likewise.
4913         * modules/userspec (Makefile.am): Likewise.
4914         * modules/utime (Makefile.am): Likewise.
4915         * modules/utimecmp (Makefile.am): Likewise.
4916         * modules/utimens (Makefile.am): Likewise.
4917         * modules/vasnprintf (Makefile.am): Likewise.
4918         * modules/vasprintf (Makefile.am): Likewise.
4919         * modules/vsnprintf (Makefile.am): Likewise.
4920         * modules/xalloc (Makefile.am): Likewise.
4921         * modules/xgetcwd (Makefile.am): Likewise.
4922         * modules/xnanosleep (Makefile.am): Likewise.
4923         * modules/xreadlink (Makefile.am): Likewise.
4924         * modules/xstrtod (Makefile.am): Likewise.
4925         * modules/xstrtol (Makefile.am): Likewise.
4926         * modules/xstrtold (Makefile.am): Likewise.
4927         * modules/yesno (Makefile.am): Likewise.
4928         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
4929
4930 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4931
4932         * modules/error (Makefile.am): Distribute files through
4933         EXTRA_DIST, not lib_SOURCES.
4934
4935 2006-10-12  Eric Blake  <ebb9@byu.net>
4936
4937         * modules/error (Makefile.am): Distribute files in /lib.
4938         * modules/obstack (Makefile.am): Likewise.
4939
4940 2006-10-12  Bruno Haible  <bruno@clisp.org>
4941
4942         * modules/acl (Makefile.am): Distribute all files in lib/ through
4943         EXTRA_DIST.
4944         * modules/arcfour (Makefile.am): Likewise.
4945         * modules/arctwo (Makefile.am): Likewise.
4946         * modules/argmatch (Makefile.am): Likewise.
4947         * modules/argz (Makefile.am): Likewise.
4948         * modules/atexit (Makefile.am): Likewise.
4949         * modules/backupfile (Makefile.am): Likewise.
4950         * modules/c-strtod (Makefile.am): Likewise.
4951         * modules/c-strtold (Makefile.am): Likewise.
4952         * modules/calloc (Makefile.am): Likewise.
4953         * modules/canon-host (Makefile.am): Likewise.
4954         * modules/canonicalize (Makefile.am): Likewise.
4955         * modules/chdir-long (Makefile.am): Likewise.
4956         * modules/chdir-safer (Makefile.am): Likewise.
4957         * modules/check-version (Makefile.am): Likewise.
4958         * modules/chown (Makefile.am): Likewise.
4959         * modules/cloexec (Makefile.am): Likewise.
4960         * modules/close-stream (Makefile.am): Likewise.
4961         * modules/closeout (Makefile.am): Likewise.
4962         * modules/crc (Makefile.am): Likewise.
4963         * modules/cycle-check (Makefile.am): Likewise.
4964         * modules/des (Makefile.am): Likewise.
4965         * modules/dirfd (Makefile.am): Likewise.
4966         * modules/dirname (Makefile.am): Likewise.
4967         * modules/dup2 (Makefile.am): Likewise.
4968         * modules/euidaccess (Makefile.am): Likewise.
4969         * modules/exclude (Makefile.am): Likewise.
4970         * modules/exitfail (Makefile.am): Likewise.
4971         * modules/fcntl-safer (Makefile.am): Likewise.
4972         * modules/file-type (Makefile.am): Likewise.
4973         * modules/fileblocks (Makefile.am): Likewise.
4974         * modules/filemode (Makefile.am): Likewise.
4975         * modules/filenamecat (Makefile.am): Likewise.
4976         * modules/fnmatch (Makefile.am): Likewise.
4977         * modules/fopen-safer (Makefile.am): Likewise.
4978         * modules/fpending (Makefile.am): Likewise.
4979         * modules/fprintftime (Makefile.am): Likewise.
4980         * modules/free (Makefile.am): Likewise.
4981         * modules/fsusage (Makefile.am): Likewise.
4982         * modules/ftruncate (Makefile.am): Likewise.
4983         * modules/fts (Makefile.am): Likewise.
4984         * modules/gc (Makefile.am): Likewise.
4985         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4986         * modules/getaddrinfo (Makefile.am): Likewise.
4987         * modules/getcwd (Makefile.am): Likewise.
4988         * modules/getdelim (Makefile.am): Likewise.
4989         * modules/getdomainname (Makefile.am): Likewise.
4990         * modules/getgroups (Makefile.am): Likewise.
4991         * modules/gethostname (Makefile.am): Likewise.
4992         * modules/gethrxtime (Makefile.am): Likewise.
4993         * modules/getline (Makefile.am): Likewise.
4994         * modules/getloadavg (Makefile.am): Likewise.
4995         * modules/getlogin_r (Makefile.am): Likewise.
4996         * modules/getopt (Makefile.am): Likewise.
4997         * modules/getpass (Makefile.am): Likewise.
4998         * modules/getpass-gnu (Makefile.am): Likewise.
4999         * modules/getsubopt (Makefile.am): Likewise.
5000         * modules/gettime (Makefile.am): Likewise.
5001         * modules/gettimeofday (Makefile.am): Likewise.
5002         * modules/getugroups (Makefile.am): Likewise.
5003         * modules/getusershell (Makefile.am): Likewise.
5004         * modules/glob (Makefile.am): Likewise.
5005         * modules/group-member (Makefile.am): Likewise.
5006         * modules/hard-locale (Makefile.am): Likewise.
5007         * modules/hash (Makefile.am): Likewise.
5008         * modules/hmac-md5 (Makefile.am): Likewise.
5009         * modules/hmac-sha1 (Makefile.am): Likewise.
5010         * modules/human (Makefile.am): Likewise.
5011         * modules/idcache (Makefile.am): Likewise.
5012         * modules/imaxabs (Makefile.am): Likewise.
5013         * modules/imaxdiv (Makefile.am): Likewise.
5014         * modules/inet_ntop (Makefile.am): Likewise.
5015         * modules/inet_pton (Makefile.am): Likewise.
5016         * modules/inttostr (Makefile.am): Likewise.
5017         * modules/isapipe (Makefile.am): Likewise.
5018         * modules/lchown (Makefile.am): Likewise.
5019         * modules/long-options (Makefile.am): Likewise.
5020         * modules/lstat (Makefile.am): Likewise.
5021         * modules/malloc (Makefile.am): Likewise.
5022         * modules/mathl (Makefile.am): Likewise.
5023         * modules/mbchar (Makefile.am): Likewise.
5024         * modules/md2 (Makefile.am): Likewise.
5025         * modules/md4 (Makefile.am): Likewise.
5026         * modules/md5 (Makefile.am): Likewise.
5027         * modules/memcasecmp (Makefile.am): Likewise.
5028         * modules/memchr (Makefile.am): Likewise.
5029         * modules/memcmp (Makefile.am): Likewise.
5030         * modules/memcoll (Makefile.am): Likewise.
5031         * modules/memcpy (Makefile.am): Likewise.
5032         * modules/memmem (Makefile.am): Likewise.
5033         * modules/memmove (Makefile.am): Likewise.
5034         * modules/mempcpy (Makefile.am): Likewise.
5035         * modules/memrchr (Makefile.am): Likewise.
5036         * modules/memset (Makefile.am): Likewise.
5037         * modules/memxor (Makefile.am): Likewise.
5038         * modules/mkancesdirs (Makefile.am): Likewise.
5039         * modules/mkdir (Makefile.am): Likewise.
5040         * modules/mkdir-p (Makefile.am): Likewise.
5041         * modules/mkdtemp (Makefile.am): Likewise.
5042         * modules/mkstemp (Makefile.am): Likewise.
5043         * modules/mktime (Makefile.am): Likewise.
5044         * modules/modechange (Makefile.am): Likewise.
5045         * modules/mountlist (Makefile.am): Likewise.
5046         * modules/nanosleep (Makefile.am): Likewise.
5047         * modules/openat (Makefile.am): Likewise.
5048         * modules/pagealign_alloc (Makefile.am): Likewise.
5049         * modules/physmem (Makefile.am): Likewise.
5050         * modules/poll (Makefile.am): Likewise.
5051         * modules/posixtm (Makefile.am): Likewise.
5052         * modules/posixver (Makefile.am): Likewise.
5053         * modules/putenv (Makefile.am): Likewise.
5054         * modules/quote (Makefile.am): Likewise.
5055         * modules/quotearg (Makefile.am): Likewise.
5056         * modules/raise (Makefile.am): Likewise.
5057         * modules/read-file (Makefile.am): Likewise.
5058         * modules/readline (Makefile.am): Likewise.
5059         * modules/readlink (Makefile.am): Likewise.
5060         * modules/readtokens (Makefile.am): Likewise.
5061         * modules/readutmp (Makefile.am): Likewise.
5062         * modules/realloc (Makefile.am): Likewise.
5063         * modules/regex (Makefile.am): Likewise.
5064         * modules/rename (Makefile.am): Likewise.
5065         * modules/rename-dest-slash (Makefile.am): Likewise.
5066         * modules/rijndael (Makefile.am): Likewise.
5067         * modules/rmdir (Makefile.am): Likewise.
5068         * modules/rpmatch (Makefile.am): Likewise.
5069         * modules/safe-read (Makefile.am): Likewise.
5070         * modules/safe-write (Makefile.am): Likewise.
5071         * modules/same (Makefile.am): Likewise.
5072         * modules/save-cwd (Makefile.am): Likewise.
5073         * modules/savedir (Makefile.am): Likewise.
5074         * modules/setenv (Makefile.am): Likewise.
5075         * modules/settime (Makefile.am): Likewise.
5076         * modules/sha1 (Makefile.am): Likewise.
5077         * modules/sig2str (Makefile.am): Likewise.
5078         * modules/snprintf (Makefile.am): Likewise.
5079         * modules/stdlib-safer (Makefile.am): Likewise.
5080         * modules/stpcpy (Makefile.am): Likewise.
5081         * modules/stpncpy (Makefile.am): Likewise.
5082         * modules/strcase (Makefile.am): Likewise.
5083         * modules/strcasestr (Makefile.am): Likewise.
5084         * modules/strchrnul (Makefile.am): Likewise.
5085         * modules/strcspn (Makefile.am): Likewise.
5086         * modules/strdup (Makefile.am): Likewise.
5087         * modules/strerror (Makefile.am): Likewise.
5088         * modules/strftime (Makefile.am): Likewise.
5089         * modules/strndup (Makefile.am): Likewise.
5090         * modules/strnlen (Makefile.am): Likewise.
5091         * modules/strpbrk (Makefile.am): Likewise.
5092         * modules/strsep (Makefile.am): Likewise.
5093         * modules/strstr (Makefile.am): Likewise.
5094         * modules/strtod (Makefile.am): Likewise.
5095         * modules/strtoimax (Makefile.am): Likewise.
5096         * modules/strtok_r (Makefile.am): Likewise.
5097         * modules/strtol (Makefile.am): Likewise.
5098         * modules/strtoll (Makefile.am): Likewise.
5099         * modules/strtoul (Makefile.am): Likewise.
5100         * modules/strtoull (Makefile.am): Likewise.
5101         * modules/strtoumax (Makefile.am): Likewise.
5102         * modules/strverscmp (Makefile.am): Likewise.
5103         * modules/time_r (Makefile.am): Likewise.
5104         * modules/timegm (Makefile.am): Likewise.
5105         * modules/tmpfile-safer (Makefile.am): Likewise.
5106         * modules/unistd-safer (Makefile.am): Likewise.
5107         * modules/unlinkdir (Makefile.am): Likewise.
5108         * modules/userspec (Makefile.am): Likewise.
5109         * modules/utime (Makefile.am): Likewise.
5110         * modules/utimecmp (Makefile.am): Likewise.
5111         * modules/utimens (Makefile.am): Likewise.
5112         * modules/vasnprintf (Makefile.am): Likewise.
5113         * modules/vasprintf (Makefile.am): Likewise.
5114         * modules/vsnprintf (Makefile.am): Likewise.
5115         * modules/xalloc (Makefile.am): Likewise.
5116         * modules/xgetcwd (Makefile.am): Likewise.
5117         * modules/xnanosleep (Makefile.am): Likewise.
5118         * modules/xreadlink (Makefile.am): Likewise.
5119         * modules/xstrtod (Makefile.am): Likewise.
5120         * modules/xstrtol (Makefile.am): Likewise.
5121         * modules/xstrtold (Makefile.am): Likewise.
5122         * modules/yesno (Makefile.am): Likewise.
5123
5124 2006-10-12  Jim Meyering  <jim@meyering.net>
5125
5126         * m4/getloadavg.m4: Revert the change below.
5127
5128         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
5129         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
5130         fail with a symlink, which is what coreutils' ./bootstrap now
5131         creates by default.
5132
5133 2006-10-12  Bruno Haible  <bruno@clisp.org>
5134
5135         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
5136         mingw.
5137         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
5138         MSVC and mingw explicitly.
5139
5140 2006-10-11  Simon Josefsson  <jas@extundo.com>
5141             Bruno Haible  <bruno@clisp.org>
5142
5143         Add support for multiple gnulib-tool invocations in the scope of a
5144         single configure.ac file.
5145         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
5146         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
5147         with the same contents as the _LIBADD variable.
5148         (func_emit_initmacro_start, func_emit_initmacro_end,
5149         func_emit_initmacro_done): New functions.
5150         (func_import, func_create_testdir): Invoke them. Allow the identifiers
5151         gl_LIBOBJS and gl_LTLIBOBJS.
5152
5153 2006-10-11  Bruno Haible  <bruno@clisp.org>
5154
5155         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
5156         (func_create_testdir): Don't create po/Makefile.am, don't invoke
5157         autoreconf. Instead, invoke autopoint explicitly but move back the
5158         *.m4 files from gnulib.
5159
5160 2006-10-11  Bruno Haible  <bruno@clisp.org>
5161
5162         * gnulib-tool (func_usage): Make module names after --create-testdir
5163         optional.
5164         (func_create_testdir): If no module was specified, use nearly all
5165         modules.
5166
5167 2006-10-12  Jim Meyering  <jim@meyering.net>
5168
5169         Big performance improvement for fts-based tools that use FTS_NOSTAT.
5170         Avoid spurious inode-mismatch problems on non-POSIX file systems.
5171         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
5172         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
5173         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
5174         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
5175         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
5176         (fts_set_stat_required): New function.
5177         (fts_open): Defer the calls to fts_stat, if possible or requested.
5178         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
5179         into fts_stat itself.
5180         (fts_read): Perform any required (deferred) fts_stat call.
5181         (fts_build): Likewise, for the directory we're about to open and read.
5182         In the readdir loop, carefully decide whether each entry will require
5183         an eventual call to fts_stat, using dirent.d_type info if available.
5184         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
5185         a command line argument into this function.  Update all callers.
5186         Map a return value of FTS_DOT to FTS_D for a command line argument.
5187         * modules/fts (Depends-on): Add d-type.  Alphabetize.
5188         Thanks to Miklos Szeredi for his tenacity and for the initial
5189         bug report about "find" failing on a FUSE-based file system.
5190
5191         * lib/fts.c (fts_open): Use consistent indentation.
5192
5193 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
5194
5195         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
5196         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
5197         reported by Jim Meyering.  All uses of cache variables renamed
5198         to match Autoconf's.
5199         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
5200         the other one.
5201
5202         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
5203         Fix misspelling in diagnostic.
5204
5205 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
5206
5207         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
5208         defined.  Problem reported by Matthew Woehlke.
5209
5210         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
5211         Add support for Tandem NonStop R series.
5212         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
5213         Use new macro.
5214
5215         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
5216         (has_trailing_slash): Omit size arg; all callers changed.
5217         Omit 'inline', since it doesn't help performance and we'd
5218         need to configure it.
5219         Don't count //, ///, etc. as having a trailing slash.
5220         As a side effect, this removes a C99ism reported by Matthew Woehlke.
5221         (rpl_rename_dest_slash): On failure, use rename's errno rather
5222         than (in some cases) an incorrect or junk errno.
5223         Simplify code by removing need to compute length; this does
5224         cause it to make two passes instead of one over the file name,
5225         but it's worth it.
5226
5227         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
5228         change, since Autoconf's version may no longer be appropriate now
5229         that we are using CVS Autoconf's version.  Add support for Tandem.
5230
5231 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
5232             Bruno Haible  <bruno@clisp.org>
5233
5234         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
5235         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
5236         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
5237         gl_AC_TYPE_LONG_LONG.
5238
5239         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
5240         instead of HAVE_LONG_LONG.
5241         * lib/printf-args.c (printf_fetchargs): Likewise.
5242         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
5243         * lib/vasnprintf.c (VASNPRINTF): Likewise.
5244         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
5245         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
5246         gl_AC_TYPE_LONG_LONG.
5247
5248 2006-10-11  Bruno Haible  <bruno@clisp.org>
5249
5250         * m4/longlong.m4: Add comments.
5251         * m4/ulonglong.m4: Likewise.
5252
5253 2006-10-10  Bruno Haible  <bruno@clisp.org>
5254
5255         Make it possible to #define stpcpy, strdup to aliases.
5256         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
5257         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
5258
5259 2006-10-10  Bruno Haible  <bruno@clisp.org>
5260
5261         Make it possible to #define gcd to an alias.
5262         * lib/gcd.c: Include config.h.
5263
5264 2006-10-10  Bruno Haible  <bruno@clisp.org>
5265
5266         Make it possible to #define c_isascii to an alias.
5267         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
5268         defined. Undefine the macros before defining them, to avoid gcc
5269         warnings.
5270         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
5271         define NO_C_CTYPE_MACROS early.
5272
5273 2006-10-10  Bruno Haible  <bruno@clisp.org>
5274
5275         Make it possible to #define set_program_name to an alias.
5276         * lib/progname.c: Don't undefine set_program_name; instead, undefine
5277         ENABLE_RELOCATABLE early.
5278
5279 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
5280
5281         Port to Tandem NSK OSS, which has 64-bit signed int but at most
5282         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
5283         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
5284         More generally, don't assume that 64-bit signed int is available
5285         if unsigned int is, and vice versa.
5286         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
5287         unsigned symbols, not on their signed counterparts.
5288         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
5289         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
5290         (UINT64_C, UINTMAX_C):
5291         Likewise.
5292         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
5293         unsigned counterparts.
5294         (Have_long_long, Unsigned): New macros.
5295         (Int): Renamed from INT.
5296         (strtoimax): Use the new macros.
5297         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
5298         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
5299         * modules/inttypes (inttypes.h): Substitute
5300         HAVE_UNSIGNED_LONG_LONG_INT.
5301         * modules/stdint (stdint.h): Likewise.
5302         (Files): Add m4/ulonglong.m4.
5303
5304 2006-10-10  Bruno Haible  <bruno@clisp.org>
5305
5306         Fix a gcc -Wshadow warning.
5307         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
5308         to 'bucket'.
5309         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
5310         gl_linked_indexof_from_to): Likewise.
5311         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
5312         Likewise.
5313         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
5314         Likewise.
5315         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
5316         Reported by Eric Blake.
5317
5318 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
5319
5320         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
5321         for NetBSD.  Problem reported by Bruno Haible.
5322
5323 2006-10-09  Jim Meyering  <jim@meyering.net>
5324
5325         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
5326         Patch from Bruno Haible.
5327
5328 2006-10-09  Jim Meyering  <jim@meyering.net>
5329
5330         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
5331         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
5332         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
5333
5334 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5335
5336         Don't include <config.h> twice; this doesn't work in some cases,
5337         e.g., when config.h has "#define intmax_t long long int" and
5338         we include <config.h>, <inttypes.h>, <config.h> in that order.
5339         Problem reported by Matthew Woehlke in:
5340         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
5341         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
5342         * lib/fts-cycle.c: Don't include config.h.
5343         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
5344         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
5345         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
5346         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
5347         inttypes.h.
5348         * lib/xstrtoumax.c: Likewise.
5349         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
5350         __strtol and the like, so that this module is more like its siblings.
5351         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
5352         Remove; no longer needed now that we assume gnulib inttypes.h.
5353
5354 2006-10-08  Bruno Haible  <bruno@clisp.org>
5355
5356         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
5357         option.
5358
5359 2006-10-07  Jim Meyering  <jim@meyering.net>
5360
5361         * modules/inttypes (inttypes.h): Revert what seems to have been
5362         an inadvertent part of today's change: use "|", not "/" in the
5363         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
5364
5365 2006-10-07  Bruno Haible  <bruno@clisp.org>
5366
5367         * modules/sublist: New file.
5368
5369 2006-10-07  Bruno Haible  <bruno@clisp.org>
5370
5371         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
5372         * modules/argz (argz.h): Likewise.
5373         * modules/arpa_inet (arpa/inet.h): Likewise.
5374         * modules/byteswap (byteswap.h): Likewise.
5375         * modules/configmake (configmake.h): Likewise.
5376         * modules/fcntl (fcntl.h): Likewise.
5377         * modules/fnmatch (fnmatch.h): Likewise.
5378         * modules/getopt (getopt.h): Likewise.
5379         * modules/glob (glob.h): Likewise.
5380         * modules/inttypes (inttypes.h): Likewise.
5381         * modules/netinet_in (netinet/in.h): Likewise.
5382         * modules/poll (poll.h): Likewise.
5383         * modules/stdbool (stdbool.h): Likewise.
5384         * modules/stdint (stdint.h): Likewise.
5385         * modules/sys_select (sys/select.h): Likewise.
5386         * modules/sys_socket (sys/socket.h): Likewise.
5387         * modules/sys_stat (sys/stat.h): Likewise.
5388         * modules/sysexits (sysexits.h): Likewise.
5389         * modules/unistd (unistd.h): Likewise.
5390         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5391         Add a "DO NOT EDIT" comment to the generated file.
5392         (func_import): Likewise for gnulib-comp.m4.
5393
5394 2006-10-07  Bruno Haible  <bruno@clisp.org>
5395
5396         * lib/gl_sublist.h: New file.
5397         * lib/gl_sublist.c: New file.
5398
5399 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
5400
5401         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
5402         name (relative to the original working directory) and the file
5403         name component (relative to the temporary working directory).  All
5404         callers changed.
5405         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
5406         * lib/mkdir-p.c (make_dir_parents): Likewise.
5407         * lib/mkdir-p.h (make_dir_parents): Likewise.
5408
5409 2006-10-06  Eric Blake  <ebb9@byu.net>
5410
5411         Define several macros for use by the clean-temp module.
5412         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
5413         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
5414         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
5415
5416         * lib/clean-temp.h (close_stream_temp): New declaration.
5417         * lib/clean-temp.c (includes): Pull in headers according to what
5418         other modules are in use.
5419         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
5420
5421 2006-10-06  Bruno Haible  <bruno@clisp.org>
5422
5423         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
5424         instead of fopen, fwriteerror.
5425
5426 2006-10-06  Bruno Haible  <bruno@clisp.org>
5427
5428         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
5429         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
5430         int.
5431         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
5432         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
5433         Return an error indicator.
5434         Suggested by Eric Blake.
5435
5436 2006-10-06  Bruno Haible  <bruno@clisp.org>
5437
5438         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
5439         Reported by Eric Blake.
5440
5441 2006-10-06  Bruno Haible  <bruno@clisp.org>
5442
5443         * modules/closeout (Description): Mention stderr too.
5444
5445 2006-10-06  Bruno Haible  <bruno@clisp.org>
5446         and Paul Eggert  <eggert@cs.ucla.edu>
5447
5448         * lib/closeout.c (close_stdout): Also close stderr.
5449         * lib/closeout.h: Update comment.
5450
5451 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5452
5453         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
5454         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
5455         * lib/dirchownmod.c: Include lchown.h.
5456         * lib/lchown.c: Don't include files that lchown.h now includes.
5457         Don't declare chown, since lchown.h now does that.
5458         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
5459         (lchown): Define to rpl_chown if lchown is declared but
5460         does not exist.  Declare using a prototype if lchown is not
5461         declared.  Add a copyright notice.
5462         * lib/mkstemp.h: Include <unistd.h>.
5463         * lib/openat.c: Include lchown.h.
5464
5465         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
5466         we now test for that separately.
5467         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
5468         rather than O_NOFOLLOW, when testing whether it's possible to
5469         avoid a race condition reliably.
5470         * lib/savewd.c (savewd_chdir): Likewise.
5471
5472         Remove macros that are no longer needed now that stdint.h is
5473         reliable.
5474         * lib/fsusage.c (UINTMAX_MAX): Remove.
5475         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
5476         * lib/utimecmp.c (SIZE_MAX): Remove.
5477
5478         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
5479
5480         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
5481         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
5482         O_NOATIME works.
5483
5484 2006-10-05  Bruno Haible  <bruno@clisp.org>
5485
5486         * lib/gl_list.h (gl_sortedlist_search_from_to,
5487         gl_sortedlist_indexof_from_to): New declarations.
5488         (gl_list_implementation): New fields sortedlist_search_from_to,
5489         sortedlist_indexof_from_to.
5490         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
5491         inline functions.
5492         * lib/gl_list.c (gl_sortedlist_search_from_to,
5493         gl_sortedlist_indexof_from_to): New functions.
5494         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
5495         function.
5496         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
5497         (gl_array_sortedlist_search_from_to): New function.
5498         (gl_array_list_implementation): Update.
5499         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
5500         function.
5501         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
5502         (gl_carray_sortedlist_search_from_to): New function.
5503         (gl_carray_list_implementation): Update.
5504         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
5505         gl_linked_sortedlist_indexof_from_to): New functions.
5506         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5507         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5508         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
5509         gl_tree_sortedlist_indexof_from_to): New functions.
5510         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5511         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5512         Update.
5513         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5514         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
5515         Update.
5516
5517 2006-10-05  Bruno Haible  <bruno@clisp.org>
5518
5519         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
5520         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
5521         (struct gl_list_implementation): Add fields search_from_to,
5522         indexof_from_to. Remove fields search, indexof.
5523         (gl_list_search): Use the search_from_to method.
5524         (gl_list_search_from, gl_list_search_from_to): New functions.
5525         (gl_list_indexof): Use the indexof_from_to method.
5526         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5527         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
5528         (gl_list_search_from, gl_list_search_from_to): New functions.
5529         (gl_list_indexof): Use the indexof_from_to method.
5530         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5531         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
5532         gl_array_indexof. Add start_index, end_index arguments.
5533         (gl_array_search_from_to): Renamed from gl_array_search. Add
5534         start_index, end_index arguments.
5535         (gl_array_remove, gl_array_list_implementation): Update.
5536         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
5537         gl_carray_indexof. Add start_index, end_index arguments.
5538         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
5539         start_index, end_index arguments.
5540         (gl_carray_remove, gl_carray_list_implementation): Update.
5541         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
5542         gl_linked_search. Add start_index, end_index arguments.
5543         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
5544         start_index, end_index arguments.
5545         (gl_linked_remove): Update.
5546         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5547         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5548         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
5549         field to 'size_t'.
5550         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
5551         gl_tree_search. Add start_index, end_index arguments.
5552         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5553         start_index, end_index arguments.
5554         (gl_tree_remove): Update.
5555         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5556         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5557         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
5558         function.
5559         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
5560         gl_tree_search. Add start_index, end_index arguments.
5561         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5562         start_index, end_index arguments.
5563         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5564         Update.
5565         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
5566
5567 2006-10-05  Bruno Haible  <bruno@clisp.org>
5568
5569         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
5570
5571         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5572         fwriteerror_temp): New declarations.
5573         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
5574         (descriptors): New variable.
5575         (cleanup): First, close the descriptors.
5576         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
5577         fclose_temp, fwriteerror_temp): New functions.
5578
5579 2006-10-04  Jim Meyering  <jim@meyering.net>
5580
5581         * lib/fts.c (fts_open): Tiny comment change.
5582
5583 2006-10-04  Bruno Haible  <bruno@clisp.org>
5584
5585         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
5586         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
5587         gl_LOCK_BODY.
5588         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
5589         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
5590         gl_LOCK_EARLY_BODY.
5591         (gl_LOCK): Require gl_LOCK_BODY.
5592
5593 2006-10-04  Bruno Haible  <bruno@clisp.org>
5594
5595         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
5596         (gl_oset_search_atleast): New declaration.
5597         (struct gl_oset_implementation): Add field 'search_atleast'.
5598         (gl_oset_search_atleast): New inline function.
5599         * lib/gl_oset.c (gl_oset_search_atleast): New function.
5600         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
5601         (gl_array_oset_implementation): Update.
5602         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
5603         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
5604         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
5605
5606 2006-10-04  Bruno Haible  <bruno@clisp.org>
5607
5608         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
5609
5610 2006-10-03  Bruno Haible  <bruno@clisp.org>
5611
5612         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
5613         from gl_avltreehash_list_implementation.
5614
5615 2006-10-03  Bruno Haible  <bruno@clisp.org>
5616
5617         * lib/gl_oset.c (gl_oset_add): Fix return type.
5618
5619 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
5620
5621         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
5622
5623 2006-10-02  Eric Blake  <ebb9@byu.net>
5624
5625         * modules/strnlen (Depends-on): Add extensions.
5626
5627 2006-10-02  Eric Blake  <ebb9@byu.net>
5628
5629         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
5630         definition in 2.60+.
5631
5632 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
5633
5634         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
5635         checks.
5636
5637 2006-10-02  Bruno Haible  <bruno@clisp.org>
5638
5639         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
5640         to the AUTOMAKE_OPTIONS.
5641         Reported by Jim Meyering.
5642
5643 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
5644
5645         Work around bug in Solaris 10 /proc file system:
5646         /proc/self/fd/NNN/.. isn't the parent directory of
5647         the directory whose file descriptor is NNN.  This needs to
5648         be worked around at run time, not compile time, since a
5649         program might be built on Solaris 8, where things work, and
5650         run on Solaris 10.
5651         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
5652         to use the following interface instead:
5653         (OPENAT_BUFFER_SIZE): New macro.
5654         (openat_proc_name): New function.
5655         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
5656         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
5657         Likewise.
5658         * lib/openat-proc.c: New file.
5659         * modules/openat (Files): Add lib/openat-proc.c.
5660         (Depends-on): Add same-inode, stdbool.
5661         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
5662
5663 2006-09-29  Bruno Haible  <bruno@clisp.org>
5664
5665         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
5666         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
5667         argument. Set stdout_closed before testing for ferror, not after.
5668         (fwriteerror, fwriteerror_no_ebadf): New functions.
5669
5670 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5671
5672         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
5673
5674 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
5675
5676         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
5677         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
5678
5679 2006-09-28  Jim Meyering  <jim@meyering.net>
5680
5681         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
5682         Include <unistd.h>.
5683
5684 2006-09-28  Bruno Haible  <bruno@clisp.org>
5685
5686         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
5687         * modules/linkedhash-list (Depends-on): Likewise.
5688         * modules/rbtreehash-list (Depends-on): Likewise.
5689
5690 2006-09-28  Bruno Haible  <bruno@clisp.org>
5691
5692         * lib/strndup.h: Simplify the redefinition of strndup.
5693         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
5694         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
5695
5696 2006-09-28  Bruno Haible  <bruno@clisp.org>
5697
5698         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
5699         * lib/gl_linkedhash_list.c: Likewise.
5700         * lib/gl_rbtreehash_list.c: Likewise.
5701
5702 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
5703
5704         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
5705         getaddrinfo.
5706
5707         * lib/__fpending.h: Don't include <stdio_ext.h> unless
5708         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
5709         it causes <stdio_ext.h> to cause a compile-time error.
5710         Problem reported by Nelson H. F. Beebe.
5711         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
5712         of HAVE_DECL___PENDING.
5713
5714         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
5715         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
5716         declaration.
5717
5718 2006-09-27  Jim Meyering  <jim@meyering.net>
5719
5720         This file could end up with a definition for a function
5721         named __strndup, rather than rpl_strndup on a system with
5722         incomplete weak_alias support.
5723         * lib/strndup.c (strndup): Rename from __strndup.
5724         Remove #defines that used to map __strndup to strndup.
5725         Don't use K&R prototypes.
5726         Remove LIBC-related code, since this file is not sync'd with glibc.
5727         * lib/strndup.h: Revamp, accordingly.
5728         * m4/strndup.m4: Modernize.
5729
5730 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5731
5732         * modules/savewd (Depends-on): Add 'raise'.
5733         * lib/savewd.c: Include <signal.h>, for 'raise'.
5734
5735 2006-09-26  Jim Meyering  <jim@meyering.net>
5736
5737         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
5738         when we detect Darwin 8.7.0's acl_get_file bug.
5739         Rearrange to perform the new (below) run-test while $LIBS
5740         contains any acl-related library.  Set USE_ACL at the end.
5741         (gl_ACL_GET_FILE): New function.
5742
5743 2006-09-26  Eric Blake  <ebb9@byu.net>
5744
5745         * lib/verror.c: Include <config.h> unconditionally.
5746
5747 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
5748
5749         * modules/clock-time (Maintainer): Add self.
5750         * modules/getlogin_r (Depends-on): Add extensions.
5751
5752 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5753
5754         * modules/clock-time: New module.
5755         * modules/nanosleep (Depends-on): Add clock-time.
5756         * modules/gethrxtime (Depends-on): Likewise.
5757         * modules/gettime (Depends-on): Likewise.
5758         * modules/settime (Depends-on): Likewise.
5759
5760         * modules/fts-lgpl: Depend on openat.
5761         * modules/mkancesdirs: Depend on savewd.
5762         * modules/mkdir-p: Likewise.
5763
5764 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5765
5766         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
5767
5768         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
5769         `gl_have_arbitrary_file_name_length_limit' to
5770         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
5771         actually works between configure runs.
5772
5773 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5774             Bruno Haible  <bruno@clisp.org>
5775
5776         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
5777
5778 2006-09-25  Jim Meyering  <jim@meyering.net>
5779
5780         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
5781         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
5782
5783 2006-09-25  Eric Blake  <ebb9@byu.net>
5784
5785         * gnulib-tool (func_import, func_create_testdir): Fix typos in
5786         exec's in 2006-09-18 patch when shuffling fds.
5787
5788 2006-09-25  Bruno Haible  <bruno@clisp.org>
5789
5790         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
5791         Reported by Jim Meyering.
5792
5793 2006-09-24  Jim Meyering  <jim@meyering.net>
5794
5795         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
5796         compare a pointer against a literal "0".  That caused failures with
5797         at least HP-UX's hpcc.
5798
5799 2006-09-22  Simon Josefsson  <jas@extundo.com>
5800
5801         * modules/gc-sha1:
5802         * modules/gc-md4:
5803         * modules/gc-hmac-sha1:
5804         * modules/gc-hmac-md5:
5805         * modules/gc-des:
5806         * modules/gc-arcfour: Distribute more files.
5807
5808 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5809
5810         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
5811         (gl_linked_iterator_from_to): Initialize struct completely.
5812         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
5813         (gl_tree_iterator_from_to): Likewise
5814         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
5815         * lib/gl_array_list.c [lint] (gl_array_iterator)
5816         (gl_array_iterator_from_to): Likewise.
5817         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
5818         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
5819         (gl_carray_iterator_from_to): Likewise.
5820
5821         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
5822         * lib/md4.c (md4_process_block): Remove unused variable.
5823         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
5824         parentheses for clarity.
5825
5826 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5827
5828         * modules/bison-i18n (Depends-on): Add gettext.
5829
5830 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5831
5832         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
5833         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
5834         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
5835         also add missing comma that caused broken test.
5836         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
5837         stdlib.h, for `abort'.
5838         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
5839         variables.
5840         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
5841         include unistd.h if present, for `rmdir'.
5842         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
5843         variables.
5844         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
5845         in the process include standard headers for prototypes.
5846         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
5847         gets declared on GNU/Linux.
5848         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
5849         unistd.h, for `rmdir'.
5850         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
5851
5852         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
5853         always true.
5854         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
5855
5856         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
5857
5858 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5859
5860         * gnulib-tool (func_version): Create output all at once.  This
5861         may help avoid triggering unnecessary SIGPIPEs, and at any
5862         rate it doesn't hurt.
5863
5864 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5865             Bruno Haible  <bruno@clisp.org>
5866
5867         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
5868         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
5869         * m4/signed.m4 (bh_C_SIGNED): Likewise.
5870
5871         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
5872         (gl_FUNC_VASPRINTF): Invoke it.
5873
5874 2006-09-22  Bruno Haible  <bruno@clisp.org>
5875
5876         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
5877         getloadavg.c as first argument.
5878
5879 2006-09-22  Bruno Haible  <bruno@clisp.org>
5880
5881         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
5882         at the beginning of the gl_INIT macro.
5883         * modules/getloadavg (configure.ac): Pass $gl_source_base to
5884         gl_GETLOADAVG.
5885
5886 2006-09-22  Bruno Haible  <bruno@clisp.org>
5887
5888         * gnulib-tool (func_create_megatestdir): Don't include the config-h
5889         module.
5890         Suggested by Ralf Wildenhues.
5891
5892 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
5893
5894         Import this patch from libc:
5895
5896         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
5897
5898         * lib/regex_internal.c (re_string_reconstruct): Handle
5899         offset < pstr->valid_raw_len && pstr->offsets_needed case.
5900         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
5901         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
5902         re_string_context_at.
5903
5904         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
5905         now requires it.
5906         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
5907         gl_REGEX now does it for us.
5908         (gl_REGEX): Add test taken from
5909         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
5910
5911         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
5912         Check that large offsets work.  Modernize Autoconf usages.
5913         Prefer "yes" to mean a good thing rather than a bad.
5914         Don't put "#define mkstemp" in config.h, as this might interfere
5915         with standard system headers that "#define mkstemp mkstemp64".
5916
5917         * modules/mkstemp (Depends-on): Add extensions, so that
5918         mkstemp is visible on some platforms.
5919         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
5920         (Include): Change to "mkstemp.h" from <stdlib.h>.
5921         (Files): Add mkstemp.h.
5922
5923         * lib/mkstemp.h: New file, since some standard headers
5924         #define mkstemp.
5925         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
5926         Include "mkstemp.h".
5927         Make the _LIBC code resemble glibc original more,
5928         e.g., use K&R style.
5929         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
5930         (mkstemp): Remove, since mkstemp.h does this for us.
5931         * lib/stdlib--.h: Include mkstemp.h.
5932
5933         Import this patch from libc:
5934
5935         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5936
5937         * lib/tempname.c (__gen_tempname): Change attempts_min
5938         into a macro.  Use preprocessor to decide how to initialize
5939         attempts [Coverity CID 67].
5940
5941 2006-09-20  Bruno Haible  <bruno@clisp.org>
5942
5943         * lib/mkdtemp.c: Import from libc.
5944         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5945                 * sysdeps/posix/tempname.c (__gen_tempname): Change
5946                 attempts_min into a macro.  Use preprocessor to decide how to
5947                 initialize attempts [Coverity CID 67].
5948         2001-11-27  Paul Eggert  <eggert@twinsun.com>
5949                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
5950                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
5951
5952 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5953
5954         * gnulib-tool (func_exit): New function, to allow to pass the
5955         exit status portably through the trap.  Use everywhere.
5956         (--help, --version): Signal a write error.
5957         (trap): catch SIGPIPE, for write errors.
5958         Exit at the end of the trap, with the correct exit status.
5959
5960 2006-09-19  Karl Berry  <karl@gnu.org>
5961
5962         * doc/gnulib.texi: note about the license texinfo files.
5963
5964 2006-09-19  Eric Blake  <ebb9@byu.net>
5965
5966         * gnulib-tool: Avoid space-tab.
5967
5968 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5969
5970         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
5971         that prevented coreutils 6.1 from building.  Problem reported
5972         by Petter Reinholdtsen.
5973
5974 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5975
5976         * gnulib-tool (avoidlist): Fix typo that broke options like
5977         --avoid=lock that are used by coreutils bootstrap.
5978
5979 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
5980
5981         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
5982         more systematically.
5983
5984 2006-09-18  Jim Meyering  <jim@meyering.net>
5985
5986         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
5987
5988 2006-09-18  Bruno Haible  <bruno@clisp.org>
5989
5990         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
5991
5992 2006-09-18  Bruno Haible  <bruno@clisp.org>
5993
5994         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
5995         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
5996         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
5997         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
5998         * m4/gettext.m4: Require autoconf >= 2.52.
5999         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
6000         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
6001         of gl_cv_header_inttypes_h.
6002
6003 2006-09-18  Bruno Haible  <bruno@clisp.org>
6004
6005         * lib/javaversion.c: Include configmake.h.
6006
6007 2006-09-18  Bruno Haible  <bruno@clisp.org>
6008
6009         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
6010         avoid that the while loops be executed in a subshell.
6011
6012 2006-09-18  Bruno Haible  <bruno@clisp.org>
6013
6014         * MODULES.html.sh (func_module): Break long lines.
6015         Suggested by Bruce Korb <bkorb@gnu.org>.
6016
6017 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6018
6019         Speed up by a factor of 1.12.
6020         * gnulib-tool (nl): New variable.
6021         (func_import): Rewrite include directive extraction to only read each
6022         directive once.
6023
6024 2006-09-17  Bruno Haible  <bruno@clisp.org>
6025
6026         * modules/javaversion (Makefile.am): Remove DEFS setting.
6027         (Depends-on): Add configmake, for PKGDATADIR definition.
6028
6029 2006-09-17  Bruno Haible  <bruno@clisp.org>
6030
6031         * gnulib-tool (func_create_testdir): Rewrite all files at once.
6032
6033 2006-09-17  Bruno Haible  <bruno@clisp.org>
6034
6035         * gnulib-tool (func_append): New function, stolen from libtool.m4.
6036         (func_modules_transitive_closure, func_modules_add_dummy,
6037         func_modules_to_filelist, func_import, func_create_testdir,
6038         func_create_megatestdir, ...): Use it wherever possible.
6039         Suggested by Ralf Wildenhues.
6040
6041 2006-09-16  Karl Berry  <karl@gnu.org>
6042
6043         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
6044         to avoid sectioning errors.
6045         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
6046         [ifinfo]: blank line after @center-ed titles.
6047         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
6048         Spell FSF address consistently with others.
6049         (These changes approved by rms.)
6050
6051 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6052
6053         Speed up by a factor of 1.61.
6054         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
6055         already checked module names again.
6056
6057 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6058
6059         Speed up by a factor of 1.13.
6060         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
6061         for new_files, and the input to func_add_or_update.
6062
6063 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6064
6065         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
6066         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
6067
6068 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
6069
6070         * modules/mkancesdirs (Depends-on): Add fcntl.
6071         * modules/savewd: New file.
6072         * MODULES.html.sh (File system functions): Add savewd.
6073
6074         * modules/configmake (Makefile.am): Add support for the
6075         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
6076
6077 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
6078
6079         * m4/savewd.m4: New file.
6080
6081 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
6082
6083         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
6084         (dirchownmod): New arg FD.  All callers changed.
6085         Use FD rather than opening the directory ourself, as opening is
6086         now the caller's responsibility.
6087         * lib/dirchownmod.h: Likewise.
6088         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
6089         hosts that require <sys/types.h> before <sys/stat.h>.  Include
6090         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
6091         (test_dir): Remove.
6092         (mkancesdirs): Return length of prefix of FILE that has already
6093         been made, or -2 if there is a child doing the work.  Redo
6094         algorithm so that it is O(N) rather than O(N**2).  Optimize away
6095         ".", and treat ".." specially since it might stray back into
6096         already-created areas.  Use a subprocess if necessary.  New arg
6097         WD; all users changed.  MAKE_DIR function should now return 1
6098         if it creates a directory that is not readable.  Return -2 if
6099         a child process is spun off.
6100         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
6101         Adjust signature to match code.
6102         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
6103         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
6104         all users changed.
6105         * lib/savewd.c, lib/savewd.h: New files.
6106
6107 2006-09-15  Jim Meyering  <jim@meyering.net>
6108
6109         * modules/rename-dest-slash: New module.
6110         * MODULES.html.sh (posix_compat): Add it here.
6111
6112         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
6113
6114 2006-09-15  Jim Meyering  <jim@meyering.net>
6115
6116         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
6117         file.
6118
6119         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
6120
6121 2006-09-15  Jim Meyering  <jim@meyering.net>
6122
6123         * lib/rename-dest-slash.c (has_trailing_slash): Use
6124         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
6125         (rpl_rename_dest_slash): Perform the cheaper trailing slash
6126         test before testing whether SRC is a directory.
6127         Suggestions from Bruno Haible.
6128
6129         Avoid a warning about an unused variable.
6130         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
6131         into the #ifdef block where it's used.
6132
6133         * lib/rename-dest-slash.c: New file.
6134
6135 2006-09-14  Bruno Haible  <bruno@clisp.org>
6136
6137         * lib/allocsa.c: Include <config.h> unconditionally.
6138         * lib/asnprintf.c: Likewise.
6139         * lib/asprintf.c: Likewise.
6140         * lib/c-strcasecmp.c: Likewise.
6141         * lib/c-strcasestr.c: Likewise.
6142         * lib/c-strncasecmp.c: Likewise.
6143         * lib/c-strstr.c: Likewise.
6144         * lib/classpath.c: Likewise.
6145         * lib/clean-temp.c: Likewise.
6146         * lib/concatpath.c: Likewise.
6147         * lib/copy-file.c: Likewise.
6148         * lib/csharpcomp.c: Likewise.
6149         * lib/csharpexec.c: Likewise.
6150         * lib/execute.c: Likewise.
6151         * lib/fatal-signal.c: Likewise.
6152         * lib/findprog.c: Likewise.
6153         * lib/fwriteerror.c: Likewise.
6154         * lib/gl_array_list.c: Likewise.
6155         * lib/gl_array_oset.c: Likewise.
6156         * lib/gl_avltree_list.c: Likewise.
6157         * lib/gl_avltree_oset.c: Likewise.
6158         * lib/gl_avltreehash_list.c: Likewise.
6159         * lib/gl_carray_list.c: Likewise.
6160         * lib/gl_linked_list.c: Likewise.
6161         * lib/gl_linkedhash_list.c: Likewise.
6162         * lib/gl_list.c: Likewise.
6163         * lib/gl_oset.c: Likewise.
6164         * lib/gl_rbtree_list.c: Likewise.
6165         * lib/gl_rbtree_oset.c: Likewise.
6166         * lib/gl_rbtreehash_list.c: Likewise.
6167         * lib/imaxabs.c: Likewise.
6168         * lib/imaxdiv.c: Likewise.
6169         * lib/javacomp.c: Likewise.
6170         * lib/javaexec.c: Likewise.
6171         * lib/javaversion.c: Likewise.
6172         * lib/linebreak.c: Likewise.
6173         * lib/localcharset.c: Likewise.
6174         * lib/lock.c: Likewise.
6175         * lib/mbchar.c: Likewise.
6176         * lib/mbswidth.c: Likewise.
6177         * lib/mkdtemp.c: Likewise.
6178         * lib/pipe.c: Likewise.
6179         * lib/printf-args.c: Likewise.
6180         * lib/printf-parse.c: Likewise.
6181         * lib/progname.c: Likewise.
6182         * lib/progreloc.c: Likewise.
6183         * lib/readlink.c: Likewise.
6184         * lib/sh-quote.c: Likewise.
6185         * lib/stpcpy.c: Likewise.
6186         * lib/stpncpy.c: Likewise.
6187         * lib/strcasecmp.c: Likewise.
6188         * lib/strcasestr.c: Likewise.
6189         * lib/strcspn.c: Likewise.
6190         * lib/striconv.c: Likewise.
6191         * lib/strncasecmp.c: Likewise.
6192         * lib/strnlen1.c: Likewise.
6193         * lib/strstr.c: Likewise.
6194         * lib/strtok_r.c: Likewise.
6195         * lib/tls.c: Likewise.
6196         * lib/tmpdir.c: Likewise.
6197         * lib/unicodeio.c: Likewise.
6198         * lib/unsetenv.c: Likewise.
6199         * lib/vasnprintf.c: Likewise.
6200         * lib/vasprintf.c: Likewise.
6201         * lib/wait-process.c: Likewise.
6202         * lib/xallocsa.c: Likewise.
6203         * lib/xsetenv.c: Likewise.
6204         * lib/xstriconv.c: Likewise.
6205
6206 2006-09-13  Simon Josefsson  <jas@extundo.com>
6207
6208         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
6209         that internally, suggested by Ralf Wildenhues
6210         <Ralf.Wildenhues@gmx.de>.
6211
6212 2006-09-13  Simon Josefsson  <jas@extundo.com>
6213
6214         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
6215         @LIBOBJS@.
6216         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6217
6218 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
6219
6220         * lib/_fpending.c: Include <config.h> unconditionally, since we no
6221         longer worry about uses that don't define HAVE_CONFIG_H.
6222         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
6223         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
6224         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
6225         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
6226         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
6227         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
6228         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
6229         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
6230         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
6231         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
6232         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
6233         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
6234         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
6235         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
6236         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
6237         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
6238         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
6239         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
6240         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
6241         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
6242         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
6243         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
6244         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
6245         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
6246         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
6247         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
6248         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
6249         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
6250         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
6251         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
6252         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
6253         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
6254         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
6255         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
6256         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
6257         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
6258         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
6259         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
6260         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
6261         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
6262         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
6263         Likewise.
6264
6265 2006-09-13  Eric Blake  <ebb9@byu.net>
6266
6267         * lib/getopt.c: Fix typo in last commit.
6268
6269 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
6270
6271         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
6272         dgettext.
6273
6274 2006-09-12  Jim Meyering  <jim@meyering.net>
6275
6276         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
6277         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
6278         Reported by Nelson H. F. Beebe.
6279
6280 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
6281
6282         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
6283         program_invocation_name and program_invocation_short_name are
6284         initialized.
6285         * lib/argp-namefrob.h: Move declarations of program_invocation_name
6286         and program_invocation_short_name to argp.h, so they are visible
6287         to user programs.
6288         * lib/argp.h: Likewise
6289
6290 2006-09-10  Bruno Haible  <bruno@clisp.org>
6291
6292         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
6293         m4/inttypes_h.m4, m4/uintmax_t.m4.
6294
6295 2006-09-10  Bruno Haible  <bruno@clisp.org>
6296
6297         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
6298         gl_AC_TYPE_UINTMAX_T.
6299
6300 2006-09-10  Bruno Haible  <bruno@clisp.org>
6301
6302         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
6303
6304 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6305
6306         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
6307         convention.  Text proposed by Bruno Haible.
6308         (struct argp_option): Document the use of N_() wrappers.
6309
6310         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
6311         '\v', and translate the two parts separately, instead of feeding
6312         the whole string to gettext.  This allows to exclude
6313         '\v' from the strings visible to the translator by writing doc
6314         strings as N_("..") "\v" N_("..").
6315
6316 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
6317
6318         * config/srclist.txt: Undo latest change; the bug was fixed.
6319
6320 2006-09-09  Bruno Haible  <bruno@clisp.org>
6321
6322         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
6323         assignments if building a library without libtool.
6324         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
6325         in func_emit_lib_Makefile_am.
6326         (func_import): When building a static library libfoo.a, arrange to
6327         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
6328         (func_create_testdir): Likewise.
6329         * modules/gc (configure.ac, Makefile.am): If building statically,
6330         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
6331         * modules/iconvme (configure.ac, Makefile.am): Likewise.
6332         * modules/striconv (configure.ac, Makefile.am): Likewise.
6333         Based on a suggestion by Ralf Wildenhues.
6334
6335 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6336
6337         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
6338         Check for unistd.h too, since Autoconf doesn't assume POSIX.
6339         Also:
6340
6341         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6342         Add year_2050_test to catch glibc bug 2821
6343         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6344
6345         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6346         Prefer #ifdef to #if.
6347
6348         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
6349         Return from 'main' instead of calling 'exit'.
6350
6351 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6352
6353         * lib/mktime.c (guess_time_tm): Fix bug where mktime
6354         returned the maximum time_t value rather than (time_t) -1.
6355         Problem originally reported by William Bardwell
6356         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6357
6358         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6359         Moved to here ...
6360         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6361         ... from here.
6362
6363 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6364
6365         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
6366         2821 is fixed.
6367
6368 2006-09-08  Jim Meyering  <jim@meyering.net>
6369
6370         Don't make generated files read-only.  That would bother too many
6371         people.  However, do retain the ability to work when targets are
6372         read-only: remove the destination and temporary files before writing
6373         them (when generated via sed or echo), or by using the -f option for
6374         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
6375         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6376         * modules/byteswap, modules/configmake, modules/fcntl:
6377         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6378         * modules/localcharset, modules/netinet_in, modules/poll:
6379         * modules/stdbool, modules/stdint, modules/sys_select:
6380         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6381
6382 2006-09-08  Jim Meyering  <jim@meyering.net>
6383
6384         Avoid new build failure on FreeBSD 6.0.
6385         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
6386         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
6387         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
6388
6389 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6390
6391         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
6392
6393 2006-09-07  Jim Meyering  <jim@meyering.net>
6394
6395         Fix global typo in last change: use chmod u-w, not chmod u-x.
6396         Spotted by Paul Eggert and Bruce Korb.
6397         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6398         * modules/byteswap, modules/configmake, modules/fcntl:
6399         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6400         * modules/localcharset, modules/netinet_in, modules/poll:
6401         * modules/stdbool, modules/stdint, modules/sys_select:
6402         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6403
6404 2006-09-06  Jim Meyering  <jim@meyering.net>
6405
6406         Make generated files be read-only.
6407         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
6408         Ensure that each generated file is now read-only.
6409         * modules/argz: Likewise.
6410         * modules/arpa_inet: Likewise.
6411         * modules/byteswap: Likewise.
6412         * modules/configmake: Likewise.
6413         * modules/fcntl: Likewise.
6414         * modules/fnmatch: Likewise.
6415         * modules/getopt: Likewise.
6416         * modules/glob: Likewise.
6417         * modules/inttypes: Likewise.
6418         * modules/netinet_in: Likewise.
6419         * modules/poll: Likewise.
6420         * modules/stdbool: Likewise.
6421         * modules/stdint: Likewise.
6422         * modules/sys_select: Likewise.
6423         * modules/sys_socket: Likewise.
6424         * modules/sys_stat: Likewise.
6425         * modules/sysexits: Likewise.
6426         * modules/localcharset: Same as above, but continue using temporary
6427         file named "t-$@" (why different?) rather than the "$@-t" used
6428         everywhere else.
6429
6430         * modules/sysexits (Makefile.am): Replace literal occurrences
6431         of "sysexit.h" more readable, and more consistent, "$@".
6432
6433 2006-09-06  Bruno Haible  <bruno@clisp.org>
6434
6435         * modules/striconv: New file.
6436         * modules/xstriconv: New file.
6437         * MODULES.html.sh (Internationalization functions): Add striconv,
6438         xstriconv.
6439
6440 2006-09-06  Bruno Haible  <bruno@clisp.org>
6441
6442         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
6443         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
6444         not using libtool correctly.
6445
6446 2006-09-06  Bruno Haible  <bruno@clisp.org>
6447
6448         * lib/striconv.h: New file.
6449         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
6450         iconvstring.c.
6451         * lib/xstriconv.h: New file.
6452         * lib/xstriconv.c: New file.
6453
6454 2006-09-06  Bruno Haible  <bruno@clisp.org>
6455
6456         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
6457         lib_..._LDFLAGS.
6458
6459 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6460
6461         * lib/argz_.h: Sync from Libtool.
6462
6463         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
6464                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6465
6466         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
6467
6468 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6469
6470         * modules/trim: New file.
6471
6472 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6473
6474         * lib/trim.h: New file.
6475         * lib/trim.c: New file.
6476
6477 2006-09-05  Bruno Haible  <bruno@clisp.org>
6478
6479         * MODULES.html.sh (String handling): Add trim.
6480
6481 2006-09-04  Karl Berry  <karl@gnu.org>
6482
6483         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
6484         until next release.
6485
6486 2006-09-03  Bruno Haible  <bruno@clisp.org>
6487
6488         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
6489         correctly.
6490
6491 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6492
6493         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
6494         not gl_GETLOADAVG.  Omit unneeded semicolons.
6495         Problems reported by Ralf Wildenhues in
6496         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6497         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
6498         at the end, which is the usual gnulib style.
6499
6500         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
6501         of doing all the work ourselves.
6502         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
6503         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
6504
6505 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6506
6507         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
6508         Problem reported by Ralf Wildenhues in
6509         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6510
6511         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
6512         HAVE_STRUCT_STATFS_F_FSTYPENAME.
6513
6514 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6515
6516         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
6517         yesterday's patch by changing test -n to test -z.
6518
6519 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6520
6521         * modules/getloadavg (Files): Add m4/getloadavg.m4.
6522         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
6523         the former is now obsolescent.
6524
6525         * modules/chdir-long (Depends-on): Add fcntl.
6526
6527 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6528
6529         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
6530         obsolescent, and programs should use gnulib instead.
6531         * m4/getloadavg.m4: New file, with contents taken from Autoconf
6532         but with prefixes changed.
6533
6534 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6535
6536         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
6537         or stdbool.h, because they might not exist while configuring.
6538
6539         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
6540         Don't include unistd.h or limits.h; not needed, since chdir-long.h
6541         does that for us.
6542         (O_DIRECTORY): Remove.
6543
6544 2006-08-31  Eric Blake  <ebb9@byu.net>
6545
6546         * gnulib-tool: Don't let emacs change spaces to TAB.
6547
6548 2006-08-31  Bruno Haible  <bruno@clisp.org>
6549
6550         * gnulib-tool: When calling func_import more than once, do it in a
6551         subshell.
6552         Reported by Eric Blake <ebb9@byu.net>.
6553
6554 2006-08-31  Bruno Haible  <bruno@clisp.org>
6555
6556         * gnulib-tool (nl): Remove variable.
6557         (sed_transform_lib_file): Use more robust test for config-h module.
6558         (func_import): Fix typo in 2006-08-25 patch.
6559
6560 2006-08-31  Bruno Haible  <bruno@clisp.org>
6561
6562         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
6563         specified, augment Makefile.am variables instead of assigning them.
6564
6565 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6566
6567         Work around a bug in both the Linux and SunOS 64-bit kernels:
6568         nanosleep mishandles sleeps for longer than 2**31 seconds.
6569         Problem reported by Frank v Waveren in
6570         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6571         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
6572         Check for nanosleep bug.
6573         (LIB_NANOSLEEP): Append clock_gettime library if needed.
6574
6575 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6576
6577         Work around a bug in both the Linux and SunOS 64-bit kernels:
6578         nanosleep mishandles sleeps for longer than 2**31 seconds.
6579         Problem reported by Frank v Waveren in
6580         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6581         * lib/nanosleep.c (BILLION): New constant.
6582         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
6583         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
6584         implementation.
6585
6586 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6587
6588         * modules/nanosleep (Depends-on): Add gettime.
6589
6590 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6591         and Simon Josefsson  <jas@extundo.com>
6592         and Oskar Liljeblad  <oskar@osk.mine.nu>
6593
6594         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
6595         * gnulib-tool (func_import): New license type 'unmodifiable license
6596         text'.
6597         * modules/fdl: Use it.  Longer description.
6598         * module/gpl, module/lgpl: New files.
6599
6600 2006-08-30  Jim Meyering  <jim@meyering.net>
6601
6602         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
6603         shadowing the parameter.
6604
6605 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6606
6607         Sync from Libtool:
6608
6609         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6610
6611         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
6612         sharing with gnulib.  Report by Eric Blake.
6613
6614 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6615
6616         * modules/isapipe: New file.
6617         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
6618
6619 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6620
6621         * modules/configmake (Makefile.am): Add a comment, and omit
6622         the CONFIGMAKE_ prefix from generated macro names.  Suggested
6623         by Bruno Haible.
6624
6625 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6626
6627         * m4/isapipe.m4: New file.
6628
6629 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6630
6631         * lib/isapipe.c, lib/isapipe.h: New files.
6632
6633 2006-08-29  Jim Meyering  <jim@meyering.net>
6634
6635         * modules/configmake (Makefile.am): Make configmake.h depend on
6636         Makefile.  Otherwise, a stale configmake.h could hang around.
6637
6638 2006-08-29  Eric Blake  <ebb9@byu.net>
6639
6640         * lib/error.c (error_at_line, print_errno_message): Match libc, after
6641         resolution of upstream bug 3044.
6642
6643 2006-08-29  Bruno Haible  <bruno@clisp.org>
6644
6645         * modules/localcharset (Depends-on): Add configmake.
6646         (Makefile.am): Remove setting of LIBDIR through DEFS.
6647
6648 2006-08-29  Bruno Haible  <bruno@clisp.org>
6649
6650         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
6651         defined.
6652
6653 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6654
6655         * modules/fcntl: New file.
6656         * modules/chdir-safer (Depends-on): Add fcntl.
6657         * modules/fts: Likewise.
6658         * modules/mkdir-p: Likewise.
6659
6660         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
6661         This undoes the most recent change, since we're now addressing the
6662         problem in a different way.
6663
6664         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
6665         into output, since the output might be called Makefile.am even
6666         if $makefile_name is something different.
6667         (func_import): Use $makefile_am rather than
6668         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
6669         empty.
6670
6671         * modules/inttypes (Files): Add m4/inttypes-h.m4.
6672
6673 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6674
6675         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
6676         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
6677         recent change to stdint.m4, since we're now addressing the problem in a
6678         different way.
6679
6680 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6681
6682         * m4/fcntl_h.m4: New file.
6683
6684 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6685
6686         * lib/fcntl_.h: New file.
6687         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
6688         the fcntl module.
6689         * lib/dirchownmod.c: Likewise.
6690         * lib/fts.c: Likewise.
6691
6692         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
6693         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
6694         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
6695         just before including <inttypes.h>, to avoid circular inclusion.
6696
6697 2006-08-28  Jim Meyering  <jim@meyering.net>
6698
6699         * doc/visibility.texi: Actually read and correct the grammar of the
6700         sentence affected by yesterday's change.
6701
6702 2006-08-28  Eric Blake  <ebb9@byu.net>
6703
6704         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
6705         needs wrapper.
6706
6707 2006-08-28  Eric Blake  <ebb9@byu.net>
6708
6709         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
6710
6711 2006-08-28  Eric Blake  <ebb9@byu.net>
6712
6713         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
6714
6715 2006-08-28  Bruno Haible  <bruno@clisp.org>
6716
6717         * modules/c-strstr: New file, from GNU gettext.
6718         * MODULES.html.sh (String handling): Add c-strstr.
6719
6720 2006-08-28  Bruno Haible  <bruno@clisp.org>
6721
6722         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
6723         macros.
6724         Reported by Eric Blake.
6725
6726 2006-08-28  Bruno Haible  <bruno@clisp.org>
6727
6728         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
6729         (VASNPRINTF): Return a string of length > INT_MAX without failing.
6730         * lib/vasprintf.c: Include errno.h, limits.h.
6731         (EOVERFLOW): New fallback definition.
6732         (vasprintf): Test here whether the string length is > INT_MAX.
6733         * lib/vsnprintf.c: Include errno.h, limits.h.
6734         (EOVERFLOW): New fallback definition.
6735         (vsnprintf): Fix bug when generated string was too long for the buffer.
6736         Test here whether the string length is > INT_MAX.
6737
6738 2006-08-28  Bruno Haible  <bruno@clisp.org>
6739
6740         * lib/inttypes_.h (SCNX*): Remove definitions.
6741         Reported by Eric Blake.
6742
6743 2006-08-28  Bruno Haible  <bruno@clisp.org>
6744
6745         * lib/c-strstr.h: New file, from GNU gettext.
6746         * lib/c-strstr.c: New file, from GNU gettext.
6747
6748 2006-08-28  Bruno Haible  <bruno@clisp.org>
6749
6750         * gnulib-tool: Reorder some statements.
6751
6752 2006-08-28  Bruno Haible  <bruno@clisp.org>
6753
6754         * gnulib-tool: New option --makefile-name.
6755         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
6756         $makefile_name.
6757         (func_import): Write $makefile_name to the cache file, and read it from
6758         there unless explicitly specified. Use $makefile_name as file name
6759         instead of Makefile.am. Adjust the recommendations accordingly.
6760
6761 2006-08-28  Bruno Haible  <bruno@clisp.org>
6762
6763         * gnulib-tool (func_verify_module): Check against misapplying patch.
6764
6765 2006-08-28  Bruno Haible  <bruno@clisp.org>
6766
6767         * gnulib-tool (func_relativize, func_relconcat): New functions.
6768         Give an error if --local-dir is given with --update.
6769         Remove trailing slashes from $local_gnulib_dir.
6770         (func_import): Store the relativized $local_gnulib_dir in
6771         gnulib-cache.m4, and read it from there if not specified explicitly.
6772
6773 2006-08-28  Bruno Haible  <bruno@clisp.org>
6774
6775         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
6776         is the current directory. Respect also $local_gnulib_dir.
6777
6778 2006-08-28  Bruno Haible  <bruno@clisp.org>
6779             Simon Josefsson  <jas@extundo.com>
6780
6781         BeOS portability.
6782         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
6783
6784 2006-08-27  Jim Meyering  <jim@meyering.net>
6785
6786         * doc/visibility.texi: Remove duplicate word: "pointer".
6787
6788 2006-08-26  Bruno Haible  <bruno@clisp.org>
6789
6790         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
6791         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
6792         (Makefile.am): Create inttypes.h from inttypes_.h.
6793         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
6794
6795         * modules/imaxabs: New file.
6796
6797         * modules/imaxdiv: New file.
6798
6799 2006-08-26  Bruno Haible  <bruno@clisp.org>
6800
6801         * m4/inttypes.m4: New file.
6802         * m4/_inttypes_h.m4: Remove file.
6803         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
6804         PRI_MACROS_BROKEN.
6805         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
6806
6807         * m4/imaxabs.m4: New file.
6808
6809         * m4/imaxdiv.m4: New file.
6810
6811 2006-08-26  Bruno Haible  <bruno@clisp.org>
6812
6813         * lib/inttypes_.h: New file.
6814         * lib/inttypes.h: Remove file.
6815         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
6816
6817         * lib/imaxabs.c: New file.
6818
6819         * lib/imaxdiv.c: New file.
6820
6821 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6822
6823         New config-h module, so that "make" output needn't be cluttered
6824         by -DHAVE_CONFIG_H.
6825         * MODULES.html.sh (Support for building libraries and executables):
6826         Add config-h.
6827         * modules/config-h: New file.
6828         * gnulib-tool (nl, sed_transform_lib_file): New vars.
6829         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
6830         the config-h module is used.
6831
6832         New configmake module, so that "make" output needn't be cluttered
6833         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
6834         * MODULES.html.sh (Support for building libraries and executables):
6835         Add configmake.
6836         * modules/configmake: New file.
6837
6838 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6839
6840         * m4/config-h.m4: New file.
6841
6842 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6843
6844         * config/srclist.txt: Add elisp-comp.
6845
6846 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6847
6848         * MODULES.html.sh (Support for building libraries and executables):
6849         Add elisp-comp.
6850         * build-aux/elisp-comp: New file.
6851         * modules/elisp-comp: New file.
6852
6853 2006-08-24  Bruno Haible  <bruno@clisp.org>
6854
6855         * gnulib-tool (func_create_testdir): Use non-default values of
6856         sourcebase and m4base.
6857
6858 2006-08-24  Bruno Haible  <bruno@clisp.org>
6859
6860         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
6861         HTML structure.
6862
6863 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
6864
6865         * modules/openat (Depends-on): Add lchown.
6866
6867 2006-08-23  Bruno Haible  <bruno@clisp.org>
6868
6869         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
6870         of gl_LOCK_EARLY instead of gl_LOCK.
6871
6872 2006-08-23  Bruno Haible  <bruno@clisp.org>
6873
6874         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
6875         on OSF/1 to no.
6876         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
6877
6878 2006-08-23  Bruno Haible  <bruno@clisp.org>
6879
6880         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
6881         as unusable.
6882
6883         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
6884         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
6885         (gl_LOCK): New macro.
6886
6887 2006-08-22  Simon Josefsson  <jas@extundo.com>
6888
6889         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
6890         to md5 module.
6891
6892 2006-08-22  Simon Josefsson  <jas@extundo.com>
6893
6894         * MODULES.html.sh: Add "Support for maintaining and release
6895         projects".
6896
6897         * build-aux/gnupload: New file, from coreutils.
6898
6899 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6900
6901         Avoid the need for AC_LIBSOURCES in m4 macros.
6902         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
6903         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
6904         * modules/check-version (EXTRA_DIST): Add check-version.h.
6905         * modules/crc (EXTRA_DIST): Add crc.h.
6906         * modules/des (EXTRA_DIST): Add des.h.
6907         * modules/gc (EXTRA_DIST): Add gc.h.
6908         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
6909         * modules/getline (EXTRA_DIST): Add getline.h.
6910         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
6911         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
6912         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
6913         * modules/md2 (EXTRA_DIST): Add md2.h.
6914         * modules/md4 (EXTRA_DIST): Add md4.h.
6915         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
6916         * modules/read-file (EXTRA_DIST): Add read-file.h.
6917         * modules/readline (EXTRA_DIST): Add readline.h.
6918         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
6919         rijndael-api-fst.h.
6920
6921 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6922
6923         * m4/rijndael.m4 (gl_ARCFOUR):
6924         * m4/arctwo.m4 (gl_ARCTWO):
6925         * m4/check-version.m4 (gl_CHECK_VERSION):
6926         * m4/crc.m4 (gl_CRC):
6927         * m4/des.m4 (gl_DES):
6928         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
6929         * m4/gc.m4 (gl_GC):
6930         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
6931         * m4/getline.m4 (gl_FUNC_GETLINE):
6932         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
6933         * m4/hmac-md5.m4 (gl_HMAC_MD5):
6934         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
6935         * m4/md2.m4 (gl_MD2):
6936         * m4/md4.m4 (gl_MD4):
6937         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
6938         * m4/read-file.m4 (gl_FUNC_READ_FILE):
6939         * m4/readline.m4 (gl_FUNC_READLINE):
6940         * m4/rijndael.m4 (gl_RIJNDAEL):
6941         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
6942         to get the necessary .h files and whatnot.
6943
6944 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6945
6946         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
6947         gnulib rather than the other way around.
6948         * config/srclistvars.sh (COREUTILS): Remove.
6949
6950 2006-08-22  Jim Meyering  <jim@meyering.net>
6951
6952         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
6953
6954         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
6955
6956 2006-08-22  Eric Blake  <ebb9@byu.net>
6957
6958         * modules/regexprops-generic: New file.
6959         * MODULES.html.sh (Support for building documentation): List it.
6960
6961 2006-08-22  Eric Blake  <ebb9@byu.net>
6962
6963         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
6964         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
6965         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
6966         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
6967
6968 2006-08-22  Bruno Haible  <bruno@clisp.org>
6969
6970         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
6971         and lib_LTLIBRARIES like the other lib_* variables.
6972
6973 2006-08-22  Bruno Haible  <bruno@clisp.org>
6974
6975         * build-aux/x-to-1.in: New file, from GNU gettext.
6976
6977 2006-08-22  Bruno Haible  <bruno@clisp.org>
6978
6979         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
6980         <utmpx.h> exists.
6981
6982 2006-08-22  Bruno Haible  <bruno@clisp.org>
6983
6984         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
6985         <utmpx.h> exists.
6986
6987 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6988
6989         BeOS portability.
6990         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
6991         exist.
6992         Problem reported by Bruno Haible.
6993
6994 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6995
6996         Avoid the need for AC_LIBSOURCES in m4 macros.
6997         * modules/acl (EXTRA_DIST): Add acl.h.
6998         * modules/argmatch (Files): Add m4/argmatch.m4.
6999         (configure.ac): Add gl_ARGMATCH.
7000         (EXTRA_DIST): Renamed from lib_SOURCES, for
7001         consistency with the other modules.  Remove argmatch.c.
7002         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
7003         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
7004         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
7005         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
7006         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
7007         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
7008         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
7009         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
7010         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
7011         * modules/closeout (EXTRA_DIST): Add closeout.h.
7012         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
7013         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
7014         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
7015         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
7016         dirname.h; remove basename.c and stripslash.c.
7017         * modules/exclude (EXTRA_DIST): Add exclude.h.
7018         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
7019         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
7020         * modules/file-type (EXTRA_DIST): Add file-type.h.
7021         * modules/filemode (EXTRA_DIST): Add filemode.h.
7022         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
7023         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
7024         * modules/fpending (EXTRA_DIST): Add __fpending.h.
7025         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
7026         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
7027         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
7028         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
7029         * modules/getdate (EXTRA_DIST): Add getdate.c.
7030         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
7031         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
7032         * modules/getpass (EXTRA_DIST): Add getpass.h.
7033         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
7034         * modules/group-member (EXTRA_DIST): Add group-member.h.
7035         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
7036         * modules/hash (EXTRA_DIST): Add hash.h.
7037         * modules/human (EXTRA_DIST): Add human.h.
7038         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
7039         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
7040         * modules/lchown (EXTRA_DIST): Add lchown.h.
7041         * modules/long-options (EXTRA_DIST): Add long-options.h.
7042         * modules/lstat (EXTRA_DIST): Add lstat.h.
7043         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
7044         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
7045         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
7046         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
7047         * modules/memxor (EXTRA_DIST): Add memxor.h.
7048         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
7049         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
7050         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
7051         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
7052         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
7053         * modules/physmem (EXTRA_DIST): Add physmem.h.
7054         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
7055         * modules/posixver (EXTRA_DIST): Add posixver.h.
7056         * modules/quote (EXTRA_DIST): Add quote.h.
7057         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
7058         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
7059         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
7060         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
7061         regex_internal.h regexec.c.
7062         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
7063         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
7064         * modules/same (EXTRA_DIST): Add same.h.
7065         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
7066         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
7067         * modules/savedir (EXTRA_DIST): Add savedir.h.
7068         * modules/sha1 (EXTRA_DIST): Add sha1.h.
7069         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
7070         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
7071         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
7072         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
7073         * modules/strdup (EXTRA_DIST): Add strdup.h.
7074         * modules/strftime (EXTRA_DIST): Add strftime.h.
7075         * modules/strndup (EXTRA_DIST): Add strndup.h.
7076         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
7077         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
7078         * modules/time_r (EXTRA_DIST): Add time_r.h.
7079         * modules/timespec (EXTRA_DIST): Add timespec.h.
7080         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
7081         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
7082         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
7083         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
7084         * modules/userspec (EXTRA_DIST): Add userspec.h.
7085         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
7086         * modules/utimens (EXTRA_DIST): Add utimens.h.
7087         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
7088         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
7089         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
7090         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
7091         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
7092         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
7093         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
7094         * modules/yesno (EXTRA_DIST): Add yesno.h.
7095
7096 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7097
7098         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
7099
7100         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
7101         * m4/dev-ino.m4, same-inode.m4: Remove.
7102
7103         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
7104         * m4/acl.m4 (AC_FUNC_ACL):
7105         * m4/backupfile.m4 (gl_BACKUPFILE):
7106         * m4/c-strtod.m4 (gl_C99_STRTOLD):
7107         * m4/canon-host.m4 (gl_CANON_HOST):
7108         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
7109         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
7110         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
7111         * m4/cloexec.m4 (gl_CLOEXEC):
7112         * m4/close-stream.m4 (gl_CLOSE_STREAM):
7113         * m4/closeout.m4 (gl_CLOSEOUT):
7114         * m4/dirfd.m4 (gl_FUNC_DIRFD):
7115         * m4/dirname.m4 (gl_DIRNAME):
7116         * m4/exclude.m4 (gl_EXCLUDE):
7117         * m4/exitfail.m4 (gl_EXITFAIL):
7118         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
7119         * m4/file-type.m4 (gl_FILE_TYPE):
7120         * m4/filemode.m4 (gl_FILEMODE):
7121         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
7122         * m4/fpending.m4 (gl_FUNC_FPENDING):
7123         * m4/fprintftime.m4 (gl_FPRINTFTIME):
7124         * m4/fts.m4 (gl_FUNC_FTS):
7125         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
7126         * m4/getdate.m4 (gl_GETDATE):
7127         * m4/gethrxtime.m4 (gl_GETHRXTIME):
7128         * m4/getpagesize.m4 (gl_GETPAGESIZE):
7129         * m4/getpass.m4 (gl_FUNC_GETPASS):
7130         * m4/gettime.m4 (gl_GETTIME):
7131         * m4/getugroups.m4 (gl_GETUGROUPS):
7132         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
7133         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
7134         * m4/hard-locale.m4 (gl_HARD_LOCALE):
7135         * m4/hash.m4 (gl_HASH):
7136         * m4/idcache.m4 (gl_IDCACHE):
7137         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
7138         * m4/lchown.m4 (gl_FUNC_LCHOWN):
7139         * m4/long-options.m4 (gl_LONG_OPTIONS):
7140         * m4/lstat.m4 (gl_FUNC_LSTAT):
7141         * m4/md5.m4 (gl_MD5):
7142         * m4/memcasecmp.m4 (gl_MEMCASECMP):
7143         * m4/memcoll.m4 (gl_MEMCOLL):
7144         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
7145         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
7146         * m4/memxor.m4 (gl_MEMXOR):
7147         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
7148         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
7149         * m4/modechange.m4 (gl_MODECHANGE):
7150         * m4/mountlist.m4 (gl_MOUNTLIST):
7151         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
7152         * m4/openat.m4 (gl_FUNC_OPENAT):
7153         * m4/pathmax.m4 (gl_PATHMAX):
7154         * m4/physmem.m4 (gl_PHYSMEM):
7155         * m4/posixtm.m4 (gl_POSIXTM):
7156         * m4/posixver.m4 (gl_POSIXVER):
7157         * m4/quote.m4 (gl_QUOTE):
7158         * m4/quotearg.m4 (gl_QUOTEARG):
7159         * m4/readtokens.m4 (gl_READTOKENS):
7160         * m4/readutmp.m4 (gl_READUTMP):
7161         * m4/regex.m4 (gl_REGEX):
7162         * m4/safe-read.m4 (gl_SAFE_READ):
7163         * m4/safe-write.m4 (gl_SAFE_WRITE):
7164         * m4/same.m4 (gl_SAME):
7165         * m4/save-cwd.m4 (gl_SAVE_CWD):
7166         * m4/savedir.m4 (gl_SAVEDIR):
7167         * m4/settime.m4 (gl_SETTIME):
7168         * m4/sha1.m4 (gl_SHA1):
7169         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
7170         * m4/stat-macros.m4 (gl_STAT_MACROS):
7171         * m4/stat-time.m4 (gl_STAT_TIME):
7172         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
7173         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
7174         * m4/strdup.m4 (gl_FUNC_STRDUP):
7175         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
7176         * m4/strndup.m4 (gl_FUNC_STRNDUP):
7177         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
7178         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
7179         * m4/time_r.m4 (gl_TIME_R):
7180         * m4/timespec.m4 (gl_TIMESPEC):
7181         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
7182         * m4/unlinkdir.m4 (gl_UNLINKDIR):
7183         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
7184         * m4/userspec.m4 (gl_USERSPEC):
7185         * m4/utimecmp.m4 (gl_UTIMECMP):
7186         * m4/utimens.m4 (gl_UTIMENS):
7187         * m4/xalloc.m4 (gl_XALLOC):
7188         * m4/xgetcwd.m4 (gl_XGETCWD):
7189         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
7190         * m4/xreadlink.m4 (gl_XREADLINK):
7191         * m4/xstrtod.m4 (gl_XSTRTOD):
7192         * m4/yesno.m4 (gl_YESNO):
7193         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
7194         to get the necessary .h files and whatnot.
7195
7196 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
7197             Bruno Haible  <bruno@clisp.org>
7198
7199         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
7200         /bin/sh understanding of '!' conditional negation.
7201
7202 2006-08-21  Jim Meyering  <jim@meyering.net>
7203
7204         * modules/openat (Depends-on): Really alphabetize.
7205
7206         * modules/acl (Depends-on): Add error and quote.
7207
7208         * check-module (find_included_lib_files): Add at-func.c to the
7209         ok-to-include-more-than-once white list.
7210
7211         * modules/openat (Depends-on): Add lstat.  Alphabetize.
7212
7213 2006-08-21  Bruno Haible  <bruno@clisp.org>
7214
7215         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7216         Emit a pkgdata_DATA variable only if some snippets add contents to it.
7217         Reported by Martin Lambers <marlam@marlam.de>.
7218
7219 2006-08-21  Bruno Haible  <bruno@clisp.org>
7220
7221         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
7222         specify an installation location, don't emit a noinst_LIBRARIES or
7223         noinst_LTLIBRARIES assignment.
7224
7225 2006-08-21  Bruno Haible  <bruno@clisp.org>
7226
7227         BeOS portability.
7228         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
7229         BeOS has mbrtowc() but no <wctype.h>.
7230
7231 2006-08-21  Bruno Haible  <bruno@clisp.org>
7232
7233         BeOS portability.
7234         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
7235         exist.
7236
7237 2006-08-21  Bruno Haible  <bruno@clisp.org>
7238
7239         BeOS portability.
7240         * lib/mbchar.h: Include <wctype.h> only if it exists.
7241
7242 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7243
7244         Remove files that are no longer needed by their respective modules.
7245         * m4/obstack.m4: Remove.
7246         * m4/strerror_r.m4: Remove.
7247         * m4/uint32_t.m4: Remove.
7248         * m4/uintptr_t.m4: Remove.
7249         * m4/ullong_max.m4: Remove.
7250         * m4/xstrtoimax.m4: Remove.
7251         * m4/xstrtoumax.m4: Remove.
7252
7253         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
7254         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
7255         dependencies now capture this.
7256
7257         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
7258         Do not use AC_LIBSOURCES, since gnulib modules now do this.
7259         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
7260         * m4/human.m4 (gl_HUMAN): Likewise.
7261         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
7262         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
7263
7264         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
7265
7266         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
7267         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
7268         stdint.
7269         * m4/human.m4 (gl_HUMAN): Likewise.
7270         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
7271         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
7272         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
7273         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
7274         * m4/xstrtol (gl_XSTRTOL): Likewise.
7275
7276         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
7277         AC_TYPE_LONG_LONG_INT.
7278         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
7279         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
7280         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
7281         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
7282
7283         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
7284         on stdbool.
7285
7286         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
7287         (gl_PREREQ_XSTRTOUL): Remove.
7288
7289         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
7290
7291         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
7292         mode.
7293
7294 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7295
7296         Add and change modules to make it easier for coreutils to use
7297         gnulib-tool.
7298         * modules/backupfile (Files): Remove m4/d-ino.m4.
7299         (Depends-on): Add d-ino.
7300         * modules/cycle-check (Depends-on): Add stdint.
7301         (lib_SOURCES): Add cycle-check.h.
7302         * modules/d-ino: New module.
7303         * modules/d-type: New module.
7304         * modules/error (Files): Remove m4/strerror_r.m4.
7305         * modules/filemode (Files): Add m4/st_dm_mode.m4.
7306         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
7307         m4/inttypes_h.m4, m4/uintmax_t.m4.
7308         (Depends-on): Add stdint.
7309         (lib_SOURCES): Add fsusage.h.
7310         * modules/getcwd (Files): Remove d-ino.m4.
7311         (Depends-on): Add d-ino.
7312         * modules/getndelim2 (Depends-on): Add stdint.
7313         * modules/glob (Files): Remove m4/d-type.m4.
7314         (Depends-on): Add d-type.
7315         * modules/host-os: New module.
7316         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
7317         m4/inttypes_h.m4, m4/uintmax_t.m4.
7318         * Depends-on: Add stdint.
7319         (lib_SOURCES): Add human.h.
7320         * modules/inttostr (Files): Remove m4/intmax_t.m4,
7321         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
7322         m4/uintmax_t.m4, m4/ulonglong.m4.
7323         (Depends-on): Add stdint.
7324         (EXTRA_DIST): Add inttostr.h.
7325         * modules/lchmod: New module.
7326         * modules/link-follow: New module.
7327         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
7328         (Depends-on): Add lchmod.
7329         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
7330         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
7331         (Depends-on): Add stdint.
7332         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
7333         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
7334         (Depends-on): Add stdint.
7335         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
7336         * modules/perl: New module.
7337         * modules/regex (Depends-on): Add stdint.
7338         * modules/rmdir-errno: New module.
7339         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7340         m4/intmax_t.m4.
7341         (Depends-on): Add stdint.
7342         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7343         m4/uintmax_t.m4.
7344         (Depends-on): Add stdint.
7345         * modules/unlink-busy: New module.
7346         * modules/utimecmp (Depends-on): Add stdint.
7347         * modules/uptime: New module.
7348         * modules/winsz-ioctl: New module.
7349         * modules/winsz-termios: New module.
7350         * modules/xnanosleep (Depends-on): Add nanosleep.
7351         * modules/ullong_max: Remove.
7352         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
7353         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
7354         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
7355         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
7356         (Depends-on): Add inttypes.
7357         (lib_SOURCES): Add xstrtol.h.
7358         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
7359         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
7360         * MODULES.html.sh: Move 'assert' into the assert section.
7361         Move 'dummy' into the linking section.
7362         Remove ullong_max.
7363         Add section for compatibility checks for POSIX:2001 functions,
7364         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
7365         winsz-ioctl, and winsz-termios into it.
7366         Add lchmod.
7367         Add top-level Misc section and put host-os, perl, and uptime
7368         into it.
7369
7370 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7371
7372         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
7373         now assume the stdint module.  Do not include inttypes.h.
7374         * lib/fsusage.h: Likewise.
7375         * lib/getndelim2.c: Likewise.
7376         * lib/human.h: Likewise.
7377         * lib/inttostr.h: Likewise.
7378         * lib/obstack.c: Likewise.
7379         * lib/regex_internal.h: Likewise.
7380         * lib/tempname.c: Likewise.
7381         * lib/utimecmp.c: Likewise.
7382         * lib/xstrtol.h: Likewise.
7383
7384         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
7385
7386         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
7387         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
7388         * lib/xtime.h: Likewise.
7389
7390 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7391
7392         * modules/openat (Files): Add lib/fchmodat.c.
7393         Fixes problem reported by Jay Youngman.
7394
7395 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7396
7397         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
7398         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
7399
7400 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7401             Bruno Haible  <bruno@clisp.org>
7402
7403         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
7404         and is a script that invokes bison. Tighten the code. Add comments.
7405
7406 2006-08-18  Jim Meyering  <jim@meyering.net>
7407
7408         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
7409         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
7410         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
7411         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
7412
7413 2006-08-18  Bruno Haible  <bruno@clisp.org>
7414
7415         * modules/bison-i18n: New file.
7416         * MODULES.html.sh (Internationalization functions): Add it.
7417
7418 2006-08-18  Bruno Haible  <bruno@clisp.org>
7419
7420         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
7421         sys/statvfs.h. When getmntinfo was found, check its declaration and
7422         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
7423
7424 2006-08-18  Bruno Haible  <bruno@clisp.org>
7425
7426         * m4/bison-i18n.m4: New file, from bison.
7427
7428 2006-08-18  Bruno Haible  <bruno@clisp.org>
7429
7430         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
7431         (ME_DUMMY): Treat "kernfs" as a dummy.
7432         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
7433
7434 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7435
7436         Update from coreutils.
7437
7438         2006-08-15  Jim Meyering  <jim@meyering.net>
7439
7440         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
7441
7442         2006-01-17  Jim Meyering  <jim@meyering.net>
7443
7444         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
7445
7446         2006-01-11  Jim Meyering  <jim@meyering.net>
7447
7448         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
7449         Check for the lchmod function.
7450
7451 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7452
7453         Update from coreutils.
7454
7455         * lib/__fpending.h: Add copyright notice.
7456         * lib/fprintftime.h: Likewise.
7457         * lib/savedir.c: Use (C) in copyright notice.
7458         * lib/savedir.h: Likewise.
7459
7460         2006-08-15  Jim Meyering  <jim@meyering.net>
7461
7462         * lib/at-func.c: New file, with the logic of all emulated at-functions.
7463         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
7464         in support of the EXPECTED_ERRNO macro.
7465         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
7466         definitions.  Instead, define the appropriate symbols and include
7467         "at-func.c".
7468         * lib/mkdirat.c (mkdirat): Likewise.
7469         * lib/fchmodat.c (fchmodat): Likewise.
7470         (ENOSYS): Remove definition.
7471         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
7472         it.  Don't include "unistd--.h" -- it wasn't ever used.
7473
7474         2006-01-17  Jim Meyering  <jim@meyering.net>
7475
7476         Rewrite fts.c not to change the current working directory,
7477         by using openat, fstatat, fdopendir, etc..
7478
7479         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
7480         (HAVE_OPENAT_SUPPORT): Define.
7481         [_LIBC] (fchdir): Don't undef or define; no longer used.
7482         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
7483         Now, this `function' always succeeds, and consumes its file descriptor
7484         parameter -- so callers must not close such FDs.  Update callers.
7485         (diropen_fd, opendirat, cwd_advance_fd): New functions.
7486         (diropen): Add parameter, SP.  Adjust all callers.
7487         Implement using diropen_fd, rather than open.
7488         (fts_open): Initialize new member, fts_cwd_fd.
7489         Remove fts_rft-setting code.
7490         (fts_close): Close fts_cwd_fd, if necessary.
7491         (__opendir2): Define in terms of opendir or opendirat,
7492         depending on whether the FST_NOCHDIR flag is set.
7493         (fts_build): Since fts_safe_changedir consumes its FD, and since
7494         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
7495         and close the dup'd file descriptor upon failure.
7496         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
7497         (fts_safe_changedir): Tweak semantics to reflect that this function
7498         now calls cwd_advance_fd and hence consumes its FD argument.
7499         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
7500         [struct FTS] (fts_rft): Remove now-unused member.
7501         [struct FTS] (fts_cycle.state): Improve comment.
7502
7503         * lib/openat.c (openat_needs_fchdir): New function.
7504         * lib/openat.h (openat_needs_fchdir): Declare it.
7505
7506 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
7507
7508         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
7509         Problem and fix reported by Pádraig Brady in
7510         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
7511
7512 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7513
7514         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
7515
7516 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7517
7518         * lib/memcoll.c (memcoll): Optimize for the common case where the
7519         arguments are bytewise equal.
7520
7521 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7522
7523         * doc/regexprops-generic.texi: Add a copyright notice.
7524
7525 2006-08-15  Bruno Haible  <bruno@clisp.org>
7526
7527         * modules/tmpdir (License): Change to LGPL.
7528
7529 2006-08-15  Bruno Haible  <bruno@clisp.org>
7530
7531         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
7532         module.
7533
7534 2006-08-14  Simon Josefsson  <jas@extundo.com>
7535
7536         * config/srclist.txt: Add gnupload.
7537
7538 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7539
7540         Change copyright notice from LGPL 2 to GPL 2, since that's the
7541         standard form used in the gnulib repository.
7542         * tests/test-lock.c: Likewise.
7543         * tests/test-stdint.c: Likewise.
7544         * tests/test-tls.c: Likewise.
7545
7546         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
7547         prelude-manager.  User shorter URLs for GNU projects, without '?'.
7548         Add copyright notice.
7549
7550         * check-module: Add copyright notice.  Output a copyright
7551         notice if "--version" is specified.
7552         * modules/COPYING: New file.
7553         * tests/test-getaddrinfo.c: Add copyright notice.
7554         * tests/test-verify.c: Likewise.
7555
7556 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7557
7558         Change copyright notice from LGPL 2 to GPL 2, since that's the
7559         standard form used in the gnulib repository.
7560         * lib/lock.c: LGPL -> GPL.
7561         * lib/lock.h: Likewise.
7562         * lib/strnlen1.c: Likewise.
7563         * lib/strnlen1.h: Likewise.
7564         * lib/tls.c: Likewise.
7565         * lib/tls.h: Likewise.
7566         * lib/tmpdir.c: Likewise.
7567
7568         * lib/TODO: Remove; this belongs only in coreutils.
7569
7570 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7571
7572         Add copyright notices to long-enough files that lack them, since
7573         otherwise the files aren't clearly free.  Use the same notice that
7574         getdate.texi already uses.
7575         * doc/alloca-opt.texi: Add copyright notice.
7576         * doc/alloca.texi: Likewise.
7577         * doc/ctime.texi: Likewise.
7578         * doc/functions.texi: Likewise.
7579         * doc/gcd.texi: Likewise.
7580         * doc/gnulib-tool.texi: Likewise.
7581         * doc/inet_ntoa.texi: Likewise.
7582         * doc/visibility.texi: Likewise.
7583
7584         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
7585         * doc/quote.texi: Add copyright notice.
7586
7587         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
7588         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
7589         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
7590         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
7591         is now obsolete, and give a pointer to the Sun list.
7592         Add copyright notice.
7593
7594 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7595
7596         * config/srclistvars.sh: Add copyright notice.
7597
7598 2006-08-14  Eric Blake  <ebb9@byu.net>
7599
7600         Import the following change from libc:
7601
7602         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
7603
7604         Upstream bug 2997.
7605         * lib/misc/error.c: Add space between program name and message if file
7606         name is missing.
7607
7608 2006-08-12  Karl Berry  <karl@gnu.org>
7609
7610         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
7611         remove, these originate in gnulib now.
7612
7613 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7614
7615         * doc/Makefile (standards.info standards.html standards.dvi):
7616         Also depend on make-stds.texi.
7617
7618 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7619
7620         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
7621         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
7622
7623         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
7624         in wchar_t.  Problem reported by Eric Blake.
7625
7626         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
7627         LEN is smaller than SIZE.  Suggested by Bruno Haible.
7628         Also, help the compiler to keep LEN in a register.
7629
7630 2006-08-11  Eric Blake  <ebb9@byu.net>
7631
7632         * users.txt: Sort.  Add tar.
7633
7634 2006-08-11  Bruno Haible  <bruno@clisp.org>
7635
7636         * users.txt: New file.
7637
7638 2006-08-11  Bruno Haible  <bruno@clisp.org>
7639
7640         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
7641         before <wchar.h>. Needed for OSF/1 and BSD/OS.
7642
7643 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7644
7645         * modules/snprintf (Depends-on): Remove minmax.
7646         (Maintainer): Add self and Bruno.
7647
7648 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7649
7650         * lib/.cppi-disable: Add snprintf.h, socket_.h.
7651         * lib/snprintf.c: Include <errno.h> and <limits.h>.
7652         (EOVERFLOW): Define if the system does not.
7653         Do not include "minmax.h"; it wasn't used.
7654         (snprintf): Don't assume size_t promotes to an unsigned type.
7655         Fix bug when generated string was too long for the buffer: the
7656         buffer's contents are supposed to be the initial prefix of the
7657         output.  Don't assume vasnprintf returns EOVERFLOW if the size
7658         exceeds INT_MAX; do the check ourselves.
7659
7660         Import the following changes from libc:
7661
7662         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
7663
7664         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
7665         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
7666         set wc to the byte which couldn't be converted.
7667         (re_string_reconstruct): Don't clear valid_raw_len before calling
7668         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
7669         tip_context using re_string_context_at.
7670
7671         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
7672
7673         * lib/posix/regex.h: g++ still cannot handled [restrict].
7674
7675         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
7676
7677         * lib/posix/regex.h: Remove special handling for VMS.
7678
7679 2006-08-10  Jim Meyering  <jim@meyering.net>
7680
7681         * modules/same-inode: New module.
7682         * modules/dev-ino: New module.
7683         * modules/cycle-check: Depend on these modules, rather than simply
7684         including their .h files.
7685         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
7686         required via m4/cycle-check.m4.
7687         * modules/same: Depend on new same-inode module, rather than
7688         including same-inode.h.
7689         * modules/chdir-safer: New file.
7690
7691         * modules/chown (Depends-on): Add stat-macros.
7692
7693 2006-08-10  Jim Meyering  <jim@meyering.net>
7694
7695         * m4/cycle-check.m4: New file.
7696         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
7697         * m4/dev-ino.m4, m4/same-inode.m4: New files.
7698
7699 2006-08-10  Eric Blake  <ebb9@byu.net>
7700
7701         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
7702         in from original proposal.
7703
7704 2006-08-10  Eric Blake  <ebb9@byu.net>
7705         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7706
7707         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
7708         namespace.
7709
7710 2006-08-10  Bruno Haible  <bruno@clisp.org>
7711
7712         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
7713         as well.
7714
7715 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7716
7717         Sync from coreutils.
7718
7719         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
7720
7721         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
7722         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
7723
7724 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7725
7726         * modules/restrict: Remove; no longer needed now that we assume
7727         Autoconf 2.59 or later.
7728         * MODULES.html.sh: Remove 'restrict'.
7729         * modules/argp (Depends-on): Remove 'restrict'.
7730         * modules/base64 (Depends-on): Likewise.
7731         * modules/gc (Depends-on): Likewise.
7732         * modules/getaddrinfo (Depends-on): Likewise.
7733         * modules/glob (Depends-on): Likewise.
7734         * modules/inet_ntop (Depends-on): Likewise.
7735         * modules/inet_pton (Depends-on): Likewise.
7736         * modules/memxor (Depends-on): Likewise.
7737         * modules/regex (Depends-on): Likewise.
7738         * modules/strtok_r (Depends-on): Likewise.
7739         * modules/time_r (Depends-on): Likewise.
7740
7741 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7742
7743         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
7744         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
7745         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
7746         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
7747         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
7748         * m4/memxor.m4 (gl_MEMXOR): Likewise.
7749         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
7750         gl_C_RESTRICT replaced by AC_C_RESTRICT.
7751
7752         Merge from coreutils.
7753         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
7754         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
7755         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
7756         * m4/time_r.m4 (gl_TIME_R): Likewise.
7757
7758 2006-08-09  Karl Berry  <karl@gnu.org>
7759
7760         * config/srclist.txt: no more gettext-tools, per Bruno.
7761
7762 2006-08-08  Eric Blake  <ebb9@byu.net>
7763
7764         * modules/verror: New module.
7765         * MODULES.html.sh: Document it.
7766
7767 2006-08-08  Eric Blake  <ebb9@byu.net>
7768
7769         * lib/verror.h, lib/verror.c: New files.
7770
7771 2006-08-08  Eric Blake  <ebb9@byu.net>
7772
7773         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
7774         verror_at_line output complies with GNU Coding Standards even when
7775         file is NULL.
7776
7777 2006-08-07  Bruno Haible  <bruno@clisp.org>
7778
7779         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
7780         versions of AIX.
7781         Reported by Ralf Wildenhues.
7782
7783 2006-08-07  Bruno Haible  <bruno@clisp.org>
7784
7785         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
7786         in an AC_DEFUN. Needed so that the autoconf snippets can use
7787         AC_REQUIRE.
7788
7789 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7790
7791         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7792         Initialize pkgdata_DATA.
7793         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
7794         overriding it.
7795
7796 2006-08-06  Eric Blake  <ebb9@byu.net>
7797
7798         * lib/error.h: Fold in some upstream changes from glibc.
7799         * lib/error.c: Likewise.
7800
7801 2006-08-04  Bruno Haible  <bruno@clisp.org>
7802
7803         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7804         Make the mostlyclean-local rule depend on mostlyclean-generic.
7805         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
7806
7807 2006-07-31  Bruno Haible  <bruno@clisp.org>
7808
7809         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
7810         <stdlib.h>, <string.h>.
7811
7812 2006-07-30  Bruno Haible  <bruno@clisp.org>
7813
7814         * modules/readlink (License): Change to LGPL.
7815
7816 2006-07-30  Bruno Haible  <bruno@clisp.org>
7817
7818         * modules/javaversion (Makefile.am): Distribute javaversion.java and
7819         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
7820         set PKGDATADIR to point to it.
7821
7822 2006-07-30  Bruno Haible  <bruno@clisp.org>
7823
7824         * modules/csharpexec (configure.ac): Comment out macro invocation.
7825         * modules/javaexec (configure.ac): Likewise.
7826         * modules/javacomp-script (configure.ac): Likewise.
7827
7828         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
7829
7830 2006-07-30  Bruno Haible  <bruno@clisp.org>
7831
7832         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
7833         linked-list.
7834
7835 2006-07-30  Bruno Haible  <bruno@clisp.org>
7836
7837         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
7838
7839 2006-07-30  Bruno Haible  <bruno@clisp.org>
7840
7841         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7842         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
7843         get removed.
7844
7845 2006-07-29  Bruno Haible  <bruno@clisp.org>
7846
7847         Make it possible for gnulib-tool to work with locally modified or
7848         augmented gnulib repositories.
7849         * gnulib-tool (func_usage): Document --local-dir option.
7850         (local_gnulib_dir): New variable.
7851         Handle --local-dir option.
7852         (func_lookup_file): New function.
7853         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
7854         (func_get_description, func_get_filelist, func_get_description,
7855         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
7856         func_get_automake_snippet, func_get_include_directive,
7857         func_get_license, func_get_maintainer): Use func_lookup_file.
7858         (func_import, func_create_testdir): Use func_lookup_file.
7859
7860 2006-07-29  Bruno Haible  <bruno@clisp.org>
7861
7862         * modules/setenv (Depends-on): Add unistd.
7863
7864 2006-07-29  Bruno Haible  <bruno@clisp.org>
7865
7866         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
7867
7868 2006-07-29  Bruno Haible  <bruno@clisp.org>
7869
7870         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
7871
7872 2006-07-29  Bruno Haible  <bruno@clisp.org>
7873
7874         * gnulib-tool (import, update): If there is no Makefile.am, look at
7875         aclocal.m4, instead of bailing out.
7876
7877 2006-07-29  Bruno Haible  <bruno@clisp.org>
7878
7879         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
7880         Categorize the options by when they are useful.
7881
7882 2006-07-29  Bruno Haible  <bruno@clisp.org>
7883
7884         * gnulib-tool (func_usage): Document option --no-libtool.
7885         Handle option --no-libtool.
7886         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
7887         for changed semantics of $libtool variable.
7888         (func_import): Likewise. If libtool is not used, show this through
7889         an option --no-libtool.
7890         (func_create_testdir): Update.
7891
7892 2006-07-29  Bruno Haible  <bruno@clisp.org>
7893
7894         * gnulib-tool (func_import): Extend error message about missing
7895         --doc-base.
7896
7897 2006-07-29  Bruno Haible  <bruno@clisp.org>
7898
7899         * gnulib-tool (func_import): Don't create the $docbase directory if
7900         there is no file to store there.
7901
7902 2006-07-29  Bruno Haible  <bruno@clisp.org>
7903
7904         * gnulib-tool (autoconf_minversion): If a --dir option is given and
7905         relevant, look for configure.ac there, not in the current directory.
7906         Also use a simple search for AC_PREREQ, not "autoconf --trace".
7907
7908 2006-07-29  Bruno Haible  <bruno@clisp.org>
7909
7910         * gnulib-tool (SORT): New variable.
7911         (func_usage): Undocument --assume-autoconf option.
7912         Remove --assume-autoconf option handling.
7913         (autoconf_minversion): Determine from the contents of configure.ac.
7914         (func_import): Remove autoconf_minversion handling.
7915         Suggested by Eric Blake.
7916
7917 2006-07-29  Bruno Haible  <bruno@clisp.org>
7918
7919         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
7920
7921 2006-07-29  Bruno Haible  <bruno@clisp.org>
7922
7923         * config/srclist.txt (*setenv.[ch]): Remove rules.
7924
7925 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7926
7927         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
7928
7929 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7930
7931         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
7932         arpa/inet.h.
7933
7934 2006-07-28  Simon Josefsson  <jas@extundo.com>
7935
7936         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
7937         * modules/inet_pton (Depends-on): Likewise.
7938
7939 2006-07-28  Simon Josefsson  <jas@extundo.com>
7940
7941         * m4/netinet_in_h.m4: New file.
7942
7943 2006-07-28  Simon Josefsson  <jas@extundo.com>
7944
7945         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
7946         #include's.
7947
7948 2006-07-28  Simon Josefsson  <jas@extundo.com>
7949
7950         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
7951         #include's.
7952
7953 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
7954
7955         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
7956         setgid on directories only if they set these bits.
7957         * lib/modechange.h: Remove obsolete comment about masks.
7958
7959 2006-07-28  Eric Blake  <ebb9@byu.net>
7960
7961         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
7962         macro expansion.
7963
7964 2006-07-28  Bruno Haible  <bruno@clisp.org>
7965
7966         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
7967
7968 2006-07-28  Bruno Haible  <bruno@clisp.org>
7969
7970         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
7971
7972 2006-07-28  Bruno Haible  <bruno@clisp.org>
7973
7974         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
7975         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
7976         Define fallbacks.
7977         Avoids link error on FreeBSD 4.x.
7978         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
7979
7980         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
7981         encoding.
7982         * lib/mbswidth.c (iswcntrl): Likewise.
7983
7984 2006-07-27  Bruno Haible  <bruno@clisp.org>
7985
7986         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
7987         test.
7988
7989 2006-07-27  Bruno Haible  <bruno@clisp.org>
7990
7991         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
7992         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
7993         defined.
7994
7995 2006-07-26  Eric Blake  <ebb9@byu.net>
7996
7997         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
7998
7999 2006-07-26  Eric Blake  <ebb9@byu.net>
8000
8001         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
8002         like mingw that lack mkstemp.
8003         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
8004         avoid compilation warning on mingw.
8005
8006 2006-07-26  Bruno Haible  <bruno@clisp.org>
8007
8008         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
8009         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
8010         INT_FAST*_MIN, INTPTR_MIN.
8011
8012 2006-07-25  Bruno Haible  <bruno@clisp.org>
8013
8014         * modules/version-etc (Depends-on): Add stdarg.
8015
8016 2006-07-25  Bruno Haible  <bruno@clisp.org>
8017
8018         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
8019         complex commands.
8020
8021 2006-07-25  Bruno Haible  <bruno@clisp.org>
8022
8023         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
8024         defined in <stdarg.h> or config.h.
8025
8026 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8027
8028         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
8029         (gl_STDIO_SAFER): Remove.
8030
8031 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8032
8033         * MODULES.html.sh (File stream based Input/Output):
8034         Add fopen-safer, tmpfile-safer; remove stdio-safer.
8035         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
8036         * modules/fopen-safer, modules/tmpfile-safer: New files.
8037         * modules/stdio-safer: Remove.
8038
8039 2006-07-24  Bruno Haible  <bruno@clisp.org>
8040
8041         * modules/tmpdir: New file.
8042         * MODULES.html.sh (File system functions): Add it.
8043
8044 2006-07-24  Bruno Haible  <bruno@clisp.org>
8045
8046         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
8047         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
8048
8049 2006-07-24  Bruno Haible  <bruno@clisp.org>
8050
8051         * modules/clean-temp: New file.
8052
8053 2006-07-24  Bruno Haible  <bruno@clisp.org>
8054
8055         * m4/tmpdir.m4: New file, from GNU gettext.
8056
8057 2006-07-24  Bruno Haible  <bruno@clisp.org>
8058
8059         * lib/tmpdir.h: New file, from GNU gettext.
8060         * lib/tmpdir.c: New file, from GNU gettext.
8061
8062 2006-07-24  Bruno Haible  <bruno@clisp.org>
8063
8064         * lib/clean-temp.h: New file, from GNU gettext.
8065         * lib/clean-temp.c: New file, from GNU gettext.
8066
8067 2006-07-23  Eric Blake  <ebb9@byu.net>
8068
8069         * modules/stdio-safer (Files): Add tmpfile-safer.c.
8070         (Depends-on): Add binary-io.
8071
8072 2006-07-23  Eric Blake  <ebb9@byu.net>
8073
8074         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
8075
8076 2006-07-23  Eric Blake  <ebb9@byu.net>
8077
8078         * lib/tmpfile-safer.c: New file.
8079         * lib/stdio-safer.h (fopen_safer): Add prototype.
8080         * lib/stdio--.h (tmpfile): Make safer.
8081
8082 2006-07-23  Bruno Haible  <bruno@clisp.org>
8083
8084         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
8085         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
8086         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
8087         gl_linked_remove_at): Use it.
8088
8089 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8090         and Simon Josefsson <jas@extundo.com>
8091
8092         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
8093
8094         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
8095
8096 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8097
8098         * modules/close-stream: New file.
8099         * modules/closeout (Description): Make it clear that it exits
8100         with a diagnostic on error.
8101         (Depends-on): Add close-stream.  Remove fpending, stdbool.
8102         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
8103
8104 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8105
8106         * m4/close-stream.m4: New file.
8107
8108 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8109
8110         * lib/close-stream.c, lib/close-stream.h: New files.
8111
8112 2006-07-22  Bruno Haible  <bruno@clisp.org>
8113
8114         Merge from GNU gettext 0.15.
8115
8116         2006-05-01  Bruno Haible  <bruno@clisp.org>
8117
8118                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
8119
8120         2006-07-22  Bruno Haible  <bruno@clisp.org>
8121
8122                 * modules/javaversion: New file.
8123                 * MODULES.html.sh (Java): Add javaversion.
8124
8125         2006-03-12  Bruno Haible  <bruno@clisp.org>
8126
8127                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
8128
8129         2005-12-04  Bruno Haible  <bruno@clisp.org>
8130
8131                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
8132                 (untested).
8133
8134         2006-06-21  Bruno Haible  <bruno@clisp.org>
8135
8136                 Avoid warnings from recent versions of mcs.
8137                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
8138                 -o, -L, -r any more. Use options documented since mcs-1.0
8139                 instead. Similarly for -g.
8140
8141         2005-12-04  Bruno Haible  <bruno@clisp.org>
8142
8143                 * build-aux/csharpcomp.sh.in: Suffix for resources is
8144                 .resources, not .resource.
8145
8146         2005-07-09  Bruno Haible  <bruno@clisp.org>
8147
8148                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
8149                 add a .dll suffix.
8150                 Reported by Mark Junker <mjscod@gmx.de>.
8151
8152         2006-07-22  Bruno Haible  <bruno@clisp.org>
8153
8154                 * modules/gettext: Upgrade to gettext-0.15.
8155                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
8156                 m4/visibility.m4.
8157                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
8158
8159 2006-07-22  Bruno Haible  <bruno@clisp.org>
8160
8161         Merge from GNU gettext 0.15.
8162
8163         2006-03-25  Bruno Haible  <bruno@clisp.org>
8164
8165                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
8166
8167         2006-07-21  Bruno Haible  <bruno@clisp.org>
8168
8169                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
8170                 "1.1".
8171
8172         2006-05-09  Bruno Haible  <bruno@clisp.org>
8173
8174                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
8175                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
8176                 for the conftestver execution.
8177
8178         2006-05-01  Bruno Haible  <bruno@clisp.org>
8179
8180                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
8181                 optional target-version argument. Verify that the compiler
8182                 groks source of the specified source-version, or add -source
8183                 option as necessary. Verify that the compiler produces
8184                 bytecode in the specified target-version, or add -target and
8185                 -source options as necessary. Make the result of the test
8186                 available as variable CONF_JAVAC. Also log error output in
8187                 config.log.
8188
8189         2006-03-11  Bruno Haible  <bruno@clisp.org>
8190
8191                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
8192
8193         2006-05-09  Bruno Haible  <bruno@clisp.org>
8194
8195                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
8196                 CLASSPATH_SEPARATOR to a semicolon.
8197
8198         2006-03-12  Bruno Haible  <bruno@clisp.org>
8199
8200                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
8201                 available as variable CONF_JAVA, for subsequent autoconf
8202                 tests. Also log error output in config.log.
8203
8204         2006-07-19  Bruno Haible  <bruno@clisp.org>
8205
8206                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
8207                 that getline works on glibc2 systems. Needed to avoid trouble
8208                 in relocatable.c.
8209                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
8210
8211         2005-12-04  Bruno Haible  <bruno@clisp.org>
8212
8213                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
8214                 launcher (untested).
8215
8216         2005-12-04  Bruno Haible  <bruno@clisp.org>
8217
8218                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
8219
8220         2006-07-22  Bruno Haible  <bruno@clisp.org>
8221
8222                 * gettext.m4: Update from GNU gettext-0.15.
8223                 * nls.m4: Likewise.
8224                 * po.m4: Likewise.
8225                 * inttypes-pri.m4: Likewise.
8226                 * inttypes-h.m4: Renamed from inttypes.m4.
8227                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
8228
8229 2006-07-22  Bruno Haible  <bruno@clisp.org>
8230
8231         Merge from GNU gettext 0.15.
8232
8233         2005-07-05  Bruno Haible  <bruno@clisp.org>
8234
8235                 * printf-args.c (printf_fetchargs): Work around broken
8236                 definition of wint_t on mingw.
8237
8238         2005-02-12  Bruno Haible  <bruno@clisp.org>
8239
8240                 * xallocsa.h: Add extern "C" for C++.
8241
8242         2006-05-17  Bruno Haible  <bruno@clisp.org>
8243
8244                 Cygwin portability.
8245                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
8246
8247         2006-04-30  Bruno Haible  <bruno@clisp.org>
8248
8249                 * progreloc.c: Include <mach-o/dyld.h> if available.
8250                 (find_executable): Use _NSGetExecutablePath when possible.
8251
8252         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
8253
8254                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
8255                 function.
8256
8257         2005-12-29  Bruno Haible  <bruno@clisp.org>
8258
8259                 * progreloc.c (set_program_name_and_installdir): Fix
8260                 compilation error.
8261
8262         2005-12-04  Bruno Haible  <bruno@clisp.org>
8263
8264                 Cygwin portability.
8265                 * progreloc.c: Include <windows.h> also on Cygwin.
8266                 (find_executable): Add support for Cygwin.
8267                 (set_program_name_and_installdir): Handle also platforms with
8268                 nonempty EXEEXT.
8269
8270         2006-07-11  Bruno Haible  <bruno@clisp.org>
8271
8272                 * javacomp.c: Fix a comment.
8273                 Reported by Jim Meyering.
8274
8275         2006-04-30  Bruno Haible  <bruno@clisp.org>
8276
8277                 * javacomp.h (compile_java_class): Add source_version,
8278                 target_version arguments.
8279                 * javacomp.c: Rewritten to choose only a compiler that
8280                 respects the specified source_version and target_version.
8281
8282         2006-06-27  Bruno Haible  <bruno@clisp.org>
8283
8284                 Assume correct S_ISDIR macro.
8285                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
8286
8287         2006-07-22  Bruno Haible  <bruno@clisp.org>
8288
8289                 * javaversion.h: New file, from GNU gettext.
8290                 * javaversion.c: New file, from GNU gettext.
8291                 * javaversion.java: New file, from GNU gettext.
8292                 * javaversion.class: New file, from GNU gettext.
8293
8294         2006-05-17  Bruno Haible  <bruno@clisp.org>
8295
8296                 Cygwin portability.
8297                 * javaexec.c (execute_java_class): Test for jview program
8298                 also on Cygwin.
8299
8300         2006-04-09  Bruno Haible  <bruno@clisp.org>
8301
8302                 * fatal-signal.c: Don't include string.h.
8303                 (at_fatal_signal): Use a copying loop instead of memcpy.
8304
8305         2005-12-04  Bruno Haible  <bruno@clisp.org>
8306
8307                 * csharpexec.c: Add support for 'clix' launcher (untested).
8308                 (execute_csharp_using_sscli): New function.
8309                 (execute_csharp_program): Call it.
8310
8311         2006-06-21  Bruno Haible  <bruno@clisp.org>
8312
8313                 Avoid warnings from recent versions of mcs.
8314                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
8315                 -o, -L, -r any more. Use options documented since mcs-1.0
8316                 instead. Similarly for -g.
8317
8318         2005-07-09  Bruno Haible  <bruno@clisp.org>
8319
8320                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
8321                 add a .dll suffix.
8322                 Reported by Mark Junker <mjscod@gmx.de>.
8323
8324         2006-06-17  Bruno Haible  <bruno@clisp.org>
8325
8326                 * config.charset: Update for NetBSD 3.0.
8327
8328         2006-05-17  Bruno Haible  <bruno@clisp.org>
8329
8330                 Cygwin portability.
8331                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
8332
8333         2006-05-16  Bruno Haible  <bruno@clisp.org>
8334
8335                 * localcharset.c [CYGWIN]: Include <windows.h>.
8336                 (get_charset_aliases): For Cygwin, return the same CPxxx
8337                 aliases list as under WIN32.
8338                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
8339                 the environment variables. Fall back to GetACP().
8340
8341         2006-04-05  Bruno Haible  <bruno@clisp.org>
8342
8343                 * config.charset: Update Juan Manuel Guerrero's address.
8344
8345         2005-02-12  Bruno Haible  <bruno@clisp.org>
8346
8347                 * allocsa.h: Add extern "C" for C++.
8348
8349         2005-02-10  Bruno Haible  <bruno@clisp.org>
8350
8351                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
8352                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
8353
8354         2006-07-22  Bruno Haible  <bruno@clisp.org>
8355
8356                 * gettext.h: Update to GNU gettext-0.15.
8357
8358 2006-07-22  Bruno Haible  <bruno@clisp.org>
8359
8360         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
8361         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
8362         lib-prefix.m4, longdouble.m4, ssize_t.m4.
8363
8364 2006-07-21  Eric Blake  <ebb9@byu.net>
8365
8366         * modules/stdlib-safer: New file.
8367         * MODULES.html.sh (File stream based Input/Output): Add
8368         stdlib-safer.
8369
8370 2006-07-21  Eric Blake  <ebb9@byu.net>
8371
8372         * lib/stdlib-safer.h: New file from coreutils, required by
8373         stdlib--.h.
8374
8375 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
8376
8377         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
8378
8379 2006-07-20  Bruno Haible  <bruno@clisp.org>
8380
8381         * gnulib-tool: Recognize new option --assume-autoconf.
8382         (autoconf_minversion): New variable.
8383         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
8384
8385 2006-07-20  Bruno Haible  <bruno@clisp.org>
8386
8387         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
8388
8389 2006-07-19  Derek R. Price  <derek@ximbiot.com>
8390
8391         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
8392         Reindent and repaginate.
8393
8394 2006-07-19  Derek Price  <derek@ximbiot.com>
8395
8396         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
8397         Correct grammar.
8398
8399 2006-07-17  Bruno Haible  <bruno@clisp.org>
8400
8401         * modules/list: New file.
8402         * modules/array-list: New file.
8403         * modules/carray-list, modules/carray-list-tests: New files.
8404         * modules/linked-list, modules/linked-list-tests: New files.
8405         * modules/avltree-list, modules/avltree-list-tests: New files.
8406         * modules/rbtree-list, modules/rbtree-list-tests: New files.
8407         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
8408         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
8409         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
8410         * modules/oset: New file.
8411         * modules/array-oset: New file.
8412         * modules/avltree-oset, modules/avltree-oset-tests: New files.
8413         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
8414         * tests/test-carray_list.c: New file.
8415         * tests/test-linked_list.c: New file.
8416         * tests/test-avltree_list.c: New file.
8417         * tests/test-rbtree_list.c: New file.
8418         * tests/test-linkedhash_list.c: New file.
8419         * tests/test-avltreehash_list.c: New file.
8420         * tests/test-rbtreehash_list.c: New file.
8421         * tests/test-avltree_oset.c: New file.
8422         * tests/test-rbtree_oset.c: New file.
8423         * MODULES.html.sh (Container data structures): New section.
8424
8425 2006-07-17  Bruno Haible  <bruno@clisp.org>
8426
8427         * m4/gl_list.m4: New file.
8428
8429 2006-07-17  Bruno Haible  <bruno@clisp.org>
8430
8431         * lib/gl_list.h: New file.
8432         * lib/gl_list.c: New file.
8433         * lib/gl_array_list.h: New file.
8434         * lib/gl_array_list.c: New file.
8435         * lib/gl_carray_list.h: New file.
8436         * lib/gl_carray_list.c: New file.
8437         * lib/gl_linked_list.h: New file.
8438         * lib/gl_linked_list.c: New file.
8439         * lib/gl_anylinked_list1.h: New file.
8440         * lib/gl_anylinked_list2.h: New file.
8441         * lib/gl_avltree_list.h: New file.
8442         * lib/gl_avltree_list.c: New file.
8443         * lib/gl_anyavltree_list1.h: New file.
8444         * lib/gl_anyavltree_list2.h: New file.
8445         * lib/gl_rbtree_list.h: New file.
8446         * lib/gl_rbtree_list.c: New file.
8447         * lib/gl_anyrbtree_list1.h: New file.
8448         * lib/gl_anyrbtree_list2.h: New file.
8449         * lib/gl_anytree_list1.h: New file.
8450         * lib/gl_anytree_list2.h: New file.
8451         * lib/gl_linkedhash_list.h: New file.
8452         * lib/gl_linkedhash_list.c: New file.
8453         * lib/gl_anyhash_list1.h: New file.
8454         * lib/gl_anyhash_list2.h: New file.
8455         * lib/gl_avltreehash_list.h: New file.
8456         * lib/gl_avltreehash_list.c: New file.
8457         * lib/gl_rbtreehash_list.h: New file.
8458         * lib/gl_rbtreehash_list.c: New file.
8459         * lib/gl_anytreehash_list1.h: New file.
8460         * lib/gl_anytreehash_list2.h: New file.
8461
8462         * lib/gl_oset.h: New file.
8463         * lib/gl_oset.c: New file.
8464         * lib/gl_array_oset.h: New file.
8465         * lib/gl_array_oset.c: New file.
8466         * lib/gl_avltree_oset.h: New file.
8467         * lib/gl_avltree_oset.c: New file.
8468         * lib/gl_rbtree_oset.h: New file.
8469         * lib/gl_rbtree_oset.c: New file.
8470         * lib/gl_anytree_oset.h: New file.
8471
8472 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8473
8474         * m4/mkancesdirs.m4: New file.
8475         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
8476         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
8477         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
8478         it.
8479
8480 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8481
8482         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
8483         * lib/mkancesdirs.h: New files.
8484         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
8485         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
8486         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
8487         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
8488         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
8489         callers changed.  Revamp internals significantly, by not
8490         attempting to create directories that are temporarily more
8491         permissive than the final results.  Do not attempt to use
8492         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
8493         This removes some race conditions, fixes some bugs, and simplifies
8494         things.  Use new dirchownmod function to do owner and mode changes.
8495         * lib/mkdir-p.h: Likewise.
8496         * lib/modechange.c (octal_to_mode): New function.
8497         (struct mode_change): New member mentioned.
8498         (make_node_op_equals): New arg mentioned.  All callers changed.
8499         (mode_compile): Keep track of which mode bits the user has explicitly
8500         mentioned.
8501         (mode_adjust): New arg DIR, so that we implement the X op correctly.
8502         New arg PMODE_BITS, to keep track of which mode bits the user
8503         mentioned; it treats S_ISUID and S_ISGID speciall.
8504         All callers changed.
8505         * lib/modechange.h: Likewise.
8506
8507 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8508
8509         * MODULES.html.sh: Add mkancestors.
8510         * modules/mkancesdirs: New module.
8511         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
8512         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
8513         The chdir-safer and afs files are now orphans; I'll remove them
8514         unless someone speaks up.
8515         Add lib/dirchownmod.c, lib/dirchownmod.h.
8516         (Depends-on): Remove alloca, chown, save-cwd, dirname.
8517         Add lchown, mkancesdirs.
8518         (Maintainer): Add self.
8519
8520 2006-07-15  Karl Berry  <karl@gnu.org>
8521
8522         * gnulib-tool: help message wording/arrangement.
8523
8524 2006-07-14  Simon Josefsson  <jas@extundo.com>
8525
8526         * doc/gnulib.texi (Libtool and Windows): New section.
8527
8528 2006-07-12  Simon Josefsson  <jas@extundo.com>
8529
8530         * modules/gendocs (License): Fix license, approved by Karl.
8531
8532 2006-07-12  Eric Blake  <ebb9@byu.net>
8533
8534         * MODULES.html.sh: Add gendocs.
8535
8536 2006-07-11  Eric Blake  <ebb9@byu.net>
8537
8538         * modules/fdl: New module, to install doc/fdl.texi.
8539         * MODULES.html.sh: Add new section for documentation modules.
8540         * gnulib-tool: Avoid space-tab.
8541         (--doc-base): New option, to manage files from doc.
8542
8543 2006-07-11  Eric Blake  <ebb9@byu.net>
8544
8545         * m4/absolute-header.m4: Fix comments to match recent change.
8546
8547 2006-07-11  Eric Blake  <ebb9@byu.net>
8548
8549         * gnulib-tool: List --doc-base before --tests-base.
8550
8551 2006-07-11  Derek R. Price  <derek@ximbiot.com>
8552
8553         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
8554
8555 2006-07-11  Bruno Haible  <bruno@clisp.org>
8556
8557         * README: Mention where to put documentation.
8558
8559 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8560
8561         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
8562
8563 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8564
8565         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
8566         to stdint.m4.
8567
8568 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8569
8570         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
8571         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
8572         "no/such/file/stdint.h" when there is no such file, so that
8573         the resulting C code can be parsed by dodgy compilers.
8574         Problems reported by Bob Proulx.
8575
8576 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8577
8578         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
8579         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8580         macros into the GNU _D_EXACT_NAMLEN.
8581         * lib/savedir.c:  Likewise.
8582         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
8583
8584 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8585         and Paul Eggert  <eggert@cs.ucla.edu>
8586
8587         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
8588         * m4/savedir.m4:
8589         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8590         macros into the GNU _D_EXACT_NAMLEN.
8591
8592 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8593
8594         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
8595         around the absolute name, to work around a problem with the HP-UX
8596         11.23 native C compiler, reported by Bob Proulx.
8597
8598 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8599
8600         * doc/maintain.texi, make-stds.texi: Sync from
8601         <http://savannah.gnu.org/projects/gnustandards>.
8602
8603 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8604
8605         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
8606
8607 2006-07-09  Jim Meyering  <jim@meyering.net>
8608
8609         * m4/glob.m4: Remove a doubled word in a comment.
8610
8611 2006-07-09  Jim Meyering  <jim@meyering.net>
8612
8613         * lib/argp-pv.c: Remove a doubled word in a comment.
8614         * lib/check-version.c (check_version): Likewise.
8615         * lib/javacomp.c (compile_java_class): Likewise.
8616
8617 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8618
8619         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
8620         for the benefit of people using Autoconf 2.60.  If you want to
8621         support older Autoconf versions you can copy m4/onceonly_2_57.m4
8622         (or m4/onceonly.m4, if pre-2.57) manually.
8623
8624 2006-07-08  Jim Meyering  <jim@meyering.net>
8625
8626         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
8627         comment.
8628         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
8629         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
8630         comment.
8631
8632 2006-07-08  Jim Meyering  <jim@meyering.net>
8633
8634         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
8635
8636 2006-07-07  Simon Josefsson  <jas@extundo.com>
8637
8638         * tests/test-crc.c: Change expected crc value, the test vector
8639         were probably computed using the old broken crc.c?
8640
8641 2006-07-06  Simon Josefsson  <jas@extundo.com>
8642
8643         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
8644         now the canonical place for the M4 file).
8645
8646         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
8647         from the sys_socket dependency now.
8648
8649         * modules/inet_pton (Files): Ditto.
8650
8651         * modules/inet_ntop (Files): Ditto.
8652
8653 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8654
8655         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
8656         not gl_PREREQ_GETUSERSHELL.
8657
8658 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8659
8660         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
8661         with only one argument, for Autoconf 2.60.
8662         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
8663         expand to nothing, so add a shell command to avoid syntax error.
8664         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8665
8666 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8667
8668         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
8669
8670 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8671
8672         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
8673         no longer needed.  Check for isblank decl.
8674         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
8675         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
8676         of existence.
8677
8678 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8679
8680         * lib/getloadavg.c: Use __VMS, not VMS.
8681         * lib/getopt.c: Likewise.
8682         * lib/getpagesize.h: Likewise.
8683         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
8684         and probably does not work.
8685
8686 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8687
8688         * lib/.cppi-disable: Add wcwidth.
8689         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
8690         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
8691         (ISGRAPH): Remove.  All uses changed to isgraph.
8692         (FOLD) [!defined _LIBC]: Remove special case.
8693         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
8694         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
8695         HAVE_ISBLANK.
8696         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
8697         case.
8698
8699 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
8700
8701         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
8702         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
8703         brackets.  Other minor changes to suppress some compiler
8704         warnings.
8705
8706 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8707         and Paul Eggert  <eggert@cs.ucla.edu>
8708
8709         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
8710         of invoking obsolescent AC_HEADER_DIRENT macro.
8711         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8712         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
8713         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8714         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
8715         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
8716         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
8717         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
8718         * m4/readdir.m4: Remove; no longer needed.
8719
8720 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8721         and Paul Eggert  <eggert@cs.ucla.edu>
8722
8723         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
8724         Don't worry about this obsolete case any more.
8725         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
8726         directories.
8727         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
8728         worry about this obsolete case any more.
8729         * lib/fts.c: Likewise.
8730         * lib/getcwd.c: Likewise.
8731         * lib/glob.h: Likewise.
8732         * lib/savedir.c: Likewise.
8733
8734 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8735
8736         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
8737         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
8738         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
8739         needed.
8740         All uses removed.
8741         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8742         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8743         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
8744         needed.
8745         * m4/getdate.m4 (gl_GETDATE): Likewise.
8746         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8747         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8748         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8749         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8750         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8751         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8752         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
8753         needed.
8754
8755 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8756
8757         * lib/memcasecmp.c: Include <limits.h>.
8758         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
8759         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
8760         Don't assume isdigit succeeds only on '0' through '9'.
8761
8762 2006-07-05  Eric Blake  <ebb9@byu.net>
8763
8764         * modules/getaddrinfo (Depends-on): Add snprintf.
8765
8766 2006-07-05  Eric Blake  <ebb9@byu.net>
8767
8768         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
8769         to avoid 'header present but could not be compiled' on cygwin.
8770
8771 2006-07-05  Eric Blake  <ebb9@byu.net>
8772
8773         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
8774         missing from netdb.h.
8775         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
8776
8777 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8778
8779         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
8780         no longer needed.
8781         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
8782         * m4/getdate.m4 (gl_GETDATE): Likewise.
8783         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8784         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8785         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8786         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8787         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8788
8789 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8790
8791         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
8792         All uses of is_space replaced by isspace.
8793         * lib/exit.h: Don't talk about STDC_HEADERS.
8794         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
8795         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
8796         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
8797         replaced by isprint etc.
8798         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
8799         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8800         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
8801         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
8802         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
8803         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8804
8805 2006-07-05  Bruno Haible  <bruno@clisp.org>
8806
8807         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
8808         the function exists, before testing against AIX.
8809         Reported by Martin Lambers <marlam@marlam.de>.
8810
8811 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8812
8813         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
8814         From Mark D. Baushke.
8815
8816 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8817
8818         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
8819         to the absolute name, not just one, to bypass Sun C 5.8's
8820         "warning: #include of /usr/include/... may be non-portable".
8821
8822 2006-07-04  Eric Blake  <ebb9@byu.net>
8823
8824         * modules/dirname-tests: New test module.
8825         * tests/test-dirname.c: New file, replacing dirname.c
8826         TEST_DIRNAME section that was recently deleted.
8827
8828 2006-07-04  Bruno Haible  <bruno@clisp.org>
8829
8830         Assume ANSI C header files and <ctype.h> functions.
8831         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
8832         (mbsnwidth): Use isprint, iscntrl instead.
8833
8834 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8835
8836         Merge from coreutils.
8837         * MODULES.html.sh: Add xstrtold.
8838         * modules/xstrtold: New file.
8839         * modules/cycle-check (Files): Add lib/same-inode.h.
8840         * modules/dirname (Files): Add m4/double-slash-root.m4.
8841         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
8842         * modules/mkdir-p (Files): Add lib/same-inode.h.
8843         * modules/same (Files): Add lib/same-inode.h.
8844
8845 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8846
8847         * m4/absolute-header.m4: Renamed from full-header-path.m4.
8848         This is to keep the terminology clean; POSIX talks about
8849         "absolute pathnames", not "full pathnames", but the GNU
8850         Coding Standards say to use "path" for something else;
8851         so use "absolute" to keep both sides happy.
8852         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
8853         Set gl_absolute_header, not gl_full_header_path.
8854         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
8855         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
8856         All uses changed.
8857
8858         Merge from coreutils.
8859
8860         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8861
8862         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
8863         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
8864         want to require the building of c-strtod.o.
8865         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
8866         needs -lm directly.
8867         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
8868
8869         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8870
8871         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
8872         --as-needed option if available.  Problem reported by Albert Chin in
8873         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
8874         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
8875         cc merely issues a bunch of annoying warnings for --as-needed
8876         (this problem was reported by Bob Proulx).  Also, try linking with
8877         -lm to detect a bug in binutils 2.16 (this problem was reported
8878         by Ralf Wildenhues).
8879
8880         2006-06-18  Jim Meyering  <jim@meyering.net>
8881
8882         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
8883         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
8884         macro.
8885         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
8886         also check for glibc-2.4's abort-inducing bug.
8887
8888         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
8889         Low-probability clean-up should be to use rmdir to get rid of
8890         the just-created directory, not unlink.
8891
8892         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
8893         configure fail, and request a bug report to inform us about it.
8894         Add a comment that, barring reports to the contrary, in 2007 we'll
8895         assume ftruncate is universally available.
8896
8897         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8898
8899         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
8900
8901         2006-03-12  Jim Meyering  <jim@meyering.net>
8902
8903         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
8904         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
8905         * m4/same.m4 (gl_SAME): Likewise.
8906         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
8907
8908         2006-03-11  Eric Blake  <ebb9@byu.net>
8909
8910         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
8911         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
8912         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
8913         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
8914
8915 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8916
8917         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
8918         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
8919         reported by Mark D. Baushke, one in
8920         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
8921
8922         Merge from coreutils.
8923
8924         * lib/.cppi-disable: Add stdint_.h.
8925         * lib/.cvsignore: Add stdint.h.
8926
8927         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8928
8929         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
8930         both double and long double versions.
8931         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
8932         * lib/xstrtold.c: New file.
8933         * lib/xstrtod.h (xstrtold): New decl.
8934
8935         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
8936
8937         * lib/filemode.c (setst): Remove.
8938         (strmode): Rewrite to avoid setst.  This makes the code shorter,
8939         (arguably) clearer, and the generated code is a bit smaller on my
8940         Debian GNU/Linux stable x86 host.
8941
8942         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8943
8944         * lib/filemode.c: Include "filemode.h" first, to test the interface.
8945         Assume that filemode.h includes sys/types.h and sys/stat.h.
8946         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
8947         (ftypelet): Reorder to put common cases first, for efficiency.
8948         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
8949         to do 'M'.
8950         (strmode): Renamed from mode_string, and now stores 12 bytes instead
8951         of 10, for compatibility with FreeBSD.  All callers changed.
8952         (filemodestring): Now stores 12 bytes instead of 10, and sets file
8953         types that can't be deduced solely from st_mode.  First arg is now a
8954         const pointer.
8955         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
8956         (strmode): Renamed from mode_string.
8957         (filemodestring): New decl.
8958         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
8959         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
8960         needed.
8961         (S_ISPORT, S_ISWHT): New macros, if not already defined.
8962
8963         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8964
8965         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
8966         fsusage.h now does that.  Include fsusage.h first, to test interface.
8967         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
8968         at most one method (the old code could have generated decls that
8969         didn't conform to C89, not that this was ever exercised).
8970         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
8971
8972         2006-03-19  Jim Meyering  <jim@meyering.net>
8973
8974         Work even in a chroot where d_ino values for entries in "/"
8975         don't match the stat.st_ino values for the same names.
8976         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
8977         number, iterate through all entries again, using lstat instead.
8978         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
8979         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
8980
8981         * lib/getcwd.c (__getcwd): Clarify a comment.
8982         Use memcpy in place of a call to strcpy.
8983
8984         2006-03-12  Jim Meyering  <jim@meyering.net>
8985
8986         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
8987         matches that of the current directory (which we're about to chdir ".."
8988         out of), then save the dev-ino of the parent, instead.
8989
8990         * lib/same-inode.h (SAME_INODE): New file/macro.
8991         * lib/chdir-safer.c (SAME_INODE): Remove definition.
8992         Include "same-inode.h", instead.
8993         * lib/same.c: Likewise.
8994         * lib/cycle-check.h: Include "same-inode.h".
8995         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
8996         * lib/cycle-check.c (SAME_INODE): Remove definition.
8997         * lib/root-dev-ino.h: Include "same-inode.h".
8998
8999         2006-03-11  Eric Blake  <ebb9@byu.net>
9000
9001         * lib/same.c (same_name): s/base_name/last_component/
9002         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
9003         * lib/filenamecat.c (file_name_concat): Likewise.
9004
9005         2006-03-11  Eric Blake  <ebb9@byu.net>,
9006                     Paul Eggert  <eggert@cs.ucla.edu>
9007
9008         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
9009         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
9010         drive prefix.
9011         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
9012         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
9013         (last_component): New method.
9014         * lib/dirname.c (dir_len): Determine when drive letters need a
9015         subsequent slash.  Preserve // when it is special.
9016         (dir_name): Don't append dot when drive letter is absolute.
9017         [TEST_DIRNAME]: Move into a full-blown gnulib test.
9018         * lib/basename.c (base_name): New semantics - malloc the result.
9019         Preserve // when it is special.  Preserve relative files that look
9020         like drive letters.
9021         (base_len): Preserve // when it is special.
9022         (last_component): New method, similar to old base_name semantics.
9023         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
9024         base_name.  Strip redundant slashes from ///.
9025
9026 2006-07-03  Jim Meyering  <jim@meyering.net>
9027
9028         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
9029         macro is used before the first cycle_check call.
9030
9031 2006-07-03  Eric Blake  <ebb9@byu.net>
9032
9033         * modules/dirname (Depends-on): Add xstrndup.
9034
9035 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
9036
9037         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
9038         test cases, so that config.log is a bit easier to follow.
9039
9040 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
9041
9042         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
9043         both are 64 bits, since this seems to be the tradition, and this
9044         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
9045         we ever run into a host that prefers long long to long in this
9046         case, we'll need another configure-time test.  Problem reported by
9047         Jim Meyering.
9048
9049 2006-07-02  Eric Blake  <ebb9@byu.net>
9050
9051         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
9052
9053 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9054
9055         * modules/inttypes (Depends-on): No longer depends on stdint.
9056         * modules/stdint (Description): Say more about assumptions.
9057         Say that the fast types might differ.  Say macros are used.
9058         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
9059         (Makefile.am): Revise list of substituted symbols to match
9060         new stdint.m4.
9061         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
9062         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
9063         * tests/test-stdint.c (verify_same_types)
9064         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
9065         the code conforms to C99/C89.
9066         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
9067         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
9068
9069 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9070
9071         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
9072         but fix a bug, by requiring at least 64 bits.
9073         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
9074         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
9075         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
9076         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
9077
9078         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
9079         changes.  Make 2.59 a prerequisite.  Check and substitute for
9080         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
9081         inttypes.h.  Do not use special include files; just use the
9082         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
9083         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
9084         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
9085         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
9086         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
9087         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
9088         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
9089         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
9090         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
9091         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
9092         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
9093         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
9094         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
9095         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
9096         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
9097         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
9098         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
9099         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
9100         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
9101         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
9102         WINT_MAX.  Check for C99 conformance more strictly, by detecting
9103         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
9104         not check for things that C99 does not require, e.g., int8_t.  If
9105         a test isn't needed unless <stdint.h> isn't working, and is
9106         unlikely to be needed for any other reason, then don't do it
9107         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
9108         size_t, since we assume C89 freestanding at least.  Do not check
9109         for sig_atomic_t, wchar_t, or wint_t, since the code now does
9110         the right thing even if the types are not defined.  Instead use:
9111         (gl_STDINT_TYPE_PROPERTIES): New macro.
9112         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
9113         testing whether <sys/types.h> clashes, as Autoconf does this for
9114         us now.  All uses removed.
9115         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
9116         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
9117         (gl_CHECK_TYPE_SAME):
9118         Remove; no longer needed.
9119         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
9120         exists, since we'll return 0 anyway in that case.
9121         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
9122
9123 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9124
9125         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
9126         possible collision with system files.
9127         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
9128         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
9129         WCHAR_MIN and WCHAR_MAX in this case.
9130         (<stddef.h>): Do not include; no longer needed.
9131         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
9132         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
9133         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
9134         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
9135         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
9136         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
9137         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
9138         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
9139         !defined(__c99))]: Include in this case too, since it's harmless
9140         now.
9141         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
9142         dangerous to do so.
9143         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
9144         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
9145         (_STDINT_MIN, _STDINT_MAX): New macros.
9146         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
9147         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
9148         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
9149         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
9150         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
9151         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
9152         macros, not typedefs; this simplifies things quite a bit.
9153         Use long int for all types narrower than int64_t.
9154         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
9155         Define in terms of long long int or int64_t or long int,
9156         not int64_t or int32_t.  This saves some compile-time testing.
9157         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
9158         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
9159         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
9160         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
9161         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
9162         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
9163         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
9164         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
9165         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
9166         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
9167         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
9168         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
9169         undef any previous version and define our own version, for
9170         simplicity and consistency with the new macros for types.
9171         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
9172         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
9173         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
9174         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
9175         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
9176         @WINT_T_SUFFIX@ to keep things simple here.
9177         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
9178         Simplify by assuming typical 8/16/32/64 host, since we're
9179         already doing that elsewhere anyway.
9180         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
9181         and assume long long int is 64 bits if available.  This
9182         speeds up 'configure'.
9183
9184 2006-07-01  Eric Blake  <ebb9@byu.net>
9185
9186         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
9187         Reported by Andreas Buening.
9188
9189 2006-07-01  Eric Blake  <ebb9@byu.net>
9190
9191         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
9192
9193 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
9194
9195         * lib/getaddrinfo.c: fixed typo
9196
9197 2006-06-29  Jim Meyering  <jim@meyering.net>
9198
9199         * modules/strftime (Maintainer): Add my name, since with the
9200         FPRINTFTIME changes strftime.c has forked from glibc.
9201
9202 2006-06-29  Eric Blake  <ebb9@byu.net>
9203
9204         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
9205
9206 2006-06-29  Eric Blake  <ebb9@byu.net>
9207
9208         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
9209
9210 2006-06-29  Eric Blake  <ebb9@byu.net>
9211
9212         * lib/stat_.h: New file.
9213
9214 2006-06-29  Eric Blake  <ebb9@byu.net>
9215
9216         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
9217         unused static function.
9218
9219 2006-06-29  Eric Blake  <ebb9@byu.net>
9220
9221         * doc/functions.texi (Function Portability): Document missing lstat
9222         on mingw.
9223
9224 2006-06-29  Eric Blake  <ebb9@byu.net>
9225
9226         * MODULES.html.sh: Add sys_stat.
9227         * modules/sys_stat: New module.
9228         * modules/mkstemp (Depends-on): Add sys_stat.
9229
9230 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9231
9232         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
9233
9234 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9235
9236         * m4/c-bs-a.m4: Removed.
9237
9238 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9239
9240         * lib/strftime.c: Assume strftime() exists.
9241
9242 2006-06-29  Derek Price  <derek@ximbiot.com>
9243
9244         * modules/c-bs-a: Removed - \a is C89.
9245         * MODULES.html.sh: Remove c-bs-a.
9246
9247 2006-06-29  Bruno Haible  <bruno@clisp.org>
9248
9249         * modules/wcwidth (License): Change to LGPL.
9250
9251 2006-06-28  Simon Josefsson  <jas@extundo.com>
9252
9253         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
9254         on _WIN32.
9255
9256         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
9257         getnameinfo.
9258
9259 2006-06-28  Simon Josefsson  <jas@extundo.com>
9260
9261         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
9262
9263 2006-06-28  Simon Josefsson  <jas@extundo.com>
9264
9265         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
9266         functions there.  It will succeed on Windows XP, but on Windows
9267         2000 and (presumably) earlier, it will fail, and use the internal
9268         re-implementation.
9269         (use_win32_p): New function.
9270         (getaddrinfo): Use strtoul on servname, to support numeric ports.
9271         Support AI_NUMERICSERV to disable getservbyname.
9272         (getnameinfo): New function, only supports
9273         NI_NUMERICHOST|NI_NUMERICSERV for now.
9274
9275         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
9276         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
9277         getnameinfo.
9278
9279 2006-06-28  Eric Blake  <ebb9@byu.net>
9280
9281         * modules/wcwidth: New file.
9282         * modules/mbchar (Depends-on): Add wcwidth.
9283         * modules/mbswidth (Depends-on): Add wcwidth.
9284         * MODULES.html.sh: Add wcwidth.
9285
9286 2006-06-28  Eric Blake  <ebb9@byu.net>
9287
9288         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
9289         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
9290
9291 2006-06-28  Eric Blake  <ebb9@byu.net>
9292
9293         * lib/xvasprintf.h: Fix comments.
9294
9295 2006-06-28  Eric Blake  <ebb9@byu.net>
9296
9297         * lib/mbchar.h (wcwidth): Include wcwidth.h.
9298         * lib/mbswidth.c (wcwidth): Move from here...
9299         * lib/wcwidth.h: ...to this new file.
9300
9301 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9302
9303         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
9304
9305         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
9306         it's obsolete.
9307         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
9308
9309 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9310
9311         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
9312         Autoconf 2.60 says this stuff was obsolete.
9313
9314 2006-06-28  Bruno Haible  <bruno@clisp.org>
9315
9316         * modules/wcwidth (Files): Add m4/wchar_t.m4.
9317
9318 2006-06-28  Bruno Haible  <bruno@clisp.org>
9319
9320         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
9321         gt_TYPE_WCHAR_T.
9322
9323 2006-06-28  Bruno Haible  <bruno@clisp.org>
9324
9325         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
9326         declaration for wcwidth.
9327         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
9328
9329 2006-06-28  Bruno Haible  <bruno@clisp.org>
9330
9331         * lib/mkdtemp.c [MINGW]: Include <io.h>.
9332         (mkdir): Define using _mkdir.
9333
9334 2006-06-28  Bruno Haible  <bruno@clisp.org>
9335
9336         * lib/getaddrinfo.h: Fix POSIX URL.
9337         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
9338         _WIN32.
9339         (use_win32_p): Make static.
9340         (getaddrinfo): Reject service name if it is empty or does not consist
9341         solely of decimal digits, or if its value is > 65535.
9342         (getnameinfo): Remove useless casts.
9343
9344 2006-06-27  Simon Josefsson  <jas@extundo.com>
9345
9346         * modules/sys_select: New file, suggested by Bruno Haible, Paul
9347         Eggert and Martin Lambers.
9348
9349 2006-06-27  Simon Josefsson  <jas@extundo.com>
9350
9351         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
9352         Eggert and Martin Lambers.
9353
9354 2006-06-27  Bruno Haible  <bruno@clisp.org>
9355
9356         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
9357         result to 0, not to empty.
9358         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
9359
9360 2006-06-27  Bruno Haible  <bruno@clisp.org>
9361
9362         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
9363
9364 2006-06-26  Simon Josefsson  <jas@extundo.com>
9365
9366         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
9367         present.
9368
9369 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
9370
9371         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
9372         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
9373         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
9374
9375 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
9376
9377         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
9378
9379 2006-06-26  Bruno Haible  <bruno@clisp.org>
9380
9381         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
9382
9383 2006-06-26  Bruno Haible  <bruno@clisp.org>
9384
9385         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
9386
9387 2006-06-26  Bruno Haible  <bruno@clisp.org>
9388
9389         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
9390         SGI C compiler in pre-C99 mode.
9391         Suggested by Mark D. Baushke and Larry Jones.
9392
9393 2006-06-26  Bruno Haible  <bruno@clisp.org>
9394
9395         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
9396         WCHAR_MAX.
9397         Reported by Mark D. Baushke and Larry Jones.
9398
9399 2006-06-26  Bruno Haible  <bruno@clisp.org>
9400
9401         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
9402         in pre-C99 mode.
9403         Suggested by Mark D. Baushke and Larry Jones.
9404
9405 2006-06-23  Simon Josefsson  <jas@extundo.com>
9406             Bruno Haible  <bruno@clisp.org>
9407
9408         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
9409         Emit mostlyclean-local rule.
9410         (func_emit_tests_Makefile_am): Likewise.
9411         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
9412
9413 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
9414
9415         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
9416
9417 2006-06-23  Bruno Haible  <bruno@clisp.org>
9418
9419         * tests/test-stdint.c: Update to match ISO C 99 Technical
9420         Corrigendum 1.
9421
9422 2006-06-23  Bruno Haible  <bruno@clisp.org>
9423
9424         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
9425
9426 2006-06-23  Bruno Haible  <bruno@clisp.org>
9427
9428         * lib/stdint_.h: Treat IRIX like OpenBSD.
9429
9430 2006-06-23  Bruno Haible  <bruno@clisp.org>
9431
9432         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
9433         ISO C 99 Technical Corrigendum 1.
9434
9435 2006-06-22  Simon Josefsson  <jas@extundo.com>
9436
9437         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
9438         MinGW.
9439
9440 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
9441
9442         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
9443         needed.  Some compiler complained about some of them.  Problem reported
9444         by Larry Jones in
9445         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
9446
9447 2006-06-21  Simon Josefsson  <jas@extundo.com>
9448
9449         * tests/test-getaddrinfo.c: New file.
9450
9451         * modules/getaddrinfo-tests: New file.
9452
9453         * MODULES.html.sh: Add inet_pton.
9454
9455         * modules/inet_pton: New file.
9456
9457 2006-06-21  Simon Josefsson  <jas@extundo.com>
9458
9459         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
9460         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
9461         of using the (limited) gnulib implementation on Windows XP.
9462
9463         * m4/inet_pton.m4: New file.
9464
9465 2006-06-21  Simon Josefsson  <jas@extundo.com>
9466
9467         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
9468         variable.
9469
9470         * lib/socket_.h: Don't define WINVER.
9471
9472         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
9473         slightly modified to work in gnulib.
9474
9475 2006-06-21  Simon Josefsson  <jas@extundo.com>
9476
9477         * doc/gnulib.texi (Windows sockets): Add.
9478
9479 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
9480
9481         * lib/read-file.c (fread_file): Start with buffer allocation of
9482         0 bytes rather than 1 byte; this simplifies the code.
9483         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
9484         code to free buffer and save/restore errno.
9485         (internal_read_file): Remove unused local.
9486
9487 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9488
9489         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
9490         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
9491         Problem reported by Denis Excoffier in
9492         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
9493
9494 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9495
9496         * modules/sys_socket, modules/socklen: Include sys/types since
9497         FreeBSD 4.x's sys/socket.h needs it.
9498
9499 2006-06-19  Simon Josefsson  <jas@extundo.com>
9500
9501         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
9502
9503 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
9504
9505         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
9506
9507 2006-06-19  Bruno Haible  <bruno@clisp.org>
9508
9509         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
9510         and FULL_PATH_INTTYPES_H in angle brackets.
9511         Reported by Mark D. Baushke <mdb@gnu.org>.
9512
9513 2006-06-17  Eric Blake  <ebb9@byu.net>
9514
9515         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
9516         errno.
9517
9518 2006-06-17  Bruno Haible  <bruno@clisp.org>
9519
9520         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
9521         <sys/inttypes.h>.
9522
9523 2006-06-17  Bruno Haible  <bruno@clisp.org>
9524
9525         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
9526         whether errno is declared. Assume <errno.h> declares errno.
9527
9528 2006-06-17  Bruno Haible  <bruno@clisp.org>
9529
9530         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
9531
9532 2006-06-17  Bruno Haible  <bruno@clisp.org>
9533
9534         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
9535         problem on Solaris 2.5.1.
9536
9537 2006-06-16  Eric Blake  <ebb9@byu.net>
9538
9539         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
9540         * lib/unicodeio.c [!defined errno]: Likewise.
9541         * lib/strtol.c [!defined errno]: Likewise.
9542         * lib/strtod.c [!defined errno]: Likewise.
9543
9544 2006-06-15  Eric Blake  <ebb9@byu.net>
9545
9546         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
9547
9548 2006-06-15  Eric Blake  <ebb9@byu.net>
9549
9550         * config/srclist.txt (ssize_t.m4): Lose sync.
9551
9552 2006-06-15  Bruno Haible  <bruno@clisp.org>
9553
9554         * modules/stdint (Files): Include m4/full-header-path.m4,
9555         m4/size_max.m4, m4/wchar_t.m4.
9556         (Makefile.am): Many more substitutions.
9557         * modules/stdint-tests: New file.
9558         * tests/test-stdint.c: New file.
9559
9560 2006-06-15  Bruno Haible  <bruno@clisp.org>
9561
9562         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
9563         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
9564         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
9565         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
9566         gl_CHECK_TYPE_SAME): New macros.
9567
9568 2006-06-15  Bruno Haible  <bruno@clisp.org>
9569
9570         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
9571
9572 2006-06-15  Bruno Haible  <bruno@clisp.org>
9573
9574         * lib/stdint_.h: Rewritten to be fully auto-configured.
9575         Fixes bug on HP-UX/IA64.
9576
9577 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
9578
9579         * lib/getdate.y (__attribute__): Don't define if already defined.
9580         Problem reported by Larry Jones.
9581         * lib/utimens.c (__attribute__): Likewise.
9582
9583 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
9584
9585         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
9586         reported by Andreas Schwab.
9587
9588 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9589             Bruno Haible  <bruno@clisp.org>
9590
9591         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
9592         check for the declaration of strnlen and a run test that exposes the
9593         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
9594         rpl_strndup.
9595
9596 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9597             Bruno Haible  <bruno@clisp.org>
9598
9599         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
9600
9601 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9602
9603         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
9604         compile test, for Tru64 4.0D.
9605
9606 2006-05-28  Karl Berry  <karl@gnu.org>
9607
9608         * config/srclist.txt (printf-args.c): lose sync.
9609
9610 2006-05-26  Martin Lambers  <marlam@marlam.de>
9611
9612         * lib/getpass.c: Updates the test for the native W32 API, and adds
9613         missing includes, thus fixing compilation warnings.
9614
9615 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9616
9617         * lib/exclude.c (exclude_fnmatch): New function.
9618         (excluded_file_name): Call exclude_fnmatch.
9619         * lib/exclude.h (excluded_file_name): New prototype
9620
9621 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
9622
9623         * lib/tempname.c (small_open, large_open): New macros.
9624         (__open, __open64) [!_LIBC]: Remove.
9625         (__gen_tempname): Use small_open and large_open instead of __open
9626         and __open64.  This fixes a portability bug on HP-UX 11.11i
9627         reported by Simon Wing-Tang in
9628         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
9629
9630 2006-05-24  Bruno Haible  <bruno@clisp.org>
9631
9632         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
9633         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
9634         Reported by Thorsten Maerz <torte@netztorte.de> via
9635         Aaron Stone <aaron@serendipity.cx>.
9636
9637 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9638
9639         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
9640         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
9641         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
9642         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
9643         not really conditional on the cache.
9644         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
9645
9646 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9647
9648         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
9649         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
9650         (my_usleep): Don't mishandle maximum value.
9651
9652 2006-05-19  Jim Meyering  <jim@meyering.net>
9653
9654         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
9655
9656 2006-05-17  Bruno Haible  <bruno@clisp.org>
9657
9658         Cygwin portability.
9659         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
9660
9661 2006-05-17  Bruno Haible  <bruno@clisp.org>
9662
9663         * lib/stdint_.h: Fix recognition of Cygwin.
9664
9665 2006-05-15  Bruno Haible  <bruno@clisp.org>
9666
9667         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
9668         on libtool patch by Ralf Wildenhues.
9669
9670 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9671
9672         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
9673         test for C99 conformance; (bool) 0.5 is an integer constant
9674         expression, but (bool) -0.5 is not.  Problem reported by Fedor
9675         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
9676
9677 2006-05-11  Simon Josefsson  <jas@extundo.com>
9678
9679         * m4/xvasprintf.m4: Fix obvious typo.
9680
9681 2006-05-11  Jim Meyering  <jim@meyering.net>
9682
9683         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
9684         James Lemley.
9685
9686 2006-05-10  Simon Josefsson  <jas@extundo.com>
9687
9688         * lib/md4.c: Typo fix, update copyright years.
9689         (K1, K2): Don't use L because it turn computations into 64-bit on
9690         64-bit platforms.
9691
9692 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
9693
9694         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
9695         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
9696         unwanted sign propagation, e.g., on hosts with 64-bit int.
9697         There still are some problems with reeelly weird theoretical hosts
9698         (e.g., 33-bit int) but it's not worth worrying about now.
9699         * lib/sha1.c (rol): Likewise.
9700         (K1, K2, K3, K4): Remove unnecessary L suffix.
9701
9702 2006-05-10  Bruno Haible  <bruno@clisp.org>
9703
9704         * lib/des.c: Cast to avoid warnings.
9705
9706 2006-05-09  Bruno Haible  <bruno@clisp.org>
9707
9708         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
9709         (Depends-on): Depend also on xsize, stdarg.
9710         (configure.ac): Add gl_XVASPRINTF.
9711
9712 2006-05-09  Bruno Haible  <bruno@clisp.org>
9713
9714         * m4/xvasprintf.m4: New file.
9715
9716 2006-05-09  Bruno Haible  <bruno@clisp.org>
9717
9718         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
9719         (EOVERFLOW): Define fallback value.
9720         (xstrcat): New function.
9721         (xvasprintf): Recognize the special case of a string concatenation.
9722
9723 2006-05-08  Eric Blake  <ebb9@byu.net>
9724
9725         * gnulib-tool (func_version): Base copyright year on CVS date.
9726         (func_emit_copyright_notice): New function.
9727         (func_emit_lib_Makefile_am): Use it.
9728         (func_emit_tests_Makefile_am): Likewise.
9729         (func_import): Likewise.
9730
9731 2006-05-08  Bruno Haible  <bruno@clisp.org>
9732
9733         * modules/stdarg: New file.
9734         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
9735
9736 2006-05-08  Bruno Haible  <bruno@clisp.org>
9737
9738         * m4/stdarg.m4: New file, from GNU gettext.
9739
9740 2006-05-08  Bruno Haible  <bruno@clisp.org>
9741
9742         * config/srclist.txt (build-aux/config.rpath): different from latest
9743         release.
9744
9745 2006-05-08  Bruno Haible  <bruno@clisp.org>
9746
9747         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
9748
9749 2006-05-05  Jim Meyering  <jim@meyering.net>
9750
9751         * m4/warning.m4: New file, derived from bison's file by the same name.
9752
9753 2006-05-03  Bruno Haible  <bruno@clisp.org>
9754
9755         * lib/stdint_.h: Shorter URL.
9756         * lib/inttypes.h: Likewise.
9757
9758 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9759
9760         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
9761
9762 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9763
9764         * lib/verify.h: Document the internals better.  Most of this change
9765         was written by Bruno Haible.
9766
9767 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9768
9769         * doc/verify.texi: New file, partly based on a proposal by
9770         Bruno Haible.
9771
9772 2006-05-02  Bruno Haible  <bruno@clisp.org>
9773
9774         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
9775         test from here...
9776         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
9777
9778 2006-04-29  Bruno Haible  <bruno@clisp.org>
9779
9780         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
9781         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
9782
9783 2006-04-29  Bruno Haible  <bruno@clisp.org>
9784
9785         * gnulib-tool: Make --update option actually work.
9786
9787 2006-04-29  Bruno Haible  <bruno@clisp.org>
9788
9789         * doc/gcd.texi: New file.
9790         * doc/gnulib.texi: Include it.
9791
9792 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
9793
9794         * lib/getdate.y (get_date): When adding relative date, start with the
9795         initial time, not with the result of the first mktime call.
9796
9797 2006-04-25  Bruno Haible  <bruno@clisp.org>
9798
9799         * gnulib-tool (func_import): Output the include directives in three
9800         blocks, sorted separately.
9801         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9802
9803 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9804
9805         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
9806         to define main with arguments, for C++.  Reported by Eric Blake.
9807         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
9808         Prefer 'int main ()' to 'int main (void)', for C++.
9809         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9810         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
9811         for 'main', for C99 and C++.
9812
9813 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9814
9815         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
9816         Don't assume that exit status -1 is valid.
9817         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9818         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
9819         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
9820         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
9821         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
9822         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
9823         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
9824         functions can be used without declaring them, or that you can
9825         exit with status -1.
9826         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
9827
9828 2006-04-24  Karl Berry  <karl@gnu.org>
9829
9830         * config/srclist.txt (longdouble.m4): sync lost.
9831
9832 2006-04-24  Eric Blake  <ebb9@byu.net>
9833
9834         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
9835
9836 2006-04-24  Bruno Haible  <bruno@clisp.org>
9837
9838         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
9839         poll() implementation in AIX.
9840         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9841
9842 2006-04-24  Bruno Haible  <bruno@clisp.org>
9843
9844         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
9845         assigned exactly once.
9846
9847 2006-04-23  Claudio Fontana  <claudio@gnu.org>
9848             Bruno Haible  <bruno@clisp.org>
9849
9850         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
9851         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
9852         for AM_CPPFLAGS.
9853
9854 2006-04-23  Bruno Haible  <bruno@clisp.org>
9855
9856         * modules/copy-file: Depend on unistd.
9857         * modules/execute: Likewise.
9858         * modules/fatal-signal: Likewise.
9859         * modules/findprog: Likewise.
9860         * modules/mkdtemp : Likewise.
9861         * modules/pipe: Likewise.
9862         * modules/wait-process: Likewise.
9863
9864 2006-04-23  Bruno Haible  <bruno@clisp.org>
9865
9866         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
9867         condition was already detected.
9868         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9869
9870 2006-04-23  Bruno Haible  <bruno@clisp.org>
9871
9872         * lib/copy-file.c: Include <unistd.h> unconditionally.
9873         * lib/execute.c: Likewise.
9874         * lib/fatal-signal.c: Likewise.
9875         * lib/findprog.c: Likewise.
9876         * lib/mkdtemp.c: Likewise.
9877         * lib/pipe.h: Likewise.
9878         * lib/pipe.c: Likewise.
9879         * lib/wait-process.h: Likewise.
9880
9881 2006-04-23  Bruno Haible  <bruno@clisp.org>
9882
9883         * gnulib-tool (func_usage): Fix --import description. Document
9884         --update.
9885         (func_import): Create temporary file in a temporary directory, if
9886         --dry-run is specified. Silence errors from 'grep' when there are no
9887         m4 files in $m4dir.
9888         (func_create_testdir): Silence errors from 'grep' when there are no
9889         m4 files in $m4dir.
9890         Reported by Karl Berry <karl@freefriends.org>.
9891
9892 2006-04-20  Bruno Haible  <bruno@clisp.org>
9893
9894         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
9895         one argument, so that the code will be portable to Autoconf 2.60.
9896         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
9897         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9898         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
9899
9900 2006-04-19  Derek Price  <derek@ximbiot.com>
9901             Eric Blake  <ebb9@byu.net>
9902
9903         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
9904         rather than "/full/path.h".  Update comment to match.  Shorten &
9905         generalize m4_translit call via AS_TR_CPP.
9906
9907 2006-04-19  Derek Price  <derek@ximbiot.com>
9908             Eric Blake  <ebb9@byu.net>
9909
9910         * lib/inttypes.h: Correct grammar in comment.
9911
9912 2006-04-18  Derek Price  <derek@ximbiot.com>
9913             Paul Eggert  <eggert@cs.ucla.edu>
9914
9915         * modules/inttypes: New file.
9916         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
9917
9918 2006-04-18  Derek Price  <derek@ximbiot.com>
9919             Paul Eggert  <eggert@cs.ucla.edu>
9920
9921         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
9922         New files.
9923
9924 2006-04-18  Derek Price  <derek@ximbiot.com>
9925             Paul Eggert  <eggert@cs.ucla.edu>
9926
9927         * lib/inttypes.h: New file.
9928         * lib/strtoimax.c: Assume <inttypes.h>.
9929
9930 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
9931
9932         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
9933         isn't mounted.  Problem reported by Kir Kolyshkin.
9934
9935 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
9936
9937         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
9938         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
9939         Derek R. Price.
9940         * lib/regex.h (RE_DUP_MAX): Update comment to match current
9941         implementation.
9942
9943 2006-04-12  Eric Blake  <ebb9@byu.net>
9944
9945         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
9946         is now done automatically by the corresponding Autoconf macro.
9947
9948 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
9949
9950         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
9951         time_r.h.
9952
9953 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9954
9955         Merge regex changes from libc, removing some of our
9956         POSIX-conformance changes that were rejected and redoing them in a
9957         less-intrusive way.
9958
9959         * lib/regcomp.c (re_compile_internal, init_dfa):
9960         Length arg is now size_t, not Idx.  All uses changed.
9961         (peek_token): Forward decl now says internal_function.
9962         (__re_error_msgid, __re_error_msgid_idx):
9963         Now static rather than extern with attribute_hidden.
9964         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
9965         For some reason libc prefers K&R style defns for external functions.
9966         (regerror) [!defined _LIBC]: Likewise.
9967         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
9968         (seek_collating_symbol_entry, lookup_collation_sequence_value):
9969         (build_range_exp, build_collating_symbol):
9970         Use K&R-style defn.
9971         (re_compile_fastmap): Use '\0' to memset, not 0.
9972         (utf8_sb_map): Make the calculations more obvious.
9973         (init_dfa, parse_bracket_exp, build_charclass_op):
9974         Call calloc and cast result, as glibc does.
9975         (init_word_char, fetch_token, peek_token, peek_token_bracket):
9976         (build_range_exp, build_collating_symbol):
9977         Now internal functions.
9978
9979         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
9980
9981         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
9982         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
9983         Don't depend on VMS; depend on __VMS instead, for POSIX
9984         namespace cleanness.
9985         (regoff_t): Define to ssize_t, not long int.
9986
9987         Remove the REG_ macros named below.  Instead, make the old names
9988         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
9989         __USE_GNU_REGEX.
9990         (REG_BACKSLASH_ESCAPE_IN_LISTS):
9991         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
9992         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
9993         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
9994         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
9995         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
9996         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
9997         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
9998         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
9999         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
10000         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
10001         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
10002         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
10003         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
10004         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
10005         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
10006         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
10007         (REG_NREGS):
10008         Remove.  All uses replaced by the old RE_* names.
10009         (RE_BACKSLASH_ESCAPE_IN_LISTS):
10010         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
10011         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
10012         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
10013         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
10014         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
10015         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
10016         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
10017         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
10018         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
10019         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
10020         Don't bother having these macros be independent of each others'
10021         values, since they no longer exist in the POSIX name space.
10022
10023         Rename the following member names back to their old names,
10024         unless !__USE_GNU_REGEX.  All uses changed back.
10025         (buffer): Renamed from re_buffer.
10026         (allocated): Renamed from re_allocated.
10027         (used): Renamed from re_used.
10028         (syntax): Renamed from re_syntax.
10029         (fastmap): Renamed from re_fastmap.
10030         (translate): Renamed from re_translate.
10031         (can_be_null): Renamed from re_can_be_null.
10032         (regs_allocated): Renamed from re_regs_allocated.
10033         (fastmap_accurate): Renamed from re_fastmap_accurate.
10034         (no_sub): Renamed from re_no_sub.
10035         (not_bol): Renamed from re_not_bol.
10036         (not_eol): Renamed from re_not_eol.
10037         (newline_anchor): Renamed from re_newline_anchor.
10038         (num_regs): Renamed from rm_num_regs.
10039         (start): Renamed from rm_start.
10040         (end): Renamed from rm_end.
10041
10042         (free_state): Move up a bit.
10043
10044         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
10045         #define to be empty.
10046         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
10047         when that is what is intended.
10048         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
10049         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
10050         (MAX): New macro.
10051         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
10052         All uses changed back to re_malloc, etc.  It's now the caller's
10053         responsibility to check for overflow; all callers changed.
10054         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
10055         (re_x2nrealloc): Remove.
10056         (free_state): Remove decl.
10057
10058         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
10059         (re_set_registers, re_exec):
10060         Use K&R-style defn.
10061
10062         2006-01-31  Roland McGrath  <roland@redhat.com>
10063
10064         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
10065         Reported by Mike Frysinger <vapier@gentoo.org>.
10066
10067         2006-01-15  Andreas Jaeger  <aj@suse.de>
10068
10069         [BZ #1950]
10070         * lib/regex_internal.c (re_string_reconstruct): Adjust for
10071         build_wcs_upper_buffer change.
10072         (build_wcs_upper_buffer): Change return type.
10073
10074         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
10075
10076         * lib/regex_internal.h: Include <stdint.h> if available.
10077
10078         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
10079
10080         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
10081
10082         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
10083
10084         * lib/regcomp.c: Adjust for changed secondary hash function.
10085
10086         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
10087
10088         * lib/regex.h: Pretty printing.
10089         Clean up namespace a bit.
10090
10091         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
10092
10093         * lib/regexec.c (update_cur_sifted_state, check_arrival,
10094         check_arrival_add_next_nodes): Avoid using uninitialized variable.
10095
10096         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10097                     Ulrich Drepper  <drepper@redhat.com>
10098
10099         [BZ #1302]
10100         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
10101         changed.
10102         (bitset_word_t): Renamed from bitset_word.  All uses changed.
10103
10104         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
10105
10106         [BZ #281]
10107         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
10108         * lib/regcomp.c: Remove unnecessary uses of
10109         unsigned RE_TRANSLATE_TYPE.
10110         * lib/regex_internal.h: Likewise.
10111         * lib/regex_internal.c: Likewise.
10112         * lib/regexec.c: Likewise.
10113         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
10114
10115         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
10116
10117         * lib/regexec.c (find_recover_state): Remove unnecessary
10118         initialization.
10119         (transit_state_bkref): Make DFA a const pointer.
10120         (get_subexp): Likewise.
10121         (check_arrival): Likewise.
10122         (update_cur_sifted_state): Likewise.
10123         (re_search_internal): Likewise.
10124         (prune_impossible_nodes): Likewise.
10125         (acquire_init_state_context): Likewise.
10126         (proceed_next_node): Likewise.
10127         (set_regs): Likewise.
10128         (free_fail_stack_return): Likewise.
10129         (check_arrival_expand_ecl): Mark DFA parameter as const.
10130         (check_arrival_expand_ecl_sub): Likewise.
10131         (check_subexp_limits): Likewise.
10132         (sub_epsilon_src_nodes):  Likewise.
10133         (add_epsilon_src_nodes):  Likewise.
10134         (merge_state_array): Likewise.
10135         (update_regs): Likewise.
10136         (build_trtable): Likewise.
10137         (sift_states_backward): Mark MCTX parameter as const.
10138         (build_sifted_states): Likewise.
10139         (update_cur_sifted_state): Likewise.
10140         (sift_states_mkref): Likewise.
10141         (check_arrival_expand_ecl): Mark eclosure as const.
10142         (check_dst_limits_calc_pos_1): Likewise.
10143         * lib/regex_internal.h (re_match_context_t): Make dfa a const
10144         pointer.
10145
10146         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
10147
10148         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
10149         (transit_state_sb): Likewise.
10150         (transit_state_mb): Likewise.
10151         (sift_states_iter_mb): Likewise.
10152         (check_arrival_add_next_nodes): Likewise.
10153         (check_node_accept_bytes): Change first parameter to pointer-to-const.
10154         [_LIBC] (re_search_2_stub): Use mempcpy.
10155
10156         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
10157         mbrtowc for very simple UTF-8 case.
10158
10159         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
10160         a pointer-to-const.
10161         (re_acquire_state_context): Likewise.
10162         * lib/regex_internal.h: Adjust prototypes.
10163
10164         * lib/regex.c: Prevent using C++ compilers.
10165
10166         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
10167         (re_acquire_state_context): Likewise.
10168
10169 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10170
10171         * modules/regex (Depends-on): Add ssize_t.
10172
10173 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10174
10175         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
10176         translation table.
10177
10178 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10179
10180         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
10181
10182 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
10183             Bruno Haible  <bruno@clisp.org>
10184
10185         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
10186         <sys/types.h> and <inttypes.h>.
10187
10188 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10189
10190         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
10191         `__error_t_defined', so argp.h will not typedef the former.
10192
10193 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
10194
10195         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
10196         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
10197         glibc names.  Even if glibc is changed to conform to POSIX, the
10198         traditional names will be available anyway, since regex depends on
10199         the extensions module.  Also, fix a longstanding typo in the
10200         implementation of Spencer ERE test #75 from grep 2.3.  Problems
10201         reported by Emanuele Giaquinta.  Also, change sense of cached
10202         variable, so that the message makes sense.
10203
10204 2006-03-24  Simon Josefsson  <jas@extundo.com>
10205
10206         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
10207         including some doc fixes.
10208         (base64_encode_alloc): Fix +1 bug on allocation failures.
10209
10210 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10211
10212         * lib/base64.c (base64_encode): Do not read past end of array with
10213         unsanitized input on systems with CHAR_BIT > 8.
10214
10215 2006-03-24  Eric Blake  <ebb9@byu.net>
10216
10217         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
10218
10219 2006-03-22  Karl Berry  <karl@gnu.org>
10220
10221         * config/srclist.txt (*setenv.[ch]): get from coreutils.
10222         * config/srclistvars.sh (COREUTILS): new var.
10223
10224 2006-03-17  Jim Meyering  <jim@meyering.net>
10225
10226         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
10227         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
10228
10229 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
10230
10231         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
10232         no longer needs it.  Instead, check that regoff_t is as least
10233         as wide as ptrdiff_t.
10234
10235         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
10236         so that our regex.h stays compatible with the installed regex.
10237         This is helpful for installers who configure --without-included-regex.
10238         Problem reported by Emanuele Giaquinta.
10239
10240 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
10241
10242         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
10243         Typedef to long int, not to off_, as POSIX will likely change
10244         in that direction.
10245
10246 2006-03-15  Eric Blake  <ebb9@byu.net>
10247
10248         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
10249
10250 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10251
10252         * lib/argp-help.c (validate_uparams): Fix typo
10253         * lib/argp-parse.c (argp_default_options): Consistently begin help
10254         messages with a lowercase letter.
10255
10256 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
10257
10258         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
10259         overrun buffers and shouldn't be used (much as gets shouldn't be
10260         used).
10261         * lib/time_r.c (asctime_r, ctime_r): Likewise.
10262
10263 2006-03-08  Simon Josefsson  <jas@extundo.com>
10264
10265         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
10266         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10267
10268 2006-03-08  Simon Josefsson  <jas@extundo.com>
10269
10270         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
10271         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10272
10273 2006-03-08  Simon Josefsson  <jas@extundo.com>
10274
10275         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
10276         signal that configure disabled the device.
10277
10278 2006-03-08  Simon Josefsson  <jas@extundo.com>
10279
10280         * build-aux/maint.mk: Fix refresh-po, to handle no translated
10281         languages.
10282
10283 2006-03-07  Simon Josefsson  <jas@extundo.com>
10284
10285         * modules/getopt (Depends-on): Add unistd.
10286
10287         * modules/unistd: New file.
10288
10289 2006-03-07  Simon Josefsson  <jas@extundo.com>
10290
10291         * modules/gc-random: New file.
10292
10293 2006-03-07  Simon Josefsson  <jas@extundo.com>
10294
10295         * m4/unistd_h.m4: New file.
10296
10297 2006-03-07  Simon Josefsson  <jas@extundo.com>
10298
10299         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
10300         test to be side-effect free by storing the result in the cache
10301         variable gl_cv_lib_readline, and moving the assignment of
10302         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
10303         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10304
10305 2006-03-07  Simon Josefsson  <jas@extundo.com>
10306
10307         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
10308         error on missing devices (the functions will return an error).
10309
10310         * m4/gc.m4: Move random stuff to gc-random.m4
10311
10312 2006-03-07  Simon Josefsson  <jas@extundo.com>
10313
10314         * lib/unistd_.h: New file.
10315
10316 2006-03-07  Simon Josefsson  <jas@extundo.com>
10317
10318         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
10319
10320 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10321
10322         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
10323         Problem reported by Juan Manuel Guerrero.
10324
10325 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10326
10327         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
10328         the unistd module.
10329         * lib/getlogin_r.c: Likewise.
10330         * lib/getlogin_r.h: Likewise.
10331         * lib/glob.c: Likewise.
10332         * lib/pagealign_alloc.c: Likewise.
10333         * lib/unistd_.h: Remove; no longer needed.
10334
10335 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10336
10337         * MODULES.html.sh (Support for systems lacking POSIX:2001):
10338         Add unistd.
10339         * modules/c-stack (Depends-on): Add unistd.
10340         * modules/getlogin_r: Likewise.
10341         * modules/glob: Likewise.
10342         * modules/pagealign_alloc: Likewise.
10343         * modules/unistd (Files): Remove lib/unistd_.h.
10344         (EXTRA_DIST): Remove.
10345         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
10346         need unistd_.h.
10347         (MOSTLYCLEANFILES): Remove unistd.h-t.
10348
10349 2006-03-03  Simon Josefsson  <jas@extundo.com>
10350
10351         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
10352
10353 2006-03-03  Simon Josefsson  <jas@extundo.com>
10354
10355         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
10356         libidn and bison.
10357
10358 2006-03-03  Simon Josefsson  <jas@extundo.com>
10359
10360         * build-aux/maint.mk: Add indent target.
10361
10362 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
10363
10364         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
10365         our replacement poll.h in any case, to avoid a differing
10366         declaration from a system header.  Seen on AIX.
10367
10368 2006-03-01  Simon Josefsson  <jas@extundo.com>
10369
10370         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
10371         <kasal@ucw.cz>.
10372
10373 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10374
10375         * modules/gettime (Depends-on): Add extensions module.
10376         * modules/nanosleep (Depends-on): Likewise.
10377         * modules/settime (Depends-on): Likewise.
10378
10379 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10380
10381         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
10382         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
10383         pedantically.
10384         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10385         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
10386
10387         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
10388         not "==".  Reported by Ralf Wildenhues.
10389
10390 2006-03-01  Karl Berry  <karl@gnu.org>
10391
10392         * doc/Copyright/request-*: new files, synced from gnuorg.
10393
10394 2006-03-01  Karl Berry  <karl@gnu.org>
10395
10396         * config/srclist.txt (Copyright/*): new entries.
10397
10398 2006-02-28  Simon Josefsson  <jas@extundo.com>
10399
10400         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
10401
10402 2006-02-27  Simon Josefsson  <jas@extundo.com>
10403
10404         * lib/base64.h: Indent #define's.  From Jim Meyering
10405         <jim@meyering.net>.
10406
10407 2006-02-27  Jim Meyering  <jim@meyering.net>
10408
10409         Revert the change of 2006-02-24, so these files can continue
10410         to be sync'd from gettext.
10411         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
10412         of `config.h'.
10413
10414 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
10415
10416         * modules/intprops: New file.
10417         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
10418         Add intprops.
10419         * modules/getloadavg (Files): Remove lib/intprops.h.
10420         (Depends-on): Add intprops.
10421         * modules/human: Likewise.
10422         * modules/inttostr: Likewise.
10423         * modules/openat: Likewise.
10424         * modules/sig2str: Likewise.
10425         * modules/userspec: Likewise.
10426         * modules/utimecmp: Likewise.
10427         * modules/xnanosleep: Likewise.
10428         * modules/xstrtol: Likewise.
10429
10430 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
10431
10432         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
10433         * modules/lock-tests (TESTS): Use $(EXEEXT).
10434         * modules/tls-tests: Likewise.
10435         * modules/argp-tests: Likewise.
10436         (check_PROGRAMS): New var, replacing...
10437         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
10438
10439 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10440
10441         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
10442         `config.h'.
10443
10444 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
10445
10446         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
10447
10448 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10449
10450         Sync from coreutils.
10451         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
10452         gl_CHDIR_SAFER.
10453
10454 2006-02-22  Jim Meyering  <jim@meyering.net>
10455
10456         Sync from coreutils.
10457         * m4/chdir-safer.m4: New file.
10458
10459 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10460
10461         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
10462         AT_FDCWD exceeds INT_MAX.
10463         * lib/openat.h (AT_FDCWD): Likewise.
10464
10465 2006-02-17  Eric Blake  <address@hidden>
10466
10467         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
10468
10469 2006-02-16  Simon Josefsson  <jas@extundo.com>
10470
10471         * modules/getaddrinfo (Depends-on): Add sys_socket.
10472
10473 2006-02-15  Simon Josefsson  <jas@extundo.com>
10474
10475         * build-aux/maint.mk: Add dsyntax-check rule.
10476
10477 2006-02-15  Eric Blake  <ebb9@byu.net>
10478
10479         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
10480         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
10481         'present but cannot compile' warnings on cygwin.
10482         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
10483         use ws2tcpip.h if sys/socket.h works.
10484         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
10485         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
10486
10487 2006-02-14  Simon Josefsson  <jas@extundo.com>
10488
10489         * modules/maintainer-makefile (Files): Rename.
10490
10491         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
10492         and (the local) Makefile.cfg to maint-cfg.mk.
10493
10494         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
10495         to the latter.
10496
10497         * modules/maintainer-makefile: New module.
10498
10499         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
10500         severaly stripped to make it possible to build it up from scratch
10501         with reliable tests.
10502
10503         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
10504         fixes to permit overriding the default actions when configure and
10505         makefile are not available.
10506
10507 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
10508
10509         Sync from coreutils.
10510         * modules/lstat (Depends-on): Don't depend on xalloc.
10511         (License): Change from GPL to LGPL, since this is now simply a
10512         replacement for a libc function.
10513
10514 2006-02-14  Jim Meyering  <jim@meyering.net>
10515
10516         Sync from coreutils.
10517
10518         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
10519         failure on deficient systems, and simplify gnulib lgpl dependencies.
10520         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
10521         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
10522
10523         * lib/xalloc-die.c: Remove unused definition of N_.
10524
10525 2006-02-14  Jim Meyering  <jim@meyering.net>
10526
10527         Sync from coreutils.
10528         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
10529         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
10530         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
10531         double-quote uses of that variable, to accommodate the rare case in
10532         which getmntent is available in none of the libraries checked.  This
10533         happens at least on FreeBSD 5.0.
10534
10535 2006-02-13  Simon Josefsson  <jas@extundo.com>
10536
10537         * gnulib-tool (Usage): Fix --import, from
10538         karl@freefriends.org (Karl Berry).
10539
10540 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10541
10542         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
10543
10544 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
10545
10546         * lib/argp-namefrob.h: Restore changes accidentally lost during the
10547         "autoupdate" on 2005-12-12.
10548
10549 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10550
10551         * modules/closeout (Depends-on): Remove atexit.
10552
10553 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10554
10555         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
10556         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
10557
10558 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
10559
10560         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
10561         __EXTENSIONS__ if this causes compilation to fail.  Problem
10562         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
10563         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
10564
10565 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
10566
10567         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
10568         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
10569         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
10570         All uses changed.
10571
10572 2006-01-26  Simon Josefsson  <jas@extundo.com>
10573
10574         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
10575         prototype is visible on mingw32.
10576
10577         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
10578         for mingw32.
10579
10580         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
10581         mingw32).
10582
10583 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
10584
10585         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
10586         attempt to open for write; this always fails, at least on POSIX
10587         hosts.  This reinstates the 2006-01-09 change, which was
10588         inadvertently removed.
10589
10590 2006-01-26  Bruno Haible  <bruno@clisp.org>
10591
10592         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
10593         Reported by Paul Eggert.
10594
10595 2006-01-26  Bruno Haible  <bruno@clisp.org>
10596             Paul Eggert  <eggert@cs.ucla.edu>
10597
10598         * lib/stdbool_.h (_Bool)
10599         [(! (defined __cplusplus || defined __BEOS__)
10600           && !defined __GNUC__
10601           && !(defined __HP_cc || defined __xlc__
10602                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
10603                || defined __sgi))]:
10604         #define to signed char in these cases too; this simplifies
10605         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
10606         etc., separately) and makes it more conservative.
10607
10608 2006-01-25  Simon Josefsson  <jas@extundo.com>
10609
10610         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
10611         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
10612         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
10613
10614 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10615
10616         * lib/argp-namefrob.h: Bugfix. Remove stray #
10617
10618 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
10619
10620         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
10621         so that we test the test.
10622         Check for yet another HP-UX cc bug involving *bool |= bool.
10623
10624 2006-01-25  Karl Berry  <karl@gnu.org>
10625
10626         * config/srclist.txt (vasnprintf.c): sync lost.
10627
10628 2006-01-25  Jim Meyering  <jim@meyering.net>
10629
10630         Sync from the stable (b5) branch of coreutils:
10631
10632         * lib/fts.c (fts_children): Don't let close() clobber errno from
10633         failed fchdir().
10634
10635         * lib/fts.c (fts_stat): When following a symlink-to-directory,
10636         don't necessarily interpret stat-fails+lstat-succeeds as indicating
10637         a dangling symlink.  That can also happen at least for ELOOP.
10638         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
10639         FYI, this bug predates the inclusion of fts.c in coreutils.
10640
10641         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
10642         in their own block, so pre-c99 compilers don't object.
10643
10644         Avoid the double-free (first in fts_read, second in fts_close) that
10645         would occur when an `active' directory is made inaccessible (e.g.,
10646         via chmod a-x) during a traversal.
10647         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10648         before returning.  Reproduce this failure by
10649         mkdir -p a/b; cd a; chmod a-x . b
10650         Reported by Stavros Passas.
10651
10652 2006-01-25  Jim Meyering  <jim@meyering.net>
10653
10654         * lib/fileblocks.c: Remove more useless parentheses.
10655         * lib/readutmp.h: Likewise.
10656
10657 2006-01-25  Bruno Haible  <bruno@clisp.org>
10658
10659         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
10660         warnings.
10661         Reported by Paul Eggert.
10662
10663 2006-01-25  Bruno Haible  <bruno@clisp.org>
10664
10665         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
10666         rid of a trap command. For Solaris sh.
10667         Reported by Mark D. Baushke <mdb@gnu.org>.
10668
10669 2006-01-24  Simon Josefsson  <jas@extundo.com>
10670
10671         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
10672         Bruno.
10673
10674 2006-01-24  Karl Berry  <karl@gnu.org>
10675
10676         * config/srclist.txt (argp-namefrob.h): sync lost.
10677
10678 2006-01-24  Jim Meyering  <jim@meyering.net>
10679
10680         * modules/openat (Files): Add lib/intprops.h.
10681         From Mark D. Baushke.
10682
10683 2006-01-24  Jim Meyering  <jim@meyering.net>
10684
10685         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
10686         Reported by Mark D. Baushke.
10687
10688 2006-01-24  Jim Meyering  <jim@meyering.net>
10689
10690         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
10691
10692 2006-01-24  Bruno Haible  <bruno@clisp.org>
10693
10694         * modules/strnlen (Maintainer): Change from glibc to all.
10695
10696 2006-01-24  Bruno Haible  <bruno@clisp.org>
10697
10698         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
10699         Patch by Paul Eggert.
10700
10701 2006-01-24  Bruno Haible  <bruno@clisp.org>
10702
10703         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
10704         already has it.
10705         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
10706         2005-11-26.
10707
10708         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
10709         'signed char' to avoid problems with the built-in _Bool type.
10710         Reported by Paul Eggert on 2005-11-26.
10711
10712 2006-01-24  Bruno Haible  <bruno@clisp.org>
10713
10714         * gnulib-tool (func_import): Avoid constructing complicated sed
10715         expressions inside backquote.
10716         Report and solution by Mark D. Baushke <mdb@gnu.org>.
10717
10718 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
10719
10720         These changes imported from libc.
10721         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
10722         test and two separate function calls.
10723         * lib/strndup.c (__strndup): Add libc_hidden_def.
10724
10725 2006-01-23  Simon Josefsson  <jas@extundo.com>
10726
10727         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
10728         Remove the test_*_SOURCES variable: automake infers it by default.
10729         * modules/tls-tests: Likewise.
10730
10731 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10732
10733         Work around porting bugs reported by Dieter in
10734         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
10735         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
10736         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
10737         Include "getopt.h" first, to check interface.
10738         (getenv): Declare only if defined HAVE_DECL_GETENV &&
10739         !HAVE_DECL_GETENV.
10740         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
10741         (__strndup): Revert to K&R-style function dfns, the glibc style.
10742         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
10743         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
10744         Include strnlen.h first, to get prototype properly.
10745         (strnlen): Renamed from __strnlen.
10746         Remove weak alias.
10747
10748 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10749
10750         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
10751
10752 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10753
10754         * config/srclist.txt: Adjust to reflect glibc reorganization.
10755         This affects only comments.
10756
10757 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10758
10759          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
10760          Reported by Bruce Korb <bkorb@gnu.org>.
10761
10762 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
10763
10764         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
10765         to pacify gcc -Wswitch-default.
10766
10767 2006-01-22  Bruno Haible  <bruno@clisp.org>
10768
10769         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
10770         temporary buffer for sprintf, take into account the precision also
10771         for 'd', 'i', 'u', 'o', 'x', 'X'.
10772
10773 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10774
10775         * modules/argp-tests: New module
10776         * tests/test-argp.c: New file
10777         * tests/test-argp-2.sh: New file
10778
10779 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10780
10781         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
10782         (__argp_base_name): Removed
10783         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
10784         typo.
10785         (__argp_base_name): Provide macro definition or extern declaration
10786         depending on the configuration
10787
10788 2006-01-20  Simon Josefsson  <jas@extundo.com>
10789
10790         * modules/inet_ntop (Depends-on): Depend on sys_socket.
10791
10792 2006-01-20  Simon Josefsson  <jas@extundo.com>
10793
10794         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
10795
10796 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
10797
10798         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
10799         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
10800         Suggested by Bruno Haible.
10801
10802 2006-01-20  Karl Berry  <karl@gnu.org>
10803
10804         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
10805         until changes propagate, I guess.
10806
10807 2006-01-19  Simon Josefsson  <jas@extundo.com>
10808
10809         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
10810
10811 2006-01-19  Simon Josefsson  <jas@extundo.com>
10812
10813         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
10814
10815 2006-01-19  Simon Josefsson  <jas@extundo.com>
10816
10817         * gnulib-tool: Set check_PROGRAMS.
10818
10819         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10820         modules/des-tests, modules/gc-arcfour-tests,
10821         modules/gc-arctwo-tests, modules/gc-des-tests,
10822         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10823         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10824         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10825         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10826         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10827         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
10828         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
10829         test_*_SOURCES.
10830
10831 2006-01-18  Simon Josefsson  <jas@extundo.com>
10832
10833         * modules/socklen (Depends-on): Depend on sys_socket.
10834
10835 2006-01-18  Simon Josefsson  <jas@extundo.com>
10836
10837         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10838         modules/des-tests, modules/gc-arcfour-tests,
10839         modules/gc-arctwo-tests, modules/gc-des-tests,
10840         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10841         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10842         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10843         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10844         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10845         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
10846         $(EXEEXT) to automake TESTS variable, for mingw32.
10847
10848 2006-01-17  Simon Josefsson  <jas@extundo.com>
10849
10850         * modules/socklen (Include): Need sys/socket.h.
10851
10852 2006-01-17  Bruno Haible  <bruno@clisp.org>
10853
10854         * modules/ssize_t (Include): Add <sys/types.h>.
10855
10856 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
10857
10858         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
10859         it's not portable and it doesn't work with cross-compiles.
10860         Problem reported by Bruno Haible.  Fix missing-$ typo in
10861         'test "gl_cv_ignore_unused_libraries" ...' that prevented
10862         -zignore from being used with Sun's C compiler.
10863
10864 2006-01-12  Simon Josefsson  <jas@extundo.com>
10865
10866         * lib/base64.c: Fix warning, reported by Bruno Haible
10867         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
10868
10869 2006-01-12  Bruno Haible  <bruno@clisp.org>
10870
10871         * modules/ldd: New file.
10872         * build-aux/ldd.sh.in: New file.
10873         * MODULES.html.sh (Support for building libraries and executables): Add
10874         ldd.
10875
10876 2006-01-12  Bruno Haible  <bruno@clisp.org>
10877
10878         * m4/ldd.m4: New file.
10879
10880 2006-01-12  Bruno Haible  <bruno@clisp.org>
10881
10882         * gnulib-tool (func_import, func_create_testdir): Don't go into an
10883         endless loop while replacing $auxdir with build-aux.
10884
10885 2006-01-11  Simon Josefsson  <jas@extundo.com>
10886
10887         * lib/stdint_.h (SIZE_MAX): Add missing (.
10888
10889 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10890
10891         Sync from coreutils.
10892         * lib/md5.c: Fix commentary typos.
10893         (alignof, UNALIGNED_P): No need for a GCC-specific version.
10894         * lib/md5.h (__attribute__): Remove; unused.
10895         * lib/sha1.c: Fix commentary to match md5 better.
10896         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
10897         so that we don't need to worry about alignment.  All uses changed.
10898         This merges the 2005-10-28 md5 change into sha1.
10899
10900 2006-01-11  Jim Meyering  <jim@meyering.net>
10901
10902         Sync from coreutils.
10903         * lib/md5.c (OP): Fix spacing.
10904
10905 2006-01-11  Bruno Haible  <bruno@clisp.org>
10906
10907         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10908         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
10909         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
10910
10911 2006-01-11  Bruno Haible  <bruno@clisp.org>
10912
10913         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10914         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
10915         the "early" section as well.
10916
10917 2006-01-11  Bruno Haible  <bruno@clisp.org>
10918
10919         Avoid "ar: no archive members specified" error on MacOS X.
10920         * gnulib-tool (func_modules_add_dummy): New function.
10921         (func_import, func_create_testdir): Invoke it.
10922
10923 2006-01-11  Bruno Haible  <bruno@clisp.org>
10924
10925         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
10926         with $auxdir in AC_CONFIG_FILES statements.
10927
10928 2006-01-11  Bruno Haible  <bruno@clisp.org>
10929
10930         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
10931         Initialize also noinst_HEADERS to empty.
10932
10933 2006-01-11  Bruno Haible  <bruno@clisp.org>
10934
10935         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
10936         variables.
10937         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
10938         autoreconf.
10939
10940 2006-01-11  Bruno Haible  <bruno@clisp.org>
10941
10942         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
10943         overridable by the user.
10944         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10945
10946 2006-01-10  Simon Josefsson  <jas@extundo.com>
10947
10948         * modules/sys_socket: New file.
10949
10950 2006-01-10  Simon Josefsson  <jas@extundo.com>
10951
10952         * m4/sys_socket_h.m4: New file.
10953
10954 2006-01-10  Simon Josefsson  <jas@extundo.com>
10955
10956         * lib/socket_.h: New file.
10957
10958 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10959
10960         * modules/readutmp (Maintainer): Add myself.
10961
10962 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10963
10964         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
10965         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
10966         People who are still concerned with buggy memcmp implementations
10967         can invoke gl_FUNC_MEMCMP themselves.
10968
10969 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10970
10971         * lib/regex_internal.h (BITSET_WORD_BITS):
10972         Work around a bug in 64-bit PGC (before version 6.1-2), where the
10973         preprocessor mishandles large unsigned values as if they were signed.
10974         Problem reported by Claudio Fontana in
10975         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
10976
10977 2006-01-10  Jim Meyering  <jim@meyering.net>
10978
10979         Avoid the double-free (first in fts_read, second in fts_close) that
10980         would occur when an `active' directory is made inaccessible (e.g.,
10981         via chmod a-x) during a traversal.
10982         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10983         before returning.  Reproduce this failure by
10984         mkdir -p a/b; cd a; chmod a-x . b
10985         Reported by Stavros Passas.
10986
10987         Sync from coreutils.
10988         * lib/sha1.c: Tweak grammar in a comment.
10989
10990 2006-01-10  Jim Meyering  <jim@meyering.net>
10991
10992         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
10993         Patch by Joerg Sonnenberger.
10994
10995 2006-01-10  Bruno Haible  <bruno@clisp.org>
10996
10997         * modules/readutmp: Depend on module free.
10998         * modules/strtok_r: Depend on module restrict.
10999
11000 2006-01-10  Bruno Haible  <bruno@clisp.org>
11001
11002         * modules/gettext (configure.ac): Add an invocation of
11003         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
11004
11005 2006-01-10  Bruno Haible  <bruno@clisp.org>
11006
11007         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
11008         Reported by Werner Lemberg <wl@gnu.org>.
11009
11010 2006-01-10  Bruno Haible  <bruno@clisp.org>
11011
11012         * lib/localcharset.c: Update from GNU gettext.
11013
11014 2006-01-10  Bruno Haible  <bruno@clisp.org>
11015
11016         * lib/argp.h (__const): Remove macro. Use const instead.
11017         * lib/argp-fmtstream.h (__const): Likewise.
11018         * lib/glob_.h (__const): Remove macro.
11019         * lib/glob-libc.h: Use const instead of __const.
11020
11021 2006-01-10  Bruno Haible  <bruno@clisp.org>
11022
11023         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
11024         variable.
11025         Needed to avoid an automake error regarding the 'gettext' module.
11026
11027 2006-01-09  Simon Josefsson  <jas@extundo.com>
11028
11029         * modules/inet_ntop (Depends-on): Add restrict.
11030
11031 2006-01-09  Simon Josefsson  <jas@extundo.com>
11032
11033         * modules/gc-rijndael-tests (License): Put under LGPL.
11034
11035         * modules/gc-des-tests (License): Likewise.
11036
11037         * modules/gc-arcfour-tests (License): Likewise.
11038
11039         * modules/gc-arctwo-tests (License): Likewise.
11040
11041         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
11042
11043         * modules/gc-hmac-sha1-tests (Files): Likewise.
11044
11045         * modules/gc-hmac-md5-tests (License): Likewise.
11046
11047         * modules/gc-sha1-tests (License): Likewise.
11048
11049         * modules/gc-md5-tests (License): Likewise.
11050
11051         * modules/gc-md4-tests (License): Likewise.
11052
11053         * modules/gc-md2-tests (License): Likewise.
11054
11055         * modules/gc-tests (License): Likewise.
11056
11057         * modules/des-tests (License): Likewise.
11058
11059         * modules/md4-tests (License): Likewise.
11060
11061         * modules/md2-tests (License): Likewise.
11062
11063 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11064
11065         Sync from coreutils:
11066
11067         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
11068         * modules/lib-ignore: New file.
11069         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
11070         chdir-safer.m4, lchmod.m4.
11071         * modules/openat: Add mkdirat.c, openat-priv.h.
11072
11073 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11074
11075         Sync from coreutils.
11076         * m4/lib-ignore.m4: New file.
11077         * m4/lchmod.m4: New file.
11078
11079 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11080
11081         Sync from coreutils.
11082         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
11083         for write access: POSIX says that must fail.
11084         * lib/fts.c (diropen): Likewise.
11085         * lib/save-cwd.c (save_cwd): Likewise.
11086         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
11087         well, for minor improvements on hosts that lack O_DIRECTORY.
11088         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
11089         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
11090         Fall back on chown if open failed with EACCES.
11091
11092         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
11093         Report an error at compile-time if only a 1-second nominal clock
11094         resolution is found.
11095
11096         * lib/lchmod.h: New file.
11097         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
11098         (make_dir_parents): Use lchown rather than chown, and
11099         lchmod rather than chmod.
11100
11101         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
11102         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
11103         "proc" reported by n0dalus.
11104
11105         * lib/mountlist.c: Include <limits.h>.
11106         (dev_from_mount_options)
11107         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
11108         New function.  It no longer assumes "dev=" has the System V meaning
11109         on Linux (since it doesn't).  It also parses "dev=" more carefully.
11110         (read_file_system_list)
11111         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
11112         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
11113         dev= in that case.
11114
11115         * lib/posixtm.h (PDS_PRE_2000): New macro.
11116         * lib/posixtm.c (year): Arg is now syntax_bits rather than
11117         allow_century.  All usages changed.  Reject dates outside the range
11118         1969-1999 if PDS_PRE_2000 is used.
11119
11120 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
11121
11122         Sync from coreutils.
11123         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
11124         (Time of day items): Mention the possibility of leap seconds.
11125         Problem reported by Dr. David Alan Gilbert.
11126
11127 2006-01-09  Jim Meyering  <jim@meyering.net>
11128
11129         Sync from coreutils.
11130
11131         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
11132
11133         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
11134
11135         * lib/modechange.c (mode_compile): Reject an invalid mode string
11136         that starts with an octal digit.  From Andreas Gruenbacher.
11137
11138         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
11139         and dup to open_safer and dup_safer, respectively.
11140         (openat_permissive): Fix typo in comment.
11141
11142         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
11143         "gettext.h"; either no longer needed or are guaranteed by openat.h.
11144         (_): Remove; no longer needed.
11145         (openat): Renamed from rpl_openat; no need for rpl_openat
11146         since openat.h renames openat for us.
11147         Replace most of the body with a call to openat_permissive,
11148         to avoid duplicate code.
11149         Port to (probably hypothetical) environments were mode_t is
11150         wider than int.
11151         (openat_permissive): Require mode arg, so that we can check
11152         types better.  Put it just after flags.  Change cwd failure
11153         indicator from pointer-to-bool to pointer-to-errno-value.
11154         All callers changed.
11155         Invoke openat_save_fail and/or openat_restore_fail if
11156         cwd_errno is null, so that openat can call us.
11157         (openat_permissive, fdopendir, fstatat, unlinkat):
11158         Simplify errno handling to avoid some duplicate code,
11159         as it's OK to set errno on success.
11160         * lib/openat.h: Revamp code so that function macros depend on
11161         __OPENAT_PREFIX only, not also on AT_FDCWD.
11162         (openat_ro): Remove.  Caller changed to use openat_permissive.
11163         (openat_permissive): Now a macro, if not a function.
11164         (openat_restore_fail, openat_save_fail): Now always functions,
11165         since mkdirat needs them even if __OPENAT_PREFIX is defined.
11166
11167         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
11168         and openat.c.
11169         * lib/mkdirat.c: Include openat-priv.h.
11170         Remove definitions of macros defined therein.
11171         * lib/openat.c: Likewise.
11172
11173         * lib/mkdirat.c (mkdirat): New file and function.
11174         * lib/openat.h (mkdirat): Declare.
11175
11176         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
11177
11178         * lib/openat.h (openat_permissive): Declare.
11179         (openat_ro): Define.
11180
11181         * lib/openat.c (EXPECTED_ERRNO): New macro.
11182         (openat_permissive): New function -- used in remove.c rewrite.
11183         (all functions): Set errno just before returning, only if there
11184         was an actual failure.
11185         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
11186
11187         Emulate openat-family functions using Linux's procfs, if possible.
11188         Idea and some code based on Ulrich Drepper's glibc changes.
11189
11190         * lib/openat.c: (BUILD_PROC_NAME): New macro.
11191         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
11192         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
11193         before falling back on save_cwd and restore_cwd.
11194         (fdopendir, fstatat, unlinkat): Likewise.
11195
11196         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
11197         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
11198
11199         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
11200         as second argument to va_arg.  Otherwise, some versions of gcc
11201         warn that `if this code is reached, the program will abort'.
11202
11203 2006-01-09  Jim Meyering  <jim@meyering.net>
11204
11205         Sync from coreutils.
11206         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
11207         Require openat-priv.h.
11208
11209 2006-01-09  Bruno Haible  <bruno@clisp.org>
11210
11211         * modules/strnlen (Include): Use strnlen.h.
11212
11213 2006-01-09  Bruno Haible  <bruno@clisp.org>
11214
11215         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
11216
11217 2006-01-09  Bruno Haible  <bruno@clisp.org>
11218
11219         * lib/sysexit_.h (EX_OK): New macro.
11220         Suggested by Martin Lambers <marlam@marlam.de>.
11221
11222 2006-01-09  Bruno Haible  <bruno@clisp.org>
11223
11224         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
11225         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
11226
11227 2006-01-09  Bruno Haible  <bruno@clisp.org>
11228
11229         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
11230         numbers.
11231
11232 2006-01-09  Bruno Haible  <bruno@clisp.org>
11233
11234         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
11235         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
11236         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
11237         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
11238
11239 2006-01-09  Bruno Haible  <bruno@clisp.org>
11240
11241         * build-aux/javacomp.sh.in: New file, moved from lib/.
11242         * modules/javacomp-script (Files): Update.
11243         (configure.ac): Add AC_CONFIG_FILES invocation.
11244         (EXTRA_DIST): Remove variable.
11245
11246         * build-aux/javaexec.sh.in: New file, moved from lib/.
11247         * modules/javaexec (Files): Update.
11248         (configure.ac): Add AC_CONFIG_FILES invocation.
11249         (EXTRA_DIST): Remove javaexec.sh.in.
11250
11251         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
11252         * modules/csharpcomp-script (Files): Update.
11253         (configure.ac): Add AC_CONFIG_FILES invocation.
11254         (EXTRA_DIST): Remove variable.
11255
11256         * build-aux/csharpexec.sh.in: New file, moved from lib/.
11257         * modules/csharpexec (Files): Update.
11258         (configure.ac): Add AC_CONFIG_FILES invocation.
11259         (EXTRA_DIST): Remove csharpexec.sh.in.
11260
11261 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
11262
11263         Sync from coreutils.
11264
11265         Add POSIX ACL support
11266         * lib/acl.h (copy_acl, set_acl): Add declarations.
11267         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
11268         systems other than Linux.
11269         (chmod_or_fchmod): New function: use fchmod when possible,
11270         and chmod otherwise.
11271         (file_has_acl): Add a POSIX ACL implementation, with a
11272         Linux-specific subcase.
11273         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
11274         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
11275         acls are unsupported.
11276         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
11277         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
11278         are unsupported.
11279
11280 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
11281
11282         Sync from coreutils.
11283         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
11284
11285 2006-01-07  Bruno Haible  <bruno@clisp.org>
11286
11287         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
11288         gl_EARLY.
11289
11290 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11291
11292         * lib/strftime.c (tzname): Don't declare if it is already #defined.
11293         Problem reported for Mingw by Mark Junker.
11294
11295 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11296
11297         * README: Gnulib normally doesn't generate a tarball.
11298
11299 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
11300
11301         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
11302         long int, not int, for nanosecond counts, so that people who are
11303         used to POSIX struct timespec won't be surprised.  Reported by Jim
11304         Meyering.
11305
11306 2005-12-28  Bruno Haible  <bruno@clisp.org>
11307
11308         * build-aux/config.rpath: Update from GNU gettext.
11309
11310 2005-12-16  Jim Meyering  <jim@meyering.net>
11311
11312         * modules/fprintftime: New module.
11313         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
11314
11315 2005-12-16  Jim Meyering  <jim@meyering.net>
11316
11317         * m4/fprintftime.m4: New file.
11318
11319 2005-12-16  Jim Meyering  <jim@meyering.net>
11320
11321         * lib/fprintftime.c, lib/fprintftime.h: New files.
11322
11323 2005-12-15  Simon Josefsson  <jas@extundo.com>
11324
11325         * modules/socklen (configure.ac): Fix M4 macro name, to align with
11326         new m4/socklen.m4.
11327
11328 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11329
11330         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
11331         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
11332
11333 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11334
11335         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
11336         * lib/argp-help.c (fill_in_uparams): Check if the constructed
11337         struct uparams is valid. Fall back to the default values if it is
11338         not.
11339
11340 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11341
11342         * modules/argp (Files): Add argp-pin.c
11343         (Depends-on): dirname
11344         (lib_SOURCES): Add argp-pin.c
11345
11346 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11347
11348         * m4/argp.m4:  Check if program_invocation_name and
11349         program_invocation_short_name are declared and define appropriate
11350         macros if they are not.
11351
11352 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11353
11354         * lib/argp-help.c (__argp_base_name): New function
11355         (__argp_short_program_name): Rewrite using __argp_base_name
11356         * lib/argp-namefrob.h: Define program_invocation_name and
11357         program_invocation_short_name if requested
11358         (__argp_base_name): Add prototype
11359         * lib/argp-parse.c (argp_def): Use gettext wrappers
11360         (argp_default_parser): Use __argp_base_name
11361         * lib/argp-pin.c: New file. Defines program_invocation_name and
11362         program_invocation_short_name on systems that lack them.
11363
11364 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11365
11366         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
11367         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11368         porting problem reported by Georg Schwarz in
11369         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11370
11371 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11372
11373         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
11374         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11375         porting problem reported by Georg Schwarz in
11376         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11377
11378 2005-12-05  Bruno Haible  <bruno@clisp.org>
11379
11380         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
11381         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
11382         Reported by Mark Junker <mjscod@gmx.de>.
11383
11384 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
11385
11386         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
11387         Use implementation from Albert Chin, with some
11388         comments/corrections by Stepan Kasal and myself.
11389
11390 2005-12-02  Bruno Haible  <bruno@clisp.org>
11391
11392         * gnulib-tool (func_import): Accept GPLed build tool modules when
11393         --lgpl is given.
11394         * modules/csharpcomp-script: New file.
11395         * modules/csharpcomp: Depend on it.
11396         * modules/javacomp-script: New file.
11397         * modules/javacomp: Depend on it.
11398         Suggested by Simon Josefsson.
11399
11400 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
11401
11402         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
11403         statement, to work around an HP-UX 10.20 compiler bug reported by
11404         Peter O'Gorman.
11405
11406 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11407
11408         * modules/savedir (Depends-on): Add openat.
11409
11410 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11411
11412         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
11413         (uintmax_t) [defined uintmax_t]: Do not declare.
11414         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
11415         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
11416         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
11417         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
11418         sake of portability to weird hosts that C allows (though we don't
11419         know of any practical examples).
11420
11421         * lib/savedir.h (fdsavedir): New decl.
11422         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
11423         contains most of the former guts of savedir.
11424         (savedir): Use savedirstream.
11425         Include "openat.h".
11426
11427 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11428
11429         * modules/obstack (Files): Add m4/ulonglong.m4.
11430         Problem reported by Davide Angelocola.
11431
11432 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
11433
11434         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
11435         coreutils no longer futzes with rounding modes.
11436
11437 2005-11-14  Jim Meyering  <jim@meyering.net>
11438
11439         * lib/mkstemp-safer.c: Include <config.h>, required for possible
11440         replacement of mkstemp.
11441
11442 2005-11-10  Simon Josefsson  <jas@extundo.com>
11443
11444         * lib/readline.c: Remove EOL.
11445
11446 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11447
11448         * modules/gethrxtime (Depends-on): Add gettime.
11449
11450 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11451
11452         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
11453         or gettimeofday; no longer needed.
11454
11455 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11456
11457         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
11458         time business.
11459         (gethrxtime) [! (HAVE_NANOUPTIME
11460         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
11461         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
11462         our own approximation.
11463
11464 2005-11-08  Eric Blake  <ebb9@byu.net>
11465
11466         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11467
11468 2005-11-08  Eric Blake  <ebb9@byu.net>
11469
11470         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11471
11472 2005-11-04  Bruno Haible  <bruno@clisp.org>
11473
11474         * gnulib-tool: Implement --update mode.
11475
11476 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11477
11478         Fix porting problem reported by Theodoros V. Kalamatianos.
11479         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
11480         Don't assume that futimes failing means we must fail.
11481
11482 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11483
11484         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
11485         variables to suggest the intended function of the PATH_MAX check.
11486
11487 2005-10-30  Kean Johnston  <jkj@sco.com>
11488
11489         Trivial changes to support SCO systems.
11490         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
11491         as PATH_MAX.
11492         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
11493         where __ptr is null when no I/O is pending.
11494
11495 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11496
11497         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
11498         leave errno alone.  Problem reported by Dmitry V. Levin.
11499
11500 2005-10-28  Simon Josefsson  <jas@extundo.com>
11501
11502         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
11503         Test more.
11504
11505         * tests/test-gc-md2.c, tests/test-md2.c: New files.
11506
11507         * modules/md2, modules/md2-tests: New files.
11508
11509 2005-10-28  Simon Josefsson  <jas@extundo.com>
11510
11511         * m4/inet_ntop.m4: More tests.
11512
11513         * m4/gc-md2.m4, md2.m4: New file.
11514
11515 2005-10-28  Simon Josefsson  <jas@extundo.com>
11516
11517         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
11518         "restrict" keywords, as per POSIX.  Protect the function
11519         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
11520         Don't use K&R prototypes.  Check the sprintf return values.
11521         Re-define EAFNOSUPPORT if not present.  Indent.
11522
11523         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
11524         suggested by Bruno Haible <bruno@clisp.org>.
11525
11526         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
11527
11528         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
11529
11530         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
11531         libgcrypt).
11532
11533         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
11534
11535         * lib/md2.h, lib/md2.c: New files.
11536
11537 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
11538
11539         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
11540         errno alone.  Problem reported by Frederic Jolliton.
11541
11542 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11543
11544         * modules/verify (License): Change from GPL to LGPL.  This is a
11545         tiny module and there are apparently near-equivalents that are
11546         under the BSD license.
11547
11548 2005-10-24  Simon Josefsson  <jas@extundo.com>
11549
11550         * modules/sha1: Relicense to LGPL.
11551
11552 2005-10-24  Simon Josefsson  <jas@extundo.com>
11553
11554         * lib/md4.h: Shrink buffer size, now that we changed the type.
11555
11556 2005-10-23  Simon Josefsson  <jas@extundo.com>
11557
11558         * gnulib-tool (func_import): Fix --tests-base.
11559
11560 2005-10-22  Simon Josefsson  <jas@extundo.com>
11561
11562         * modules/arcfour (Depends-on): Need stdint.
11563
11564 2005-10-22  Simon Josefsson  <jas@extundo.com>
11565
11566         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
11567         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
11568
11569 2005-10-22  Simon Josefsson  <jas@extundo.com>
11570
11571         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
11572         suggested by Bruno Haible <bruno@clisp.org>.
11573
11574 2005-10-22  Simon Josefsson  <jas@extundo.com>
11575
11576         * lib/crc.h: Include stddef.h, for size_t.
11577
11578 2005-10-22  Simon Josefsson  <jas@extundo.com>
11579
11580         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
11581         arcfour_context struct (simplify test vector testing in GNU
11582         Shishi).
11583
11584 2005-10-21  Simon Josefsson  <jas@extundo.com>
11585
11586         * modules/des, modules/des-tests: New files.
11587
11588         * modules/gc-des, modules/gc-des-tests: New files.
11589
11590         * tests/test-des.c, tests/test-gc-des.c: New file.
11591
11592 2005-10-21  Simon Josefsson  <jas@extundo.com>
11593
11594         * modules/arctwo, modules/arctwo-tests: New files.
11595
11596         * tests/test-arctwo.c: New file.
11597
11598         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
11599
11600         * tests/test-gc-arctwo.c: New file.
11601
11602 2005-10-21  Simon Josefsson  <jas@extundo.com>
11603
11604         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
11605         Bruno Haible <bruno@clisp.org>.
11606
11607         * m4/gc-des.m4: New file.
11608
11609 2005-10-21  Simon Josefsson  <jas@extundo.com>
11610
11611         * m4/arctwo.m4: New file.
11612
11613         * m4/gc-arctwo.m4: New file.
11614
11615 2005-10-21  Simon Josefsson  <jas@extundo.com>
11616
11617         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
11618         block.
11619
11620 2005-10-21  Simon Josefsson  <jas@extundo.com>
11621
11622         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
11623         <bruno@clisp.org>.
11624
11625         * lib/hmac-sha1.c (hmac_sha1): Likewise.
11626
11627         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
11628         Bruno Haible <bruno@clisp.org>.
11629
11630         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
11631         <bruno@clisp.org>.
11632
11633 2005-10-21  Simon Josefsson  <jas@extundo.com>
11634
11635         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
11636
11637 2005-10-21  Simon Josefsson  <jas@extundo.com>
11638
11639         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
11640
11641 2005-10-21  Simon Josefsson  <jas@extundo.com>
11642
11643         * lib/des.h, lib/des.c: New files.
11644
11645         * lib/gc-gnulib.c: Support DES.c
11646
11647 2005-10-21  Simon Josefsson  <jas@extundo.com>
11648
11649         * lib/arctwo.h, lib/arctwo.c: New files.
11650
11651         * lib/gc-gnulib.c: Support ARCTWO.
11652
11653 2005-10-21  Simon Josefsson  <jas@extundo.com>
11654
11655         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
11656         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11657
11658 2005-10-21  Simon Josefsson  <jas@extundo.com>
11659
11660         * gnulib-tool (func_import, func_create_testdir): Define automake
11661         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
11662         Makefile.am snippet),
11663         suggested by Bruno Haible <bruno@clisp.org>.
11664
11665         * modules/gc (Makefile.am): Use it.
11666
11667 2005-10-21  Bruno Haible  <bruno@clisp.org>
11668
11669         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
11670         patch.
11671
11672 2005-10-19  Simon Josefsson  <jas@extundo.com>
11673
11674         * tests/test-gc-rijndael.c: New file.
11675
11676         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
11677
11678 2005-10-19  Simon Josefsson  <jas@extundo.com>
11679
11680         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
11681         interface too.
11682
11683 2005-10-19  Simon Josefsson  <jas@extundo.com>
11684
11685         * tests/test-gc-arcfour.c: New file.
11686
11687         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
11688
11689 2005-10-19  Simon Josefsson  <jas@extundo.com>
11690
11691         * modules/gc-md4, modules/gc-md4-tests: New file.
11692
11693         * tests/test-gc-md4.c: New file.
11694
11695 2005-10-19  Simon Josefsson  <jas@extundo.com>
11696
11697         * m4/gc-md4.m4: New file.
11698
11699 2005-10-19  Simon Josefsson  <jas@extundo.com>
11700
11701         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
11702         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
11703         <kasal@ucw.cz>.
11704
11705 2005-10-19  Simon Josefsson  <jas@extundo.com>
11706
11707         * m4/gc-arcfour.m4: New file.
11708
11709         * m4/gc-rijndael.m4: New file.
11710
11711 2005-10-19  Simon Josefsson  <jas@extundo.com>
11712
11713         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
11714
11715 2005-10-19  Simon Josefsson  <jas@extundo.com>
11716
11717         * lib/gc-gnulib.c: Support ARCFOUR.
11718
11719 2005-10-19  Simon Josefsson  <jas@extundo.com>
11720
11721         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
11722         support.
11723
11724         * lib/gc.h: Add ECB enum type.
11725
11726         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
11727
11728 2005-10-18  Simon Josefsson  <jas@extundo.com>
11729
11730         * tests/test-md5.c: New file.
11731
11732         * modules/md5-tests: New file.
11733
11734 2005-10-18  Simon Josefsson  <jas@extundo.com>
11735
11736         * tests/test-md4.c: New file.
11737
11738         * modules/md4, modules/md4-tests: New files.
11739
11740 2005-10-18  Simon Josefsson  <jas@extundo.com>
11741
11742         * m4/md4.m4: New file.
11743
11744 2005-10-18  Simon Josefsson  <jas@extundo.com>
11745
11746         * lib/md4.h, lib/md4.c: New files, based on md5.?.
11747
11748 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
11749
11750         * gnulib-tool (func_create_testdir): Omit the second check whether
11751         BUILT_SOURCES in nonempty.
11752
11753 2005-10-17  Simon Josefsson  <jas@extundo.com>
11754
11755         * tests/test-rijndael.c: New file.
11756
11757 2005-10-17  Simon Josefsson  <jas@extundo.com>
11758
11759         * modules/sha1: Depend on stdint instead of md5.
11760
11761         * modules/md5: Depend on stdint, remove uint32_t.
11762
11763 2005-10-17  Simon Josefsson  <jas@extundo.com>
11764
11765         * modules/gc-sha1-tests: New file.
11766
11767         * tests/test-gc-sha1.c: New file.
11768
11769 2005-10-17  Simon Josefsson  <jas@extundo.com>
11770
11771         * m4/md5.m4: Remove call to uint32_t.m4.
11772
11773 2005-10-17  Simon Josefsson  <jas@extundo.com>
11774
11775         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
11776
11777         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
11778         md5.h.
11779
11780         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
11781
11782         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
11783
11784 2005-10-17  Simon Josefsson  <jas@extundo.com>
11785
11786         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
11787
11788 2005-10-17  Simon Josefsson  <jas@extundo.com>
11789
11790         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
11791
11792 2005-10-17  Simon Josefsson  <jas@extundo.com>
11793
11794         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
11795
11796         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
11797
11798 2005-10-17  Bruno Haible  <bruno@clisp.org>
11799
11800         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
11801         that it can also be used in a test.
11802
11803 2005-10-16  Bruno Haible  <bruno@clisp.org>
11804
11805         * gnulib-tool (func_emit_tests_Makefile_am): Also define
11806         TESTS_ENVIRONMENT, so that individual tests can augment it.
11807
11808         * gnulib-tool (func_create_testdir): Use an intermediate target for
11809         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
11810         macros, like $(ALLOCA_H), which cannot be passed through the command
11811         line.
11812
11813 2005-10-15  Simon Josefsson  <jas@extundo.com>
11814
11815         * modules/rijndael-tests: New file.
11816
11817         * modules/rijndael: New file.
11818
11819 2005-10-15  Simon Josefsson  <jas@extundo.com>
11820
11821         * m4/rijndael.m4: New file.
11822
11823 2005-10-15  Simon Josefsson  <jas@extundo.com>
11824
11825         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
11826
11827         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
11828
11829 2005-10-14  Simon Josefsson  <jas@extundo.com>
11830
11831         * tests/test-arcfour.c: New file.
11832
11833         * modules/arcfour, modules/arcfour-tests: New files.
11834
11835 2005-10-14  Simon Josefsson  <jas@extundo.com>
11836
11837         * m4/arcfour.m4: New file.
11838
11839 2005-10-14  Simon Josefsson  <jas@extundo.com>
11840
11841         * lib/arcfour.h, lib/arcfour.c: New files.
11842
11843 2005-10-14  Roland McGrath  <roland@redhat.com>
11844
11845         Import from libc.  [BZ #1331]
11846         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
11847         macro argument.
11848         Reported by Matej Vela <vela@debian.org>.
11849
11850 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11851
11852         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
11853         include <wchar.h>; no longer needed.
11854
11855 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11856
11857         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
11858
11859 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
11860         and  Ulrich Drepper  <drepper@redhat.com>
11861
11862         Import from libc.
11863         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
11864         instead of inline stream orientation test and two separate
11865         function calls.  Pay no attention to USE_IN_LIBIO.
11866
11867 2005-10-13  Simon Josefsson  <jas@extundo.com>
11868
11869         * modules/gc-hmac-md5-tests: New file.
11870
11871         * tests/test-gc-hmac-sha1.c: New file.
11872
11873         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
11874
11875         * modules/gc-hmac-md5-tests: New file.
11876
11877         * tests/test-gc-md5.c: New file.
11878
11879         * modules/gc-md5-tests: New file.
11880
11881 2005-10-13  Simon Josefsson  <jas@extundo.com>
11882
11883         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
11884         Move memory allocation outside of loop.
11885
11886 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11887
11888         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
11889         intermediate directory is in a read-only file system.  Problem
11890         reported by Eric Blake.
11891
11892 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
11893
11894         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
11895
11896 2005-10-12  Simon Josefsson  <jas@extundo.com>
11897
11898         * tests/test-hmac-sha1.c: New file.
11899
11900         * modules/hmac-sha1-tests: New file.
11901
11902         * modules/hmac-sha1: New file.
11903
11904 2005-10-12  Simon Josefsson  <jas@extundo.com>
11905
11906         * modules/gc-sha1: New file.
11907
11908 2005-10-12  Simon Josefsson  <jas@extundo.com>
11909
11910         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
11911
11912         * tests/test-gc-pbkdf2-sha1.c: New file.
11913
11914 2005-10-12  Simon Josefsson  <jas@extundo.com>
11915
11916         * modules/gc-md5, modules/gc-hmac-md5: New files.
11917
11918         * modules/gc (Files): Remove md5, memxor and hmac files.
11919
11920 2005-10-12  Simon Josefsson  <jas@extundo.com>
11921
11922         * m4/gc-pbkdf2-sha1.m4: New file.
11923
11924         * m4/gc-hmac-sha1.m4: New file.
11925
11926         * m4/gc-sha1: New file.
11927
11928         * m4/hmac-sha1.m4: New file.
11929
11930 2005-10-12  Simon Josefsson  <jas@extundo.com>
11931
11932         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
11933
11934         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
11935
11936 2005-10-12  Simon Josefsson  <jas@extundo.com>
11937
11938         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
11939         suggested by Bruno Haible <bruno@clisp.org>.
11940
11941 2005-10-12  Simon Josefsson  <jas@extundo.com>
11942
11943         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
11944
11945 2005-10-12  Simon Josefsson  <jas@extundo.com>
11946
11947         * lib/gc-pbkdf2-sha1.c: New file.
11948
11949         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
11950
11951 2005-10-12  Simon Josefsson  <jas@extundo.com>
11952
11953         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
11954
11955         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
11956
11957 2005-10-12  Simon Josefsson  <jas@extundo.com>
11958
11959         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
11960         GC_USE_HMAC_MD5, respectively.
11961
11962         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
11963         (gc_md5): Fix typo.
11964
11965         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
11966
11967         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
11968
11969         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
11970
11971 2005-10-12  Bruno Haible  <bruno@clisp.org>
11972
11973         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
11974         Reported by Stepan Kasal <kasal@ucw.cz>.
11975
11976 2005-10-11  Simon Josefsson  <jas@extundo.com>
11977
11978         * tests/test-crc.c: New file.
11979
11980         * modules/crc, modules/crc-tests: New files.
11981
11982 2005-10-11  Simon Josefsson  <jas@extundo.com>
11983
11984         * m4/crc.m4: New file.
11985
11986 2005-10-11  Simon Josefsson  <jas@extundo.com>
11987
11988         * lib/gc.h: Add gc_hash and gc_hash_buffer.
11989
11990         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
11991
11992         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
11993
11994 2005-10-11  Simon Josefsson  <jas@extundo.com>
11995
11996         * lib/crc.h, lib/crc.c: New files.
11997
11998         * lib/gc.h (gc_hash_buffer): Add doc.
11999
12000 2005-10-11  Bruno Haible  <bruno@clisp.org>
12001
12002         * modules/c-strcasestr: New file.
12003         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
12004
12005 2005-10-11  Bruno Haible  <bruno@clisp.org>
12006
12007         * modules/c-strcase: New file.
12008         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
12009
12010 2005-10-11  Bruno Haible  <bruno@clisp.org>
12011
12012         * lib/strcasecmp.c: Include limits.h.
12013         (strcasecmp): Avoid integer overflow on exotic platforms.
12014         * lib/strncasecmp.c: Include limits.h.
12015         (strncasecmp): Avoid integer overflow on exotic platforms.
12016         Reported by Paul Eggert.
12017
12018 2005-10-11  Bruno Haible  <bruno@clisp.org>
12019
12020         * lib/c-strcasestr.h: New file, from GNU gettext.
12021         * lib/c-strcasestr.c: New file, from GNU gettext.
12022
12023 2005-10-11  Bruno Haible  <bruno@clisp.org>
12024
12025         * lib/c-strcase.h: New file, from GNU gettext.
12026         * lib/c-strcasecmp.c: New file, from GNU gettext.
12027         * lib/c-strncasecmp.c: New file, from GNU gettext.
12028
12029 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12030
12031         * modules/mempcpy (License): GPL -> LGPL.
12032         * modules/strchrnul (License): Likewise.
12033         * modules/sysexits (License): Likewise.
12034
12035 2005-10-08  Simon Josefsson  <jas@extundo.com>
12036
12037         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
12038
12039 2005-10-07  Simon Josefsson  <jas@extundo.com>
12040
12041         * m4/memxor.m4: Remove gl_C_RESTRICT call.
12042
12043 2005-10-06  Simon Josefsson  <jas@extundo.com>
12044
12045         * tests/test-hmac-md5.c: New file.
12046
12047         * modules/hmac-md5-tests: New file.
12048
12049         * modules/hmac-md5: New file.
12050
12051 2005-10-06  Simon Josefsson  <jas@extundo.com>
12052
12053         * m4/hmac-md5.m4: New file.
12054
12055         * m4/memxor.m4: Require gl_C_RESTRICT.
12056
12057 2005-10-06  Simon Josefsson  <jas@extundo.com>
12058
12059         * lib/memxor.c (memxor): Avoid casts and warnings.
12060
12061 2005-10-06  Simon Josefsson  <jas@extundo.com>
12062
12063         * lib/hmac-md5.c: New file.
12064
12065         * lib/hmac.h: New file.
12066
12067 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12068
12069         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
12070         promotes to int, not unsigned int, to catch the AIX 5.3
12071         compiler bug.
12072
12073 2005-10-05  Simon Josefsson  <jas@extundo.com>
12074
12075         * modules/memxor: New file.
12076
12077         * modules/iconv (Files): Move config.rpath to havelib, it is used
12078         there.
12079
12080         * modules/havelib (Files): Add config.rpath.
12081
12082 2005-10-05  Simon Josefsson  <jas@extundo.com>
12083
12084         * m4/memxor.m4: New file.
12085
12086 2005-10-05  Simon Josefsson  <jas@extundo.com>
12087
12088         * lib/memxor.c (memxor): Fix compiler error.
12089
12090         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
12091         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
12092
12093         * lib/memxor.h, lib/memxor.c: New files.
12094
12095         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
12096         we assume all systems have it, suggested by Jim Meyering
12097         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
12098         any systems lack sys/socket.h; mingw32 is known to lack it, but we
12099         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
12100         same reasons.
12101
12102 2005-10-05  Simon Josefsson  <jas@extundo.com>
12103
12104         * config/srclist.txt: Add glibc bug 1423 for md5.h.
12105
12106 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12107
12108         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
12109         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
12110         needed, since the source code now assumes these .h files.
12111
12112 2005-10-05  Derek Price  <derek@ximbiot.com>
12113
12114         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
12115
12116 2005-10-05  Bruno Haible  <bruno@clisp.org>
12117
12118         * modules/stdint (License): Change to LGPL.
12119
12120 2005-10-04  Simon Josefsson  <jas@extundo.com>
12121
12122         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
12123         D. Baushke" <mdb@gnu.org>.
12124
12125 2005-10-04  Bruno Haible  <bruno@clisp.org>
12126
12127         * lib/verify.h (verify_true): Provide alternative definition for C++.
12128
12129 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
12130
12131         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
12132         (SSIZE_MAX): New macro, if not already defined.
12133         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
12134         than 2 GiB.
12135
12136 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12137
12138         Sync from coreutils.
12139         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
12140         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
12141         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
12142         ULLONG_MAX doesn't work with 2.7.2.1.
12143
12144 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12145
12146         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
12147         From Ben Pfaff.
12148
12149         * modules/exclude (Depends-on): Depend on verify.
12150         * modules/strtoimax (Depends-on): Likewise.
12151         * modules/utimecmp (Depends-on): Likewise.
12152
12153 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12154
12155         * lib/exclude.c: Include verify.h.
12156         (verify): Remove.  All callers changed to use verify.h's version.
12157         * lib/strtoimax.c: Likewise.
12158         * lib/utimecmp.c: Likewis.e
12159
12160         Sync from coreutils.
12161         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
12162         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
12163         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
12164         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
12165         bother returning ENOSYS if settimeofday or stime fails; just let
12166         them return whatever errno they want to return.
12167         * lib/utimens.c: Include unistd.h, for dup2.
12168         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
12169         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
12170
12171 2005-10-02  Jim Meyering  <jim@meyering.net>
12172
12173         Sync from coreutils.
12174         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
12175         from glibc-2.2.5 that fails for read-only files.
12176
12177 2005-10-02  Jim Meyering  <jim@meyering.net>
12178
12179         Sync from coreutils.
12180         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
12181         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
12182         `#if HAVE_CONFIG_H'.
12183         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
12184         Remove AT_FDCWD test.
12185         Do not consume the fd unless successful.
12186         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
12187         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
12188         block, so that we don't even try to compile it if settimeofday is
12189         available.  This works around a compilation failure on OSF1 V5.1,
12190         due to stime requiring a `long int*' while tv_sec is `int'.
12191
12192 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
12193
12194         Sync from coreutils.
12195         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
12196         against `yes', rather than just testing for nonempty.
12197
12198 2005-10-01  Simon Josefsson  <jas@extundo.com>
12199
12200         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
12201         and Darwin.
12202
12203         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
12204         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
12205         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
12206         freeaddrinfo and gai_strerror are declared by the POSIX headers.
12207         Check if struct addrinfo is declared.
12208
12209 2005-10-01  Simon Josefsson  <jas@extundo.com>
12210
12211         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
12212         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
12213         AI_* and EAI_* definitions.  Protect function declarations.
12214
12215 2005-10-01  Jim Meyering  <jim@meyering.net>
12216
12217         Sync from coreutils.
12218
12219         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
12220         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
12221         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
12222         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
12223         in the inet and nsl libraries.  Required on Solaris 5.7.
12224
12225 2005-10-01  Jim Meyering  <jim@meyering.net>
12226
12227         Sync from coreutils.
12228         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
12229         in the inet and nsl libraries.  Required on Solaris 5.7.
12230
12231 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
12232
12233         * lib/getdelim.c (getdelim): Remove unused variables.
12234
12235 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
12236
12237         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
12238         so that the code works even with ancient cpp.  Portability problem
12239         with GCC 2.7.2.1 reported by Thomas M.Ott.
12240
12241 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
12242
12243         * modules/regex (Depends-on): Add strcase.
12244
12245         * modules/gethostname (Licence): Change from GPL to LGPL, since
12246         gethostname.c is a trivial implementation of a standard library
12247         function.
12248         * modules/poll (License): Change from GPL to LGPL, since it's
12249         derived from LGPL code.
12250
12251 2005-09-27  Jim Meyering  <jim@meyering.net>
12252
12253         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
12254         HAVE_CONFIG_H.
12255
12256         * lib/intprops.h (signed_type_or_expr__): Define.
12257         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
12258         for unsigned types.
12259
12260 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12261
12262         * lib/verify.h (verify_expr): Remove, replacing with:
12263         (verify_true): New macro that returns true instead of void.
12264         (verify_type__): Remove.
12265         (verify): Use verify_true rather than verify_type__.
12266
12267 2005-09-26  Bruno Haible  <bruno@clisp.org>
12268
12269         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
12270         is necessary.
12271         (lib_SOURCES): Remove mbchar.c.
12272         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
12273         (Files): Add m4/mbrtowc.m4.
12274         * modules/mbiter: Likewise.
12275         * modules/mbuiter: Likewise.
12276
12277 2005-09-26  Bruno Haible  <bruno@clisp.org>
12278
12279         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
12280         compile mbchar.c if they are not both present.
12281         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
12282         * m4/mbiter.m4 (gl_MBITER): Likewise.
12283         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
12284         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
12285         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
12286
12287 2005-09-25  Jim Meyering  <jim@meyering.net>
12288
12289         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
12290         also uses socklen_t.
12291
12292 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12293
12294         * lib/utimens.c (ENOSYS): Define if not already defined.
12295         (futimens): Support having a null PATH if the file descriptor
12296         is nonnegative.
12297
12298         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
12299         Remove.
12300         (__attribute): Define to empty unless GCC 3.1 or later.
12301         This works around a core dump on OpenBSD 3.4, which has GCC
12302         2.95.3, which dumps core when given __attribute__(()).  It also
12303         simplifies other tests, since we really don't want to bother with
12304         worrying about which ancient version of GCC supported what.
12305         Original problem reported by Yoann Vandoorselaere, with part of
12306         the fix suggested by Derek Price.
12307
12308 2005-09-24  Jim Meyering  <jim@meyering.net>
12309
12310         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
12311         so we can once again use a positive bitfield width of 1 -- now we
12312         don't have to explain why we were using a bitfield width of 2.
12313
12314 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12315
12316         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
12317         and similarly for the other external symbols.  Problem reported
12318         by James Gallager.
12319
12320         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
12321         bug reported by Jim Meyering.
12322
12323         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
12324         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
12325         not needed, since socklen is a prerequisite module.
12326
12327 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12328
12329         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
12330         Problem reported by Eric Blake.
12331         (getaddrinfo): Initialize se so that it's not garbage.
12332         Redo internal storage allocation so that it doesn't make unportable
12333         assumptions about alignment.
12334         Fix a memory leak.
12335
12336         * lib/utimens.c (futimens): Use futimesat if available.
12337         Prefer it to futimes since it doesn't have the futimes bug.
12338
12339         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
12340         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
12341         Instead, declare a function that returns a pointer to an array,
12342         and use verify_type__ to declare the size of the array.
12343         Problem and germ of a solution reported by Bruno Haible.
12344         (verify_type__): Use 2, not 1, for bitfield size, to avoid
12345         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
12346
12347 2005-09-23  Jim Meyering  <jim@meyering.net>
12348
12349         Sync from coreutils.
12350         Correct build failure (socklen_t not defined) on at least
12351         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
12352         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
12353
12354 2005-09-23  Jim Meyering  <jim@meyering.net>
12355
12356         * modules/getaddrinfo (Depends-on): Add socklen.
12357
12358 2005-09-23  Bruno Haible  <bruno@clisp.org>
12359
12360         * tests/test-verify.c: New file.
12361
12362 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12363
12364         Sync from coreutils.
12365
12366         * modules/argmatch (Depends-on): Add verify.
12367         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
12368         unistd-safer.
12369         * modules/save-cwd (Depends-on): Likewise.
12370
12371         * modules/openat (Files): Add lib/openat-die.c.
12372         (Depends-on): Remove error, exitfail.
12373         Add dirname.
12374
12375         * modules/verify: New file.
12376         * MODULES.html.sh (Diagnostics <assert.h>): New section,
12377         with "verify" module.
12378
12379 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12380
12381         Sync from coreutils.
12382
12383         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
12384         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
12385         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
12386         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
12387         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
12388         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
12389         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
12390         Don't bother checking for string.h, stdlib.h, unistd.h.
12391         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
12392         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
12393         module's job.
12394         * m4/jm-macros.m4 (gl_MACROS): Likewise.
12395         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
12396
12397         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
12398         (gl_GETDATE): Use it.
12399
12400         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
12401
12402 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12403
12404         Sync from coreutils.
12405
12406         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
12407         stat-time.h.
12408         * lib/argmatch.h: Include verify.h
12409         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
12410         (ARGMATCH_ASSERT): Remove; unused.
12411         * lib/canonicalize.c: Assume STDC_HEADERS.
12412         * lib/exclude.c: Include "strcase.h".
12413         * lib/regex_internal.h [!defined _LIBC]: Likewise.
12414         * lib/getusershell.c: Include stdio--.h rather than stdio.h
12415         and stdio-safer.h.
12416         (getusershell): Call fopen, not fopen_safer.
12417         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
12418         Do not include unistd-safer.h.
12419         (save_cwd): Don't call fd_safer; no longer needed
12420         now that we include fcntl--.h.
12421
12422         * lib/getdate.y (relative_time): New type.
12423         (RELATIVE_TIME_0): New constant.
12424         (parser_control): Use relative_time instead of doing it ourselves.
12425         (%union): Add new relative_time rel member.
12426         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
12427         Now typeless.
12428         (relunit, relunit_snumber): Now of type rel.
12429         (zone, rel, relunit, get_date): Adjust to above changes.
12430
12431         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
12432         Do not include unistd-safer.h.
12433         (getloadavg): Don't call fd_safer; no longer needed
12434         now that we include fcntl--.h.
12435
12436         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
12437         (make_dir_parents): Treat ENOSYS like EEXIST.
12438
12439         Improve quality of diagnostics on restore_cwd failure.
12440         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
12441         (make_dir_parents): Last arg is now int * (for errno), not bool *.
12442         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
12443         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
12444         each time through the loop.  Do not diagnose restore_cwd failure;
12445         that is the caller's job (and perhaps the caller does not care).
12446
12447         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
12448         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
12449         If the file already exists but is not a directory, don't bother
12450         to try to make its parents.
12451         Close potential file descriptor leak if we can't chdir("/") (!).
12452         Don't always return true if chdir($PWD) fails; return true only
12453         if the requested action was done successfully (except for the
12454         chdir($PWD)).
12455         Don't log final directory unless we actually made it.
12456         Refactor to avoid duplicate code to fix up permissions.
12457         Don't attempt to fix up parent permissions if chdir($PWD) fails.
12458
12459         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
12460         to make it a bit faster and (I hope) clearer.
12461         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
12462         Fix bug in formats like %2N.
12463
12464         * lib/verify.h: New file.
12465
12466 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12467
12468         Sync from coreutils.
12469         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
12470
12471 2005-09-22  Jim Meyering  <jim@meyering.net>
12472
12473         Sync from coreutils.
12474
12475         * m4/lstat.m4 (gl_FUNC_LSTAT):
12476         Use AC_LIBSOURCES to require lstat.c and lstat.h.
12477         Remove obsolete comment.
12478         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
12479         * m4/xstrtod.m4: Likewise.
12480
12481         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
12482
12483 2005-09-22  Jim Meyering  <jim@meyering.net>
12484
12485         Sync from coreutils.
12486
12487         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
12488
12489         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
12490         the .tm_year member, since otherwise gcc-4.0 would now warn about
12491         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
12492
12493         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
12494         order to avoid an unsuppressible warning from gcc on 64-bit systems.
12495
12496         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
12497         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
12498         when run in a time zone for which daylight savings time is in effect
12499         for the starting date.
12500
12501         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
12502         stop us from restricting permissions of just-created absolute-named
12503         directories.
12504         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
12505         to restore initial working directory.
12506         * lib/mkdir-p.c (make_dir_parents): New parameter:
12507         different_working_dir, to tell caller if/when we change the working
12508         directory and are unable to return to the initial one.
12509         * lib/mkdir-p.h (make_dir_parents): Update prototype.
12510         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
12511         `return false'.  This fixes a bug introduced on 2004-07-30.
12512
12513         * lib/openat.c (fdopendir): Be sure to close the supplied
12514         file descriptor before returning.  This makes our replacement
12515         implementation a little closer to Solaris's, where fdopendir
12516         ties the file descriptor to the returned DIR* pointer.
12517         * lib/openat.c (unlinkat): New function.
12518         * lib/openat.h (unlinkat): Add prototype.
12519         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
12520         (openat_restore_fail): Rename from openat_restore_die.
12521         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
12522
12523         Provide an alternative to exiting immediately upon save_cwd or
12524         restore_cwd failure.  Now, an application can arrange e.g.,
12525         to perform a longjump in that case.
12526         * lib/openat.c: Include dirname.h.
12527         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
12528         (rpl_openat, fdopendir, fstatat): Call openat_save_die
12529         and openat_restore_die rather than calling error directly.
12530         Don't include "error.h" or "exitfail.h"; they're no longer needed.
12531
12532         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
12533         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
12534         define.
12535
12536         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
12537         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
12538                             int utc, int nanoseconds);
12539         Background:
12540         date should not have to allocate a megabyte of virtual memory to
12541         handle a format argument like +%1048575T.  When implemented with
12542         strftime, it must allocate such a buffer, use strftime to fill it
12543         in, print it, then free it.
12544         With fprintftime, it simply prints everything and exits.
12545         With no need for memory allocation, that's one fewer way to fail.
12546         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
12547         optional field width, not before, so we accept %9:z, not %:9z.
12548         (my_strftime): Be sure to use L_('x') for literals.
12549
12550         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
12551         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
12552         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
12553         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
12554         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
12555         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
12556         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
12557         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
12558         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
12559         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
12560         * lib/xgethostname.c, lib/xreadlink.c:
12561         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
12562
12563         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
12564         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
12565         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
12566         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
12567         and don't include <sys/file.h>).
12568
12569 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
12570
12571         Sync from coreutils.
12572
12573         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
12574         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
12575         [!LDAV_DONE]: Avoid unused variable warning.
12576
12577 2005-09-21  Bruno Haible  <bruno@clisp.org>
12578
12579         * lib/unicodeio.h (unicode_to_mb): New declaration.
12580
12581 2005-09-20  Derek Price  <derek@ximbiot.com>
12582
12583         * lib/getaddrinfo.c: Don't include <netdb.h> included from
12584         getaddrinfo.h.
12585
12586 2005-09-20  Bruno Haible  <bruno@clisp.org>
12587
12588         * gnulib-tool: Remove trailing slashes from the values specified for
12589         --source-base, --m4-base, --tests-base, --aux-dir.
12590         Suggested by Simon Josefsson <jas@extundo.com>.
12591
12592 2005-09-20  Bruno Haible  <bruno@clisp.org>
12593
12594         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
12595         func_modules_to_filelist, func_import, func_create_testdir): Make all
12596         sorting results locale-independent, so that gnulib-cache.m4 doesn't
12597         change when gnulib-tool is invoked in a different locale.
12598
12599 2005-09-19  Simon Josefsson  <jas@extundo.com>
12600
12601         * m4/socklen.m4: Fix typo.
12602
12603 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12604
12605         Use a consistent style for including <config.h>.
12606         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
12607         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
12608         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
12609         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
12610         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
12611         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
12612         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
12613         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
12614         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
12615         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
12616         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
12617         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
12618         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
12619         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
12620         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
12621         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
12622         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
12623         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
12624         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
12625         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
12626         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
12627         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
12628         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
12629         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
12630         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
12631         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
12632         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
12633         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
12634         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
12635         lib/xstrtoumax.c, lib/yesno.c:
12636         Standardize inclusion of config.h.
12637         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
12638         lib/inttostr.h:  Removed inclusion of config.h from header files.
12639         * lib/inttostr.c:  Adjusted in-tree users.
12640         * lib/timespec.h: Remove superfluous warning to include config.h.
12641         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
12642         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
12643         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
12644         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
12645         config.h with HAVE_CONFIG_H.
12646
12647 2005-09-19  Jim Meyering  <jim@meyering.net>
12648
12649         * modules/pathmax (License): Change to LGPL.
12650
12651 2005-09-19  Derek Price  <derek@ximbiot.com>
12652
12653         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
12654
12655 2005-09-19  Bruno Haible  <bruno@clisp.org>
12656
12657         * gnulib-tool (import): Provide default for --tests-base.
12658
12659 2005-09-19  Bruno Haible  <bruno@clisp.org>
12660
12661         * doc/quote.texi: New file, extracted from gnulib.texi.
12662         * doc/ctime.texi: New file, extracted from gnulib.texi.
12663         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
12664         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
12665         * doc/gnulib.texi: Include them.
12666
12667 2005-09-18  Bruno Haible  <bruno@clisp.org>
12668
12669         Portability fix.
12670         * gnulib-tool (func_readlink): New function.
12671         (func_ln_if_changed): Use it.
12672
12673 2005-09-18  Bruno Haible  <bruno@clisp.org>
12674
12675         * gnulib-tool: Support --with-tests also with --import.
12676         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
12677         (func_import): Use variables $testsbase and $inctests. Emit a
12678         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
12679         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
12680         SUBDIRS += $testsdir.
12681         (func_create_testdir): Update.
12682
12683 2005-09-18  Bruno Haible  <bruno@clisp.org>
12684
12685         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
12686         instead of $dry_run.
12687         (func_cp_if_changed, func_mv_if_changed): Remove functions.
12688         (func_ln_if_changed): Don't handle dry-run here.
12689         (func_import): In dry-run mode, detect more precisely which actions
12690         would be performed, and don't use "...ing" verbs.
12691
12692 2005-09-18  Bruno Haible  <bruno@clisp.org>
12693
12694         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
12695         (func_import): Use join on two temporary files instead of three nested
12696         loops, in order to determine which files are new or old.
12697
12698 2005-09-18  Bruno Haible  <bruno@clisp.org>
12699
12700         * gnulib-tool (func_import): Comment out code that spits out the
12701         new files with --dry-run.
12702
12703 2005-09-18  Bruno Haible  <bruno@clisp.org>
12704
12705         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
12706
12707 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12708
12709         * lib/stat-time.h: New file.
12710         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
12711         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
12712         in a different way.
12713         (timespec_cmp): New function.
12714         * lib/utimecmp.c: Include stat-time.h.
12715         (SYSCALL_RESOLUTION): Depend on whether various struct stat
12716         members exist, not on the obsolescent ST_MTIM_NSEC.
12717         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
12718
12719 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12720
12721         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
12722
12723 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12724
12725         * MODULES.html.sh (File system functions): Add stat-time.
12726         * modules/stat-time: New file.
12727         * modules/timespec (Files): Remove m4/st_mtim.m4; this
12728         is now done in a different way, by the stat-time module.
12729         * modules/utimecmp (Depends-on): Add stat-time.
12730
12731 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12732
12733         * m4/st_mtim.m4: Remove.  Superseded by...
12734         * m4/stat-time.m4: New file.
12735         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
12736         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
12737
12738 2005-09-15  Derek Price  <derek@ximbiot.com>
12739
12740         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
12741
12742 2005-09-15  Derek Price  <derek@ximbiot.com>
12743
12744         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
12745         * lib/regex_internal.c: Ditto, using this...
12746         (__GNUC_PREREQ): ...new macro.
12747         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
12748         using...
12749         (__GNUC_PREREQ): ...this new macro.
12750
12751         * lib/strstr.h: Include string.h. Define strstr as a macro here.
12752
12753 2005-09-15  Derek Price  <derek@ximbiot.com>
12754             Paul Eggert  <eggert@cs.ucla.edu>
12755
12756         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
12757         changes, consolidating in...
12758         * lib/regex_internal.h: ...this file.
12759
12760 2005-09-13  Jim Meyering  <jim@meyering.net>
12761
12762         * lib/canon-host.c: Filter through gnu indent and reword comments
12763         slightly.
12764         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
12765
12766 2005-09-13  Derek Price  <derek@ximbiot.com>
12767
12768         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
12769         failure.
12770         Reported by Jim Meyering  <jim@meyering.net>.
12771
12772 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12773
12774         * lib/base64.c: Typo.
12775         (base64_encode): Put b64str in initialized data section.
12776
12777 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
12778
12779         Merge glibc and coreutils changes into gnulib, plus a few
12780         extra fixes.
12781         * lib/md5.c: Use #error rather than a string.
12782         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
12783         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
12784         (__attribute__): Define to empty for non recent-GCC.
12785         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
12786         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
12787         Renamed from their non-__ counterparts, with new macros replacing
12788         them if not _LIBC.  Add __THROW attribute.
12789         (rol): Remove.
12790         (struct md5_ctx): Align buffer if using GCC.
12791         * lib/sha1.h (struct sha1_ctx): Likewise.
12792         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
12793         The old name was backwards.
12794         (NOTSWAP): Remove; not used.
12795         (rol): New macro, moved here from md5.h.
12796         (sha1_process_block): Remove a FIXME that doesn't make sense.
12797
12798 2005-09-12  Derek Price  <derek@ximbiot.com>
12799
12800         Return usable errors from canon-host.
12801         * lib/canon-host.h: New file.
12802         * lib/canon-host.c (canon_host): Wrap...
12803         (canon_host_r): ...this new function, which now relies exclusively on
12804         getaddrinfo.
12805         (ch_strerror): New function.
12806         (last_cherror): New global.
12807         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
12808         interface.
12809         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
12810         void *.
12811         (freeaddrinfo): Free ai->ai_canonname when set.
12812
12813 2005-09-12  Derek Price  <derek@ximbiot.com>
12814
12815         Make canon-host require getaddrinfo.
12816         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
12817         AC_LIBSOURCE canon-host.h.  Call...
12818         (gl_PREREQ_CANON_HOST): ...this new function, which requires
12819         gl_GETADDRINFO.
12820         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
12821
12822 2005-09-12  Derek Price  <derek@ximbiot.com>
12823
12824         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
12825         LGPL.
12826         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
12827
12828 2005-09-12  Derek Price  <derek@ximbiot.com>
12829
12830         * lib/gai_strerror.c: Include config.h when available.  Include
12831         getaddrinfo.h before other headers to test interface.
12832         Reported by Larry Jones <lawrence.jones@ugs.com>.
12833
12834 2005-09-12  Derek Price  <derek@ximbiot.com>
12835             Paul Eggert  <eggert@cs.ucla.edu>
12836
12837         * modules/glob (Files): Add glob-libc.h.
12838
12839 2005-09-12  Derek Price  <derek@ximbiot.com>
12840             Paul Eggert  <eggert@cs.ucla.edu>
12841
12842         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
12843         glob_.h, glob-libc.h.
12844         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
12845
12846 2005-09-12  Derek Price  <derek@ximbiot.com>
12847             Paul Eggert  <eggert@cs.ucla.edu>
12848
12849         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
12850         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
12851         protecting things that should be done only in gnulib contexts.
12852         * lib/glob_.h: New file, containing only the glob things needed for
12853         gnulib.
12854         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
12855         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
12856         (glob, globfree, glob_pattern_p): Now defined simply in terms of
12857         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
12858         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
12859         and to respect the namespace rules better.
12860
12861 2005-09-08  Simon Josefsson  <jas@extundo.com>
12862
12863         * modules/socklen: New file.
12864
12865 2005-09-08  Simon Josefsson  <jas@extundo.com>
12866
12867         * m4/socklen.m4: New file.
12868
12869 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12870
12871         * modules/utimens (Files): Add m4/utimbuf.m4, since
12872         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
12873         Reported by Sergey Poznyakoff.
12874
12875 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12876
12877         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
12878         definitions, since that's the preferred style in glibc.
12879         Fix a minor spacing issue, and update copyright notice to match
12880         glibc's.
12881
12882 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12883
12884         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
12885
12886 2005-09-06  Simon Josefsson  <jas@extundo.com>
12887
12888         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
12889         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
12890
12891 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12892
12893         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
12894         warning.
12895
12896 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12897
12898         * config/srclist.txt: Add glibc bug 1302.
12899
12900 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12901
12902         Change bitset word type from unsigned int to unsigned long int,
12903         as this has better performance on typical 64-bit hosts.
12904         Port bitset code to hosts with unusual word sizes.
12905         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
12906         (build_collating_symbol):
12907         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
12908         argument is a bitset.  This is merely a style issue, but it makes
12909         it clearer that an entire array is expected.
12910         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
12911         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
12912         Port to the case where bitset_word is not the same as unsigned int.
12913         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
12914         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
12915         Likewise.
12916         * lib/regexec.c (check_dst_limits_calc_pos_1,
12917         check_subexp_matching_top):
12918         (build_trtable, group_nodes_into_DFAstates):
12919         Likewise.
12920         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
12921         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
12922         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
12923         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
12924         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
12925         * lib/regcomp.c (optimize_subexps, lower_subexp):
12926         Work even if bitset_word has holes in its bitwise representation.
12927         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
12928         * lib/regexec.c (check_dst_limits_calc_pos_1,
12929         check_subexp_matching_top):
12930         Likewise.
12931         * lib/regex_internal.c (re_string_reconstruct):
12932         Don't assume UCHAR_MAX == 255.
12933         * lib/regex_internal.h (bitset_set_all): Likewise.
12934         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
12935         All uses changed.
12936         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
12937         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
12938         All uses changed.
12939         (BITSET_WORD_MAX): New macro.
12940         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
12941         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
12942         (bitset_empty, bitset_copy):
12943         Prefer sizeof (bitset) to multiplying it out ourselves.
12944         (bitset_not_merge): Remove; unused.
12945         (bitset_contain): Return bool, not unsigned int with one bit on.
12946         All callers changed.
12947         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
12948         alignment than re_node_set; do this by defining a new internal
12949         type struct dests_alloc and using it to allocate memory.
12950
12951 2005-09-05  Bruno Haible  <bruno@clisp.org>
12952
12953         * gnulib-tool (func_import): Fix comparison in handling of symbolic
12954         links.
12955
12956 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
12957
12958         * modules/size_max (Makefile.am): Add size_max.h
12959
12960 2005-09-04  Derek Price  <derek@ximbiot.com>
12961
12962         * gnulib-tool (func_import): Fix reversed $symbolic logic.
12963
12964 2005-09-03  Simon Josefsson  <jas@extundo.com>
12965
12966         * gnulib-tool: Fix typo.
12967
12968 2005-09-03  Simon Josefsson  <jas@extundo.com>
12969
12970         * config/srclist.txt: Add glibc bug 1293.
12971
12972 2005-09-03  Derek Price  <derek@ximbiot.com>
12973
12974         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
12975         From Larry Jones <lawrence.jones@ugs.com>.
12976
12977 2005-09-02  Simon Josefsson  <jas@extundo.com>
12978
12979         * modules/socklen: New file.
12980
12981 2005-09-02  Simon Josefsson  <jas@extundo.com>
12982
12983         * modules/havelib: New module.
12984
12985         * modules/gettext, modules/iconv, modules/lock, modules/readline:
12986         Use havelib.
12987
12988 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12989
12990         Check for arithmetic overflow when calculating sizes, to prevent
12991         some buffer-overflow issues.  These patches are conservative, in the
12992         sense that when I couldn't determine whether an overflow was possible,
12993         I inserted a run-time check.
12994         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
12995         macros.
12996         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
12997         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
12998         (re_xnrealloc, re_x2nrealloc): New inline functions.
12999         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
13000         parse_bracket_exp):
13001         (build_equiv_class, build_charclass): Check for arithmetic overflow
13002         in size expression calculations.
13003         * lib/regex_internal.c (re_string_realloc_buffers):
13004         (build_wcs_upper_buffer, re_node_set_add_intersect):
13005         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
13006         (re_dfa_add_node, register_state): Likewise.
13007         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
13008         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
13009         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
13010         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
13011
13012 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13013
13014         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
13015         m4/ulonglong.m4.  Problem reported by Martin Lambers.
13016
13017 2005-09-02  Bruno Haible  <bruno@clisp.org>
13018
13019         Support for lib vs. lib64 distinction on biarch platforms.
13020         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
13021         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
13022         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
13023
13024 2005-09-02  Bruno Haible  <bruno@clisp.org>
13025
13026         * gnulib-tool (import): In the other first-use case, provide defaults
13027         as well.
13028
13029 2005-09-02  Bruno Haible  <bruno@clisp.org>
13030
13031         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
13032         patches not yet found in the latest gettext release.
13033
13034 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13035
13036         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
13037         to avoid a collision with bits/local_lim.h in glibc.
13038         All uses changed.  Problem reported by Dmitry V. Levin in
13039         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
13040
13041         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
13042         bugs in int versus size_t comparisons.
13043         (re_string_context_at): Fix bug where the code assumed that
13044         Idx is signed.
13045
13046         Use bool where appropriate.
13047         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
13048         All callers changed.
13049         (calc_eclosure_iter): Likewise, for ROOT arg.
13050         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
13051         (build_charclass_op): Likewise, for NON_MATCH arg.
13052         * lib/regex_internal.c (re_string_allocate, re_string_construct):
13053         (re_string_construct_common): Likewise, for ICASE arg.
13054         * lib/regexec.c (re_search_2_stub, re_search_stub):
13055         Likewise, for RET_LEN arg.
13056         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
13057         (set_regs): Likewise, for FL_BACKTRACK arg.
13058         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
13059         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
13060         (calc_eclosure_iter, parse_bracket_exp):
13061         Use bool for internal variables that are booleans.
13062         * lib/regexec.c (re_search_internal, check_matching,
13063         proceed_next_node):
13064         (set_regs, build_sifted_states, sift_states_bkref):
13065         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
13066         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
13067         (find_collation_sequence_value):
13068         Likewise.
13069         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
13070         (re_node_set_compare):
13071         Return bool, not int. All callers changed.
13072         * lib/regexec.c (check_halt_node_context, check_dst_limits):
13073         (build_trtable, check_node_accept): Likewise.
13074         * lib/regex_internal.h: Include stdbool.h.
13075
13076         Fix bugs uncovered when converting to bool.
13077         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
13078         failure instead of charging ahead blindly.
13079         * lib/regex_internal.c (register_state): Likewise.
13080         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
13081         for freeing internal storage.
13082         (group_nodes_into_DFA_states): Use unsigned int, not int, for
13083         bitset pieces used as boolean, to avoid undefined behavior
13084         on hosts that do int overflow checking.
13085
13086 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13087
13088         * config/srclist.txt: Add glibc bugs 1285-1287.
13089
13090 2005-09-01  Jim Meyering  <jim@meyering.net>
13091
13092         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
13093         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
13094         Require gl_STAT_MACROS, too.
13095
13096 2005-09-01  Bruno Haible  <bruno@clisp.org>
13097
13098         * gnulib-tool (import): In the first-use case, provide defaults.
13099
13100 2005-09-01  Bruno Haible  <bruno@clisp.org>
13101
13102         * gnulib-tool (func_import): Remove the .tmp files.
13103
13104 2005-09-01  Bruno Haible  <bruno@clisp.org>
13105
13106         * gnulib-tool (func_import): Fix handling of symbolic links.
13107
13108 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13109
13110         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
13111         old glibc regex code mishandles strings longer than 2**31 bytes.
13112         This patch fixes this when the regex code is used in gnulib
13113         (i.e., outside glibc).
13114
13115         This patch should not affect the use of the regex code inside
13116         glibc.  No doubt this problem also needs to be handled for glibc
13117         as well, but the result will be an incompatible change to the
13118         glibc ABI, and the old ABI will have to be supported too.  That
13119         can be the the subject for another patch.
13120
13121         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
13122         governing whether the rest of this patch is active.  By default,
13123         the macro is disabled and the patch has no effect.
13124         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
13125         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
13126         (struct re_pattern_buffer, re_search, re_search_2, re_match):
13127         (re_match_2, re_set_registers): Use the new types.
13128         * lib/regex_internal.h (Idx, re_hashval_t): New types.
13129         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
13130         New macros.
13131         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
13132         (re_string_context_at, bin_tree_t, re_dfastate_t):
13133         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
13134         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
13135         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
13136         (re_string_char_size_at, re_string_wchar_at):
13137         (re_string_elem_size_at):
13138         Use the new types and macros to port to 64-bit hosts.
13139         Use unsigned types for internal values, so that the code
13140         mostly works even for arrays larger than SSIZE_MAX.
13141         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
13142         (search_duplicated_node, calc_eclosure_iter, fetch_number):
13143         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
13144         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
13145         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
13146         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
13147         (calc_inveclosure, parse_dup_op, build_range_exp):
13148         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
13149         (fetch_number, create_token_tree, mark_opt_subexp):
13150         Likewise.
13151         * lib/regex_internal.c (re_string_construct_common,
13152         create_ci_newstate):
13153         (create_cd_newstate, re_string_allocate, re_string_construct):
13154         (re_string_realloc_buffers, build_wcs_upper_buffer):
13155         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
13156         (re_string_reconstruct, re_string_peek_byte_case):
13157         (re_string_fetch_byte_case, re_string_context_at):
13158         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
13159         (re_node_set_init_copy, re_node_set_add_intersect):
13160         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13161         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13162         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
13163         (re_acquire_state, re_acquire_state_context, register_state):
13164         Likewise.
13165         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
13166         search_cur_bkref_entry):
13167         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
13168         (re_search_internal, re_search_2_stub, re_search_stub)
13169         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
13170         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
13171         (update_cur_sifted_state, check_dst_limits):
13172         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
13173         (check_subexp_limits, sift_states_bkref, merge_state_array):
13174         (check_subexp_matching_top, get_subexp, get_subexp_sub):
13175         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
13176         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
13177         (expand_bkref_cache, check_node_accept_bytes):
13178         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
13179         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
13180         (acquire_init_state_context, check_halt_node_context):
13181         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
13182         (sift_states_backward, clean_state_log_if_needed):
13183         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
13184         (find_recover_state, transit_state_sb, transit_state_mb):
13185         (transit_state_bkref, build_trtable, match_ctx_clean):
13186         Likewise.
13187         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
13188         to work around an assumption that REG_MISSING is negative.
13189
13190         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
13191         (seek_collating_symbol_entry) [defined _LIBC]:
13192         (lookup_collation_sequence_value) [defined _LIBC]:
13193         (build_range_exp, build_collating_symbol) [defined _LIBC]:
13194         Use prototypes rather than old-style function definitions.
13195         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
13196         (transit_state_sb) [0]:
13197         (find_collation_sequence_value) [defined _LIBC]: Likewise.
13198
13199         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
13200         rm_eo.
13201
13202         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
13203         (optimize_subexps, lower_subexp):
13204         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
13205         since the signed shift might overflow.  Use 1u<<31 instead.
13206         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
13207         Likewise.
13208         * lib/regexec.c (check_dst_limits_calc_pos_1,
13209         check_subexp_matching_top): Likewise.
13210
13211         * lib/regcomp.c (optimize_subexps, lower_subexp):
13212         Use CHAR_BIT rather than 8, for clarity.
13213         * lib/regexec.c (check_dst_limits_calc_pos_1):
13214         (check_subexp_matching_top): Likewise.
13215         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
13216         have to worry about portability issues when shifting it left.
13217         Remove no-longer-needed test for table_size > 0.
13218         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
13219         in a word, as the resulting behavior is undefined.
13220         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
13221         in one case, a <= should have been an <, and in another case the
13222         whole test was missing.
13223         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
13224         the standard name CHAR_BIT.
13225         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
13226         this is not true on one's complement and signed-magnitude hosts.
13227
13228         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
13229         next_last_offset.
13230         (struct re_dfa_t): Remove unused member states_alloc.
13231         * lib/regcomp.c (init_dfa): Don't initialize unused members.
13232
13233 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13234
13235         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
13236         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
13237         and large-file glibc and in 32-bit large-file Solaris.
13238
13239 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13240
13241         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
13242         lengths fit in regoff_t; this isn't true if regoff_t is the same
13243         width as size_t.
13244         * lib/regex.c (re_search_internal): 5th arg is LAST_START
13245         (= START + RANGE) instead of RANGE.  This avoids overflow
13246         problems when regoff_t is the same width as size_t.
13247         All callers changed.
13248         (re_search_2_stub): Check for overflow when adding the
13249         sizes of the two strings.
13250         (re_search_stub): Check for overflow when adding START
13251         to RANGE; if it occurs, substitute the extreme value.
13252
13253 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13254
13255         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
13256
13257 2005-08-31  Jim Meyering  <jim@meyering.net>
13258
13259         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
13260         a pointer-to-const.
13261         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
13262         (register_state): Likewise.
13263         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
13264         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
13265         (group_nodes_into_DFAstates): Likewise.
13266
13267 2005-08-31  Jim Meyering  <jim@meyering.net>
13268
13269         * check-module: Add a FIXME comment.
13270
13271 2005-08-31  Eric Blake  <ebb9@byu.net>
13272
13273         * modules/unistd-safer (Files): Add unistd--.h.
13274         * modules/stdio-safer (Files): Add stdio--.h.
13275
13276 2005-08-31  Derek Price  <derek@ximbiot.com>
13277
13278         * lib/getdelim.c (getdelim): Return EOF on EOF.
13279         Reported by Larry Jones <lawrence.jones@ugs.com>.
13280
13281 2005-08-31  Bruno Haible  <bruno@clisp.org>
13282
13283         Avoid unnecessary diffs in the generated lib/Makefile.am.
13284         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
13285         the generated files.
13286         (func_import): Don't set cmd.
13287
13288 2005-08-31  Bruno Haible  <bruno@clisp.org>
13289
13290         * lib/strstr.c: Include <stddef.h>, for NULL.
13291         * lib/strcasestr.c: Likewise.
13292         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13293
13294 2005-08-31  Bruno Haible  <bruno@clisp.org>
13295
13296         * gnulib-tool: New option --macro-prefix.
13297         (func_import): Use macro_prefix.
13298         (import): Handle option --macro-prefix.
13299
13300 2005-08-31  Bruno Haible  <bruno@clisp.org>
13301
13302         * gnulib-tool (import): Rename most ac_* variables to cached_*.
13303         Also use new variables cached_lgpl, cached_libtool.
13304
13305 2005-08-31  Bruno Haible  <bruno@clisp.org>
13306
13307         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
13308         always instantiating them.
13309
13310 2005-08-31  Bruno Haible  <bruno@clisp.org>
13311
13312         * gnulib-tool (func_import): Read the previous cached settings
13313         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
13314         earlier added by gnulib but are now dropped. Warn when a gnulib file
13315         overwrites a non-gnulib file.
13316
13317 2005-08-31  Bruno Haible  <bruno@clisp.org>
13318
13319         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
13320         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
13321         projects that don't keep autogenerated files in CVS. Put into
13322         actioncmd only the specified modules, not the transitive closure.
13323
13324 2005-08-31  Bruno Haible  <bruno@clisp.org>
13325
13326         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
13327         Create directories that shall be filled.
13328         (import): Don't look for gl_* macros in configure.ac. Recurse across
13329         all directories containing a gnulib-cache.m4 files, if meaningful.
13330
13331 2005-08-31  Bruno Haible  <bruno@clisp.org>
13332
13333         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
13334         (import): Set seen_libtool when we see gl_LIBTOOL.
13335
13336 2005-08-31  Bruno Haible  <bruno@clisp.org>
13337
13338         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
13339         declaration macro definitions from generated gnulib.m4.
13340
13341 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
13342
13343         * lib/iconvme.h: Add prototype for iconv_alloc.
13344
13345 2005-08-29  Simon Josefsson  <jas@extundo.com>
13346
13347         * lib/iconvme.c: Fix errno.
13348
13349 2005-08-29  Bruno Haible  <bruno@clisp.org>
13350
13351         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
13352         that it works when the directory contains spaces.
13353
13354 2005-08-29  Bruno Haible  <bruno@clisp.org>
13355
13356         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
13357
13358 2005-08-29  Bruno Haible  <bruno@clisp.org>
13359
13360         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
13361         Emit more advice.
13362
13363 2005-08-29  Bruno Haible  <bruno@clisp.org>
13364         and Stepan Kasal  <kasal@ucw.cz>
13365
13366         * check-module: If more parameters are given, check each of them
13367         separately; add more exceptions, as noted by Jim Meyering.
13368         (check_module): New procedure.
13369         (%exempt_header): Now contains all exceptions.
13370
13371 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
13372
13373         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
13374
13375 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
13376
13377         * lib/iconvme.c: Split iconv_string into iconv_alloc.
13378
13379 2005-08-28  Bruno Haible  <bruno@clisp.org>
13380
13381         * m4/gnulib-tool.m4: New file.
13382
13383 2005-08-27  Jim Meyering  <jim@meyering.net>
13384
13385         * modules/unistd-safer (Files): Add pipe-safer.c.
13386         * modules/fcntl-safer (Files): Add creat-safer.c.
13387
13388 2005-08-27  Jim Meyering  <jim@meyering.net>
13389
13390         * m4/stdlib-safer.m4: New file.  From coreutils.
13391         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
13392         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
13393         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
13394         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
13395         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
13396
13397 2005-08-27  Jim Meyering  <jim@meyering.net>
13398
13399         * lib/fopen-safer.c: Merge minor changes from coreutils.
13400         * lib/dup-safer.c: Likewise.
13401         * lib/fd-safer.c: Likewise.
13402
13403         Merge from coreutils.
13404         * lib/stdio--.h: New file.
13405         * lib/stdlib--.h: New file.
13406         * lib/mkstemp-safer.c: New file.
13407
13408         GNU tar needs these.
13409         * lib/pipe-safer.c: New file.
13410         * lib/creat-safer.c: New file.
13411         * lib/fcntl--.h (creat): Define to creat_safer.
13412         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
13413         * lib/unistd--.h (pipe): Define to pipe_safer.
13414         * lib/unistd-safer.h: Declare pipe_safer.
13415
13416 2005-08-26  Simon Josefsson  <jas@extundo.com>
13417
13418         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
13419         Haible <bruno@clisp.org>.
13420
13421 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13422
13423         * lib/regex_internal.h: Remove all references to
13424         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
13425         or better.
13426         (bitset_not, bitset_merge, bitset_not_merge):
13427         (bitset_mask, re_string_allocate, re_string_construct):
13428         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
13429         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
13430         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
13431         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
13432         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13433         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13434         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
13435         (re_acquire_state_context):
13436         Remove unnecessary forward decls.
13437         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
13438         Put __attribute at function definition,
13439         now that the function decl has been removed.
13440         * lib/regex_internal.c (re_string_peek_byte_case):
13441         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
13442         Likewise.
13443
13444 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
13445
13446         * m4/regex.m4: Add AC_PREREQ(2.50).
13447         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
13448
13449 2005-08-25  Simon Josefsson  <jas@extundo.com>
13450
13451         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
13452         __fsetlocking.
13453
13454 2005-08-25  Simon Josefsson  <jas@extundo.com>
13455
13456         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
13457         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
13458         GLIBC specific code.
13459
13460 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13461
13462         Make regex safe for g++.  This fixes one real bug (an "err"
13463         that should have been "*err").  g++ problem reported by
13464         Sam Steingold.
13465         * lib/regex_internal.h (re_calloc): New macro, consistent with
13466         re_malloc etc.  All callers of calloc changed to use re_calloc.
13467         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
13468         not int.  All callers changed.
13469         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
13470         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
13471         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
13472         (find_recover_state): Change "err" to "*err"; this fixes what
13473         appears to be a real bug.
13474         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
13475         versus int.
13476
13477 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13478
13479         * modules/regex (Depends-on): Add malloc, since the code
13480         assumes that !malloc(0) means failure.
13481
13482 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13483
13484         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
13485
13486         alloca modernization/simplification for regex.
13487         * lib/regex.c: Remove portability cruft for alloca.  This no longer
13488         needs to be at the start of the file, and can be moved into
13489         regex_internal.h and simplified.
13490         * lib/regex_internal.h: Include <alloca.h>.
13491         (__libc_use_alloca) [!defined _LIBC]: New macro.
13492         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
13493         now works outside glibc.
13494
13495 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13496
13497         * config/srclist.txt: Add glibc bugs 1241, 1245.
13498
13499 2005-08-25  Jim Meyering  <jim@meyering.net>
13500
13501         * lib/open-safer.c: Include <config.h>.
13502         Otherwise, we'd lose LARGEFILE support in any file using
13503         e.g. "fcntl--.h"
13504
13505 2005-08-25  Bruno Haible  <bruno@clisp.org>
13506
13507         * m4/minmax.m4: Require autoconf 2.52.
13508         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
13509         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
13510         alternatives of translit over the alphabet.
13511         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
13512
13513 2005-08-24  Simon Josefsson  <jas@extundo.com>
13514
13515         * tests/test-getpass.c: New file.
13516
13517 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13518
13519         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
13520         for GNU regex features.
13521
13522 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13523
13524         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
13525         * lib/regex.h (regerror): Likewise.
13526
13527         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
13528         requires this.  (The code never needed it.)
13529
13530         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
13531         All uses of recently-renamed identifiers changed to use the new,
13532         POSIX-compliant names.  The code will build and run just fine
13533         without these changes, but it's better to eat our own dog food
13534         and use the standard-conforming names.
13535
13536         * lib/regex.h: Fix a multitude of POSIX name space violations.
13537         These changes have an effect only for programs that define
13538         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
13539         do not change anything for programs compiled in the normal way.
13540         Also, there is no effect on the ABI.
13541
13542         (_REGEX_SOURCE): New macro.
13543         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
13544         defined and _GNU_SOURCE is not; this fixes a name space violation.
13545
13546         Rename the following macros to obey POSIX requirements.
13547         The old names are still visible as macros if _REGEX_SOURCE is defined.
13548         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
13549         RE_BACKSLASH_ESCAPE_IN_LISTS.
13550         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
13551         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
13552         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
13553         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
13554         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
13555         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
13556         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
13557         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
13558         (REG_INTERVALS): renamed from RE_INTERVALS.
13559         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
13560         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
13561         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
13562         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
13563         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
13564         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
13565         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
13566         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
13567         RE_UNMATCHED_RIGHT_PAREN_ORD.
13568         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
13569         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
13570         (REG_DEBUG): renamed from RE_DEBUG.
13571         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
13572         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
13573         unusual, since we can't clash with the POSIX REG_ICASE.
13574         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
13575         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
13576         (REG_NO_SUB): renamed from RE_NO_SUB.
13577         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
13578         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
13579         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
13580         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
13581         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
13582         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
13583         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
13584         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
13585         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
13586         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
13587         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
13588         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
13589         RE_SYNTAX_POSIX_MINIMAL_BASIC.
13590         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
13591         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
13592         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
13593         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
13594         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
13595         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
13596         (REG_FIXED): Renamed from REGS_FIXED.
13597         (REG_NREGS): Renamed from RE_NREGS.
13598
13599         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
13600         of other REG_* macros, since POSIX says the user is allowed to
13601         #undef these macros selectively.
13602
13603         (reg_errcode_t): Update comment stating what other tables need
13604         to be consistent.
13605
13606         Rename the following enum values to obey POSIX requirements.
13607         The old names are still visible as macros.
13608         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
13609         is not defined, since GNU is supposed to be a superset of POSIX as
13610         much as possible, and since we want reg_errcode_t to be a signed
13611         type for implementation consistency.
13612         (_REG_NOERROR): Renamed from REG_NOERROR.
13613         (_REG_NOMATCH): Renamed from REG_NOMATCH.
13614         (_REG_BADPAT): Renamed from REG_BADPAT.
13615         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
13616         (_REG_ECTYPE): Renamed from REG_ECTYPE.
13617         (_REG_EESCAPE): Renamed from REG_EESCAPE.
13618         (_REG_ESUBREG): Renamed from REG_ESUBREG.
13619         (_REG_EBRACK): Renamed from REG_EBRACK.
13620         (_REG_EPAREN): Renamed from REG_EPAREN.
13621         (_REG_EBRACE): Renamed from REG_EBRACE.
13622         (_REG_BADBR): Renamed from REG_BADBR.
13623         (_REG_ERANGE): Renamed from REG_ERANGE.
13624         (_REG_ESPACE): Renamed from REG_ESPACE.
13625         (_REG_BADRPT): Renamed from REG_BADRPT.
13626         (_REG_EEND): Renamed from REG_EEND.
13627         (_REG_ESIZE): Renamed from REG_ESIZE.
13628         (_REG_ERPAREN): Renamed from REG_ERPAREN.
13629         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
13630         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
13631         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
13632         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
13633
13634         (_REG_RE_NAME, _REG_RM_NAME): New macros.
13635         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
13636         changed.  But support the old name if the new one is not defined
13637         and if _REGEX_SOURCE.
13638
13639         Change the following member names in struct re_pattern_buffer.
13640         The old names are still supported if !_REGEX_SOURCE.
13641         The new names are always supported, regardless of _REGEX_SOURCE.
13642         (re_buffer): Renamed from buffer.
13643         (re_allocated): Renamed from allocated.
13644         (re_used): Renamed from used.
13645         (re_syntax): Renamed from syntax.
13646         (re_fastmap): Renamed from fastmap.
13647         (re_translate): Renamed from translate.
13648         (re_can_be_null): Renamed from can_be_null.
13649         (re_regs_allocated): Renamed from regs_allocated.
13650         (re_fastmap_accurate): Renamed from fastmap_accurate.
13651         (re_no_sub): Renamed from no_sub.
13652         (re_not_bol): Renamed from not_bol.
13653         (re_not_eol): Renamed from not_eol.
13654         (re_newline_anchor): Renamed from newline_anchor.
13655
13656         Change the following member names in struct re_registers.
13657         The old names are still supported if !_REGEX_SOURCE.
13658         The new names are always supported, regardless of _REGEX_SOURCE.
13659         (rm_num_regs): Renamed from num_regs.
13660         (rm_start): Renamed from start.
13661         (rm_end): Renamed from end.
13662
13663         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
13664         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
13665         Prepend __ to parameter names.
13666
13667         Undo yesterday's changes.
13668
13669 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13670
13671         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
13672         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
13673         lib/regex.c.
13674
13675 2005-08-24  Jim Meyering  <jim@meyering.net>
13676
13677         Sync from coreutils.
13678         * m4/fcntl-safer.m4: New file.
13679
13680         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
13681         and object files for this module.
13682
13683 2005-08-24  Jim Meyering  <jim@meyering.net>
13684
13685         Sync from coreutils.
13686         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
13687
13688 2005-08-24  Jim Meyering  <jim@meyering.net>
13689
13690         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
13691         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
13692
13693 2005-08-24  Jim Meyering  <jim@meyering.net>
13694
13695         * modules/fcntl-safer: New module.
13696         * modules/fts (Depends-on): Add fcntl-safer.
13697         * MODULES.html.sh (File descriptor based Input/Output):
13698         Add fcntl-safer.
13699
13700 2005-08-24  Bruno Haible  <bruno@clisp.org>
13701
13702         Support for unit test modules.
13703         * modules/README: Mention tests modules.
13704         * modules/TEMPLATE-TESTS: New file.
13705         * gnulib-tool: New options --extract-tests-module, --with-tests and
13706         --tests-base (unused for the moment).
13707         (testsbase, inctests): New variables.
13708         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
13709         (func_verify_module): Exclude TEMPLATE-TESTS.
13710         (func_verify_nontests_module, func_verify_tests_module): New functions.
13711         (func_get_dependencies): Add implicit dependency for tests modules.
13712         (func_get_tests_module): New function.
13713         (func_modules_transitive_closure): When --with-tests was specified,
13714         include the unit tests as well, unless explicitly avoided.
13715         (func_emit_lib_Makefile_am): Ignore the tests modules here.
13716         (func_emit_tests_Makefile_am): New function.
13717         (func_create_testdir): When --with-tests was specified, emit a
13718         tests/ directory.
13719         * MODULES.html.sh (Future developments): Update.
13720
13721 2005-08-24  Bruno Haible  <bruno@clisp.org>
13722
13723         * modules/tls-tests: New file.
13724         * tests/test-tls.c: New file, from GNU gettext.
13725
13726 2005-08-24  Bruno Haible  <bruno@clisp.org>
13727
13728         * modules/lock-tests: New file.
13729         * tests/test-lock.c: New file, from GNU gettext.
13730
13731 2005-08-24  Bruno Haible  <bruno@clisp.org>
13732
13733         * lib/lock.h: Add multiple inclusion guard.
13734         * lib/tls.h: Add multiple inclusion guard.
13735
13736 2005-08-24  Bruno Haible  <bruno@clisp.org>
13737
13738         * gnulib-tool: Add support for the --aux-dir option to
13739         --create-testdir, --create-megatestdir, --test, --megatest.
13740         (func_create_testdir, func_create_megatestdir): Optionally emit a
13741         AC_CONFIG_AUX_DIR directive.
13742         (create-testdir, create-megatestdir, test, megatest): Provide a
13743         default value for $auxdir.
13744
13745 2005-08-24  Bruno Haible  <bruno@clisp.org>
13746
13747         * gnulib-tool (import): Use compound statement instead of subshell
13748         where possible.
13749
13750 2005-08-24  Bruno Haible  <bruno@clisp.org>
13751
13752         * gnulib-tool (import): Change --aux-dir default to "build-aux".
13753
13754 2005-08-24  Bruno Haible  <bruno@clisp.org>
13755
13756         * gnulib-tool (func_version): Update.
13757
13758 2005-08-24  Bruno Haible  <bruno@clisp.org>
13759
13760         * gnulib-tool (func_import, func_create_testdir,
13761         func_create_megatestdir): Quote all autoconf macro arguments.
13762
13763 2005-08-24  Bruno Haible  <bruno@clisp.org>
13764
13765         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
13766         option --force, because --force causes the aclocal.m4 of each
13767         subdirectory to be newer than the corresponding config.h.in.
13768
13769 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13770
13771         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
13772         All contents moved to gl_REGEX.
13773         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
13774         assume that it does.
13775
13776 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13777
13778         * lib/regex.h (REG_NOSYS)
13779         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
13780         Define, since POSIX requires it as of 2001.
13781         (_REG_ENOSYS)
13782         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
13783         New private symbol, used to keep the enum signed in all cases.
13784         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
13785         Youngman in
13786         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
13787
13788         * lib/regex_internal.c (re_string_skip_chars, register_state):
13789         (calc_state_hash):
13790         Remove forward decls; no longer needed now that we use prototypes.
13791         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
13792         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
13793         (clean_state_log_if_needed): Likewise.
13794
13795 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13796
13797         * config/srclist.txt: Add glibc bugs 1231-1233.
13798
13799 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13800
13801         Fix problems reported by Sam Steingold in
13802         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
13803         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
13804         assumed that reg_errcode_t is a signed type, which is not
13805         necessarily true if _XOPEN_SOURCE is not defined.
13806         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
13807         since some compilers warn about it otherwise.
13808
13809 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13810
13811         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
13812         (init_word_char, create_initial_state, duplicate_node_closure):
13813         (fetch_token, peek_token_bracket, build_range_exp):
13814         (build_collating_symbol): Remove forward decls; no longer needed
13815         now that we use prototypes.
13816
13817         * lib/regcomp.c:
13818         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
13819         (re_compile_fastmap_iter, regcomp, regerror, regfree):
13820         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
13821         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
13822         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
13823         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
13824         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
13825         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
13826         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
13827         (build_range_exp, build_collating_symbol, parse_bracket_exp):
13828         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
13829         (build_charclass, build_charclass_op, fetch_number, create_tree):
13830         (create_token_tree, mark_opt_subexp, duplicate_tree):
13831         Use prototypes rather than old-style definitions.
13832
13833         * lib/regex_internal.c:
13834         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
13835         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
13836         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
13837         (re_string_reconstruct, re_string_peek_byte_case):
13838         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
13839         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
13840         (re_node_set_init_copy, re_node_set_add_intersect):
13841         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13842         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13843         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
13844         (re_acquire_state, re_acquire_state_context, register_state):
13845         (create_ci_newstate, create_cd_newstate, free_state):
13846         Likewise.
13847         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
13848         re_search_2):
13849         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
13850         (re_search_internal, prune_impossible_nodes):
13851         (acquire_init_state_context, check_matching, static):
13852         (check_halt_node_context, check_halt_state_context, proceed_next_node):
13853         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
13854         (update_regs, sift_states_backward, build_sifted_states):
13855         (clean_state_log_if_needed, merge_state_array):
13856         (update_cur_sifted_state, add_epsilon_src_nodes):
13857         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
13858         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
13859         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
13860         (find_recover_state, check_subexp_matching_top, transit_state_mb):
13861         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
13862         (check_arrival, check_arrival_add_next_nodes):
13863         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
13864         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
13865         (check_node_accept_bytes, check_node_accept, extend_buffers):
13866         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
13867         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
13868         (sift_ctx_init):
13869         Likewise.
13870
13871         * lib/regex_internal.h:
13872         (re_string_allocate, re_string_construct, re_string_reconstruct):
13873         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
13874         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
13875         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
13876         (re_string_context_at, re_string_peek_byte_case):
13877         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
13878         is defined, since we now use prototypes always.
13879
13880         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
13881         C89 or better.  All uses removed.
13882
13883 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13884
13885         * config/srclist.txt: Add glibc bugs 1220-1227.
13886
13887 2005-08-20  Jim Meyering  <jim@meyering.net>
13888
13889         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
13890         of unused local, dfa.
13891
13892 2005-08-20  Bruno Haible  <bruno@clisp.org>
13893
13894         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
13895
13896 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13897
13898         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
13899         (re_node_set_insert_last, re_dfa_add_node):
13900         Rename local variables to avoid GCC shadowing warnings.
13901
13902 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13903
13904         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
13905         [defined lint]: Suppress bogus uninitialized-variable warnings.
13906
13907         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
13908         and let the caller return REG_ESPACE if out of space.  This
13909         removes an uninitialied-variable warning with GCC 4.0.1, and also
13910         avoids taking the address of a local variable.  All callers
13911         changed.
13912
13913 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13914
13915         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
13916         $LIBCSRC/posix/regexec.c.
13917         Add glibc bug 1217 for regcomp.c.
13918
13919 2005-08-19  Jim Meyering  <jim@meyering.net>
13920
13921         * lib/regexec.c (proceed_next_node): Redo local variables to
13922         avoid GCC shadowing warnings.
13923
13924 2005-08-18  Bruno Haible  <bruno@clisp.org>
13925
13926         * lib/strstr.c (strstr): Fix return value in multibyte case.
13927         * lib/strcasestr.c (strcasestr): Likewise.
13928
13929 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13930
13931         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
13932
13933 2005-08-17  Jim Meyering  <jim@meyering.net>
13934
13935         Make the %s format (seconds since the epoch) work for a negative
13936         number and when used with a zero-padded field width, e.g. %015s.
13937
13938         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
13939         label so that it precedes the code to set `digits'.  Otherwise,
13940         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
13941         print `00-22'.  Now, it prints `-0022', as it should.
13942
13943 2005-08-17  Bruno Haible  <bruno@clisp.org>
13944
13945         * modules/strstr (Files): Add m4/mbrtowc.m4.
13946         (Depends-on): Add mbuiter.
13947
13948 2005-08-17  Bruno Haible  <bruno@clisp.org>
13949
13950         * modules/strcasestr: New file.
13951         * MODULES.html.sh (String handling, based on ANSI C 89): Add
13952         strcasestr.
13953
13954 2005-08-17  Bruno Haible  <bruno@clisp.org>
13955
13956         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
13957
13958 2005-08-17  Bruno Haible  <bruno@clisp.org>
13959
13960         * modules/mbuiter: New file.
13961         * MODULES.html.sh (Extended multibyte and wide character utilities):
13962         Add mbuiter.
13963
13964 2005-08-17  Bruno Haible  <bruno@clisp.org>
13965
13966         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
13967         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
13968
13969 2005-08-17  Bruno Haible  <bruno@clisp.org>
13970
13971         * m4/strcasestr.m4: New file.
13972
13973 2005-08-17  Bruno Haible  <bruno@clisp.org>
13974
13975         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
13976         * lib/strstr.c: Completely rewritten, with multibyte locale support.
13977
13978 2005-08-17  Bruno Haible  <bruno@clisp.org>
13979
13980         * lib/strcasestr.h: New file.
13981         * lib/strcasestr.c: New file.
13982
13983 2005-08-17  Bruno Haible  <bruno@clisp.org>
13984
13985         * lib/strcasecmp.c: Use mbuiter.h.
13986
13987 2005-08-17  Bruno Haible  <bruno@clisp.org>
13988
13989         * lib/mbuiter.h: New file.
13990
13991 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
13992
13993         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
13994         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
13995         and gl_GETOPT are both invoked via different paths (as happens
13996         with GNU tar CVS because it uses both argp and getopt), the former
13997         wins.
13998
13999 2005-08-16  Bruno Haible  <bruno@clisp.org>
14000
14001         * modules/tls: New file.
14002         * MODULES.html.sh (Multithreading): Add tls.
14003
14004 2005-08-16  Bruno Haible  <bruno@clisp.org>
14005
14006         * modules/strnlen1: New file.
14007         * MODULES.html.sh (String handling): Add strnlen1.
14008
14009 2005-08-16  Bruno Haible  <bruno@clisp.org>
14010
14011         * modules/strcase (Files): Add m4/mbrtowc.m4.
14012         (Depends-on): Add strnlen1, mbchar.
14013
14014 2005-08-16  Bruno Haible  <bruno@clisp.org>
14015
14016         * modules/mbiter: New file.
14017         * MODULES.html.sh (Extended multibyte and wide character utilities):
14018         Add mbiter.
14019
14020 2005-08-16  Bruno Haible  <bruno@clisp.org>
14021
14022         * modules/mbfile: New file.
14023         * MODULES.html.sh (Extended multibyte and wide character utilities):
14024         Add mbfile.
14025
14026 2005-08-16  Bruno Haible  <bruno@clisp.org>
14027
14028         * modules/mbchar: New file.
14029         * MODULES.html.sh (Extended multibyte and wide character utilities):
14030         New section.
14031
14032 2005-08-16  Bruno Haible  <bruno@clisp.org>
14033
14034         * m4/tls.m4: New file, from GNU gettext.
14035
14036 2005-08-16  Bruno Haible  <bruno@clisp.org>
14037
14038         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
14039         always.
14040         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
14041
14042 2005-08-16  Bruno Haible  <bruno@clisp.org>
14043
14044         * m4/mbiter.m4: New file.
14045
14046 2005-08-16  Bruno Haible  <bruno@clisp.org>
14047
14048         * m4/mbfile.m4: New file.
14049
14050 2005-08-16  Bruno Haible  <bruno@clisp.org>
14051
14052         * m4/mbchar.m4: New file.
14053
14054 2005-08-16  Bruno Haible  <bruno@clisp.org>
14055
14056         * lib/tls.h: New file, from GNU gettext.
14057         * lib/tls.c: New file, from GNU gettext.
14058
14059 2005-08-16  Bruno Haible  <bruno@clisp.org>
14060
14061         * lib/strnlen1.h: New file.
14062         * lib/strnlen1.c: New file.
14063
14064 2005-08-16  Bruno Haible  <bruno@clisp.org>
14065
14066         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
14067         (mbi_init): Update.
14068         (mbi_avail, mbi_advance): Let the iteration end before the terminating
14069         NUL byte, not after it.
14070
14071 2005-08-16  Bruno Haible  <bruno@clisp.org>
14072
14073         * lib/strcase.h (strcasecmp): Add note in comments.
14074         * lib/strncasecmp.c: Use code from strcasecmp.c.
14075         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
14076         (strcasecmp): Work correctly in multibyte locales.
14077
14078 2005-08-16  Bruno Haible  <bruno@clisp.org>
14079
14080         * lib/mbiter.h: New file.
14081
14082 2005-08-16  Bruno Haible  <bruno@clisp.org>
14083
14084         * lib/mbfile.h: New file.
14085
14086 2005-08-16  Bruno Haible  <bruno@clisp.org>
14087
14088         * lib/mbchar.h: New file.
14089         * lib/mbchar.c: New file.
14090
14091 2005-08-16  Bruno Haible  <bruno@clisp.org>
14092
14093         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
14094         the valid ones. Makes the comparison operations transitive:
14095         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
14096         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
14097
14098 2005-08-15  Simon Josefsson  <jas@extundo.com>
14099
14100         * modules/ssize_t (License): Change to 'unlimited'.
14101
14102         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
14103
14104 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14105
14106         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
14107         Add comments for each pending glibc patch.
14108
14109 2005-08-15  Bruno Haible  <bruno@clisp.org>
14110
14111         * lib/regex.h (__restrict_arr): Don't define to __restrict if
14112         __cplusplus is defined.
14113
14114 2005-08-14  Jim Meyering  <jim@meyering.net>
14115
14116         Sync from coreutils.
14117
14118         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
14119         Use the hash-table-based cycle-detection code not just when
14120         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
14121         Reported by James Youngman in
14122         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
14123         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
14124         FTS_TIGHT_CYCLE_CHECK.
14125         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
14126         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
14127         once again.
14128         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
14129         * lib/fts.c (fd_safer): Remove decl.
14130         Include fcntl--.h rather than unistd-safer.h
14131         (fts_safe_changedir): Don't call fd_safer; no longer needed
14132         now that we include fcntl--.h.
14133
14134 2005-08-12  Simon Josefsson  <jas@extundo.com>
14135
14136         * modules/getndelim2: Use ssize_t module.
14137         * modules/getnline: Likewise.
14138         * modules/safe-read: Likewise.
14139         * modules/xreadlink: Likewise.
14140
14141         * modules/ssize_t: New file.
14142
14143 2005-08-12  Simon Josefsson  <jas@extundo.com>
14144
14145         * m4/readline.m4: Look for termcap, curses or ncurses if required.
14146
14147 2005-08-12  Simon Josefsson  <jas@extundo.com>
14148
14149         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14150         ssize_t.
14151
14152 2005-08-12  Simon Josefsson  <jas@extundo.com>
14153
14154         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
14155         readline, getdelim and check_version.
14156         (Support for systems lacking ISO C 99: Sizes of integer types):
14157         Add size_max.
14158
14159 2005-08-12  Bruno Haible  <bruno@clisp.org>
14160
14161         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
14162
14163 2005-08-11  Simon Josefsson  <jas@extundo.com>
14164
14165         * modules/readline: New file.
14166
14167         * modules/strnlen (Files): Add strnlen.h.
14168
14169 2005-08-11  Simon Josefsson  <jas@extundo.com>
14170
14171         * m4/readline.m4: New file.
14172
14173 2005-08-11  Simon Josefsson  <jas@extundo.com>
14174
14175         * lib/readline.h, readline.c: New file.
14176
14177 2005-08-11  Simon Josefsson  <jas@extundo.com>
14178
14179         * doc/gnulib.texi (Initial import, Finishing touches): Mention
14180         gl_AVOID.
14181
14182 2005-08-11  Bruno Haible  <bruno@clisp.org>
14183
14184         * lib/strnlen.h (strnlen): Change parameter name to match comment.
14185
14186 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
14187
14188         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
14189
14190 2005-08-10  Simon Josefsson  <jas@extundo.com>
14191
14192         * tests/test-iconvme.c: New file.
14193
14194 2005-08-10  Simon Josefsson  <jas@extundo.com>
14195
14196         * m4/strnlen.m4: New file.
14197
14198         * m4/strndup.m4: Don't check for strnlen declaration, done in
14199         strnlen.m4.
14200
14201 2005-08-10  Simon Josefsson  <jas@extundo.com>
14202
14203         * lib/strndup.c: Use strnlen.h.
14204
14205         * lib/strnlen.h: New file.
14206
14207 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
14208
14209         * README: Typos.
14210
14211 2005-08-02  Simon Josefsson  <jas@extundo.com>
14212
14213         * modules/readline: New file.
14214
14215 2005-08-02  Simon Josefsson  <jas@extundo.com>
14216
14217         * modules/getdelim: New file.
14218
14219         * modules/getline: Rewrite, don't use getndelim2.
14220
14221 2005-08-02  Simon Josefsson  <jas@extundo.com>
14222
14223         * m4/getline.m4: Separate out getdelim stuff into separate module.
14224
14225         * m4/getdelim.m4: New file.
14226
14227 2005-08-02  Simon Josefsson  <jas@extundo.com>
14228
14229         * lib/getline.h, getline.c: Rewrite.
14230
14231         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
14232
14233 2005-07-31  Bruno Haible  <bruno@clisp.org>
14234
14235         * lib/lock.h (gl_lock_initializer): New macro.
14236         (gl_lock_define_initialized): Use it.
14237         (gl_rwlock_initializer): New macro.
14238         (gl_rwlock_define_initialized): Use it.
14239         (gl_recursive_lock_initializer): New macro.
14240         (gl_recursive_lock_define_initialized): Use it.
14241
14242 2005-07-30  Karl Berry  <karl@gnu.org>
14243
14244         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
14245         Report from Ben Pfaff, regarding getopt.
14246
14247 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
14248
14249         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
14250         normal way.
14251         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
14252         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
14253         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
14254         (gl_GETOPT): Use the new macros.  Most of the implementation
14255         is moved to the new macros.  This is for programs like Emacs
14256         that don't want all the functionality of gl_GETOPT.
14257
14258 2005-07-26  Bruno Haible  <bruno@clisp.org>
14259
14260         * m4/lock.m4: Update from GNU gettext.
14261
14262 2005-07-26  Bruno Haible  <bruno@clisp.org>
14263
14264         * lib/lock.h: Update from GNU gettext.
14265         * lib/lock.c: Update from GNU gettext.
14266
14267 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14268
14269         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
14270         obsolescent AC_TRY_RUN.  Include the default includes files, for
14271         'exit'.
14272
14273 2005-07-24  Bruno Haible  <bruno@clisp.org>
14274
14275         * modules/visibility: New file.
14276         * MODULES.html.sh (Misc): Add visibility.
14277
14278 2005-07-24  Bruno Haible  <bruno@clisp.org>
14279
14280         * m4/visibility.m4: New file.
14281
14282 2005-07-24  Bruno Haible  <bruno@clisp.org>
14283
14284         * doc/visibility.texi: New file.
14285
14286 2005-07-22  Bruno Haible  <bruno@clisp.org>
14287
14288         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
14289         $(ALLOCA_H), redundant through BUILT_SOURCES.
14290         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
14291         redundant through BUILT_SOURCES.
14292         * modules/byteswap (Makefile.am): Remove explicit dependency on
14293         $(BYTESWAP_H), redundant through BUILT_SOURCES.
14294         * modules/fnmatch (Makefile.am): Remove explicit dependency on
14295         $(FNMATCH_H), redundant through BUILT_SOURCES.
14296         * modules/getopt (Makefile.am): Remove explicit dependency on
14297         $(GETOPT_H), redundant through BUILT_SOURCES.
14298         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
14299         redundant through BUILT_SOURCES.
14300         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
14301         redundant through BUILT_SOURCES.
14302         * modules/stdbool (Makefile.am): Remove explicit dependency on
14303         $(STDBOOL_H), redundant through BUILT_SOURCES.
14304         * modules/stdint (Makefile.am): Remove explicit dependency on
14305         $(STDINT_H), redundant through BUILT_SOURCES.
14306         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
14307         Remove explicit dependency on $(SYSEXITS_H).
14308         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
14309
14310 2005-07-18  Simon Josefsson  <jas@extundo.com>
14311
14312         * lib/check-version.c (check_version): Accept identical versions too.
14313
14314 2005-07-18  Bruno Haible  <bruno@clisp.org>
14315
14316         * modules/lock: New file.
14317         * MODULES.html.sh (Multithreading): New section.
14318
14319 2005-07-18  Bruno Haible  <bruno@clisp.org>
14320
14321         * m4/lock.m4: New file, from GNU gettext.
14322
14323 2005-07-18  Bruno Haible  <bruno@clisp.org>
14324
14325         * lib/lock.h: New file, from GNU gettext.
14326         * lib/lock.c: New file, from GNU gettext.
14327
14328 2005-07-18  Bruno Haible  <bruno@clisp.org>
14329
14330         * lib/lock.h (gl_once_t): New type.
14331         (gl_once_define, gl_once): New macros.
14332         * lib/lock.c (fresh_once): New variable.
14333         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
14334         functions.
14335
14336 2005-07-16  Simon Josefsson  <jas@extundo.com>
14337
14338         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
14339         workaround, suggested by Bruno.
14340
14341 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14342
14343         * modules/xalloc (Depends-on): Add xalloc-die.
14344         * modules/xvasprintf (Depends-on): Add xalloc-die.
14345
14346 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14347
14348         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
14349         with a minor change.
14350
14351 2005-07-15  Bruno Haible  <bruno@clisp.org>
14352
14353         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
14354         When using lib/poll.c, define poll as rpl_poll.
14355
14356 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
14357
14358         * modules/argp (Depends-on): Remove unlocked-io.
14359
14360 2005-07-14  Derek Price  <derek@ximbiot.com>
14361
14362         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
14363         for glob symlink bug.
14364
14365 2005-07-14  Bruno Haible  <bruno@clisp.org>
14366
14367         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
14368         Instead, test for *_unlocked function declarations directly.
14369
14370 2005-07-11  Simon Josefsson  <jas@extundo.com>
14371
14372         * modules/size_max: New file.
14373
14374         * modules/xsize: Depend on size_max module for size_max.m4.
14375
14376 2005-07-11  Simon Josefsson  <jas@extundo.com>
14377
14378         * lib/size_max.h: New file.
14379
14380 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
14381
14382         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
14383         copyright symbol and the year.
14384         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
14385         (version_etc_va): Use parameterized copyright notice.
14386         Reword to conform to the current GNU coding standards.
14387
14388 2005-07-11  Karl Berry  <karl@gnu.org>
14389
14390         * doc/gnulib.texi (Quoting): new node.
14391         (Initial import): more info, from Patrice.
14392
14393 2005-07-11  Bruno Haible  <bruno@clisp.org>
14394
14395         * gnulib-tool (func_usage): Document option --avoid.
14396         (Command line options): Handle --avoid.
14397         (func_acceptable): New function.
14398         (func_modules_transitive_closure): Use it.
14399
14400 2005-07-11  Bruno Haible  <bruno@clisp.org>
14401
14402         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
14403         Reported by Jim Meyering.
14404
14405 2005-07-10  Bruno Haible  <bruno@clisp.org>
14406
14407         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
14408         Needed when size_t is smaller than 'unsigned int'.
14409         Reported by Paul Eggert.
14410
14411 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14412
14413         * modules/argp (Depends-on): Add unlocked-io
14414
14415 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14416
14417         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
14418         block of defines.
14419
14420 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14421
14422         * config/srclist.txt: Comment out regcomp.c, since we have a porting
14423         fix now.
14424
14425 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
14426         and Paul Eggert  <eggert@cs.ucla.edu>
14427
14428         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
14429         in wint_t, not wchar_t.  Remove now-unnecessary cast.
14430
14431 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14432
14433         * modules/regex (Files): Add lib/regex_internal.c,
14434         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
14435         (Depends-on): Add extensions.
14436         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
14437
14438 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14439
14440         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
14441         pathconf.
14442         * m4/same.m4 (gl_SAME): Likewise.
14443         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
14444
14445         * m4/regex.m4: Adjust to new libc regex implementation.
14446         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
14447         all the .c and .h parts of (the new) regex.
14448         Quote the m4 stuff better.
14449         Check for RE_ICASE bug of old gnulib.
14450         Check for REG_STARTEND of recent libc.
14451         Rename local variables from jm_* to gl_*.
14452         Quote operand of "test -f".
14453         Say "recent enough" version of libc, not "version 2".
14454         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
14455         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
14456         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
14457         Remove check for btowc, isascii.
14458         Require AM_LANGINFO_CODESET.
14459
14460 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14461
14462         * lib/regex.c, regex.h: Sync from libc.
14463         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
14464         * lib/regexec.c:
14465         New files, synced from libc, except that regex_internal.h
14466         currently has a small porting fix.
14467
14468 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14469
14470         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
14471         regex_internal.c, regexec.c.
14472         Add regex_internal.h too, but as a comment, since the libc version
14473         is currently broken in gnulib mode.
14474
14475 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14476
14477         Support programs like Emacs that use gnulib but not gettext.
14478         * MODULES.html.sh (Internationalization functions): Add gettext-h.
14479         * modules/gettext-h: New file.
14480         * modules/gettext (Files): Remove lib/gettext.h.
14481         (Depends-on): Add gettext-h.
14482         (Makefile.am): Remove lib_SOURCES.
14483         * modules/argmatch, modules/c-stack, modules/closeout:
14484         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
14485         * modules/execute, modules/file-type, modules/getaddrinfo:
14486         * modules/getopt, modules/human, modules/javacomp:
14487         * modules/javaexec, modules/mkdir-p, modules/obstack:
14488         * modules/openat, modules/pagealign_alloc, modules/pipe:
14489         * modules/quotearg, modules/regex, modules/rpmatch:
14490         * modules/unicodeio, modules/userspec, modules/version-etc:
14491         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
14492         * modules/xsetenv:
14493         Depend on gettext-h, not gettext.
14494
14495 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14496
14497         * gnulib-tool (func_import): Add support for 'public domain' license.
14498         * modules/alloca, modules/atexit, modules/memmove:
14499         Now public domain, not GPL.
14500         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
14501         * modules/realloc, modules/strerror, modules/strtod:
14502         Now LGPL, not GPL.
14503
14504 2005-07-05  Bruno Haible  <bruno@clisp.org>
14505
14506         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
14507         autoconf CVS. Needed for mingw.
14508
14509 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14510
14511         Remove the dependency of the strftime module on the tzset module.
14512         * modules/strftime (Depends-on): Remove dependency on tzset.
14513
14514 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14515
14516         Remove the dependency of the strftime module on the tzset module.
14517         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
14518         gl_FUNC_TZSET_CLOBBER.
14519
14520 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14521
14522         Remove the dependency of the strftime module on the tzset module.
14523         * lib/strftime.c (my_strftime)
14524         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
14525         Copy the input structure, to work around some of the bug with
14526         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
14527         Solaris releases, you should also use the tzset module, but we won't
14528         require it as a dependency any more since we don't want LGPLed code
14529         to depend on GPLed code.
14530
14531 2005-07-02  Jim Meyering  <jim@meyering.net>
14532
14533         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
14534         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
14535         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
14536         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
14537
14538 2005-07-02  Jim Meyering  <jim@meyering.net>
14539
14540         * lib/backupfile.c (backup_args): Change a `0' to NULL.
14541
14542 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
14543
14544         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
14545         declares only 'struct timespec;' (!).
14546
14547 2005-07-01  Jim Meyering  <jim@meyering.net>
14548
14549         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
14550         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
14551         * lib/save-cwd.c, tempname.c:
14552         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
14553         and don't include <sys/file.h>).
14554
14555 2005-06-29  Jim Meyering  <jim@meyering.net>
14556
14557         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
14558         type name.  Use the variable name instead.
14559         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
14560         Likewise.
14561
14562 2005-06-28  Simon Josefsson  <jas@extundo.com>
14563
14564         * modules/check-version (Files): Add check-version.m4.
14565
14566 2005-06-28  Simon Josefsson  <jas@extundo.com>
14567
14568         * m4/check-version.m4: New file, suggested by Jim Meyering
14569         <jim@meyering.net>.
14570
14571 2005-06-28  Simon Josefsson  <jas@extundo.com>
14572
14573         * lib/check-version.h, lib/check-version.c: New files.
14574
14575 2005-06-28  Simon Josefsson  <jas@extundo.com>
14576
14577         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
14578         collision with global variable.  Better indentation.  Don't
14579         increment buffer pointer beyond buffer end.  Based on comments
14580         from Paul Eggert <eggert@cs.ucla.edu>.
14581
14582         * lib/base64.h: Indent.
14583
14584 2005-06-28  Simon Josefsson  <jas@extundo.com>
14585
14586         * doc/gnulib.texi (Library version handling): New section.
14587
14588 2005-06-28  Jim Meyering  <jim@meyering.net>
14589
14590         * check-module (find_included_lib_files): Hard-code another
14591         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
14592         but modules/fts-lgpl (correctly) does not list those files.
14593
14594         * modules/canonicalize (Files): Add lib/pathmax.h.
14595
14596 2005-06-25  Simon Josefsson  <jas@extundo.com>
14597
14598         * modules/check-version: New file.
14599
14600 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14601
14602         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
14603         initializer of struct addrinfo, as an indication that we don't
14604         care how many members the structure has.
14605
14606 2005-06-24  Derek Price  <derek@ximbiot.com>
14607         and Bruno Haible  <bruno@clisp.org>
14608
14609         Remove stat module & update lstat.
14610         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
14611         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14612         * m4/stat.m4: Remove this file.
14613
14614 2005-06-24  Derek Price  <derek@ximbiot.com>
14615         and Bruno Haible  <bruno@clisp.org>
14616
14617         Remove stat module & update lstat.
14618         * lib/stat.c: Remove this file...
14619         (slash_aware_lstat): ...moving this content and its support...
14620         * lib/lstat.c (rpl_lstat): ...into here.
14621         * lib/lstat.h: New file.
14622
14623 2005-06-24  Derek Price  <derek@ximbiot.com>
14624         and Bruno Haible  <bruno@clisp.org>
14625
14626         Remove stat module & update lstat.
14627         * config/srclist.txt (libc sources): Remove stat.
14628
14629 2005-06-24  Derek Price  <derek@ximbiot.com>
14630         and Bruno Haible  <bruno@clisp.org>
14631
14632         Remove stat module & update lstat.
14633         * MODULES.html.sh (stat): Remove.
14634         * MODULES.html: Regenerated.
14635         * modules/lstat (Description): Correct function name.
14636         (Files): Add "lstat.h".
14637         (Depends-on): Remove stat, add xalloc, stat-macros.
14638         * modules/stat: Remove this file.
14639         (Include): Add "lstat.h", remove <sys/stat.h>.
14640
14641 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14642
14643         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
14644         (ranged_convert): Don't save conversion in a temporary struct.
14645         This causes a warning with GCC 4.0.0, and anyway in the typical
14646         case it's not worth the extra 100 bytes or so of code.
14647         (ranged_convert, __mktime_internal): When calling a function via a
14648         pointer P, use P () rather than (*P) (), as we now assume C89 or
14649         better.
14650
14651 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14652
14653         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
14654         "who -r" failed to give output.  Problem reported by Tim Waugh.
14655
14656         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
14657         (xcalloc): Use it to avoid needless tests.
14658         Problem reported by Jim Meyering.
14659
14660 2005-06-20  Derek Price  <derek@ximbiot.com>
14661
14662         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
14663         unnecessary for Autoconfs > 2.59c.
14664
14665 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14666
14667         * lib/argp.h (__option_is_short): Check upper limit of
14668         __key. Isprint() requires its argument to have the value
14669         of an unsigned char or EOF.
14670
14671 2005-06-16  Jim Meyering  <jim@meyering.net>
14672
14673         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
14674         when either N or S is zero.
14675
14676 2005-06-16  Derek Price  <derek@ximbiot.com>
14677
14678         * m4/bison.m4: Declare YACC & YFLAGS precious.
14679
14680 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
14681
14682         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
14683         multibyte string or pattern, fall back on unibyte matching.
14684         Problem reported by James Youngman.
14685
14686 2005-06-08  Bruno Haible  <bruno@clisp.org>
14687
14688         * modules/csharpcomp: New file.
14689         * MODULES.html.sh (C#): Add csharpcomp.
14690
14691 2005-06-08  Bruno Haible  <bruno@clisp.org>
14692
14693         * m4/csharpcomp.m4: New file, from GNU gettext.
14694
14695 2005-06-08  Bruno Haible  <bruno@clisp.org>
14696
14697         * lib/csharpcomp.h: New file, from GNU gettext.
14698         * lib/csharpcomp.c: New file, from GNU gettext.
14699         * lib/csharpcomp.sh.in: New file, from GNU gettext.
14700
14701 2005-06-08  Bruno Haible  <bruno@clisp.org>
14702
14703         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
14704         warning on mingw.
14705
14706 2005-06-07  Derek Price  <derek@ximbiot.com>
14707
14708         Sync from CVS.
14709         * lib/glob_.h: Indent nested #ifdef.
14710
14711 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14712
14713         Sync from coreutils.
14714         Use "file name" when talking about file names, instead of "filename"
14715         or "path", as per the GNU coding standards.
14716         * lib/mkdir-p.c: Renamed from makepath.c.
14717         (make_dir_parents): Renamed from make_path.  All callers changed.
14718         * lib/mkdir-p.h: Likewise.  All includers changed.
14719         * lib/filenamecat.c: Renamed from path-concat.c.
14720         (file_name_concat): Renamed from path_concat.  All callers changed.
14721         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
14722         * lib/filenamecat.h: Likewise.  All includers changed.
14723         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
14724         in comments or local variable names.
14725         * lib/basename.c: Likewise.
14726         * lib/canonicalize.c, canonicalize.h: Likewise.
14727         * lib/dirname.c, dirname.h: Likewise.
14728         * lib/euidaccess.c: Likewise.
14729         * lib/exclude.c: Likewise
14730         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
14731         * lib/fsusage.c, fsuage.h: Likewise.
14732         * lib/fts.c, fts_.h: Likewise.
14733         * lib/getcwd.c: Likewise.
14734         * lib/getloadavg.c: Likewise.
14735         * lib/mkstemp.c: Likewise.
14736         * lib/mountlist.c, mountlist.h: Likewise.
14737         * lib/openat.c, openat.h: Likewise.
14738         * lib/readlink-stub.c: Likewise.
14739         * lib/readutmp.c, readutmp.h: Likewise.
14740         * lib/rename.c: Likewise.
14741         * lib/rmdir.c: Likewise.
14742         * lib/same.c: Likewise.
14743         * lib/savedir.c: Likewise.
14744         * lib/stripslash.c: Likewise.
14745         * lib/tempname.c: Likewise.
14746         * lib/xreadlink.c: Likewise.
14747         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
14748         All uses changed.
14749         * lib/exclude.h: Likewise.
14750
14751         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
14752         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14753         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
14754         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14755         * lib/pathmax.h: Include <limits.h> unconditionally, since other
14756         files have been getting away with it for years (MORE/BSD 4.3
14757         is extinct now).
14758         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
14759         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14760
14761         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
14762         Define to 256, not 255, as per modern POSIX.
14763
14764 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14765
14766         Sync from coreutils.
14767         Use "file name" when talking about file names, instead of "filename"
14768         or "path", as per the GNU coding standards.
14769         * MODULES.html.sh: mkdir-p renamed from makepath.
14770         filenamecat renamed from path-concat.
14771         * modules/filenamecat: Renamed from modules/path-concat.
14772         (Files): filenamecat.h and filenamecat.c renamed from
14773         path-concat.h and path-concat.c.
14774         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
14775         (Include): filenamecat.h, not path-concat.h.
14776         * modules/mkdir-p: Renamed from modules/makepath.
14777         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
14778         makepath.c.
14779         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
14780         (Include): mkdir-p.h, not makepath.h.
14781
14782 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14783
14784         Sync from coreutils.
14785         * m4/mkdir-p.m4: Renamed from makepath.m4.
14786         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
14787         Rename files from makepath.c to mkdir-p.c, and from
14788         makepath.h to mkdir-p.h.
14789         * m4/filenamecat.m4: Renamed from path-concat.m4.
14790         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
14791         Rename files from path-concat.c to filenamecat.c,
14792         and from path-concat.h to filenamecat.h.
14793         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
14794         "file name" in local variables or comments.
14795         * m4/rename.m4: Likewise.
14796
14797 2005-06-01  Bruno Haible  <bruno@clisp.org>
14798
14799         * modules/csharpexec: New file.
14800         * MODULES.html.sh (C#): New section.
14801
14802 2005-06-01  Bruno Haible  <bruno@clisp.org>
14803
14804         * m4/csharp.m4: New file, from GNU gettext.
14805         * m4/csharpexec.m4: New file, from GNU gettext.
14806
14807 2005-06-01  Bruno Haible  <bruno@clisp.org>
14808
14809         * lib/csharpexec.h: New file, from GNU gettext.
14810         * lib/csharpexec.c: New file, from GNU gettext.
14811         * lib/csharpexec.sh.in: New file, from GNU gettext.
14812
14813 2005-05-31  Derek Price  <derek@ximbiot.com>
14814             Paul Eggert  <eggert@cs.ucla.edu>
14815
14816         Sync from cvs.
14817         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14818
14819 2005-05-31  Derek Price  <derek@ximbiot.com>
14820             Paul Eggert  <eggert@cs.ucla.edu>
14821
14822         Sync from cvs.
14823         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14824
14825 2005-05-29  Derek Price  <derek@ximbiot.com>
14826
14827         * config/srclist.txt (glob_.h, glob.c): Add these files.
14828
14829 2005-05-29  Derek Price  <derek@ximbiot.com>
14830
14831         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
14832         * modules/glob: New file.
14833         * modules/getlogin_r: Add link to POSIX spec in description.
14834
14835 2005-05-29  Derek Price  <derek@ximbiot.com>
14836             Paul Eggert  <eggert@cs.ucla.edu>
14837
14838         * m4/glob.m4: New file.
14839
14840 2005-05-29  Derek Price  <derek@ximbiot.com>
14841             Paul Eggert  <eggert@cs.ucla.edu>
14842
14843         * lib/glob_.h, lib/glob.c: New files.
14844
14845 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14846
14847         * modules/fts (Files): Remove m4/inttypes-pri.m4.
14848         * modules/fts-lgpl (Depends-on): Remove gettext.
14849
14850 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14851
14852         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
14853         and don't require gt_INTTYPES_PRI.
14854
14855 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14856
14857         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
14858
14859         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
14860         the configuration hassle isn't worth it.
14861         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
14862         (LONGEST_MODIFIER, PRIuMAX): Remove.
14863
14864 2005-05-27  Bruno Haible  <bruno@clisp.org>
14865
14866         * lib/getlogin_r.h: Remove second include of <stddef.h>.
14867
14868 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
14869
14870         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
14871         _POSIX_PTHREAD_SEMANTICS for Solaris.
14872
14873 2005-05-25  Derek Price  <derek@ximbiot.com>
14874
14875         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
14876
14877 2005-05-25  Derek Price  <derek@ximbiot.com>
14878             Paul Eggert  <eggert@cs.ucla.edu>
14879
14880         * modules/getlogin_r, m4/getlogin_r.m4: New files.
14881         * lib/getlogin_r.c, getlogin_r.h: New files.
14882
14883 2005-05-25  Bruno Haible  <bruno@clisp.org>
14884             Derek Price  <derek@ximbiot.com>
14885
14886         * lib/getlogin_r.h: Simplify API documentation.
14887
14888 2005-05-23  Derek Price  <derek@ximbiot.com>
14889
14890         * modules/minmax (Files): Add m4/minmax.m4.
14891         (configure.ac): Add gl_MINMAX.
14892
14893 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14894
14895         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
14896         so that unistd-safer.h (GPL'ed code) need not be included.
14897
14898 2005-05-22  Bruno Haible  <bruno@clisp.org>
14899
14900         * m4/minmax.m4: New file.
14901         Based on a patch by Derek Price <derek@ximbiot.com>.
14902
14903 2005-05-22  Bruno Haible  <bruno@clisp.org>
14904
14905         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
14906         (INT64_MIN): Fix definition.
14907         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14908
14909         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
14910         NEED_SIGNED_INT_TYPES.
14911
14912         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
14913         HAVE_SYSTEM_INTTYPES.
14914
14915 2005-05-22  Bruno Haible  <bruno@clisp.org>
14916
14917         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
14918         Also include <sys/param.h> if it defines MIN, MAX.
14919         Based on a patch by Derek Price <derek@ximbiot.com>.
14920
14921 2005-05-21  Jim Meyering  <jim@meyering.net>
14922
14923         * modules/fts (Files): Add m4/inttypes-pri.m4.
14924         (Depends-on): Add lstat and remove gettext.  Alphabetize.
14925
14926 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14927
14928         New fts module.
14929         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
14930         (setup_dir, free_dir): New functions.
14931         (enter_dir, leave_dir): Define trivial
14932         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
14933         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
14934         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
14935         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
14936         Move to fts-cycle.c.
14937         (fts_open): Use setup_dir.
14938         (fts_close): Use free_dir.
14939         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
14940         This adds a label and some gotos, but the alternatives were messier.
14941         Check for memory allocation failure when entering a dir.
14942         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
14943         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
14944         (FTS): New member fts_cycle, that is a union that contains the
14945         old active_dir_ht and cycle_state.  All uses changed to mention
14946         fts_cycle.ht and fts_cycle.state.
14947         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
14948         fts.c, with the following changes:
14949         (setup_dir, free_dir): New functions.
14950         (enter_dir): Now returns bool.  Return true if successful, false
14951         if memory exhausted.  All callers changed.
14952         Do not bother partly cleaning up on
14953         memory allocation failure; that is free_dir's job.
14954         However, free ad if hash_insert fails, to avoid memory leak.
14955         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
14956         fts->fts_options to see which union member to use.
14957
14958 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14959
14960         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
14961         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
14962
14963 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14964
14965         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
14966
14967 2005-05-20  Jim Meyering  <jim@meyering.net>
14968
14969         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
14970         Now a macro, to pacify GCC.
14971
14972 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14973
14974         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
14975         of -1.
14976
14977 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14978
14979         * lib/chown.c (rpl_chown): Return -1 on failure.
14980
14981 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
14982
14983         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
14984         Don't check for stddef.h.
14985         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
14986         don't use its results.
14987         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
14988         since we include them unconditionally.  Don't require
14989         AM_STDBOOL_H, since stdbool is a prerequisite.
14990         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
14991         since we assume C89 or better.
14992         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
14993         as we don't use their results.
14994         Don't check for fchdir, memmove, memset, strrchr, as we use
14995         them unconditionally.
14996         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
14997         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
14998
14999 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
15000
15001         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
15002         Include <stddef.h> unconditionally, since we assume C89 now.
15003         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
15004         * lib/fts.c: Include fts_.h first, to check interface.
15005         Do not include intprops.h; no longer needed.
15006         Include cycle-check.h and hash.h, since fts_.h no longer does.
15007         Remove unnecessary casts of closedir to void.
15008         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
15009         decide whether to decrement nlinks.
15010         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
15011         (FTS): Use struct hash_table * instead of Hash_table, so that
15012         we no longer need to include hash.h here.
15013
15014 2005-05-18  Jim Meyering  <jim@meyering.net>
15015
15016         * modules/dirfd (License): Change to LGPL.  Most of the code
15017         is already in the public domain.
15018
15019 2005-05-18  Jim Meyering  <jim@meyering.net>
15020
15021         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
15022         Reported by Yoann Vandoorselaere.
15023
15024 2005-05-17  Jim Meyering  <jim@meyering.net>
15025
15026         * m4/fts.m4: New file, from coreutils.
15027
15028 2005-05-17  Jim Meyering  <jim@meyering.net>
15029
15030         * lib/fts.c, lib/fts_.h: New files, from coreutils.
15031
15032 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15033
15034         Sync from coreutils.
15035         * m4/unlinkdir.m4: New file.
15036
15037 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15038
15039         Sync from coreutils.
15040         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
15041         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
15042         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
15043         White space changes only.
15044         * lib/makepath.c (make_path): Port to hosts where leading "//" is
15045         special.
15046         * lib/yesno.c: Include getline.h, not ctype.h.
15047         (yesno): Don't remove leading white space; POSIX doesn't allow it.
15048         Use getline to remove arbitrary restriction on response length.
15049
15050 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15051
15052         * config/srclist-update: Spell out "Street" in FSF postal
15053         mail address; this is the style the FSF seems to prefer.
15054
15055         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
15056         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
15057         this updates FSF postal mail address.
15058
15059         Sync from coreutils.
15060         * modules/unlinkdir: New file.
15061         * modules/yesno (Depends-on): Add getline.
15062         * MODULES.html.sh (File system functions): Add unlinkdir.
15063
15064 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15065
15066         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
15067         lib/strsep.h:
15068         Change the initial comment to refer to GPL, not LGPL.
15069         gnulib-tool will change it to LGPL as needed.
15070
15071         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
15072         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
15073         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
15074         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
15075         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
15076         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
15077         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
15078         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
15079         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
15080         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
15081         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
15082         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
15083         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
15084         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
15085         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
15086         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
15087         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
15088         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
15089         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
15090         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
15091         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
15092         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
15093         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
15094         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
15095         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
15096         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
15097         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
15098         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
15099         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
15100         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
15101         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
15102         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
15103         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
15104         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
15105         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
15106         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
15107         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
15108         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
15109         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
15110         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
15111         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
15112         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
15113         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
15114         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
15115         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
15116         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
15117         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
15118         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
15119         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
15120         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
15121         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
15122         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
15123         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
15124         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
15125         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
15126         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
15127         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
15128         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
15129         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
15130         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
15131         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
15132         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
15133         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
15134         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
15135         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
15136         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
15137         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
15138         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
15139         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
15140         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
15141         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
15142         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
15143         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
15144         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
15145         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
15146         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
15147         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
15148         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
15149         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
15150         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
15151         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
15152         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
15153         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
15154         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
15155         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
15156         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
15157         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
15158         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
15159         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
15160         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
15161         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
15162         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
15163         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
15164         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
15165         lib/yesno.c, lib/yesno.h:
15166         Update FSF postal mail address.
15167
15168 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15169
15170         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
15171         tests/test-memmem.c, tests/test-stpncpy.c:
15172         Update FSF postal mail address.
15173
15174 2005-05-13  Bruno Haible  <bruno@clisp.org>
15175
15176         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
15177         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
15178         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
15179         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
15180         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
15181         Add support for 64-bit integers in the MSVC compiler.
15182
15183 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15184
15185         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
15186
15187 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
15188
15189         * gnulib-tool (func_import): Sort and uniquify recommended includes.
15190
15191 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
15192
15193         * doc/getdate.texi (General date syntax): Don't say that date
15194         date --iso-8601=ns generates acceptable dates; it doesn't yet.
15195         Problem reported by Nic Ferrier.
15196
15197 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15198
15199         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
15200         specified in ai_socktype. Fix invalid ai_protocol
15201         check. ai_protocol is usually set to 0 or depending on
15202         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
15203         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
15204         ai_socktype / ai_protocol in the returned addrinfo structure.
15205
15206 2005-05-10  Simon Josefsson  <jas@extundo.com>
15207
15208         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
15209         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
15210
15211 2005-05-10  Karl Berry  <karl@gnu.org>
15212
15213         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
15214         (from http://www.gnu.org/licenses).
15215         * doc/COPYING.LIB: also rename to COPYING.LESSER.
15216         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
15217         fdl.texi suffices.
15218
15219 2005-05-10  Karl Berry  <karl@gnu.org>
15220
15221         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
15222         (COPYING.DOC): remove.
15223
15224         * config/srclist-update: new FSF address.
15225
15226 2005-05-10  Derek Price  <derek@ximbiot.com>
15227
15228         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
15229         possible.
15230
15231 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15232             Bruno Haible  <bruno@clisp.org>
15233
15234         * modules/inet_ntop: New file.
15235         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15236         inet_ntop.
15237
15238 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15239             Bruno Haible  <bruno@clisp.org>
15240
15241         * m4/inet_ntop.m4: New file.
15242
15243 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15244             Bruno Haible  <bruno@clisp.org>
15245
15246         * lib/inet_ntop.h: New file.
15247         * lib/inet_ntop.c: New file, from glibc with modifications.
15248
15249 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
15250
15251         * modules/time_r (License): Change to LGPL.
15252         * modules/extensions (License): Change to LGPL.  Actually,
15253         the license is more permissive than that, but currently gnulib-tool
15254         doesn't know how to handle more-permissive licenses.
15255
15256         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
15257         Problem reported by Dave Love.
15258
15259 2005-05-08  Jim Meyering  <jim@meyering.net>
15260
15261         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
15262         blank.
15263
15264 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15265
15266         * modules/argmatch (Depends-on): Add stdbool.
15267         * modules/backupfile (Depends-on): Likewise.
15268         * modules/chdir-long (Depends-on): Likewise.
15269         * modules/closeout (Depends-on): Likewise.
15270         * modules/cycle-check (Depends-on): Likewise.
15271         * modules/dirname (Depends-on): Likewise.
15272         * modules/fnmatch (Depends-on): Likewise.
15273         * modules/fsusage (Depends-on): Likewise.
15274         * modules/fwriteerror (Depends-on): Likewise.
15275         * modules/getcwd (Depends-on): Likewise.
15276         * modules/getloadavg (Depends-on): Likewise.
15277         * modules/hard-locale (Depends-on): Likewise.
15278         * modules/makepath (Depends-on): Likewise.
15279         * modules/mountlist (Depends-on): Likewise.
15280         * modules/nanosleep (Depends-on): Likewise.
15281         * modules/posixtm (Depends-on): Likewise.
15282         * modules/quotearg (Depends-on): Likewise.
15283         * modules/readtokens (Depends-on): Likewise.
15284         * modules/readtokens0 (Depends-on): Likewise.
15285         * modules/readutmp (Depends-on): Likewise.
15286         * modules/save-cwd (Depends-on): Likewise.
15287         * modules/strftime (Depends-on): Likewise.
15288         * modules/userspec (Depends-on): Likewise.
15289         * modules/utimecmp (Depends-on): Likewise.
15290         * modules/xgetcwd (Depends-on): Likewise.
15291         * modules/xnanosleep (Depends-on): Likewise.
15292         * modules/xstrtod (Depends-on): Likewise.
15293         * modules/yesno (Depends-on): Likewise.
15294
15295 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15296
15297         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
15298         needless checks.
15299
15300 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15301
15302         Merge from coreutils.  Among other things,
15303         add bulletproofing for cases where stdin, stdout, or stderr are closed.
15304         * lib/fd-safer.c: New file.
15305         * lib/fcntl-safer.h, open-safer.c: Remove.
15306         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
15307         * lib/dup-safer.c: Include unistd-safer.h first.
15308         Don't include errno.h.
15309         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
15310         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
15311         * lib/file-type.c: Rely on file-type.h change.
15312         * lib/getloadavg.c: Include unistd-safer.h.
15313         (getloadavg): Use safer open.
15314         * lib/getusershell.c: Include "stdio-safer.h".
15315         (getusershell): Use safer fopen.
15316         * lib/long-options.c (long_options): Use NULL rather than 0.
15317         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
15318         'free'.
15319         * lib/modechange.c: Likewise.
15320         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
15321         (MODE_DONE): New constant.
15322         (struct mode_change): Remove 'next' member.
15323         (make_node_op_equals): New function; like the old one of the
15324         same name, except it allocates an array.
15325         (mode_compile, mode_create_from_ref): Use it.
15326         (mode_compile): Allocate result as an array, not a linked list.
15327         Parse octal string ourself, so that we catch mistakes like "+0".
15328         (mode_adjust): Arg is an array, not a linked list.
15329         * lib/modechange.c: Include stat-macros.h, xalloc.h.
15330         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
15331         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
15332         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
15333         Remove.  This is now stat-macros.h's job.
15334         (talloc): Remove.  All callers replaced by xalloc, so that
15335         our invokers don't have to worry about reporting memory failures.
15336         (make_node_op_equals): Remove.
15337         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15338         New constants.
15339         (struct mode_change): Moved here from modechange.h.
15340         (mode_append_entry): Remove.
15341         (mode_compile): Remove MASKED_OPS arg, since it encouraged
15342         apps to have incorrect behavior.  Use simpler algorithm for head
15343         and tail.  Don't futz with umask; that's now the job of mode_adjust.
15344         Detect more invalid usages rather than having somewhat-random behavior.
15345         Don't insert an "a=" action, as that leads to incorrect behavior.
15346         (mode_compile, mode_create_from_ref): Return NULL on error instead
15347         of an enum, since now there's only one way to have an error.  All
15348         callers changed.
15349         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
15350         at the correct time.  Simplify calculation of "+u" and its ilk.
15351         Don't mishandle "+X".
15352         (mode_free): Remove "register" and localize decls.
15353         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15354         (struct mode_change): Move to modechange.c; callers don't
15355         need to see this stuff.
15356         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
15357         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
15358         (mode_change, mode_adjust): Reflect the new signatures noted above.
15359         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
15360         that might redefine system include files.
15361         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
15362         (my_usleep): Use NULL rather than (void *) 0.
15363         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
15364         Use siginterrupt to specify that system calls should be interrupted.
15365         (rpl_nanosleep): Move initialization of suspended closer to call of
15366         my_usleep.
15367         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
15368         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
15369         (desirable_utmp_entry): New function.
15370         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
15371         using x2nrealloc, to simplify logic.
15372         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
15373         size calculation.  Do not assume utmp file is a regular file.
15374         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
15375         (READ_UTMP_CHECK_PIDS): New constant.
15376         * lib/save-cwd.c: Include unistd-safer.h.
15377         (save_cwd): Use fd_safer.
15378         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
15379         [!_LIBC] Include "stat-macros.h" instead.
15380         * lib/unistd-safer.h (fd_safer): New decl.
15381
15382 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15383
15384         * modules/getloadavg (Depends-on): Add unistd-safer.
15385         * modules/getusershell (Depends-on): Add stdio-safer.
15386         * modules/lstat (Depends-on): Remove xalloc.
15387         * modules/mkstemp (Depends-on): Add stat-macros.
15388         * modules/modechange (Depends-on): Remove xstrtol.
15389         Add stat-macros, xalloc.
15390         * modules/save-cwd (Depends-on): Add unistd-safer.
15391         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
15392         * modules/unistd-safer (Files): Add lib/fd-safer.c
15393         (Makefile.am): Remove lib_SOURCES.
15394
15395         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
15396         Remove fcntl-safer; unistd-safer supersedes it.
15397
15398 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15399
15400         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
15401         AC_HEADER_STAT.
15402         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
15403         (gl_PREREQ_CHOWN): Remove.
15404         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
15405         it.  Don't require AC_HEADER_STAT.
15406         (gl_PREREQ_LSTAT): Remove.
15407         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
15408         Don't require AC_HEADER_STAT.
15409         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
15410         (gl_PREREQ_RMDIR): Remove.
15411         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
15412         mention stat-macros.h or AC_HEADER_STAT, since we'll make
15413         the stat-macros module a prerequisite.
15414         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
15415         * m4/filemode.m4 (gl_FILEMODE): Likewise.
15416         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
15417         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
15418         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
15419         variable names.
15420         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
15421         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
15422         variable prefixes.
15423         * m4/fcntl-safer.m4: Remove.
15424         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
15425         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
15426         Invoke gl_PREREQ_FD_SAFER.
15427         (gl_PREREQ_FD_SAFER): New macro.
15428         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
15429         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
15430         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
15431         Remove duplicate call to AC_LIBOBJ(readutmp).
15432         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
15433
15434         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
15435         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
15436
15437 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15438
15439         * MODULES.html.sh (Misc): Add byteswap.
15440
15441 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15442
15443         * modules/getcwd (Depends-on): Add extensions.
15444         * modules/openat (Depends-on): Likewise.
15445
15446 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15447
15448         * modules/byteswap: New file.
15449
15450 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15451
15452         * m4/byteswap.m4: New file.
15453
15454 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15455
15456         * lib/byteswap_.h: New file.
15457
15458 2005-04-25  Karl Berry  <karl@gnu.org>
15459
15460         * m4/gettext.m4: Update from GNU gettext 0.14.4.
15461
15462 2005-04-25  Albert Chin  <china@thewrittenword.com>
15463
15464         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
15465         Toolkit C bug.
15466
15467 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
15468
15469         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
15470         (func_ln_if_changed) Remove forcibly for no error message
15471         in case file does not exist.
15472
15473 2005-04-19  Simon Josefsson  <jas@extundo.com>
15474
15475         * gnulib-tool (Options): Make --symlink mean --symbolic.
15476
15477 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
15478
15479         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
15480
15481 2005-04-16  Simon Josefsson  <jas@extundo.com>
15482
15483         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
15484
15485 2005-04-15  Simon Josefsson  <jas@extundo.com>
15486
15487         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
15488
15489 2005-04-15  Simon Josefsson  <jas@extundo.com>
15490
15491         * gnulib-tool: Rename --symlink to --symbolic.
15492
15493 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
15494
15495         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
15496         symbolic links to files instead of copying/moving.  Add --aux-dir,
15497         specifying directory relative --dir where auxiliary build tools
15498         are placed.
15499
15500 2005-04-14  Bruno Haible  <bruno@clisp.org>
15501
15502         * modules/allocsa (License): Change to LGPL.
15503         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15504
15505 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
15506
15507         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
15508         that "UTC +1 second" continues to work.  Problem reported
15509         by Dmitry V. Levin.
15510         (relunit_snumber): New rule.
15511         (relunit): Use it.
15512
15513 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
15514
15515         * lib/getdate.y (universal_time_zone_table): New constant.
15516         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
15517         universal_time_zone_table.
15518         (lookup_zone): Prefer universal_time_zone_table to
15519         local_time_zone_table, so that "GMT" time stamps are allowed in
15520         London during the summer.  Problem reported by Ian Abbott.
15521
15522 2005-04-12  Jim Meyering  <jim@meyering.net>
15523
15524         * lib/human.c (humblock): Set *options even when returning due to
15525         xstrtoumax conversion failure.  Thanks to a used-uninitialized
15526         warning from gcc-4.
15527
15528 2005-04-09  Jim Meyering  <jim@meyering.net>
15529
15530         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
15531         -Wuninitialized: initialize tm0.tm_year.
15532
15533 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
15534
15535         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
15536         count, since there's no maximum.  All uses changed.
15537         Add member dsts_seen.
15538         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
15539         not being INT_MAX.
15540         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
15541         Use pc_rels_seen to decide whther a date is absolute.
15542
15543         * lib/getdate.y (number): Don't overwrite year.
15544         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
15545         check.
15546
15547 2005-04-02  Simon Josefsson  <jas@extundo.com>
15548
15549         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
15550         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
15551
15552 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
15553
15554         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
15555         where no absolute path name can be longer than PATH_MAX.
15556
15557 2005-03-27  Jim Meyering  <jim@meyering.net>
15558
15559         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
15560
15561 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
15562
15563         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
15564         "one's complement" -> "ones' complement" in comment, as per Knuth.
15565         "value of type" -> "type or expression" in comment.
15566         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
15567
15568 2005-03-26  Jim Meyering  <jim@meyering.net>
15569
15570         Comment nits.
15571         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
15572         Correct typos: s/or/of/.
15573
15574 2005-03-26  Jim Meyering  <jim@meyering.net>
15575
15576         * modules/check-include-files: Move to ../ and rename to...
15577         * check-module: ...this.
15578
15579 2005-03-25  Jim Meyering  <jim@meyering.net>
15580
15581         * modules/xvasprintf (Files): Add xalloc.h.
15582
15583 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
15584
15585         * modules/gettext (Files): config/config.rpath ->
15586         build-aux/config.rpath
15587         * modules/iconv (Files): Likewise.
15588         Problem reported by Oskar Liljeblad.
15589
15590 2005-03-23  Jim Meyering  <jim@meyering.net>
15591
15592         * modules/check-include-files: New script to check for
15593         missing dependencies, multiple includes, etc.
15594
15595         * modules/c-strtold (Depends-on): Add xalloc.
15596         * modules/c-strtod (Depends-on): Add xalloc.
15597         * modules/hash (Depends-on): Add xalloc.
15598         (Files): Remove lib/xalloc.h.
15599
15600         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
15601         * modules/userspec (Files): Add lib/inttostr.h.
15602
15603 2005-03-23  Jim Meyering  <jim@meyering.net>
15604
15605         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
15606
15607 2005-03-22  Jim Meyering  <jim@meyering.net>
15608
15609         * modules/stat-macros: New module.
15610         * modules/canonicalize, modules/euidaccess, modules/file-type,
15611         * modules/filemode, modules/lchown, modules/makepath,
15612         * modules/rmdir, modules/stat: Depend on new stat-macros module
15613         rather than listing lib/stat-macros.h manually.
15614         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
15615
15616 2005-03-22  Jim Meyering  <jim@meyering.net>
15617
15618         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
15619
15620 2005-03-22  Bruno Haible  <bruno@clisp.org>
15621
15622         * config/srclist.txt: Replace target directory 'config' with
15623         'build-aux'.
15624         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
15625         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
15626         ../build-aux/.
15627
15628 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
15629
15630         * modules/chdir-long (Depends-on): Add mempcpy.
15631
15632         * modules/acl, modules/backupfile, modules/c-strtod,
15633         modules/c-strtold, modules/canon-host, modules/canonicalize,
15634         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
15635         modules/exclude, modules/exitfail, modules/file-type,
15636         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
15637         modules/getdate, modules/getline, modules/getpagesize,
15638         modules/getpass, modules/getugroups, modules/group-member,
15639         modules/hard-locale, modules/hash, modules/human, modules/idcache,
15640         modules/inttostr, modules/long-options, modules/makepath,
15641         modules/md5, modules/memcasecmp, modules/memcoll,
15642         modules/modechange, modules/mountlist, modules/path-concat,
15643         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
15644         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
15645         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
15646         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
15647         modules/strftime, modules/strndup, modules/strverscmp,
15648         modules/timespec, modules/unlocked-io, modules/userspec,
15649         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
15650         modules/yesno:
15651         Remove lib_SOURCES line from Makefile.am section, as this is now
15652         done automatically by the corresponding Autoconf macro.
15653
15654 2005-03-21  Jim Meyering  <jim@meyering.net>
15655
15656         Changes imported from coreutils.
15657
15658         * lib/cycle-check.c: Don't include xalloc.h.
15659
15660         * lib/path-concat.c: Don't include assert.h.
15661         (path_concat): Remove assertion that would have triggered
15662         for ABASE starting with more than one slash.
15663         Reported by Andreas Schwab.
15664
15665         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
15666         properly when ABASE is an absolute file name.
15667         Correct the description of this function.
15668         Include <assert.h>.
15669         Add an assertion and a test driver.
15670         This fixes a bug introduced on 2004-07-02.
15671         Andreas Schwab reported the resulting failure of cp --parents:
15672         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
15673
15674 2005-03-21  Jim Meyering  <jim@meyering.net>
15675
15676         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
15677         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
15678
15679 2005-03-21  Jim Meyering  <jim@meyering.net>
15680         and  Paul Eggert  <eggert@cs.ucla.edu>
15681
15682         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
15683         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
15684         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
15685         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
15686         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
15687         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
15688         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
15689         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
15690         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
15691         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
15692         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
15693         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
15694         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
15695         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
15696         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
15697         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
15698         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
15699         for these modules.
15700
15701 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
15702
15703         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
15704         (which shouldn't happen), generate nothing instead of returning 0
15705         immediately, so that nstrftime (NULL, ...) doesn't return 0.
15706
15707 2005-03-16  Bruno Haible  <bruno@clisp.org>
15708
15709         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
15710         HAVE_LONGLONG_64BIT.
15711
15712 2005-03-16  Bruno Haible  <bruno@clisp.org>
15713
15714         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
15715         HAVE_LONGLONG_64BIT.
15716
15717 2005-03-16  Bruno Haible  <bruno@clisp.org>
15718
15719         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
15720         HAVE_LONGLONG_64BIT.
15721
15722 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15723
15724         * lib/strftime.c (my_strftime): Prepend space to format so that we can
15725         reliably distinguish strftime failure from empty output on POSIX
15726         hosts.
15727
15728 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15729
15730         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
15731         (iconv_string): Don't guess a size-zero buffer, as that might cause
15732         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
15733         result would be 'too large', where 'too large' is (heuristically)
15734         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
15735         overflow concerns.  This will prevent some unwanted malloc failures
15736         when the inputs are very large.
15737
15738 2005-03-15  Karl Berry  <karl@gnu.org>
15739
15740         * config/srclist.txt (config.rpath): from gettext.
15741         * config/config.rpath: update.
15742
15743 2005-03-15  Bruno Haible  <bruno@clisp.org>
15744
15745         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
15746         to 'negate'.
15747
15748         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
15749         variable.
15750
15751         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
15752         results.
15753
15754 2005-03-14  Simon Josefsson  <jas@extundo.com>
15755
15756         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
15757         <fx@gnu.org>.
15758
15759 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
15760
15761         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
15762         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
15763         intprops.h.
15764         * lib/strtol.c: Likewise.
15765
15766 2005-03-14  Jim Meyering  <jim@meyering.net>
15767
15768         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
15769         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
15770         to be nonzero so that we (and caller) can detect the difference
15771         between a valid zero-length expansion and an error return, even
15772         when the underlying strftime fails before writing anything into
15773         that location.
15774
15775 2005-03-14  Bruno Haible  <bruno@clisp.org>
15776
15777         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
15778         Update from GNU gettext 0.14.3.
15779
15780 2005-03-10  Jim Meyering  <jim@meyering.net>
15781
15782         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
15783
15784 2005-03-10  Jim Meyering  <jim@meyering.net>
15785
15786         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
15787         so that this module works on systems without fchdir.
15788
15789 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
15790
15791         Factor int-properties macros into a single file, except for
15792         glibc-related files.
15793         * lib/intprops.h: New file.
15794         * lib/getloadavg.c: Include it instead of limits.h.
15795         (INT_STRLEN_BOUND): Remove.
15796         * lib/human.c: Include intprops.h.
15797         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
15798         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
15799         302/1000.
15800         * lib/inttostr.h: Include intprops.h instead of limits.h.
15801         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
15802         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
15803         for consistency with intprops.h.
15804         (time_t_is_integer, twos_complement_arithmetic): Use them.
15805         * lib/sig2str.h: Include <signal.h>, intprops.h.
15806         (INT_STRLEN_BOUND): Remove.
15807         * lib/strftime.c (TYPE_SIGNED): Remove.
15808         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
15809         * lib/strtol.c: Adjust comments to match intprops.h.
15810         * lib/userspec.c: Include intprops.h.
15811         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
15812         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
15813         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
15814         instead of rolling our own expressions.
15815         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
15816
15817         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
15818         instead of int.
15819         (my_strftime): Do not mishandle years close to INT_MAX, by doing
15820         the right thing even if adding 1900 would overflow.  Similarly
15821         for tm_mon + 1 and tm_yday + 1.
15822         Make %Y always equivalent to %C%y, and similarly for %G and %g.
15823         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
15824         (DO_SIGNED_NUMBER): New macro.
15825         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
15826
15827 2005-03-07  Bruno Haible  <bruno@clisp.org>
15828
15829         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
15830
15831 2005-03-07  Bruno Haible  <bruno@clisp.org>
15832
15833         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
15834
15835 2005-03-04  Derek R. Price  <derek@ximbiot.com>
15836
15837         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
15838         (func_import): Only replace files via --import when they have actually
15839         changed.
15840
15841 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15842
15843         * m4/mmap-anon.m4: New file.
15844         * m4/pagealign_alloc.m4: New file.
15845
15846 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15847             Bruno Haible  <bruno@clisp.org>
15848
15849         * modules/pagealign_alloc: New file.
15850         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
15851
15852 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15853             Bruno Haible  <bruno@clisp.org>
15854
15855         * lib/pagealign_alloc.h: New file.
15856         * lib/pagealign_alloc.c: New file.
15857
15858 2005-03-03  Bruno Haible  <bruno@clisp.org>
15859
15860         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
15861         Use an all-permissive copyright notice, recommended by RMS.
15862
15863 2005-03-02  Bruno Haible  <bruno@clisp.org>
15864
15865         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
15866         of AIX, the replacement has to be done only after <string.h> is
15867         included, therefore not in config.h. stpncpy.h does the replacement,
15868         and stpncpy.c uses it.
15869
15870 2005-03-02  Bruno Haible  <bruno@clisp.org>
15871
15872         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
15873         stpncpy.c uses it.
15874
15875 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15876
15877         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
15878         The workaround isn't strictly needed for POSIX conformance, and
15879         it's too much of a pain to configure and maintain.  We'll ask
15880         people to fix their kernels instead.
15881         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
15882         (NANOSLEEP_BUG_WORKAROUND): Remove.
15883         (xnanosleep): Remove the workaround.
15884
15885 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15886
15887         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
15888         Reported by Derek Price.
15889         (Include): Add "timespec.h".
15890
15891         * modules/xnanosleep (Depends-on): Remove gethrxtime.
15892
15893 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15894
15895         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
15896         to detect nanosleep bug.
15897
15898 2005-03-01  Bruno Haible  <bruno@clisp.org>
15899
15900         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
15901
15902 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
15903
15904         * modules/gethrxtime: New file.
15905         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
15906         (Depends-on): Add gethrxtime.
15907         (configure.ac): Add gl_XNANOSLEEP.
15908         (Makefile.am): Remove lib_SOURCES line.
15909
15910 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15911
15912         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
15913         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
15914
15915 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15916
15917         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
15918         * lib/timespec.h (gettime): Return void, since it always
15919         succeeds now.  All uses changed.
15920         * lib/gettime.c (gettime) Likewise.
15921         [HAVE_NANOTIME]: Prefer nanotime.
15922         Assume gettimeofday succeeds, as POSIX requires.
15923         Assime time () succeeds, since other code already does.
15924         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
15925         (timespec_subtract): Remove.
15926         (NANOSLEEP_BUG_WORKAROUND): New constant.
15927         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
15928         things considerably.  Use it only on GNU/Linux hosts, since the
15929         workaround shouldn't be needed elsewhere.
15930
15931 2005-02-24  Bruno Haible  <bruno@clisp.org>
15932
15933         * modules/gettext (Files): Add m4/glibc2.m4.
15934
15935 2005-02-24  Bruno Haible  <bruno@clisp.org>
15936
15937         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
15938         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
15939         * m4/progtest.m4:
15940         Update from GNU gettext 0.14.2.
15941         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
15942
15943 2005-02-24  Bruno Haible  <bruno@clisp.org>
15944
15945         * lib/localcharset.c: Update from GNU gettext 0.14.2.
15946         * lib/config.charset: Update from GNU gettext 0.14.2.
15947
15948 2005-02-24  Bruno Haible  <bruno@clisp.org>
15949
15950         * lib/gettext.h: Update from GNU gettext 0.14.2.
15951
15952 2005-02-23  Simon Josefsson  <jas@extundo.com>
15953
15954         * m4/iconvme.m4: New file.
15955
15956 2005-02-23  Jim Meyering  <jim@meyering.net>
15957
15958         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
15959         change.
15960         Thanks to Bruno Haible for catching it.
15961
15962 2005-02-22  Simon Josefsson  <jas@extundo.com>
15963
15964         * modules/iconvme: New file.
15965
15966         * MODULES.html.sh: Add iconvme.
15967
15968 2005-02-22  Simon Josefsson  <jas@extundo.com>
15969
15970         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
15971
15972 2005-02-22  Simon Josefsson  <jas@extundo.com>
15973
15974         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
15975
15976 2005-02-22  Jim Meyering  <jim@meyering.net>
15977
15978         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
15979         s/ifndef/ifdef/.
15980
15981 2005-02-20  Neil Conway  <neilc@samurai.com>
15982
15983         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
15984         returned by OSX/Darwin if the specified buffer is not large
15985         enough for the hostname.
15986
15987 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15988
15989         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
15990         pass it to _help, otherwise the latter coredumps trying to
15991         dereference state.root_argp.
15992
15993 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15994
15995         * modules/chdir-long (Depends-on): Add memrchr.
15996         * modules/memrchr (Files): Add lib/memrchr.h.
15997         (Include): "memrchr.h".
15998
15999 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
16000
16001         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
16002
16003 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
16004
16005         * lib/memrchr.h: New file.
16006         * lib/chdir-long.c: Include it.
16007         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
16008         Don't bother including stddef.h.
16009
16010 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
16011
16012         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
16013         inclusion.
16014         Include <sys/types.h>, for dev_t.
16015         (ME_DUMMY, ME_REMOTE): Move from here....
16016         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
16017         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
16018         Dmitry V. Levin.
16019         Include mountlist.h first, to test the interface.
16020
16021 2005-01-29  Bruno Haible  <bruno@clisp.org>
16022
16023         * lib/progname.c (program_name): Initialize.
16024         Needed when linking statically on MacOS X.
16025
16026 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
16027
16028         Sync from coreutils.
16029         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
16030         (Depends-on): Add c-strtod.
16031         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
16032
16033 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
16034
16035         Sync from coreutils.
16036         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
16037
16038         Remove files that are specific to coreutils.
16039         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
16040
16041 2005-01-28  Bruno Haible  <bruno@clisp.org>
16042
16043         * modules/javacomp: New file.
16044         * MODULES.html.sh (Java): Add javacomp.
16045
16046 2005-01-28  Bruno Haible  <bruno@clisp.org>
16047
16048         * m4/javacomp.m4: New file, from GNU gettext.
16049
16050 2005-01-28  Bruno Haible  <bruno@clisp.org>
16051
16052         * lib/javacomp.sh.in: New file, from GNU gettext.
16053         * lib/javacomp.h: New file, from GNU gettext.
16054         * lib/javacomp.c: New file, from GNU gettext.
16055
16056 2005-01-26  Simon Josefsson  <jas@extundo.com>
16057
16058         * lib/gai_strerror.c: Use GPL in header.
16059
16060 2005-01-26  Bruno Haible  <bruno@clisp.org>
16061
16062         * modules/javaexec: New file.
16063         * MODULES.html.sh (Java): Add javaexec.
16064
16065 2005-01-26  Bruno Haible  <bruno@clisp.org>
16066
16067         * m4/javaexec.m4: New file, from GNU gettext.
16068
16069 2005-01-26  Bruno Haible  <bruno@clisp.org>
16070
16071         * lib/javaexec.sh.in: New file, from GNU gettext.
16072         * lib/javaexec.h: New file, from GNU gettext.
16073         * lib/javaexec.c: New file, from GNU gettext.
16074
16075 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16076
16077         * modules/lchown (Depends-on): Remove lchown.h
16078
16079 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16080
16081         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
16082         must be defined if the header file was not found, in order
16083         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
16084
16085 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16086
16087         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
16088         initializers for struct pentry_state.
16089         (__argp_error): Check return value of __asprintf
16090         (__argp_failure): Translate error message
16091
16092         * lib/argp-parse.c: Removed braces around the expansion of N_()
16093
16094 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
16095
16096         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
16097         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
16098         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
16099         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
16100         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
16101         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
16102         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
16103         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
16104         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
16105         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
16106         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
16107         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
16108         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
16109         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
16110         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
16111         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
16112         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
16113         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
16114         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
16115         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
16116         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
16117         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
16118         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
16119         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
16120         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
16121         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
16122         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
16123         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
16124         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
16125         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
16126         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
16127         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
16128         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
16129         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
16130         xstrtol.m4, xstrtoumax.m4, yesno.m4:
16131         Use an all-permissive copyright notice, recommended by RMS.
16132
16133 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
16134
16135         * modules/chdir-long (Depends-on): Remove mempcpy.
16136
16137 2005-01-21  Jim Meyering  <jim@meyering.net>
16138
16139         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
16140         same value as for Solaris 9.
16141
16142         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
16143         component length.  This included changing the parameter to be
16144         of type `char *' rather than `char const *'.
16145         * lib/chdir-long.h (chdir_long): Update prototype.
16146
16147         * lib/openat.c (fdopendir, fstatat): New functions.
16148         * lib/openat.h: Include headers required for use of DIR and struct
16149         stat.
16150         [AT_SYMLINK_NOFOLLOW]: Define.
16151         (fdopendir, fstatat): Add prototypes.
16152
16153 2005-01-21  Bruno Haible  <bruno@clisp.org>
16154
16155         * modules/classpath: New file.
16156         * MODULES.html.sh (Java): Add classpath.
16157
16158 2005-01-21  Bruno Haible  <bruno@clisp.org>
16159
16160         * lib/classpath.h: New file, from GNU gettext.
16161         * lib/classpath.c: New file, from GNU gettext.
16162
16163 2005-01-20  Simon Josefsson  <jas@extundo.com>
16164
16165         * modules/version-etc-fsf: New file.
16166
16167 2005-01-20  Simon Josefsson  <jas@extundo.com>
16168
16169         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
16170         * lib/version-etc.c: Remove version_etc_copyright.
16171         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
16172         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
16173
16174 2005-01-20  Simon Josefsson  <jas@extundo.com>
16175
16176         * lib/base64.h (isbase64): Add.
16177
16178         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
16179         using a unsigned prototype, don't inline.
16180         (base64_decode): Use it.
16181
16182 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16183
16184         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
16185         it.
16186
16187 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16188
16189         * lib/save-cwd.c (save_cwd): Remove code to support the case
16190         where fchdir is missing or flaky.
16191
16192 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16193
16194         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
16195
16196 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
16197
16198         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
16199         AC_LIBSOURCES now does this.
16200         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
16201         with new ullong_max module.
16202
16203 2005-01-19  Bruno Haible  <bruno@clisp.org>
16204
16205         * modules/sh-quote: New file.
16206         * MODULES.html.sh (Executing programs): Add sh-quote.
16207
16208 2005-01-19  Bruno Haible  <bruno@clisp.org>
16209
16210         * lib/sh-quote.h: New file, from GNU gettext.
16211         * lib/sh-quote.c: New file, from GNU gettext.
16212
16213 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16214
16215         Merge from coreutils.
16216         * m4/ullong_max.m4: New file.
16217         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
16218         (gl_MACROS): Assume localeconv exists.
16219
16220 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16221
16222         Merge changes from coreutils, as described below in several
16223         changelogs dated today.
16224
16225         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
16226         (O_DIRECTORY): Remove; not needed here, since "." must be
16227         a directory.  All uses removed.
16228         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
16229         universal on Suns, and we also need to test for IRIX.
16230         Revamp code to use 'if' rather than '#if'.
16231         Avoid unnecessary comparison of cwd->desc to 0.
16232
16233         * lib/utimens.c (futimens): Robustify the previous patch, by checking
16234         for known valid error numbers rather than observed invalid ones.
16235
16236 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16237
16238         * modules/ullong_max: New file.
16239
16240         * modules/chdir-long, modules/openat: New files.
16241         * modules/save-cwd (Depends-on): Depend on chdir-long.
16242         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
16243
16244 2005-01-18  Jim Meyering  <jim@meyering.net>
16245
16246         Merge from coreutils.
16247         * m4/chdir-long.m4, m4/openat.m4: New files.
16248         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
16249         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
16250         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
16251         is sane and DOES follow symlinks.  Besides, testing 20 different
16252         systems found no broken chown implementations.
16253         Prompted by a change in rsync's copy of this macro.
16254         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
16255
16256         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
16257
16258         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
16259         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
16260         NULL-means-set-to-current-time semantics.
16261         Remove temporary file immediately, rather than waiting
16262         for configure's at-exit trap code to do it.
16263
16264 2005-01-18  Jim Meyering  <jim@meyering.net>
16265
16266         * lib/version-etc.c (version_etc_copyright): Update copyright date.
16267
16268         * lib/utimens.c (futimens): Account for the fact that futimes
16269         can also fail with errno == ENOSYS or errno == ENOENT.
16270         Patch from Dmitry V. Levin.
16271
16272         Change the name of the robust chdir function from chdir to chdir_long.
16273         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
16274         (restore_cwd): Use chdir_long, not chdir.
16275         * lib/chdir-long.c: Renamed from chdir.c.
16276         * lib/chdir-long.h: Renamed from chdir.h.
16277         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
16278         Hurd.
16279
16280 2005-01-18  Bruno Haible  <bruno@clisp.org>
16281
16282         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
16283         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
16284         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
16285         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
16286         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
16287         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
16288         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
16289         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
16290         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
16291         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
16292         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
16293         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
16294         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
16295         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
16296         Use an all-permissive copyright notice, recommended by RMS.
16297
16298 2005-01-18  Bob Proulx  <bob@proulx.com>
16299
16300         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
16301         simplify offsetof() macro construct to avoid compile failure with
16302         native HP-UX 11.0 ANSI C compiler.
16303
16304 2005-01-17  Bruno Haible  <bruno@clisp.org>
16305
16306         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
16307         redundant because stpncpy.m4 takes care of it.
16308
16309 2005-01-17  Bruno Haible  <bruno@clisp.org>
16310
16311         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
16312
16313 2005-01-17  Bruno Haible  <bruno@clisp.org>
16314
16315         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
16316         used.
16317
16318 2005-01-17  Bruno Haible  <bruno@clisp.org>
16319
16320         * lib/fwriteerror.h (fwriteerror): Change specification to include
16321         fclose.
16322         * lib/fwriteerror.c: Include <stdbool.h>.
16323         (fwriteerror): At the end, close the file stream. Record whether
16324         stdout was already closed.
16325
16326 2005-01-17  Bruno Haible  <bruno@clisp.org>
16327
16328         * lib/execute.c (environ): Declare if needed.
16329         * lib/pipe.c (environ): Likewise.
16330         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
16331
16332 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16333
16334         * modules/argp: Depend on vsnprintf
16335
16336 2005-01-10  Jim Meyering  <jim@meyering.net>
16337
16338         * modules/closeout (Depends-on): Add atexit.
16339
16340 2005-01-06  Bruno Haible  <bruno@clisp.org>
16341
16342         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
16343
16344 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
16345
16346         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
16347         definitions to be after all include files, to avoid collisions.
16348         Problem reported by Bob Proulx.
16349
16350 2005-01-04  Jim Meyering  <jim@meyering.net>
16351
16352         Changes imported from coreutils.
16353         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
16354         as the mkstemp template, use a temporary directory and an
16355         8.3-friendly template to avoid trouble on systems like DJGPP.
16356         Reported by Juan M. Guerrero via Stepan Kasal.
16357         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
16358         close. Remove the temporary directory right away, rather than waiting
16359         for configure's at-exit trap code to do it.
16360         Suggestion from Stepan Kasal.
16361
16362 2005-01-01  Simon Josefsson  <jas@extundo.com>
16363
16364         * gnulib-tool: Print #include directives when --import'ing.
16365
16366 2004-12-28  Simon Josefsson  <jas@extundo.com>
16367
16368         * tests/test-base64.c: Include required header files.  Remove
16369         unused variables.
16370
16371 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16372
16373         * modules/error (Depends-on): Remove gettext.
16374
16375 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16376
16377         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
16378         not needed.  This removes a dependency on the gettext module.
16379         [defined _LIBC]: Do not include <libintl.h>; not needed.
16380
16381 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16382
16383         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
16384         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
16385
16386 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16387
16388         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
16389         HAVE_DECL_STRTOLD.
16390
16391 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16392
16393         * modules/getdate (Depends-on): Remove alloca-opt.
16394
16395 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16396
16397         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
16398
16399 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16400
16401         * lib/argp-parse.c: Include <stddef.h>.
16402         (alignof, alignto): New macros.
16403         (parser_init): Don't assume that void * is aligned sufficiently
16404         for struct option.
16405
16406         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
16407         need to extend the stack.
16408         (YYINITDEPTH): New macro, so that the initial stack isn't overly
16409         large.
16410
16411 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16412
16413         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
16414
16415 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16416
16417         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
16418         (2004-10-24) change.  Apparently this was a false alarm.
16419
16420         * modules/getdate: Depend on alloca-opt, not alloca.
16421
16422 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16423
16424         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
16425         Remove now-obsolete comment about AIX.
16426         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
16427         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
16428         (YYMAXDEPTH): New macro.
16429
16430 2004-12-18  Simon Josefsson  <jas@extundo.com>
16431
16432         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
16433
16434 2004-12-18  Bruno Haible  <bruno@clisp.org>
16435
16436         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
16437
16438 2004-12-18  Bruno Haible  <bruno@clisp.org>
16439
16440         * lib/fatal-signal.c (fatal_signals): Make non-const.
16441         (init_fatal_signals): New function.
16442         (uninstall_handlers, install_handlers): Ignore signals that were set to
16443         SIG_IGN.
16444         (at_fatal_signal): Call init_fatal_signals.
16445         (init_fatal_signal_set): Likewise. Ignore signals that were set to
16446         SIG_IGN.
16447         Reported by Paul Eggert.
16448
16449 2004-12-18  Bruno Haible  <bruno@clisp.org>
16450
16451         * doc/alloca.texi: New file.
16452         * doc/alloca-opt.texi: New file.
16453
16454 2004-12-17  Jim Meyering  <jim@meyering.net>
16455
16456         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
16457         Otherwise, install-sh could exit with improper exit status when
16458         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
16459
16460 2004-12-16  Simon Josefsson  <jas@extundo.com>
16461
16462         * tests/test-base64.c: Add license.
16463
16464 2004-12-15  Stepan Kasal  <address@hidden>
16465
16466         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
16467
16468 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
16469
16470         * modules/getcwd (Files): Add m4/d-ino.m4.
16471         Suggested by Mark D. Baushke.
16472
16473 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16474
16475         * lib/getdate.y (textint): New member "negative".
16476         (time_zone_hhmm): New function.
16477         Expect 14 shift-reduce conflicts, not 13.
16478         (o_colon_minutes): New rule.
16479         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
16480         (yylex): Set the "negative" member of signed numbers.
16481
16482 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16483
16484         * doc/getdate.texi (Time of day items, Time zone items):
16485         Describe new formats +00:00, UTC+00:00.
16486
16487 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16488
16489         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
16490         spurious "-l"s.  Problem reported by Stepan Kasal.
16491
16492 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
16493
16494         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
16495         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
16496
16497 2004-12-04  Simon Josefsson  <jas@extundo.com>
16498
16499         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
16500         Vandoorselaere <yoann@prelude-ids.org>.
16501
16502 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16503
16504         Changes imported from coreutils.
16505         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
16506         exist.
16507         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
16508
16509 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16510
16511         Changes imported from coreutils.
16512         * lib/hard-locale.c: Assume <locale.h> exists.
16513         Include "strdup.h".
16514         (GLIBC_VERSION): New macro.
16515         (hard_locale): Assume setlocale exists.
16516         Rewrite to avoid #ifdef.
16517         Use strdup rather than malloc + strcpy.
16518         * lib/human.c: Assume <locale.h> exists.
16519         (human_readable): Assume localeconv exists.
16520
16521 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16522
16523         * modules/hard-locale (Depends-on): Add strdup.
16524
16525 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
16526
16527         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
16528         convert T2, not T.  (Imported from libc.)
16529
16530 2004-11-30  Simon Josefsson  <jas@extundo.com>
16531
16532         * modules/restrict (License): Change to LGPL.
16533
16534 2004-11-30  Simon Josefsson  <jas@extundo.com>
16535
16536         * m4/restrict.m4: Add copyright and copying conditions.
16537
16538 2004-11-30  Simon Josefsson  <jas@extundo.com>
16539
16540         * m4/base64.m4: New file.
16541
16542 2004-11-30  Simon Josefsson  <jas@extundo.com>
16543
16544         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
16545         base64.
16546
16547         * tests/test-base64.c: New file.
16548
16549         * modules/base64: New file.
16550
16551 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16552
16553         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
16554         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
16555
16556         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
16557
16558 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16559
16560         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
16561         (__getcwd.c): Don't restore errno; glibc doesn't.
16562         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
16563         first, falling back to our code only if its results look suspicious.
16564         Ensure that the resulting buffer is only as large as necessary.
16565
16566         * lib/readutmp.c: Include readutmp.h first.
16567         Include <errno.h>, since readutmp.h no longer does that.
16568         * lib/readutmp.h: Don't include <errno.h>,
16569         <sys/param.h>, <time.h>; not needed to establish interface.
16570         (errno): Remove decl.
16571         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
16572         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
16573         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
16574
16575 2004-11-28  Simon Josefsson  <jas@extundo.com>
16576
16577         * lib/base64.h, base64.c: New file.
16578
16579 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
16580
16581         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
16582
16583 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
16584
16585         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
16586         (Depends-on): Remove pathmax, same.  Add mempcpy.
16587         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
16588         (Makefile.am): Append getcwd.h to lib_SOURCES.
16589         (Include): Add getcwd.h.
16590         (Maintainer): Change from Jim Meyering to "all, glibc",
16591         since getdate now uses intended-for-glibc code.
16592         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
16593         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
16594
16595 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16596
16597         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
16598         HP's ANSI C compiler.
16599         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
16600         Declaring int functions causes warnings on some modern systems and
16601         shouldn't be needed to compile on ancient ones.
16602         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
16603         defined.
16604
16605         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
16606         with the following changes.
16607         (__set_errno): Parenthesize properly.
16608         Include <stdbool.h>.
16609         (MIN, MAX, MATCHING_INO): New macros.
16610         (__getcwd): Define with prototype, not K&R form.
16611         Use heuristics to allocate default buffer on stack if possible.
16612         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
16613         behavior, and to avoid the PATH_MAX limit when computing
16614         ../../../../...
16615         Use MATCHING_INO to compare inode number to file.
16616         Check for arithmetic overflow in size calculations.
16617         Fix bug in reallocation of dot array that caused getcwd to fail
16618         on directories nested deeper than 75.
16619         Be more careful about saving errno on error.
16620         Do not use realloc; use only free+malloc, as this is a bit
16621         more flexible and avoids a needless copy operation.
16622         Do not inspect st_dev and st_ino for symbolic links; POSIX
16623         doesn't specify the latter.
16624         Check for closedir errors.
16625         Avoid needless casts.
16626         Use "#ifdef weak_alias" around weak_alias, to be like other
16627         glibc code.
16628         The following changes to getcwd.c have effect only when used in
16629         gnulib; they have no effect inside glibc proper.
16630         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
16631         as alloca isn't used.
16632         (alloca, __alloca): Likewise.
16633         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
16634         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16635         unconditionally, as gnulib assumes C89 or better.
16636         Do not include <sys/param.h>.
16637         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
16638         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
16639         better.
16640         (NULL) [!defined NULL]: Remove; we assume C89 or better.
16641         Include <dirent.h> in a way that is compatible with modern Autoconf.
16642         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
16643         New macros, if not already defined.
16644         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
16645         Use "_LIBC", not "defined _LIBC", for consistency.
16646         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
16647         a mempcpy module.
16648         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
16649         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
16650         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
16651         credit only to Jim Meyering and adjust the copyright dates.
16652         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
16653         <stdlib.h>, <unistd.h>, "pathmax.h".
16654         Instead, include "xgetcwd.h" (first) and "getcwd.h".
16655         (INITIAL_BUFFER_SIZE): Remove.
16656         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
16657
16658 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16659
16660         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
16661         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
16662         Use the _ONCE methods, for efficiency.
16663         Check for fcntl.h.  In test program, include <errno.h>
16664         and <fcntl.h> if available.  Remove old K&R cruft from
16665         test program.  Check for common errors in GNU/Linux,
16666         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
16667         don't do AC_LIBOBJ, as that's getcwd.m4's job.
16668         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
16669         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
16670         name accordingly.
16671         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
16672         accommodate new getcwd.c.
16673         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
16674         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
16675         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
16676         that's all we need now.
16677
16678 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16679
16680         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
16681         argp-parse.c depends on getopt internals, that means we should
16682         always use our getopt, to be on the safe side.
16683         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
16684         order not to spoil the result of an eventual previous invocation
16685         of gl_GETOPT_SUBSTITUTE.
16686
16687 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16688
16689         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
16690         redefinition warnings. To avoid them, include the defines
16691         in `#if !defined __need_getopt ... #endif'. The only place
16692         where __getopt_argv_const is used is in definitions
16693         of getopt_long and getopt_long_only below, which are as well
16694         protected by `#ifndef __need_getopt'.
16695         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
16696         __need_getopt after including <stdio.h> and <unistd.h> These
16697         headers might have defined it.
16698
16699 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16700
16701         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
16702
16703 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16704
16705         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
16706         (futimens): New function, which uses futimes if available.
16707         (futimens, utimens): Support timespec==NULL, with same semantics
16708         as utime and utimens.
16709         * lib/utimens.h (futimens): New decl.
16710
16711 2004-11-23  Jim Meyering  <jim@meyering.net>
16712
16713         * lib/getopt_.h: Remove trailing blanks.
16714
16715 2004-11-23  Jim Meyering  <jim@meyering.net>
16716
16717         * lib/__fpending.c: Add comment.
16718
16719 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
16720
16721         * modules/canonicalize (Depends-on): Add xreadlink.
16722         Problem reported by James Youngman.
16723
16724 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
16725
16726         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
16727         New macros.
16728         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
16729         optopt): Use them instead of invoking ## directly; otherwise, the
16730         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
16731
16732 2004-11-19  Bruno Haible  <bruno@clisp.org>
16733
16734         * lib/strtok_r.c: Move comments from here...
16735         * lib/strtok_r.h: ... to here.
16736
16737 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16738
16739         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
16740         implementations that mishandle size_t overflow.
16741
16742 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16743
16744         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
16745         might fail.  Problem reported by Yoann Vandoorselaere.
16746         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
16747         implementations that mishandle size_t overflow.
16748
16749 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16750
16751         * modules/canon-host (Depends-on): Add strdup.
16752
16753 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16754
16755         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
16756
16757 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16758
16759         * lib/canon-host.c: Include "strdup.h".
16760         (canon_host): Use getaddrinfo if available, so that IPv6 works.
16761         Use strdup instead of malloc/strcpy to duplicate strings.
16762
16763         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
16764         (human_space_before_unit): New constant.
16765         * lib/human.c (human_readable): Support it.
16766
16767         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
16768         (xgetcwd): Set errno correctly when failing.
16769         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
16770         the failure is actually due to a PATH_MAX problem.
16771
16772         Further getopt changes to make it more likely that glibc will
16773         buy the changes back.
16774         * lib/getopt.c (POSIXLY_CORRECT): New constant.
16775         (getopt): Use it, so to preserve glibc semantic
16776         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
16777         when compiling for libc.
16778         * lib/getopt_.h (__getopt_argv_const): Bring it back.
16779         (getopt_long, getopt_long_only): Use it.
16780
16781         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16782         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
16783         (getopt): Argv is now char * const *, as per standard.
16784         (_getopt_internal_r, _getopt_internal): Argv is now char **,
16785         not char *__getopt_argv_const *.
16786         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16787         _getopt_long_only_r): Likewise.
16788         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
16789         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16790         _getopt_long_r, _getopt_long_only_r): Likewise.
16791         * lib/getopt_.h (__getopt_argv_const): Remove.
16792         (getopt): Argv is now char * const *, as per standard.
16793
16794         * lib/getdate.y (tORDINAL): New token.
16795         (day, relunit): Allow it for relative times.
16796         (relative_time_table): Use tORDINAL for ordinals.
16797
16798 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16799
16800         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
16801         Document that "second" isn't allowed as an ordinal number.
16802
16803 2004-11-16  Jim Meyering  <jim@meyering.net>
16804
16805         * modules/closeout (Depends-on): Add fpending.
16806
16807 2004-11-15  Jim Meyering  <jim@meyering.net>
16808
16809         * lib/closeout.c: Include "__fpending.h" once again.
16810         Include <stdbool.h>.
16811         (close_stdout): Don't fail just because stdout was closed initially,
16812         since some programs don't write to stdout in the normal course of
16813         operation (other than --version and --help), and we don't want this
16814         function to make e.g. `touch file >&-' fail.
16815         But do fail if it was closed and someone has tried to write to it.
16816         E.g., `printf foo >&-' must fail.
16817
16818 2004-11-13  Jim Meyering  <jim@meyering.net>
16819
16820         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
16821
16822 2004-11-12  Simon Josefsson  <jas@extundo.com>
16823
16824         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
16825         small doc fix is still pending.
16826
16827 2004-11-11  Simon Josefsson  <jas@extundo.com>
16828
16829         * modules/strtok_r: New file.
16830
16831         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16832         strtok_r.
16833
16834 2004-11-11  Simon Josefsson  <jas@extundo.com>
16835
16836         * m4/strtok_r.m4: New file.
16837
16838         * m4/getopt.m4: Replace opterr.
16839
16840 2004-11-11  Simon Josefsson  <jas@extundo.com>
16841
16842         * lib/strtok_r.h, strtok_r.c: New file.
16843
16844 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16845
16846         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
16847         of replacing opterr, getopt, etc.  This should handle the
16848         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
16849
16850 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16851
16852         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
16853         we can stop lying to compilers about the constness of argv when we
16854         are compiled outside glibc.
16855         (getopt, getopt_long, getopt_long_only): Use it.
16856         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16857         _getopt_internal, getopt): Likewise.
16858         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16859         _getopt_long_only_r): Likewise.
16860         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16861         _getopt_long_r, _getopt_long_only_r): Likewise.
16862
16863         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
16864         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
16865         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
16866         the other external symbols.
16867         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
16868         declaration, since the above renaming now works around collisions.
16869
16870 2004-11-11  Jim Meyering  <jim@meyering.net>
16871
16872         * lib/linebreak.c: Remove trailing blanks.
16873         * lib/alloca_.h: Likewise.
16874         * lib/acosl.c: Likewise.
16875         * lib/euidaccess.c: Likewise.
16876         * lib/allocsa.h: Likewise.
16877
16878 2004-11-10  Simon Josefsson  <jas@extundo.com>
16879
16880         * m4/getaddrinfo.m4: New file.
16881
16882 2004-11-10  Simon Josefsson  <jas@extundo.com>
16883
16884         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
16885
16886 2004-11-10  Simon Josefsson  <jas@extundo.com>
16887
16888         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16889         getaddrinfo.
16890
16891         * modules/getaddrinfo: New file.
16892
16893 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16894
16895         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
16896
16897 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16898
16899         * lib/mktime.c (SHR): New macro, which is a portable
16900         substitute for >> that should work even on Crays.
16901         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
16902         Problem reported by Mark D. Baushke in
16903         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
16904         * lib/getdate.y (SHR): Likewise.
16905         (tm_diff): Use it.
16906         * lib/strftime.c (SHR): Likewise.
16907         (tm_diff): Use it.
16908         * lib/quotearg.c (struct quoting_options): Use unsigned int for
16909         quote_these_too, so that right shifts are well defined.  All uses
16910         changed.
16911
16912 2004-11-10  Jim Meyering  <jim@meyering.net>
16913
16914         Ensure that no close failure goes unreported.
16915         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
16916         return early when it seems there's nothing to flush.
16917         Don't include __fpending.h.
16918
16919 2004-11-10  Jim Meyering  <jim@meyering.net>
16920
16921         * modules/closeout (Depends-on): Remove fpending.
16922
16923 2004-11-10  Jim Meyering  <jim@meyering.net>
16924
16925         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
16926
16927 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16928
16929         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
16930         gl_FUNC_STRFTIME.
16931         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
16932         and AC_REQUIRE when possible, to avoid duplicate checks.
16933         Check for <wchar.h>.
16934
16935 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16936
16937         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
16938
16939 2004-11-09  Bruno Haible  <bruno@clisp.org>
16940
16941         * m4/sockpfaf.m4: New file.
16942
16943 2004-11-05  Bruno Haible  <bruno@clisp.org>
16944
16945         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
16946         Reported by Mark D. Baushke <mdb@cvshome.org>.
16947
16948 2004-11-04  Bruno Haible  <bruno@clisp.org>
16949
16950         2004-09-11  Bruno Haible  <bruno@clisp.org>
16951                 * allocsa.valgrind: New file.
16952         2004-02-06  Bruno Haible  <bruno@clisp.org>
16953                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
16954                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
16955                 Reported by Christopher Seip <chris.seip@hp.com>.
16956
16957 2004-11-04  Bruno Haible  <bruno@clisp.org>
16958
16959         * modules/allocsa (Files): Add lib/allocsa.valgrind.
16960         (Makefile.am): Distribute it.
16961
16962 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16963
16964         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
16965         with errno == ERANGE if the buffer is too small.
16966         Problem reported by Mark D. Baushke.
16967
16968 2004-11-03  Albert Chin  <china@thewrittenword.com>
16969             Paul Eggert  <eggert@cs.ucla.edu>
16970
16971         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
16972         equivalent, substitute $ac_type for equivalent type rather than
16973         blindly using uint32_t *always* which won't work if uint32_t is not
16974         available.  Define _UINT32_T to work around typedef of uint32_t if
16975         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
16976         2.5.1.
16977
16978 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16979
16980         * m4/jm-macros.m4: Sync from coreutils.
16981         (gl_MACROS): Check for mbrlen, for pathchk.
16982         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
16983
16984 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16985
16986         * lib/xreadlink.c (MAXSIZE): New macro.
16987         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
16988         size does not exceed MAXSIZE.  Avoid cast.
16989         As suggested by Mark D. Baushke in
16990         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
16991         if readlink fails with buffer size just under MAXSIZE, try again
16992         with MAXSIZE.
16993
16994 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16995
16996         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
16997
16998 2004-11-02  Derek R. Price  <derek@ximbiot.com>
16999         and  Paul Eggert  <eggert@cs.ucla.edu>
17000
17001         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
17002         (get_date): Overparenthesize to avoid GCC warning.
17003
17004 2004-11-02  Bruno Haible  <bruno@clisp.org>
17005
17006         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
17007         returns void.
17008
17009 2004-11-02  Bruno Haible  <bruno@clisp.org>
17010
17011         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
17012         function returns void.
17013
17014 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
17015
17016         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
17017         fflush_unlocked, flockfile, funlockfile, funlockfile,
17018         fputs_unlocked, putc_unlocked.
17019
17020 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
17021
17022         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
17023         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
17024         already declared.
17025
17026 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
17027
17028         * modules/getdate (Files): Add doc/getdate.texi.
17029         (Depends-on): Add setenv, xalloc.
17030
17031 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
17032
17033         * lib/getdate.y: Add support for TZ="foo" within a date string.
17034         Fix some bugs near time_t boundaries.  Reject dates with
17035         out-of-range components, e.g., "Sept 31".
17036         Include <stdlib.h>, "setenv.h", "xalloc.h".
17037         (ISDIGIT_LOCALE): Remove; unused.
17038         Note that the TZ and time functions used here are not reentrant.
17039         (mktime_ok, get_tz): New functions.
17040         (TZBUFSIZE): New constant.
17041         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
17042         This requires that we sometimes generate our own TZ="XXX..." setting.
17043
17044 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
17045
17046         * doc/getdate.texi: New file, from coreutils with modifications for
17047         the new TZ parsing.
17048
17049 2004-10-27  Derek R. Price  <derek@ximbiot.com>
17050
17051         * lib/mktime.c (not_equal_tm): Remove redundant check.
17052
17053 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
17054
17055         * modules/regex (lib_SOURCES): Add regex.c.
17056         Reported by James Youngman in
17057         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
17058
17059 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
17060
17061         * lib/getdate.y: Use Bison 1.875 features, and some minor
17062         code cleanups.  This change does not affect semantics.
17063         Don't include <stdlib.h>; no longer needed.
17064         Don't include unlocked-io.h; only the "#if TEST" code uses
17065         stdio, and performance isn't crucial there.
17066         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
17067         Bison 1.875 features as described below.
17068         All uses of "PC." replaced by "pc->".
17069         (YYSTYPE): Add a forward declaration.
17070         (yylex, yyerror): Use full prototypes in forward decls.
17071         Use "%pure-parser" rather than obsolescent "%pure_parser".
17072         Use %parse-param and %lex-param instead of obsolescent
17073         YYPARSE_PARAM and YYLEX_PARAM.
17074         (meridian_table, month_and_day_table, time_units_table,
17075         relative_time_table, time_zone_table, military_table,
17076         lookup_zone, lookup_word, get_date):
17077         Use NULL instead of 0 where appropriate.
17078         (to_hour): Avoid abort (), to avoid a dependency on
17079         stdlib.h.
17080         (yyerror, yylex): Now accepts parser_control * arg.
17081         (main) [TEST]: Use '\0' rather than 0 for char.
17082
17083 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
17084
17085         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
17086
17087 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
17088
17089         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
17090         It's now the caller's responsibility to handle the case where
17091         !HAVE_GETPAGESIZE && !defined getpagesize.
17092
17093         * lib/mktime.c (leapyear): Arg is long int, not int.
17094
17095 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
17096
17097         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
17098
17099 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
17100
17101         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
17102         missing.  Problem reported by James Youngman.
17103
17104 2004-10-16  Simon Josefsson  <jas@extundo.com>
17105
17106         * gnulib-tool: Fix comments.  Fix parse problem.
17107         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
17108
17109 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
17110
17111         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
17112         implementation of getopt_long.  Problem reported by Alexander Taler in:
17113         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
17114
17115 2004-10-15  Bruno Haible  <bruno@clisp.org>
17116
17117         * gnulib-tool: Untabify. Initialize supplied_libname.
17118         (func_usage): More homogenous output.
17119         (func_modules_transitive_closure, func_modules_to_filelist,
17120         func_emit_lib_Makefile_am): New functions.
17121         (func_import): New function, extracted from big case statement. Use
17122         func_get_license, func_modules_transitive_closure,
17123         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
17124         opt_lgpl. Don't use test -a, as it's not portable.
17125         (func_create_testdir): Use func_modules_transitive_closure,
17126         func_modules_to_filelist, func_emit_lib_Makefile_am.
17127
17128 2004-10-15  Bruno Haible  <bruno@clisp.org>
17129
17130         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
17131
17132 2004-10-15  Bruno Haible  <bruno@clisp.org>
17133
17134         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
17135         the portions belonging to each module.
17136         Suggested by Derek Robert Price <derek@ximbiot.com>.
17137
17138 2004-10-12  Simon Josefsson  <jas@extundo.com>
17139
17140         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
17141         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
17142         to real functions.
17143
17144 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17145
17146         * modules/vsnprintf: New file.
17147
17148 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17149
17150         * m4/vsnprintf.m4: New file.
17151
17152 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17153
17154         * lib/vsnprintf.h: New file.
17155         * lib/vsnprintf.c: New file.
17156
17157 2004-10-11  Bruno Haible  <bruno@clisp.org>
17158
17159         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
17160         vsnprintf.
17161
17162 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17163
17164         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
17165
17166 2004-10-07  Bruno Haible  <bruno@clisp.org>
17167
17168         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
17169         fits into the provided buffer.
17170
17171 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17172
17173         * lib/diacrit.c, diacrit.h: Add GPL notice.
17174
17175         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
17176         notice.
17177         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
17178         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
17179         This avoids a potential constant-folding bug.
17180
17181 2004-10-05  Bruno Haible  <bruno@clisp.org>
17182
17183         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
17184         for the declaration of strsep.
17185
17186 2004-10-05  Bruno Haible  <bruno@clisp.org>
17187
17188         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
17189
17190 2004-10-04  Simon Josefsson  <jas@extundo.com>
17191
17192         * modules/memmem: New file.
17193         * tests/test-memmem.c: New file.
17194         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
17195
17196 2004-10-04  Simon Josefsson  <jas@extundo.com>
17197
17198         * m4/memmem.m4: New file.
17199
17200 2004-10-04  Simon Josefsson  <jas@extundo.com>
17201
17202         * lib/memmem.h: New file.
17203         * lib/memmem.c: New file, taken from glibc.
17204
17205 2004-10-04  Simon Josefsson  <jas@extundo.com>
17206
17207         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
17208         '#ifdef USE_UNLOCKED_IO'.
17209
17210 2004-10-04  Simon Josefsson  <jas@extundo.com>
17211
17212         * config/srclist.txt: Add memmem from glibc.
17213
17214 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17215
17216         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
17217
17218         * modules/argmatch, modules/argp, modules/closeout, modules/error,
17219         modules/exclude, modules/getdate, modules/getline,
17220         modules/getndelim2, modules/getpass, modules/getpass-gnu,
17221         modules/getusershell, modules/linebuffer, modules/md5,
17222         modules/mountlist, modules/posixtm, modules/readtokens,
17223         modules/readutmp, modules/regex, modules/sha1,
17224         modules/version-etc, modules/yesno:
17225         Remove dependency on unlocked-io.
17226
17227 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17228
17229         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
17230
17231         * m4/unlocked-io.m4: Add copyright notice.
17232         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
17233
17234 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17235
17236         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
17237         * lib/xmalloc.c (xmemdup): Likewise.
17238         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
17239         XFREE): Remove these long-obsolescent macros.
17240         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
17241         * lib/xstrdup.c: Remove.
17242
17243         * lib/regex.c (re_comp): Cast gettext return value to char *,
17244         Problem reported by Martin Neitzel via Mark D. Baushke.
17245
17246 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17247
17248         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
17249         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
17250         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
17251         regex.c, sha1.c, version-etc.c, yesno.c:
17252         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
17253         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
17254         the includer's responsibility.
17255
17256         Sync from coreutils.
17257
17258         * lib/modechange.c (mode_compile): Don't decrement a pointer that
17259         points to the start of a string, as the C Standard says the
17260         resulting behavior is undefined.
17261
17262         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
17263         simple -> simple_backups, numbered_existing ->
17264         numbered_existing_backups, numbered -> numbered_backups
17265         to avoid shadowing problems.  All uses changed.
17266         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
17267         * lib/backupfile.c (check_extension, numbered_backup):
17268         Rename locals to avoid shadowing 'basename'.
17269         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
17270         once.
17271
17272         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
17273         * lib/.cvsignore: Add getopt.h.
17274
17275 2004-10-04  Bruno Haible  <bruno@clisp.org>
17276
17277         * modules/README: New file.
17278         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
17279         not a module.
17280
17281 2004-10-02  Jim Meyering  <jim@meyering.net>
17282
17283         * lib/dirfd.h, getpagesize.h: Add copyright notice.
17284
17285 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17286
17287         * modules/strsep: New file.
17288
17289 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17290
17291         * m4/strsep.m4: New file.
17292
17293 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17294
17295         * lib/strsep.h: New file.
17296         * lib/strsep.c: New file.
17297
17298 2004-10-01  Simon Josefsson  <jas@extundo.com>
17299
17300         * lib/snprintf.c (snprintf): Handle size==0.
17301
17302 2004-10-01  Simon Josefsson  <jas@extundo.com>
17303             Bruno Haible  <bruno@clisp.org>
17304
17305         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
17306         (snprintf): Declare 'args'.
17307
17308 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
17309
17310         * lib/snprintf.c: Remove comments as to why each header is needed.
17311
17312 2004-10-01  Bruno Haible  <bruno@clisp.org>
17313
17314         * MODULES.html.sh: Add strsep.
17315
17316 2004-09-30  Simon Josefsson  <jas@extundo.com>
17317
17318         * modules/snprintf: New file.
17319
17320 2004-09-30  Simon Josefsson  <jas@extundo.com>
17321
17322         * m4/snprintf.m4: New file.
17323
17324 2004-09-30  Simon Josefsson  <jas@extundo.com>
17325
17326         * lib/snprintf.h, lib/snprintf.c: New files.
17327
17328 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17329
17330         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
17331         (hol_entry_help): Never translate an empty string.
17332         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
17333         * lib/argp.h (OPTION_NO_TRANS): New option.
17334
17335 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17336
17337         * modules/argp (Maintainer): Replace Simon Josefsson
17338         by Sergey Poznyakoff.
17339
17340 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17341
17342         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
17343         changes merged back into glibc.
17344
17345 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17346
17347         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
17348
17349 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
17350
17351         * lib/xvasprintf.c: Include xalloc.h.
17352         (xvasprintf): Use xalloc_die, not xmalloc_die.
17353
17354 2004-09-29  Bruno Haible  <bruno@clisp.org>
17355
17356         * modules/alloca-opt: New file, derived from modules/alloca.
17357         * modules/allocsa: Depend on alloca-opt instead of alloca.
17358         * modules/setenv: Likewise.
17359         * modules/vasnprintf: Likewise.
17360         * MODULES.html.sh: Add alloca-opt.
17361
17362 2004-09-28  Simon Josefsson  <jas@extundo.com>
17363
17364         * gnulib-tool: New parameter --lgpl, to asseert that modules are
17365         LGPL, and to replace license template from GPL to LGPL.
17366
17367 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17368
17369         * modules/dummy: Change license to LGPL.
17370
17371 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17372
17373         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
17374
17375 2004-09-24  Simon Josefsson  <jas@extundo.com>
17376
17377         * modules/minmax (License): Change from GPL to LGPL.
17378
17379 2004-09-23  Simon Josefsson  <jas@extundo.com>
17380
17381         * gnulib-tool (--import): Typo.
17382
17383 2004-09-23  Simon Josefsson  <jas@extundo.com>
17384
17385         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
17386
17387 2004-09-22  Bruno Haible  <bruno@clisp.org>
17388
17389         * modules/*: Add 'License' field.
17390         * gnulib-tool: Accept --extract-license option.
17391         (func_get_license): New function.
17392
17393 2004-09-21  Bruno Haible  <bruno@clisp.org>
17394
17395         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
17396         Reported by Simon Josefsson.
17397
17398 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17399
17400         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
17401         gl_AC_TYPE_LONG_LONG.
17402
17403 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17404
17405         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
17406
17407 2004-09-18  Simon Josefsson  <jas@extundo.com>
17408         and  Paul Eggert  <eggert@cs.ucla.edu>
17409
17410         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
17411         calls with autoreconf.  Define GL_LIB.
17412
17413 2004-09-14  Karl Berry  <karl@gnu.org>
17414
17415         * config/srclist.txt: unsync setenv.c, sigh.
17416
17417 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17418
17419         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
17420         Problem reported by Bruno Haible in:
17421         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
17422
17423 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17424
17425         * config/srclist.txt: Comment out argp-pvh.c.
17426
17427 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17428
17429         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
17430         in case some system header has #define'd it.  Problem reported by
17431         Soeren D. Schulze in
17432         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
17433
17434 2004-09-09  Karl Berry  <karl@gnu.org>
17435
17436         * regex.[ch]: delete from the root.  These were supposed to be
17437                 synced with emacs cvs, but this has not happened for about
17438                 a year, and anyway nothing else uses emacs regex.[ch].
17439                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
17440                 lib/regex[.ch] is untouched.
17441
17442 2004-09-09  Bruno Haible  <bruno@clisp.org>
17443
17444         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
17445
17446 2004-09-09  Bruno Haible  <bruno@clisp.org>
17447
17448         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
17449         modifications.
17450         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
17451
17452 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17453
17454         * modules/xvasprintf: New file.
17455         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
17456
17457 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17458
17459         * lib/xvasprintf.h: New file.
17460         * lib/xvasprintf.c: New file.
17461         * lib/xasprintf.c: New file.
17462
17463 2004-09-08  Bruno Haible  <bruno@clisp.org>
17464
17465         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
17466
17467 2004-09-08  Bruno Haible  <bruno@clisp.org>
17468
17469         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
17470         length is > INT_MAX.
17471         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
17472         more.
17473
17474 2004-09-08  Bruno Haible  <bruno@clisp.org>
17475
17476         * lib/stdint_.h: New file, taken from GNU clisp.
17477
17478 2004-09-08  Bruno Haible  <bruno@clisp.org>
17479             Oskar Liljeblad  <oskar@osk.mine.nu>
17480
17481         * modules/stdint: New file.
17482         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
17483
17484 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17485
17486         Import from coreutils.
17487         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
17488         strings on unbounded length.  alloca's performance benefits aren't
17489         that important here.
17490         (V_STRDUP): Remove.
17491         (parse_with_separator): New function, with most of the internals
17492         of the old parse_user_spec.  Allow user to omit both user and group,
17493         for compatibility with FreeBSD.
17494         Clone only the user name, not the entire spec.
17495         Do not set *uid, *gid unless entirely successful.
17496         Avoid memory leak in some failing cases.
17497         Fix regression for USER.GROUP reported by Dmitry V. Levin in
17498         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
17499         (parse_user_spec): Rewrite to use parse_with_separator.
17500
17501 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17502
17503         * modules/userspec: Don't depend on alloca.
17504
17505 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17506
17507         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
17508
17509 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
17510
17511         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
17512         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
17513         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
17514
17515 2004-08-16  Simon Josefsson  <jas@extundo.com>
17516
17517         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
17518         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
17519         Add --dry-run for --import.
17520         Let user provided command line parameters override configure.ac
17521         settings.
17522
17523 2004-08-12  Simon Josefsson  <jas@extundo.com>
17524
17525         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
17526         as discussed with Paul Eggert in threads rooted at
17527         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
17528         and
17529         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
17530         Before, the test was empty, and relied on ELIDE_CODE in source
17531         code.)
17532         (gl_PREREQ_GETOPT): New macro.
17533         (gl_GETOPT): Use them.
17534
17535 2004-08-12  Simon Josefsson  <jas@extundo.com>
17536
17537         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
17538         * lib/getopt_.h: Renamed from getopt.h.
17539
17540 2004-08-12  Simon Josefsson  <jas@extundo.com>
17541
17542         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
17543         Change default library name from libfoo to libgnu.
17544         Now, if you have a configure.ac that says:
17545                 gl_SOURCE_BASE(gl)
17546                 gl_M4_BASE(gl/m4)
17547                 gl_MODULES(error getopt etcetera)
17548                 gl_INIT
17549         you can import all you need by running:
17550                 ../gnulib/gnulib-tool --import
17551
17552         * modules/getopt (Files): Rename getopt.h to getopt_.h.
17553         (Makefile.am): Rewrite, use logic from argz.
17554         (Include): Use <getopt.h> instead of "getopt.h".
17555
17556 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17557
17558         * modules/argp (Files): Add m4/unlocked-io.m4.
17559         (Depends-on): Add extensions.
17560
17561 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17562
17563         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
17564         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
17565         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
17566         Check for program_invocation_name, program_invocation_short_name,
17567         flockfile, funlockfile, features.h, _getopt_long_only_r.
17568
17569 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17570
17571         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
17572         its complicated substitute.
17573         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
17574         and program_invocation_name.
17575         (__argp_basename) [!_LIBC]: Remove; the only use was
17576         replaced by its body.
17577         (__argp_short_program_name): Change condition from
17578         !defined __argp_short_program_name to
17579         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
17580         to match argp-namefrob.h.
17581         (__argp_failure): Don't assume strerror_r returns char *.
17582         * lib/argp-parse.c (N_): Define unconditionally.
17583         (argp_default_options): Fill out initializers with 0 to avoid
17584         gcc warnings.
17585
17586 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17587
17588         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
17589         getopt1.c.
17590
17591 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17592
17593         Merge from coreutils.
17594
17595         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
17596
17597         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
17598         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
17599
17600 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17601
17602         Merge from coreutils.
17603
17604         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
17605         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
17606         for Reliant Unix 5.43.
17607
17608         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
17609         (union fooround): Use uintmax_t, not long int.
17610         The rest is a merge from libc:
17611         [defined _LIBC]: Include <shlib-compat.h>.
17612         (_obstack) [defined _LIBC]: Remove after 2.3.4.
17613
17614         * lib/settime.c (settime): Recode to avoid warning with
17615         Sun Forte C 6U2.
17616
17617         * lib/strverscmp.c: Convert to UTF-8.
17618
17619 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17620
17621         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
17622         m4/uintmax_t.m4.
17623
17624 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17625
17626         * modules/xalloc-die: New file.
17627         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
17628
17629         * modules/md5 (Files): Add m4/uint32_t.m4.
17630         * modules/sha1: Renamed from modules/sha.
17631         (Files):
17632         Rename lib/sha.h to lib/sha1.h.
17633         Rename lib/sha.c to lib/sha1.c.
17634         Rename m4/sha.m4 to m4/sha1.m4.
17635         (lib_SOURCES): Likewise.
17636         (configure.ac): Rename gl_SHA to gl_SHA1.
17637         (Include): sha.h -> sha1.h.
17638
17639 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17640
17641         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
17642         * m4/sha1.m4: Renamed from sha.m4.
17643         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
17644
17645 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17646
17647         * lib/obstack.h (obstack_empty_p):
17648         Don't assume that chunk->contents is suitably aligned.
17649         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
17650         Likewise. Problem reported by Benno in
17651         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
17652
17653         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
17654         readable.  This could be improved further but it'd take some work.
17655
17656 2004-08-08  Simon Josefsson  <jas@extundo.com>
17657
17658         * modules/xgethostname (Depends-on): Remove exit and error (not
17659         used).
17660
17661         * modules/getpass-gnu: Add getpass.h.
17662         (Depends-on): Add stdbool.
17663         * modules/getpass: Add getpass.h.
17664
17665 2004-08-08  Simon Josefsson  <jas@extundo.com>
17666
17667         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
17668         Check getpass declaration.
17669
17670 2004-08-08  Simon Josefsson  <jas@extundo.com>
17671
17672         * lib/xgethostname.c: Don't include error.h (not used).
17673
17674         * lib/getpass.h: Add.
17675         * lib/getpass.c: Include getpass.h first.
17676
17677 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
17678
17679         * lib/xalloc-die.c: New file.
17680         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
17681         All uses removed.
17682         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
17683         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
17684         xalloc-die.c.
17685         (_, N_, xalloc_die): Move to xalloc-die.c.
17686         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
17687         so that we needn't mess with xalloc_msg_memory_exhausted.
17688
17689         * lib/sha1.h: Renamed from sha.h.
17690         (SHA1_H): Renamed from _SHA_H.
17691         (sha1_ctx): Renamed from sha_ctx.
17692         (sha1_init_ctx): Renamed from sha_init_ctx.
17693         (sha1_process_block): Renamed from sha_process_block.
17694         (sha1_process_bytes): Renamed from sha_process_bytes.
17695         (sha1_finish_ctx): Renamed from sha_finish_ctx.
17696         (sha1_read_ctx): Renamed from sha_read_ctx.
17697         (sha1_stream): Renamed from sha_stream.
17698         (sha1_buffer): Renamed from sha_buffer.
17699         * lib/sha1.c: Likewise; renamed from sha.c.
17700         Do not include <sys/types.h>.
17701         Include <stddef.h> rather than <stdlib.h>.
17702
17703 2004-08-08  Bruno Haible  <bruno@clisp.org>
17704
17705         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
17706         FILESYSTEM_PREFIX_LEN.
17707         * lib/progreloc.c: Likewise.
17708         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
17709
17710 2004-08-06  Simon Josefsson  <jas@extundo.com>
17711
17712         * modules/progname (Depends-on): Don't depend on stdbool.
17713
17714 2004-08-06  Simon Josefsson  <jas@extundo.com>
17715
17716         * modules/getsubopt: New file.
17717         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17718         getsubopt.
17719
17720 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17721
17722         More merge from coreutils.
17723
17724         * m4/utimens.m4, m4/utimecmp.m4: New files.
17725         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
17726         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
17727         prereq.m4, sha.m4: Import changes from coreutils.
17728
17729 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17730
17731         More merge from coreutils.
17732         * modules/raise, modules/readtokens0, modules/utimens:
17733         * modules/utimecmp, module/xnanosleep: New files.
17734         * modules/strftime: Add lib/strftime.h.
17735         Change include from <time.h> to "strftime.h".
17736         * modules/yesno: Add lib/yesno.h.
17737         * modules/backupfile: Remove lib/addext.c.
17738         * modules/euidaccess: Add stat-macros.h.
17739         * modules/canonicalize, modules/euidaccess,
17740         modules/filemode, modules/lchown, modules/makepath,
17741         modules/rmdir, modules/stat: Likewise.
17742
17743 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17744
17745         Merge from tar.
17746         * lib/argp-help.c (make_hol, hol_append): Don't assume that
17747         SIZE_MAX is a valid preprocessor constant.
17748         (__argp_basename): Change from "#ifndef _LIBC"
17749         to "#ifndef __argp_short_program_name", so that
17750         we don't compile these functions for tar.
17751
17752         More merges from coreutils.
17753         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
17754         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
17755         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
17756         * lib/addext.c: Remove; no longer needed.
17757         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
17758         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
17759         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
17760         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
17761         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
17762         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
17763         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
17764         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
17765         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
17766         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
17767         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
17768         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
17769         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
17770         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
17771         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
17772         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
17773         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
17774         Import changes from coreutils.
17775
17776 2004-08-05  Simon Josefsson  <jas@extundo.com>
17777
17778         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
17779
17780 2004-08-05  Simon Josefsson  <jas@extundo.com>
17781
17782         * m4/getsubopt.m4: New file.
17783
17784 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17785
17786         Merge from coreutils.
17787
17788         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
17789         * m4/getcwd-path-max.m4: New files.
17790
17791         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
17792         FILESYSTEM_PREFIX_LEN ->
17793         FILE_SYSTEM_PREFIX_LEN.
17794         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
17795         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
17796         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
17797         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
17798
17799         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
17800         prerequisite modules now handle the DOS stuff.
17801         Don't check for unistd.h.
17802
17803 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17804
17805         Merge from coreutils.
17806
17807         * lib/.gdb-history: Remove; this doesn't belong here.
17808
17809         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
17810         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
17811         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
17812         * lib/getcwd.c: New files.
17813
17814         * lib/dirname.h: Include <stdbool.h>.
17815         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
17816         for consistency with POSIX terminology.  All uses changed.
17817         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
17818         (strip_trailing_slashes): Use bool for booleans.
17819         * lib/stripslash.c (strip_trailing_slashes): Likewise.
17820
17821         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
17822         sometimes returns a positive errno value even when it succeeds.
17823         (print_errno_message) [!LIBC]: Fall back on strerror if
17824         __strerror_r fails.
17825
17826         * lib/path-concat.c (mempcpy): Don't define if a system header defines
17827         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
17828         (longest_relative_suffix): New function.
17829         (path_concat): Use it.  Assume first argument is not NULL.
17830         Port to DOS.  Omit redundant separators.
17831         Report an error instead of returning NULL.
17832         Use mempcpy instead of memcpy.
17833         (xpath_concat): Remove: not declared or used.
17834
17835         * lib/same.h: Include <stdbool.h>
17836         (same_name): Return bool, not int.
17837         * lib/same.c (same_name): Likewise.
17838         (errno): Don't declare; we assume C89 or better now.
17839
17840         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
17841         if not already defined.
17842
17843         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
17844         * lib/dup-safer.c (errno): Likewise.
17845
17846 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17847
17848         Merge from coreutils.
17849         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
17850         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
17851         * modules/path-concat: Don't depend on strdup.
17852
17853 2004-08-03  Simon Josefsson  <jas@extundo.com>
17854
17855         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
17856         * lib/progname.h: Don't include stdbool.h.
17857
17858 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17859
17860         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
17861         * MODULES.html.sh (func_all_modules): Remove fatal.
17862
17863 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17864
17865         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
17866
17867 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17868
17869         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
17870         working.
17871
17872 2004-08-02  Simon Josefsson  <jas@extundo.com>
17873
17874         * lib/getsubopt.h: New file, with comments from Bruno Haible.
17875         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
17876         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
17877
17878 2004-08-01  Simon Josefsson  <jas@extundo.com>
17879
17880         * lib/xgetdomainname.c: Include stdlib.h, for free().
17881
17882 2004-07-19  Bruno Haible  <bruno@clisp.org>
17883
17884         * MODULES.html.sh (func_all_modules): Add dummy.
17885
17886 2004-07-16  Simon Josefsson  <jas@extundo.com>
17887
17888         * modules/dummy: New file.
17889
17890 2004-07-16  Simon Josefsson  <jas@extundo.com>
17891
17892         * lib/dummy.c: New file.
17893
17894 2004-07-16  Bruno Haible  <bruno@clisp.org>
17895
17896         * lib/backupfile.h: Add extern "C" for C++.
17897         * lib/closeout.h: Likewise.
17898         * lib/copy-file.h: Likewise.
17899         * lib/findprog.h: Likewise.
17900         * lib/full-write.h: Likewise.
17901         * lib/pathname.h: Likewise.
17902         * lib/progname.h: Likewise.
17903         * lib/stpcpy.h: Likewise.
17904         * lib/stpncpy.h: Likewise.
17905         * lib/strcase.h: Likewise.
17906         * lib/strstr.h: Likewise.
17907         * lib/xalloc.h: Likewise.
17908
17909         * lib/mbswidth.h: Add extern "C" for C++.
17910         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
17911
17912 2004-07-13  Robert Millan  <robertmh@gnu.org>
17913
17914         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
17915
17916 2004-07-09  Simon Josefsson  <jas@extundo.com>
17917
17918         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
17919         failed without this.)
17920
17921 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17922
17923         * modules/chown (Files): Add lib/fchown-stub.c, since
17924         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
17925
17926 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17927
17928         * lib/fchown-stub.c: New file.
17929
17930 2004-06-24  Jim Meyering  <jim@meyering.net>
17931
17932         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
17933
17934 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17935
17936         * modules/argz: Omit "#include".
17937
17938         * MODULES.html.sh (func_all_modules): Add calloc, to match
17939         2004-06-01 addition of calloc module.
17940
17941 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17942
17943         * m4/argz.m4: New file, which is autoupdated from libtool.
17944
17945 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17946
17947         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
17948         libtool.
17949
17950 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17951
17952         * config/srclist-update: Don't insist on "USA." before the
17953         close-comment, as libtool omits the period and puts the */ on a
17954         separate line.
17955         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
17956         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
17957
17958 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
17959
17960         * modules/argz: New file.
17961         * MODULES.html.sh (func_all_modules): Add argz.
17962
17963 2004-06-12  Jim Meyering  <jim@meyering.net>
17964         and  Paul Eggert  <eggert@cs.ucla.edu>
17965
17966         * modules/hash (Files): Add lib/xalloc.h.
17967         * modules/pipe (Depends-on): Add wait-process.
17968         * modules/stat (Depends-on): Add xalloc.
17969         * modules/userspec (Files): Add lib/userspec.h.
17970         * modules/xstrto
17971
17972         Upgrade from gettext-0.13.
17973         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
17974         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
17975         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
17976
17977 2004-06-10  Jim Meyering  <jim@meyering.net>
17978
17979         * lib/calloc.c: New file.
17980
17981 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
17982
17983         * lib/getdate.y (yylex): Allow space between sign and number.
17984         Problem reported by Dan Jacobson.
17985
17986 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17987
17988         Merge from coreutils CVS.
17989
17990         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
17991         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
17992         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
17993         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
17994         xstrtol.m4: Fix copyright date and/or serial number.
17995
17996         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
17997         See if we need an fchown replacement.
17998         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
17999         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
18000         and use the replacement function if we detect either defect.
18001
18002         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
18003         gl_UTIMECMP.
18004
18005 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
18006         and  Jim Meyering  <jim@meyering.net>
18007
18008         Merge from coreutils CVS.
18009
18010         * lib/stat-macros.h: New file, with contents from file-type.h
18011         and coreutils' system.h.
18012         * lib/file-type.c: Include "stat-macros.h".
18013         * lib/file-type.h (file_type): Move all macro definitions to new file,
18014         stat-macros.h.
18015
18016         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
18017         Wrap old code with this conditional.
18018         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
18019         function that does not dereference symlinks.
18020         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
18021
18022         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
18023         dependency problems.
18024         (xreadlink): Accept new arg SIZE, for efficiency.
18025         All decls and uses changed.
18026         * lib/xreadlink.h: Include <stddef.h>, for size_t.
18027
18028         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
18029         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
18030
18031         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
18032         sysexits.h.
18033
18034 2004-06-01  Jim Meyering  <jim@meyering.net>
18035
18036         * m4/calloc.m4: New file.
18037
18038 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
18039
18040         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
18041         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
18042         Also, fix a typo in a diagnostic.
18043
18044 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
18045
18046         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
18047         or AC_FUNC_REALLOC.
18048
18049 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
18050
18051         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
18052         macros to be defined.
18053         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
18054         the allocator returns NULL because the requested size is zero.
18055
18056 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
18057
18058         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
18059         var.  Add comment explaining why libc still defines it.  This
18060         merges the following patch from glibc:
18061         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
18062
18063 2004-05-20  Andreas Schwab  <schwab@suse.de>
18064
18065         * m4/free.m4: Replace free if it not known to work, not the other
18066         way round.
18067
18068 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18069
18070         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
18071         present in glibc since revision 1.1 of this file.
18072         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
18073         obstack_alignment_mask, obstack_alloc, obstack_base,
18074         obstack_blank, obstack_blank_fast, obstack_chunk_size,
18075         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
18076         obstack_grow0, obstack_init, obstack_int_grow,
18077         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
18078         obstack_next_free, obstack_object_size, obstack_ptr_grow,
18079         obstack_ptr_grow_fast, obstack_room): Remove declarations of
18080         nonexistent functions.
18081
18082 2004-05-18  Karl Berry  <karl@gnu.org>
18083
18084         * config/srclist.txt: break link for vasnprintf.c.
18085
18086 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
18087
18088         Port obstack to the AS/400, where pointers are 16 bytes wide and
18089         you cannot cast an integer to a valid pointer.  This patch is
18090         currently waiting to be integrated into glibc; see
18091         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
18092
18093         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
18094         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
18095         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
18096         (struct obstack): temp member is now a union of a pointer and
18097         an integer, instead of an integer.  All integer uses changed.
18098         This does not affect the physical layout of struct obstack,
18099         except on hosts (like the AS/400) where the size or alignment of
18100         void * is greater than that of ptrdiff_t.
18101         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
18102         __STDC__)]: Store temporary in pointer member of union, not
18103         integer member.
18104         * lib/obstack.c: Include <stddef.h>, for offsetof.
18105         (struct fooalign): Remove; it doesn't need a name.
18106         (union fooround): Change double to long double, and add void *.
18107         (DEFAULT_ALIGNMENT): Use offsetof to compute.
18108         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
18109         not a macro.  Hence the values are always int; so remove all
18110         casts-to-int in uses.
18111
18112 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
18113
18114         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
18115         we can get this patch merged into glibc.
18116
18117 2004-05-17  Derek R. Price  <derek@ximbiot.com>
18118             Paul Eggert  <eggert@cs.ucla.edu>
18119
18120         * m4/argp: Depend on alloca.
18121
18122 2004-05-17  Derek R. Price  <derek@ximbiot.com>
18123             Paul Eggert  <eggert@cs.ucla.edu>
18124
18125         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
18126         freecoding.
18127
18128 2004-05-17  Bruno Haible  <bruno@clisp.org>
18129
18130         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
18131         precision that consists of a '.' followed by an empty digit string.
18132         Patch by Tor Lillqvist <tml@iki.fi>.
18133
18134 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18135
18136         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
18137         for backward compatibility with older code.  We need our own
18138         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
18139         it under some other name, and our alloca.h will define it.
18140
18141 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18142             Derek Price  <derek@ximbiot.com>
18143
18144         * lib/alloca.c: Include <alloca.h>, to get our interface.
18145         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
18146         include <alloca.h> first.  Use C89 prototype for alloca; this
18147         requires including <stddef.h> for size_t.  Use extern "C" if C++.
18148         Use #elif for simplicity, since we can assume C89 now.
18149         Don't try to source the system alloca.h since it will not be found
18150         and to prevent recursively including its replacement.
18151         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
18152         * lib/regex.c: Likewise.
18153
18154 2004-05-16  Derek Price  <derek@ximbiot.com>
18155             Paul Eggert  <eggert@cs.ucla.edu>
18156
18157         getline cleanup.  This changes the getndelim2 API: both order of
18158         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
18159         no delimiter).
18160
18161         * lib/getline.c: Don't include stddef.h or stdio.h, since our
18162         interface does that.
18163         (getline): Always use getdelim, so that we don't have two
18164         copies of this code.
18165         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
18166         if available.
18167         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
18168         (GETNDELIM2_MAXIMUM): New macro.
18169         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
18170         instead of the old practice of delim2==0.  All callers changed.
18171         Return -1 on overflow, instead of returning junk.
18172         Do not set *linesize unless allocation succeeds.
18173         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
18174         that we include sys/types.h.
18175         * lib/getnline.h: Likewise.
18176         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
18177         (getndelim2): Reorder arguments.
18178         * lib/getnline.c (getnline, getndelim):
18179         Don't discard the NMAX argument.
18180         (getnline): Invoke getndelim, to avoid code duplication.
18181         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
18182         of (size_t) -1 by callers of the getnline family.
18183
18184 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18185
18186         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
18187         Check for gettimeofday.
18188         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
18189         Check for settimeofday, stime.
18190
18191 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18192
18193         * lib/nanosleep.c (suspended): Change its type from int to
18194         sig_atomic_t volatile.
18195         (first_call): Make it private to rpl_nanosleep, and have it
18196         be zero initially as that's a bit faster.
18197         (my_usleep): Round up fractional times instead of truncating them,
18198         as this is the usual meaning for 'sleep'.
18199
18200         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
18201         doesn't work.
18202         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
18203         (ENOSYS): Define if not defined.
18204         (settime): Fall back on stime if it exists and settimeofday fails.
18205         But don't bother with fallbacks if a method fails with errno == EPERM.
18206
18207 2004-05-11  Jim Meyering  <jim@meyering.net>
18208
18209         Prior to this change, the save_cwd caller required read access to the
18210         current directory on most systems (ones with the fchdir function).
18211
18212         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
18213         fails, try write-only, and finally, resort to using xgetcwd.
18214
18215 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
18216
18217         * lib/obstack.c, obstack.h: Import changes from libc.
18218
18219 2004-04-28  Bruno Haible  <bruno@clisp.org>
18220
18221         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
18222         also implicitly appends .exe to executables.
18223         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
18224         accepts Windows pathnames.
18225         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
18226         Treat Cygwin like Windows, since it now accepts Windows pathnames.
18227         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
18228         Treat Cygwin like Windows, since it now accepts Windows pathnames.
18229         Reported by Derek Robert Price <derek@ximbiot.com>.
18230
18231 2004-04-21  Karl Berry  <karl@gnu.org>
18232
18233         * config/srclist.txt (localcharset.c): break sync.
18234
18235 2004-04-20  Paul Eggert  <eggert@twinsun.com>
18236
18237         * m4/host-os.m4: Add a copyright notice.
18238
18239 2004-04-20  Jim Meyering  <jim@meyering.net>
18240
18241         Change UTILS_ to gl_ in AC_DEFINE'd names.
18242         Change utils_- and jm_-prefixed variables, too.
18243         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
18244         UTILS_FUNC_MKDIR_TRAILING_SLASH.
18245         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
18246
18247         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
18248         Don't emit trailing blanks.
18249         Also rename jm_-prefixed variables to have gl_ prefix.
18250
18251         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
18252         Also rename jm_-prefixed variables to have gl_ prefix.
18253
18254         * m4/jm-macros.m4: Reflect the renamings.
18255         * m4/prereq.m4: Likewise.
18256
18257 2004-04-20  Jim Meyering  <jim@meyering.net>
18258
18259         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
18260         memory.
18261
18262 2004-04-20  Jim Meyering  <jim@meyering.net>
18263             Bruno Haible  <bruno@clisp.org>
18264
18265         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
18266         memory when realloc fails.
18267
18268 2004-04-19  Jim Meyering  <jim@meyering.net>
18269
18270         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
18271         now that readutmp.c may call `free (0)'.
18272
18273 2004-04-19  Bruno Haible  <bruno@clisp.org>
18274
18275         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
18276         * m4/inttypes_h.m4: Likewise.
18277         * m4/stdint_h.m4: Likewise.
18278         * m4/intmax_t.m4: Likewise.
18279         * m4/uintmax_t.m4: Likewise.
18280
18281 2004-04-18  Jim Meyering  <jim@meyering.net>
18282
18283         * m4/prereq.m4: Don't forbid jm_ prefix.
18284
18285         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
18286         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
18287         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
18288         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
18289         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
18290         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
18291         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
18292         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
18293         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
18294         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
18295         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
18296         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
18297         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
18298         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
18299         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
18300         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
18301         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
18302         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
18303         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
18304
18305 2004-04-18  Jim Meyering  <jim@meyering.net>
18306
18307         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
18308         failure, don't leak memory and do call END_UTMP_ENT.
18309
18310 2004-04-16  Jim Meyering  <jim@meyering.net>
18311
18312         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
18313         coreutils' stat program.
18314         (gl_PREREQ): Don't require jm_PREREQ_STAT.
18315
18316 2004-04-11  Paul Eggert  <eggert@twinsun.com>
18317
18318         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
18319         C89.
18320         (CHAR_BIT): Remove, since we assume C89.
18321         Include <stdint.h> if available, as per current Autoconf CVS advice.
18322
18323 2004-03-31  Jim Meyering  <jim@meyering.net>
18324
18325         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
18326         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
18327         * m4/xalloc.m4: Likewise.
18328
18329 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18330
18331         Merge from coreutils.
18332
18333         * m4/inttostr.m4: New file.
18334         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
18335         Require AM_STDBOOL_H and gl_TIMESPEC instead.
18336         Require gl_CLOCK_TIME.
18337         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
18338
18339 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18340
18341         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
18342         not bool, to be more consistent with Unix conventions.
18343         Suggested by Bruno Haible.
18344
18345         Merge from coreutils.
18346
18347         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
18348         * lib/umaxtostr.c: New files.
18349
18350         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
18351         the usual <time.h> dance.
18352         (get_date): Change signature to support fractional time stamps.
18353         All callers changed.
18354         * lib/getdate.y: Include "getdate.h" first, as we can now
18355         assume C89 and don't need to worry about 'const'.
18356         Similarly, include "unlocked-io.h" near start, not in middle.
18357         Include <limits.h>.
18358         (textint.value): Use long int rather than int.
18359         (textint.digits): Use size_t rather than int.
18360         (BILLION, LOG10_BILLION): New constants.
18361         (parser_control): New member rel_ns.  Members day_ordinal,
18362         time_zone, month, day, hour, minutes, rel_year, rel_month,
18363         rel_day, rel_hour, rel_minutes, rel_seconds
18364         are now long int, not int.  Member seconds is now struct timespec,
18365         not int.  New member timespec_seen.  Members dates_seen, days_seen,
18366         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
18367         not int.
18368         (%union.intval): Now long int, not int.
18369         New member timespec.
18370         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
18371         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
18372         (spec): Now is a timespec or an item list.
18373         (timespec, items): New nonterminals.
18374         (time, rel, relunit, number, get_date):
18375         Add support for fractional seconds.
18376         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
18377         (gmtime, localtime, mktime): Remove decls; not needed with C89.
18378         (to_hour): First arg is now long int, not int.
18379         (to_year): Returns long int, not int.
18380         Don't treat year -70 like 70.
18381         (tm_diff): Returns long int, not int.
18382         (lookup_word): Use bool instead of int when appropriate.
18383         (yylex): Use size_t for count, not int.
18384         Detect overflow when parsing large integer constants.
18385         Add support for fractions.
18386         (get_date): Make pointers 'const' if possible.
18387         Use more-portable code to detect integer overflow.
18388         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
18389         Don't use ctime; it's not reliable if the year has >4 digits.
18390
18391         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
18392         This is for compatibility with BSD.
18393
18394         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
18395         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
18396         From coreutils' system.h.
18397
18398         * lib/userspec.c: Don't include "posixver.h".
18399         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
18400         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
18401         compatible extension.  Simplify code by removing a boolean int
18402         that was always nonzero if a string was nonnull.
18403
18404 2004-03-30  Jim Meyering  <jim@meyering.net>
18405
18406         Merge from coreutils.
18407
18408         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
18409         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
18410         on some systems one must include <grp.h> before it.
18411         Reported by Christian Krackowizer.
18412
18413 2004-03-30  Jim Meyering  <jim@meyering.net>
18414
18415         Merge from coreutils.
18416
18417         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
18418
18419         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
18420         an empty input stream.
18421
18422         * lib/readtokens.c: Include <stdbool.h>.
18423         (readtoken): Use `size_t' rather than int/long.
18424         All callers adjusted.
18425         Use `bool' rather than `int' where appropriate.
18426         Use memset rather than an explicit loop.
18427         Use x2nrealloc rather than xrealloc.
18428         Allow the use of `\0' as a delimiter.
18429         (readtokens): Likewise.
18430         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
18431
18432 2004-03-30  Jim Meyering  <jim@meyering.net>
18433
18434         * m4/realloc.m4: Remove file, since now it does no more than
18435         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
18436         the `configure.ac' section of module/realloc.
18437         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
18438
18439 2004-03-30  Bruno Haible  <bruno@clisp.org>
18440
18441         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
18442         nonnull.
18443
18444 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18445
18446         Merge changes to getloadavg.c from coreutils and Emacs.
18447
18448         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
18449         Define to an expression, not to the empty string.
18450         Include cloexec.h and xalloc.h.
18451         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
18452         Use set_cloexec_flag rather than rolling our own.
18453         * lib/cloexec.c, lib/cloexec.h: New files.
18454
18455 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18456
18457         * m4/cloexec.m4: New file.
18458
18459 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18460
18461         * lib/getopt.h: Sync with libc CVS.
18462
18463 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18464             Bruno Haible  <bruno@clisp.org>
18465
18466         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
18467         mbswidth.
18468
18469 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18470             Bruno Haible  <bruno@clisp.org>
18471
18472         * lib/mbswidth.h: Include <wchar.h> only if
18473         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
18474         <wchar.h>.
18475         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
18476
18477 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18478
18479         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
18480         Sync with libc CVS.
18481         * lib/getopt_int.h: New file, also synced from libc.
18482
18483 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18484
18485         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
18486         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
18487         Bring back getopt.c, getopt.h, getopt1.c.
18488
18489 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18490
18491         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
18492         All uses changed.  Check for sa_sigaction member; this fixes
18493         a bug first reported by Jason Andrade in
18494         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18495
18496 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18497
18498         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
18499         '#if' expressions.  Unlike the code it replaces, it does not
18500         depend on (defined _SC_PAGESIZE).  However, it does depend on
18501         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
18502         first reported by Jason Andrade in
18503         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18504
18505 2004-02-25  Simon Josefsson  <jas@extundo.com>
18506
18507         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
18508
18509 2004-02-25  Simon Josefsson  <jas@extundo.com>
18510
18511         * lib/strdup.h: New file.
18512         * lib/strdup.c: Include it.
18513         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
18514         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
18515
18516 2004-02-23  Karl Berry  <karl@gnu.org>
18517
18518         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
18519         (from fencepost.gnu.org:/gd/gnuorg).
18520
18521 2004-02-23  Karl Berry  <karl@gnu.org>
18522
18523         * config/srclistvars.sh (GNUORG) [karl]: redefine.
18524         * config/srclist.txt: add maintain/standards documents.
18525
18526 2004-02-18  Bruno Haible  <bruno@clisp.org>
18527
18528         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
18529         Reported by Derek Robert Price <derek@ximbiot.com>.
18530
18531 2004-02-16  Karl Berry  <karl@gnu.org>
18532
18533         * config/mkinstalldirs, install-sh: update from automake.
18534
18535 2004-02-06  Karl Berry  <karl@gnu.org>
18536
18537         * m4/po.m4: update from gettext 0.14.1.
18538
18539 2004-02-06  Karl Berry  <karl@gnu.org>
18540
18541         * lib/config.charset: update from gettext 0.14.1.
18542
18543 2004-02-05  Paul Eggert  <eggert@twinsun.com>
18544
18545         Add comments and code, prompted by suggestions from Bruno Haible
18546         for sh-quote.
18547         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
18548         describing the enum quoting_style values.
18549         * lib/quotearg.c (quotearg_alloc): New function.
18550         (quotearg_buffer_restyled): Treat lone { and } as special.
18551         Treat = as special.  Work around bug with older shells
18552         that "see" a '\' that is really the 2nd byte of a multibyte char.
18553         Quote empty string with shell_quoting_style.
18554
18555 2004-02-03  Bruno Haible  <bruno@clisp.org>
18556
18557         * m4/pipe.m4: New file, from GNU gettext.
18558
18559 2004-02-03  Bruno Haible  <bruno@clisp.org>
18560
18561         * lib/pipe.h: New file, from GNU gettext.
18562         * lib/pipe.c: New file, from GNU gettext.
18563
18564 2004-01-27  Bruno Haible  <bruno@clisp.org>
18565
18566         * m4/execute.m4: New file, from GNU gettext.
18567
18568 2004-01-27  Bruno Haible  <bruno@clisp.org>
18569
18570         * lib/execute.h: New file, from GNU gettext.
18571         * lib/execute.c: New file, from GNU gettext.
18572         * lib/w32spawn.h: New file, from GNU gettext.
18573
18574 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18575
18576         Merge from diffutils.
18577
18578         * lib/file-type.c (file_type): Add typed memory objects.
18579         * lib/file-type.h (S_TYPEISTMO): New macro.
18580
18581         * lib/c-stack.h (c_stack_action): Remove argv argument.
18582         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
18583         (die): Don't calculate message unless segv_action returns.
18584         (get_stack_location, min_address_from_argv, max_address_from_argv,
18585         volatile stack_base, volatile_stack_size): Remove.
18586         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
18587         that every segmentation violation is a stack overflow.  (Ouch!)
18588         See Debian bug 136249 (still outstanding) for more info about why
18589         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
18590
18591 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18592
18593         Exit-status fix from coreutils.
18594
18595         Use exit_failure consistently in place of EXIT_FAILURE,
18596         so that program exit statuses are consistent on failure.
18597
18598         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
18599         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
18600         * lib/argmatch.h: Comment fix to match the above.
18601         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
18602         Now a macro referring to exit_failure, instead of a separate
18603         variable.  Include "exitfail.h" to get it.
18604         * lib/xstrtol.h: Include "exitfail.h".
18605         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
18606
18607         * lib/long-options.c (parse_long_options): Use prototype
18608         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
18609         for clarity.
18610
18611 2004-01-21  Jim Meyering  <jim@meyering.net>
18612
18613         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
18614         so as not to conflict with a different-sized __mktime_internal
18615         function in GNU libc.
18616         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
18617         Problem building statically-linked `ls' reported by Michael Brunnbauer.
18618
18619 2004-01-20  Karl Berry  <karl@gnu.org>
18620
18621         * config/config.guess: update from config.
18622
18623         * config/srclistvars.sh: GNUWWWLICENSES for karl.
18624
18625 2004-01-20  Bruno Haible  <bruno@clisp.org>
18626
18627         Safer stack allocation.
18628         * lib/setenv.c: Include allocsa.h.
18629         (alloca): Remove fallback definition.
18630         (freea): Remove macro.
18631         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
18632         instead of freea.
18633
18634 2004-01-20  Bruno Haible  <bruno@clisp.org>
18635
18636         * m4/eealloc.m4: New file, from GNU gettext.
18637
18638 2004-01-20  Bruno Haible  <bruno@clisp.org>
18639
18640         * m4/allocsa.m4: New file, from GNU gettext.
18641
18642 2004-01-20  Bruno Haible  <bruno@clisp.org>
18643
18644         * lib/xallocsa.h: New file, from GNU gettext.
18645         * lib/xallocsa.c: New file, from GNU gettext.
18646
18647 2004-01-20  Bruno Haible  <bruno@clisp.org>
18648
18649         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
18650
18651 2004-01-20  Bruno Haible  <bruno@clisp.org>
18652
18653         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
18654         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
18655         specially.
18656
18657 2004-01-20  Bruno Haible  <bruno@clisp.org>
18658
18659         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
18660         patch.
18661
18662 2004-01-20  Bruno Haible  <bruno@clisp.org>
18663
18664         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
18665
18666 2004-01-20  Bruno Haible  <bruno@clisp.org>
18667
18668         * lib/eealloc.h: New file.
18669
18670 2004-01-20  Bruno Haible  <bruno@clisp.org>
18671
18672         * lib/binary-io.h: Avoid warnings on Cygwin.
18673
18674 2004-01-20  Bruno Haible  <bruno@clisp.org>
18675
18676         * lib/allocsa.h: New file, from GNU gettext.
18677         * lib/allocsa.c: New file, from GNU gettext.
18678
18679 2004-01-18  Karl Berry  <karl@gnu.org>
18680
18681         * doc/gpl.texi, doc/lgpl.texi: new files.
18682
18683 2004-01-18  Karl Berry  <karl@gnu.org>
18684
18685         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
18686         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
18687
18688 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18689
18690         Merge from coreutils.
18691
18692         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
18693         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
18694         (gl_DEFAULT_POSIX2_VERSION): Move
18695         the documentation from 'configure' into 'config.hin',
18696         so that 'configure --help' isn't burdened by it and
18697         we don't have to worry about its formatting there.
18698         Reword the documentation so that it's more succinct
18699         and can be run together into a single paragraph.
18700         * m4/same.m4 (gl_SAME): Check for pathconf.
18701
18702 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18703
18704         Merge from coreutils.
18705
18706         * lib/posixver.c: Include posixver.h.
18707
18708         * lib/same.c: Include <stdbool.h>, <limits.h>.
18709         (_POSIX_NAME_MAX): Define if not defined.
18710         (MIN): New macro.
18711         (same_name): If file names are silently truncated, report
18712         that the file names are the same if they are the same after
18713         the silent truncation.
18714
18715         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
18716         conversion function.
18717         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
18718         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
18719         longer needed.
18720
18721 2004-01-15  Jim Meyering  <jim@meyering.net>
18722
18723         Merge from coreutils.
18724
18725         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
18726         if no library is required.
18727         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
18728         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
18729         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
18730         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
18731         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
18732         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
18733         value, $ac_cv_search_crypt, if it's "none required".
18734         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
18735         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
18736         not gl_FUNC_GETLOADAVG.
18737         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
18738         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
18739
18740 2004-01-15  Jim Meyering  <jim@meyering.net>
18741
18742         Merge from coreutils.
18743
18744         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
18745         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
18746         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
18747
18748         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
18749         optional configure-time default.
18750
18751         * lib/version-etc.c (version_etc_copyright): Update copyright date.
18752
18753         * lib/xreadlink.c (xreadlink): Correct outdated comment.
18754
18755 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
18756
18757         Merge from coreutils.
18758
18759         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
18760         value, $ac_cv_search_nanosleep, if it's "none required".
18761
18762 2004-01-14  Paul Eggert  <eggert@twinsun.com>
18763
18764         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
18765         with like-named macro in fnmatch.c.
18766         (EXT): Use an internal constant instead.
18767
18768         Merge fnmatch patches from glibc.
18769         * lib/fnmatch.c (mbsinit): Remove define.
18770         Add libc_hidden_ver (__fnmatch, fnmatch).
18771         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
18772         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
18773
18774 2004-01-14  Karl Berry  <karl@gnu.org>
18775
18776         * config/install-sh: update from automake.
18777
18778 2004-01-13  Karl Berry  <karl@gnu.org>
18779
18780         * config/install-sh: update from automake.
18781
18782 2004-01-09  Karl Berry  <karl@gnu.org>
18783
18784         * config/install-sh: update from automake.
18785
18786 2004-01-05  Karl Berry  <karl@gnu.org>
18787
18788         * config/config.{sub,guess}: update from config.
18789
18790 2003-12-31  Karl Berry  <karl@gnu.org>
18791
18792         * config/depcomp: update from automake.
18793
18794 2003-12-14  Karl Berry  <karl@gnu.org>
18795
18796         * lib/config.charset: update from gettext-runtime.
18797
18798 2003-12-03  Paul Eggert  <eggert@twinsun.com>
18799
18800         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
18801         Bug reported by Alfred M. Szmidt.
18802
18803 2003-12-03  Bruno Haible  <bruno@clisp.org>
18804
18805         * m4/gettext.m4: Upgrade from gettext-0.13.
18806         * m4/po.m4: Upgrade from gettext-0.13.
18807         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
18808         * m4/intmax.m4: New file, from gettext-0.13.
18809         * m4/printf-posix.m4: New file, from gettext-0.13.
18810
18811 2003-11-29  Karl Berry  <karl@gnu.org>
18812
18813         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
18814
18815 2003-11-25  Paul Eggert  <eggert@twinsun.com>
18816             Bruno Haible  <bruno@clisp.org>
18817
18818         * lib/printf-parse.h: Don't include sys/types.h.
18819         (ARG_NONE): New macro.
18820         (char_directive): Change type of *arg_index fields to size_t.
18821         * lib/printf-parse.c: Don't include sys/types.h.
18822         (SSIZE_MAX): Remove macro.
18823         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
18824         Remove unnecessary overflow check.
18825         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
18826         fields.
18827
18828 2003-11-25  Bruno Haible  <bruno@clisp.org>
18829
18830         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
18831
18832 2003-11-25  Bruno Haible  <bruno@clisp.org>
18833
18834         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
18835         gt_TYPE_SSIZE_T.
18836
18837 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18838
18839         * modules/alloca: Remove dependency on xalloc.
18840
18841 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18842
18843         * lib/alloca.c: Remove dependency on xalloc module.
18844         (xalloc_die): Remove.
18845         (memory_full) [!defined emacs]: New macro.
18846         [!defined emacs]: Don't include xalloc.h.
18847         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
18848         address arithmetic overflows.  Change datatypes a bit to avoid
18849         unnecessary casts.
18850
18851 2003-11-22  Jim Meyering  <jim@meyering.net>
18852
18853         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
18854         s/size/size_t/.
18855
18856 2003-11-21  Karl Berry  <karl@gnu.org>
18857
18858         * config/config.{sub,guess}: update from config.
18859
18860 2003-11-18  Karl Berry  <karl@gnu.org>
18861
18862         * config/config.{sub,guess}: update from config.
18863
18864         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
18865
18866 2003-11-17  Paul Eggert  <eggert@twinsun.com>
18867
18868         * README: Mention that S+T cannot overflow if S is the size of
18869         an existing object and T is sufficiently small.
18870
18871 2003-11-17  Jim Meyering  <jim@meyering.net>
18872
18873         On systems without utime and without a utimes function capable of
18874         dealing with a NULL struct utimbuf* argument, this utime replacement
18875         could -- in unusual circumstances -- leak a file descriptor.
18876         * lib/utime.c: Include <unistd.h> and <errno.h>.
18877         (utime_null): Be sure to close `fd' and to preserve errno.
18878         Reported by Geoff Collyer via Arnold Robbins.
18879
18880 2003-11-17  Bruno Haible  <bruno@clisp.org>
18881
18882         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
18883         (Depends-on): Add xsize.
18884
18885 2003-11-17  Bruno Haible  <bruno@clisp.org>
18886
18887         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
18888
18889 2003-11-17  Bruno Haible  <bruno@clisp.org>
18890
18891         * lib/vasnprintf.c (alloca): Remove fallback definition.
18892         (freea): Remove definition.
18893         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
18894         Reported by Paul Eggert.
18895
18896 2003-11-16  Paul Eggert  <eggert@twinsun.com>
18897             Bruno Haible  <bruno@clisp.org>
18898
18899         Protect against address arithmetic overflow.
18900         * lib/printf-args.h: Include stddef.h.
18901         (arguments): Change type of field 'count' to size_t.
18902         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
18903         'unsigned int' where appropriate.
18904         * lib/printf-parse.h: Include sys/types.h.
18905         (char_directive): Change type of *arg_index fields to ssize_t.
18906         (char_directives): Change type of fields 'count', max_*_length to
18907         size_t.
18908         * lib/printf-parse.c: Include sys/types.h and xsize.h.
18909         (SSIZE_MAX): Define fallback value.
18910         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
18911         instead of 'int' where appropriate. Check a_allocated, d_allocated
18912         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
18913         * lib/vasnprintf.c: Include xsize.h.
18914         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
18915         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
18916         overflow. Avoid wraparound when converting a width or precision from
18917         decimal to binary.
18918
18919 2003-11-16  Bruno Haible  <bruno@clisp.org>
18920
18921         Update from GNU gettext.
18922         * lib/printf-parse.c: Generalize to it can be compiled for wide
18923         strings.
18924         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
18925         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
18926         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
18927         SNPRINTF): New macros.
18928         Don't include <alloca.h> if the file is used inside libintl.
18929         (local_wcslen): New function, for Solaris 2.5.1.
18930         (VASNPRINTF): Use it instead of wcslen.
18931
18932 2003-11-16  Bruno Haible  <bruno@clisp.org>
18933
18934         * lib/xsize.h (xmax): New function.
18935         (xsum, xsum3, xsum4): Declare as "pure" functions.
18936
18937 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18938
18939         * modules/xalloc (Files): Undo latest change, since xalloc.h
18940         no longer needs SIZE_MAX or PTRDIFF_MAX.
18941
18942 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18943
18944         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
18945         gl_PTRDIFF_MAX.
18946
18947 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18948
18949         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
18950         "return", to pacify some unknown compiler.  Problem reported
18951         by Joerg Schilling.
18952
18953 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18954
18955         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
18956         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
18957         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
18958         heuristic is just as accurate as far as we know, and it removes a
18959         dependency on size_max.m4 and ptrdiff_max.m4.
18960
18961 2003-11-11  Bruno Haible  <bruno@clisp.org>
18962
18963         * modules/xsize (Files): Add m4/size_max.m4.
18964         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
18965
18966 2003-11-11  Bruno Haible  <bruno@clisp.org>
18967
18968         * m4/size_max.m4: New file.
18969         * m4/ptrdiff_max.m4: New file.
18970         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
18971         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
18972         (gl_XALLOC): Invoke it.
18973
18974 2003-11-11  Bruno Haible  <bruno@clisp.org>
18975
18976         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
18977         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
18978         defined.
18979
18980 2003-11-10  Paul Eggert  <eggert@twinsun.com>
18981
18982         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
18983         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
18984         rejected some allocations of exactly SIZE_MAX - 2 bytes.
18985         From Bruno Haible.
18986         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
18987         not (size_t) -1, since it's defined here.
18988
18989 2003-11-09  Karl Berry  <karl@gnu.org>
18990
18991         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
18992
18993 2003-11-06  Paul Eggert  <eggert@twinsun.com>
18994
18995         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
18996         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
18997         Reject sizes of exactly SIZE_MAX bytes.
18998         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
18999         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
19000
19001 2003-11-05  Bruno Haible  <bruno@clisp.org>
19002
19003         * lib/xsize.h: Include limits.h, to avoid a possible collision with
19004         SIZE_MAX defined in <limits.h> on Solaris.
19005
19006 2003-11-04  Jim Meyering  <jim@meyering.net>
19007
19008         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
19009         variable names, rather than @VAR@.
19010         * modules/poll: Likewise.
19011
19012 2003-11-04  Bruno Haible  <bruno@clisp.org>
19013
19014         * modules/xsize: New file.
19015         * modules/linebreak: Depend on xsize.
19016         * MODULES.html.sh (func_all_modules): Add xsize.
19017
19018 2003-11-04  Bruno Haible  <bruno@clisp.org>
19019
19020         * m4/xsize.m4: New file.
19021
19022 2003-11-04  Bruno Haible  <bruno@clisp.org>
19023
19024         * lib/xsize.h: New file.
19025         * lib/linebreak.c: Include xsize.h.
19026         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
19027         argument for overflow.
19028         Suggested by Paul Eggert.
19029
19030 2003-11-03  Karl Berry  <karl@gnu.org>
19031
19032         * config/config.{guess,sub}: update from config.
19033
19034 2003-11-03  Jim Meyering  <jim@meyering.net>
19035
19036         * modules/userspec (lib_SOURCES): Add userspec.h.
19037         (Include): Add "userspec.h".
19038         Improve description.
19039
19040 2003-11-03  Jim Meyering  <jim@meyering.net>
19041
19042         * lib/userspec.c: Include "userspec.h".
19043         * lib/userspec.h: New file.
19044
19045 2003-11-03  Bruno Haible  <bruno@clisp.org>
19046
19047         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
19048
19049 2003-11-03  Bruno Haible  <bruno@clisp.org>
19050
19051         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
19052         available, to avoid (extremely rare) race condition.
19053         Suggested by Paul Eggert.
19054
19055 2003-11-02  Karl Berry  <karl@gnu.org>
19056
19057         * config/srclist.txt (vasprintf.c): sync broken, sigh.
19058
19059 2003-10-31  Paul Eggert  <eggert@twinsun.com>
19060
19061         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
19062         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
19063         (read_filesystem_list): Set and use me_type_malloced.
19064         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
19065         whatever the type happens to be), for brevity and consistency.
19066         Check for size calculation overflow on Alphas running OSF/1.
19067
19068 2003-10-31  Jim Meyering  <jim@meyering.net>
19069
19070         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
19071
19072         * lib/linebuffer.c: Include <string.h> for declaration of memset.
19073
19074 2003-10-30  Paul Eggert  <eggert@twinsun.com>
19075             Bruno Haible  <bruno@clisp.org>
19076
19077         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
19078         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
19079
19080 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
19081
19082         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
19083         netbsd*-gnu*.  Suggested by Robert Millan.
19084
19085 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19086
19087         * modules/group-member: Depend on stdbool.
19088
19089 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19090
19091         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
19092
19093 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19094
19095         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
19096         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
19097         after the 'gnu' in these cases.  This fixes some bugs in the
19098         previous change, and is based on suggestions by Robert Millan.
19099
19100 2003-10-29  Paul Eggert  <eggert@twinsun.com>
19101
19102         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
19103         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
19104         no longer needed.
19105         * lib/quotearg.c (quotearg_n_options): Use it.
19106         * lib/group-member.c: Include <stdbool.h>.
19107         (free_group_info): Arg is now const *; don't free arg.
19108         (get_group_info): Now returns bool and accepts struct group_info *,
19109         rather than returning a malloc'ed struct group_info *.
19110         All uses changed.  Check for overflow in internal size calculation.
19111
19112         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
19113         rather than xmalloc/xrealloc.
19114         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
19115         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
19116         conformance bug: the old code used a pointer after freeing the
19117         storage that it addressed.
19118         * lib/hash.c (hash_initialize): Simplify the code by using
19119         xalloc_oversized rather than doing it by hand.
19120         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
19121         the buffer preserved.  Use free and xmalloc instead.
19122         * lib/quotearg.c (quotearg_n_options): Likewise.
19123         Use a simpler test for size overflow.  Don't use xalloc_oversized
19124         because unsigned int might be wider than size_t (!); this suggests
19125         that we should switch from unsigned int to size_t for slot numbers.
19126
19127 2003-10-28  Paul Eggert  <eggert@twinsun.com>
19128
19129         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
19130         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
19131         NetBSD kernels.  Requested by Richard Stallman.
19132
19133 2003-10-27  Paul Eggert  <eggert@twinsun.com>
19134
19135         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
19136         to allocate the returned structure.  Do not allocate a subarray,
19137         as x2nrealloc will do that.
19138         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
19139         instead of xnrealloc.
19140         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
19141
19142 2003-10-27  Bruno Haible  <bruno@clisp.org>
19143
19144         * lib/stdbool_.h: Better support for BeOS.
19145
19146 2003-10-26  Paul Eggert  <eggert@twinsun.com>
19147
19148         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
19149         now uses inline.
19150
19151 2003-10-26  Paul Eggert  <eggert@twinsun.com>
19152
19153         * lib/xalloc.h (xalloc_oversized): New static inline function, for
19154         callers that want to do their own size-overflow checking.  Include
19155         <stdbool.h>, since xalloc_oversized returns bool.
19156         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
19157         to use xalloc_oversized.
19158
19159         Add two functions x2realloc, x2nrealloc, for programs that grow
19160         arrays dynamically by doubling their sizes.
19161         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
19162         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
19163         New functions.
19164
19165         Port to C99 semantics for 'inline' of external functions.
19166         Bug reported by Bruno Haible.
19167         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
19168         with the old contents of xnmalloc.
19169         (xnmalloc, xmalloc): Use it.
19170         (xnrealloc_inline): New static inline function,
19171         with the old contents of xnrealloc.
19172         (xnrealloc, xrealloc): Use it.
19173
19174         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
19175         that.
19176
19177 2003-10-26  Karl Berry  <karl@gnu.org>
19178
19179         * config/srclist.txt (COPYING.DOC): no longer available from
19180         /gd/gnuorg; don't know where the ultimate source is.
19181
19182 2003-10-25  Paul Eggert  <eggert@twinsun.com>
19183
19184         Fix several address-calculation bugs in the hash modules,
19185         plus some minor code cleanup.
19186
19187         * lib/hash.h: Include <stdbool.h>, for bool.
19188         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
19189         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
19190         hash_get_n_entries, hash_get_max_bucket_length,
19191         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
19192         hash_rehash): Use size_t rather than unsigned.
19193         * lib/hash.c (struct hash_table, hash_get_n_buckets,
19194         hash_get_n_buckets_used, hash_get_n_entries,
19195         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
19196         hash_get_entries, hash_do_for_each, hash_string, is_prime,
19197         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
19198         Likewise.
19199         (SIZE_MAX): Define if not defined.
19200         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
19201         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
19202         hash_print):
19203         Use const * when possible.
19204         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
19205         (check_tuning): Fix bug: if tuning parameters were very close to
19206         0 or 1, rounding errors could have caused subscript violations.
19207         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
19208         (hash_initialize): Add 'fail:' label
19209         to free table and return NULL, and use it to simplify code.
19210         Use calloc rather than clearing the storage ourself.
19211         (hash_initialize, hash_rehash): Check for arithmetic overflow in
19212         buffer size calculations.
19213         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
19214         Include <stddef.h>, for size_t.
19215         * lib/hash-pjw.c (hash_pjw): Likewise.
19216         Switch to method described by Bruno Haible.
19217         Include <limits.h>, for CHAR_BIT.
19218         (SIZE_BITS): New macro.
19219
19220 2003-10-23  Paul Eggert  <eggert@twinsun.com>
19221
19222         * m4/getline.m4 (AM_FUNC_GETLINE):
19223         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
19224         hosts.  Problem reported by Derek Robert Price in
19225         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
19226         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
19227         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
19228
19229 2003-10-21  Paul Eggert  <eggert@twinsun.com>
19230
19231         * lib/getndelim2.c (getndelim2): When size calculation overflows,
19232         ceiling the allocation at NMAX bytes rather than silently
19233         discarding input bytes before NMAX is reached.  This makes
19234         a difference only if NMAX exceeds SIZE_MAX / 2.
19235
19236         * lib/obstack.c: Merge from glibc.
19237         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
19238         Add libc_hidden_def (_obstack_newchunk).
19239         (_obstack_free) [! defined _LIBC]: Remove.
19240         [defined _LIBC]: Make a strong alias from obstack_free, rather than
19241         a clone of the function body.
19242         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
19243         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
19244
19245         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
19246         glibc.
19247         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
19248         arg to memcpy.
19249
19250         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
19251         (obstack_ptr_grow_fast, obstack_int_grow_fast):
19252         Don't use lvalue casts, as GCC plans to remove support for them
19253         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
19254         was also present in the non-GCC version, indicating that this
19255         code had always been buggy and had never been widely used.
19256         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
19257         Use the fast variant of each macro, rather than copying the
19258         definiens of the fast variant; that way, we'll be more likely to
19259         catch future bugs in the fast variants.
19260
19261 2003-10-20  Bruno Haible  <bruno@clisp.org>
19262
19263         * modules/wait-process: New file.
19264         * MODULES.html.sh (func_all_modules): Add wait-process.
19265
19266 2003-10-20  Bruno Haible  <bruno@clisp.org>
19267
19268         * m4/wait-process.m4: New file.
19269
19270 2003-10-20  Bruno Haible  <bruno@clisp.org>
19271
19272         * lib/wait-process.h: New file, from GNU gettext.
19273         * lib/wait-process.c: New file, from GNU gettext.
19274
19275 2003-10-19  Jim Meyering  <jim@meyering.net>
19276
19277         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
19278         HPUX 10.20.
19279
19280 2003-10-18  Karl Berry  <karl@gnu.org>
19281
19282         * config/config.guess: update from config.
19283
19284 2003-10-16  Paul Eggert  <eggert@twinsun.com>
19285
19286         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
19287         (getgroups): First arg is int, not size_t.
19288         Don't let 'free' mangle errno.
19289
19290 2003-10-16  Paul Eggert  <eggert@twinsun.com>
19291
19292         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
19293
19294 2003-10-16  Karl Berry  <karl@gnu.org>
19295
19296         * config/config.{guess,sub}: update from config.
19297
19298 2003-10-16  Jim Meyering  <jim@meyering.net>
19299
19300         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
19301         memcpy.
19302
19303 2003-10-15  Paul Eggert  <eggert@twinsun.com>
19304
19305         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
19306         (SIZE_MAX): Remove.
19307         (new_exclude, add_exclude_file): Initial size no longer needs to
19308         be a power of 2.
19309         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
19310         our own address arithmetic overflow checking.
19311
19312         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
19313         (fnmatch): Do not alloca more than 2000 wide characters;
19314         instead, use malloc for large buffers.
19315         Check for address arithmetic overflow, and return -1
19316         with errno set to ENOMEM in that case.
19317         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
19318         (NEW_PATTERN): Do not alloca more than 8000 bytes;
19319         instead, return -1.  Check for address arithmetic overflow.
19320
19321 2003-10-14  Paul Eggert  <eggert@twinsun.com>
19322
19323         Handle invalid suffixes and overflow independently, so that
19324         callers can treat them independently as needed.  Fix some bugs in
19325         suffix handling, e.g., "100k@" was not diagnosed as an invalid
19326         suffix for a human-readable blocksize.  The major caller-visible
19327         change is the addition of a new
19328         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
19329         that both overflow and suffix chars were found.
19330
19331         * lib/human.c (humblock): Don't check separately for invalid suffix
19332         char; that is xstrtoumax's job (now that its bug is fixed).
19333         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
19334         INTMAX_MAX]: New macros.
19335         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
19336         TYPE_MAXIMUM): New macros.
19337         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
19338         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
19339         if overflow occurs, as it's what __strtol does and it's more useful
19340         in practice.
19341         (__xstrtol): If __strtol reports some error other than ERANGE,
19342         reflect it to the caller as LONGINT_INVALID.  If it reports
19343         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
19344         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
19345         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
19346         value.
19347         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
19348         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
19349         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
19350         [defined UINTMAX_MAX]: New macros.
19351
19352 2003-10-14  Bruno Haible  <bruno@clisp.org>
19353
19354         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
19355
19356 2003-10-14  Bruno Haible  <bruno@clisp.org>
19357
19358         * m4/sig_atomic_t: New file, from GNU gettext.
19359         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
19360
19361 2003-10-14  Bruno Haible  <bruno@clisp.org>
19362
19363         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
19364         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
19365         Also use volatile where needed.
19366
19367 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19368
19369         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
19370         Change maintainer from Bruno Haible to 'all'.
19371
19372 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19373
19374         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
19375
19376 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19377
19378         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
19379         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
19380         and define in terms of the other primitives.
19381         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
19382         (SIZE_MAX): Define if not already defined.
19383         (array_size_overflow): New function.
19384         (xalloc_die): Abort instead of exiting if 'error' returns.
19385         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
19386         (xmalloc, xrealloc): Use them.
19387         (xcalloc): Check for address arithmetic overflow.
19388         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
19389         a bit faster than strcpy.
19390
19391 2003-10-10  Simon Josefsson  <jas@extundo.com>
19392
19393         * modules/argp (Depends-on): Add restrict and strcase.
19394
19395 2003-10-10  Simon Josefsson  <jas@extundo.com>
19396
19397         * m4/argp.m4: Add AC_C_INLINE.
19398
19399 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19400
19401         Merge getpass from libc, plus a few fixes.
19402
19403         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
19404         Include <stdbool.h>.
19405         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
19406         __fsetlocking to empty.
19407         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
19408         do include <bits/libc-lock.h>.
19409         Do not include <fcntl.h>; not needed.
19410         [_LIBC]: Include <wchar.h>.
19411         (NOTCANCEL_MODE): New macro.
19412         (flockfile, funlockfile) [_LIBC]: New macros.
19413         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
19414         [!_LIBC]: New macros.
19415         (call_fclose): New function.
19416         (getpass): Use it.  Save tty stream separately; this simplifies the
19417         code and makes it more reliable if stdin happens to equal stdout.
19418         Invoke __fsetlocking on tty.
19419         Handle thread cancellation if needed.
19420         Namespace cleanup (use __tcgetattr, __getline).
19421         Use bool for Booleans.
19422         [USE_IN_LIBIO]: Handle wide streams.
19423         [!_LIBC]: Unconditionally do the fseek, since we don't know what
19424         stream might go where.
19425
19426         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
19427         doesn't have to include <stdio.h> before us.
19428         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
19429         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
19430         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
19431         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
19432         if not declared, so that we can use getpass.c code from libc without
19433         rewriting it.
19434         (flockfile, ftrylockfile, funlockfile): New macros.
19435
19436 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19437
19438         * modules/getpass: Depend on stdbool.
19439
19440 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19441
19442         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
19443
19444 2003-10-07  Karl Berry  <karl@gnu.org>
19445
19446         * config/config.{guess,sub}: update from config.
19447
19448 2003-10-06  Jim Meyering  <jim@meyering.net>
19449             Bruno Haible  <bruno@clisp.org>
19450
19451         This lets translators provide better translations for the
19452         "Written by ..." part of --version output.
19453         * lib/version-etc.h: Include stdarg.h.
19454         (version_etc_copyright): Declare as readonly.
19455         (version_etc): Make this function variadic with a NULL-terminated list
19456         of author name strings.
19457         (version_etc_va): New declaration.
19458         * lib/version-etc.c: Include stdarg.h, stdlib.h.
19459         (version_etc_copyright): Declare as readonly.
19460         (version_etc_va): New function. Provide a different translatable string
19461         for each possible number of authors < 10. Abbreviate when there are 10
19462         authors or more.
19463         (version_etc): Make this function variadic. Call version_etc_va.
19464         Suggestion from Gary V. Vaughan.
19465
19466         * lib/long-options.h (parse_long_options): Change prototype: the
19467         authors string is moved to the end and becomes variadic.
19468         * lib/long-options.c: Include stdarg.h.
19469         (parse_long_options): Make this function variadic, too.
19470         Call version_etc_va, not version_etc.
19471
19472 2003-10-06  Bruno Haible  <bruno@clisp.org>
19473
19474         * modules/version-etc-2: Remove file.
19475         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
19476
19477 2003-10-06  Bruno Haible  <bruno@clisp.org>
19478
19479         * modules/fatal-signal: New file.
19480         * MODULES.html.sh (func_all_modules): Add fatal-signal.
19481
19482 2003-10-06  Bruno Haible  <bruno@clisp.org>
19483
19484         * m4/fatal-signal.m4: New file.
19485         * m4/signalblocking.m4: New file, from GNU gettext.
19486
19487 2003-10-06  Bruno Haible  <bruno@clisp.org>
19488
19489         * lib/version-etc-2.h: Remove file.
19490         * lib/version-etc-2.c: Remove file.
19491
19492 2003-10-06  Bruno Haible  <bruno@clisp.org>
19493
19494         * lib/fatal-signal.h: New file, from GNU gettext.
19495         * lib/fatal-signal.c: New file, from GNU gettext.
19496
19497 2003-10-05  Paul Eggert  <eggert@twinsun.com>
19498
19499         * README: Rework advice for preventing empty .o files.
19500         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
19501         not <sys/types.h>.
19502
19503 2003-10-04  Karl Berry  <karl@gnu.org>
19504
19505         * lib/argp*: update from libc.
19506
19507 2003-10-04  Karl Berry  <karl@gnu.org>
19508
19509         * config/config.{guess,sub}: update from config.
19510
19511 2003-10-02  Bruno Haible  <bruno@clisp.org>
19512
19513         * modules/lchown (Include): Add lchown.h.
19514         * modules/time_r (Include): Use "..." syntax.
19515         * modules/xgetdomainname (Include): Add xgetdomainname.h.
19516
19517 2003-10-01  Simon Josefsson  <jas@extundo.com>
19518
19519         * MODULES.html.sh (func_all_modules): Move gethostname from section
19520         'based on' to section 'lacking' POSIX:2001.
19521
19522 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
19523
19524         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
19525         to output mode on the same stream.
19526
19527 2003-09-29  Paul Eggert  <eggert@twinsun.com>
19528
19529         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
19530         Fix arg typo in previous patch.
19531
19532 2003-09-28  Jim Meyering  <jim@meyering.net>
19533
19534         * lib/error.c: Correct cpp indentation.
19535
19536 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19537
19538         * modules/free: New file.
19539
19540 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19541
19542         * m4/free.m4: New file.
19543
19544 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19545
19546         * lib/minmax.h (MIN, MAX)
19547         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
19548         Omit the special code that used __typeof__, since we worry that
19549         it could be more trouble than it's worth.  See:
19550         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
19551         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
19552
19553         * lib/free.c: New file.
19554
19555 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
19556
19557         Trivial fixes to Makefile.am parts of module listings.
19558         * modules/strstr: Append strstr.h to lib_SOURCES.
19559         * modules/strcase: Likewise, for strcase.h.
19560
19561 2003-09-27  Karl Berry  <karl@gnu.org>
19562
19563         * config/mkinstalldirs: update from automake.
19564
19565 2003-09-26  Paul Eggert  <eggert@twinsun.com>
19566
19567         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
19568         (error_tail): Do not loop, reallocating temporary buffer, since
19569         the output cannot contain more wide characters than the input
19570         contains bytes, the size must be big enough already.  This avoids
19571         one potential size overflow calculation.  Check for size overflow
19572         when calculating temporary buffer size.  Free temporary buffer
19573         when done, if it was allocated with malloc; this plugs a memory
19574         leak.  Remove casts from void * to pointers, that are no longer
19575         needed now that we're assuming C89 or better.
19576
19577         Merge error changes from glibc.
19578
19579         * lib/error.c, error.h: Update copyright notice header to match glibc.
19580         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
19581         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
19582         Disable cancellation while printing error.
19583         * lib/error.h: Prepend __ to parameter names.
19584
19585 2003-09-26  Jim Meyering  <jim@meyering.net>
19586
19587         * lib/error.c (error_tail): Move some declarations
19588         into inner scope where the local variables are used.
19589
19590 2003-09-26  Bruno Haible  <bruno@clisp.org>
19591
19592         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
19593         stpncpy().
19594         Don't define stpncpy through config.h; it's now done through stpncpy.h.
19595
19596 2003-09-26  Bruno Haible  <bruno@clisp.org>
19597
19598         * lib/stpncpy.h (gnu_stpncpy): New declaration.
19599         (stpncpy): Define as alias for gnu_stpncpy.
19600         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
19601
19602 2003-09-25  Simon Josefsson  <jas@extundo.com>
19603
19604         * lib/xgetdomainname.h: New file.
19605         * lib/xgetdomainname.c: New file.
19606
19607 2003-09-25  Simon Josefsson  <jas@extundo.com>
19608             Bruno Haible  <bruno@clisp.org>
19609
19610         * modules/getdomainname: New file.
19611         * modules/xgetdomainname: New file.
19612         * MODULES.html.sh (func_all_modules): Add getdomainname,
19613         xgetdomainname.
19614
19615 2003-09-25  Simon Josefsson  <jas@extundo.com>
19616             Bruno Haible  <bruno@clisp.org>
19617
19618         * m4/getdomainname.m4: New file.
19619
19620 2003-09-25  Simon Josefsson  <jas@extundo.com>
19621             Bruno Haible  <bruno@clisp.org>
19622
19623         * lib/getdomainname.h: New file.
19624         * lib/getdomainname.c: New file.
19625
19626 2003-09-25  Karl Berry  <karl@gnu.org>
19627
19628         * lib/argp-fmtstream.c, argp-help.c: update from libc.
19629
19630 2003-09-25  Karl Berry  <karl@gnu.org>
19631
19632         * config/install-sh: update from automake.
19633
19634 2003-09-25  Bruno Haible  <bruno@clisp.org>
19635
19636         * modules/version-etc-2: New file, from modules/version-etc with
19637         modifications.
19638         * MODULES.html.sh (func_all_modules): Add version-etc-2.
19639
19640 2003-09-25  Bruno Haible  <bruno@clisp.org>
19641
19642         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
19643         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
19644
19645 2003-09-24  Simon Josefsson  <jas@extundo.com>
19646
19647         * modules/xgethostname: Add xgethostname.h.
19648
19649 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19650
19651         * lib/linebuffer.c (freebuffer): Don't free the argument, just
19652         the buffer associated with the argument.  Bug reported by
19653         Simon Josefsson.
19654
19655 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19656
19657         * README: Document assumptions that 'int' is at least 32 bits
19658         wide, that integer arithmetic is 2's complement without overflow,
19659         that there are no holes in integer values, that adding sizes of
19660         two nonoverlapping objects can't overflow, and that all-bits-zero
19661         yields scalar zero.  Fix spelling and capitalization typos.
19662
19663 2003-09-19  Karl Berry  <karl@gnu.org>
19664
19665         * lib/argp.h: update from libc.
19666
19667 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19668
19669         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
19670         to avoid spurious warnings like "AC_RUN_IFELSE was called before
19671         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
19672
19673 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19674
19675         * gnulib-tool: Use "test -h", not "test -L", for portability
19676         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
19677         (tags_regexp): Remove, since \| doesn't conform to POSIX.
19678         (sed_extract_prog): Issue s commands one-by-one, rather than
19679         using \| in one s command.
19680
19681 2003-09-16  Paul Eggert  <eggert@twinsun.com>
19682
19683         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
19684         input error, instead of returning NULL the next time we are called
19685         (and therefore losing track of errno).
19686
19687 2003-09-16  Bruno Haible  <bruno@clisp.org>
19688
19689         * gnulib-tool (func_create_testdir): Warn about duplicated
19690         dependencies.
19691
19692 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19693
19694         * modules/argmatch, modules/fatal, modules/obstack,
19695         modules/xalloc, modules/xgethostname: Sort dependencies by
19696         importance, not alphabetically.
19697
19698 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19699
19700         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
19701         fails, so that the caller gets the proper errno.
19702
19703         * lib/readutmp.c (read_utmp): Likewise.
19704         Check for fstat error.  Close stream and free storage
19705         when failing.
19706
19707 2003-09-14  Karl Berry  <karl@gnu.org>
19708
19709         * config/srclist.txt (strdup.c): disable for c89 changes.
19710
19711 2003-09-14  Jim Meyering  <jim@meyering.net>
19712
19713         * lib/getloadavg.c: Correct cpp indentation.
19714         * lib/strdup.c: Likewise.
19715         * lib/vasnprintf.c: Likewise.
19716
19717 2003-09-14  Bruno Haible  <bruno@clisp.org>
19718
19719         * modules/fwriteerror: New file.
19720         * MODULES.html.sh (func_all_modules): Add fwriteerror.
19721
19722 2003-09-14  Bruno Haible  <bruno@clisp.org>
19723
19724         * lib/fwriteerror.h: New file.
19725         * lib/fwriteerror.c: New file.
19726
19727 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19728
19729         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
19730         modules/xgethostname, modules/xalloc: Depend on exit.
19731
19732 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19733
19734         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
19735
19736         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
19737         and AC_MINIX, too, so that their extensions are available.
19738
19739         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
19740         This macro has been superseded by gl_BACKUPFILE.
19741
19742         More patches to assume C89 or better.
19743
19744         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
19745
19746         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
19747         unconditionally.
19748         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
19749         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
19750         Include <string.h>, <stdlib.h> unconditionally.
19751         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
19752         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
19753         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
19754         headers or for string.h.
19755         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
19756         or strtoul.
19757
19758         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
19759         headers.
19760         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
19761         * m4/userspec.m4 (gl_USERSPEC): Likewise.
19762         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
19763         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
19764         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
19765         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
19766         memcpy, memset.
19767         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
19768         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
19769         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
19770         strtol.
19771         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
19772         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
19773         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
19774         strtoul.
19775
19776 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19777
19778         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
19779         * lib/obstack.c [!defined _LIBC]: Likewise.
19780         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
19781         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
19782         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
19783
19784         More changes to assume C89 or better.
19785
19786         * lib/error.c (error_tail): Assume vprintf.
19787
19788         * lib/argmatch.c (getenv): Remove decl.
19789         * lib/progreloc.c (get_full_program_name): Define via prototype.
19790         * lib/setenv.c (clearenv): Likewise.
19791         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
19792         needed.
19793         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
19794         (malloc, memcpy): Remove decls.
19795         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
19796         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
19797         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19798         (memcpy): Remove macro.
19799         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
19800         (__P): Remove.  All uses removed.
19801         (PTR): Remove.  All uses changed to void *.
19802         (CHAR_BIT, NULL): Remove.
19803         (spaces, zeros, memset_space, memset_zero)
19804         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
19805         Remove.
19806         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
19807         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
19808         Define with prototype.
19809         Remove now-unnecessary prototype decl.
19810         (extra_args_spec): Assume ANSI C.  All uses changed.
19811         (extra_args_spec_iso): Remove.
19812         (my_strftime, emacs_strftimeu): Define via prototype.
19813         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
19814         unconditionally.
19815         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
19816         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
19817         (strtoul, strtol): Remove decls.
19818         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
19819         LONG_MAX): Remove.
19820         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19821         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
19822         (LOCALE_PARAM_PROTO): New macro.
19823         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
19824         (INTERNAL (strtol), strtol): Define with a prototype.
19825         (PARAMS): Remove.  All uses removed.
19826         * lib/tempname.c: Include <string.h> unconditionally.
19827         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
19828         * lib/xgethostname.c (main): Define with a prototype.
19829         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
19830         Include <stdlib.h> unconditionally.
19831         (calloc, malloc, realloc, free): Remove decls.
19832         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
19833         Include <stdlib.h> unconditionally.  Sort include file names.
19834         (strtod): Remove.
19835         (xstrtod): Define with a prototype.
19836         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
19837         (strtol, strtoul): Remove decls.
19838
19839 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19840
19841         More patches to assume C89 or better.
19842         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
19843         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
19844         string.h, memchr, STDC_HEADERS.
19845
19846 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19847
19848         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
19849         Include <stdlib.h>, <string.h> unconditionally.
19850         Remove now-unnecessary cast to char *.
19851         * lib/strnlen.c: Include <string.h> unconditionally.
19852         * lib/yesno.c (yesno): Define with a prototype.
19853
19854 2003-09-11  Bruno Haible  <bruno@clisp.org>
19855
19856         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
19857
19858 2003-09-10  Jim Meyering  <jim@meyering.net>
19859
19860         * lib/error.c: Correct indentation of cpp directives.
19861
19862 2003-09-10  Bruno Haible  <bruno@clisp.org>
19863
19864         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
19865         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
19866         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
19867         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
19868         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
19869         <stdlib.h> and <string.h> checks.
19870         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
19871         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
19872
19873 2003-09-10  Bruno Haible  <bruno@clisp.org>
19874
19875         * lib/strcspn.c: Include <string.h> unconditionally.
19876         * lib/strpbrk.c: Include <string.h> unconditionally.
19877         * lib/strstr.c: Include <string.h> unconditionally.
19878         * lib/unicodeio.c: Include <string.h> unconditionally.
19879         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
19880         * lib/unsetenv.c: Likewise.
19881         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
19882         * lib/yesno.c: Include <stdlib.h> unconditionally.
19883         (rpmatch): Add prototype.
19884
19885 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19886
19887         More patches to assume C89 or better.
19888         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
19889         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
19890         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
19891         or for string.h.
19892         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
19893         stdlib.h.
19894         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
19895         C headers.
19896         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
19897         string.h.
19898         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
19899         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
19900         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
19901         or for string.h.
19902         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
19903         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
19904         C headers.
19905         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
19906         memcpy.
19907         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
19908         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
19909         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
19910         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
19911         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
19912         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
19913         string.h, free.
19914         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
19915         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
19916         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
19917         C headers, or for string.h.
19918         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
19919         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
19920         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
19921         headers, memory.h, stdlib.h, string.h, strings.h.
19922         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
19923         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
19924         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
19925         strchr.
19926         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
19927         headers, memory.h, string.h.
19928         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
19929         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
19930         free.
19931         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
19932         headers.
19933         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
19934         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
19935         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
19936         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
19937         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
19938
19939 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19940
19941         More K&R removal.
19942
19943         * lib/acosl.c (main): Use a prototype.
19944         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
19945         tanl.c: Likewise.
19946
19947         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
19948
19949         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
19950         (getopt, etopt_long, getopt_long_only, _getopt_internal)
19951         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
19952         with a prototype.
19953         * lib/getopt.c (const): Remove macro.
19954         Include <string.h> unconditionally.
19955         (my_index): Remove; all uses changed to strchr.
19956         (strlen): Remove decl.
19957         (exchange): Remove forward decl; no longer needed.
19958         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
19959         Define with prototype.
19960         * lib/getopt1.c (const): Remove macro.
19961         (getopt_long, getopt_long_only, main): Define with prototype.
19962
19963         * lib/getugroups.c: Include <string.h> unconditionally.
19964
19965         * lib/getusershell.c: Include <stdlib.h> unconditionally.
19966         (getusershell, setusershell, endusershell, readname, main):
19967         Define with prototypes.
19968
19969         * lib/group-member.c: Include group-member.h first.
19970         Include <stdlib.h> unconditionally.
19971
19972         * lib/hard-locale.c: Include hard-locale.h first.
19973         Include <stdlib.h>, <string.h> unconditionally.
19974
19975         * lib/hash.c (free, malloc): Remove decls.
19976         Include <stdlib.h> unconditionally.
19977
19978         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
19979         (getenv): Do not declare.
19980
19981         * lib/idcache.c: Include <string.h> unconditionally.
19982
19983         * lib/long-options.c: Include long-options.h first, to test interface.
19984         Include <stdlib.h> unconditionally.
19985
19986         * lib/makepath.c: Include makepath.h first, to test interface.
19987         Include <stdlib.h> and <string.h> unconditionally.
19988
19989         * lib/linebuffer.c: Include <stdlib.h>.
19990         (free): Remove decl.
19991
19992         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
19993         stddef.h. rpl_malloc returns void *, not char *.
19994         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
19995         prototype.
19996
19997         * lib/md5.h: Include <limits.h> unconditionally.
19998         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
19999         (__P): Remove; all uses removed.
20000         * lib/md5.c: Include "md5.h" first.
20001         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
20002         md5_buffer, md5_process_bytes, md5_process_block):
20003         Define with prototypes.
20004         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
20005         * lib/sha.c: Include "sha.h" first.
20006         Include <stdlib.h>, <string.h> unconditionally.
20007
20008         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
20009         * lib/memcmp.c (__ptr_t): Likewise.
20010         * lib/memrchr.c (__ptr_t): Likewise.
20011         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
20012         Include <string.h> unconditionally.
20013         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
20014         * lib/memchr.c: Include <stdlib.h> unconditionally.
20015         * lib/memchr.c (LONG_MAX): Remove.
20016         * lib/memrchr.c (LONG_MAX): Likewise.
20017         * lib/memchr.c (__memchr): Define via a prototype.
20018         * lib/memrchr.c (__memrchr): Likewise.
20019         * lib/memcmp.c (__P): Remove, and remove all uses.
20020         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
20021         Remove forward decls; no longer needed.
20022         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
20023         Use types required by C89 in prototype.
20024
20025         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
20026         * lib/savedir.c: Likewise.
20027         * lib/mkdir.c (free): Remove decl.
20028         * lib/rmdir.c (rmdir): Define with a prototype.
20029         * lib/savedir.c: Include savedir.h first, to test interface.
20030
20031         * lib/mktime.c (STDC_HEADERS): Remove.
20032         Include <stdlib.h>, <string.h> unconditionally.
20033
20034         * lib/modechange.c: Include <stdlib.h> unconditionally.
20035         (malloc): Remove decl.
20036
20037         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
20038         (free): Remove decl.
20039
20040         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
20041         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
20042         (This type really should be intptr_t, but that's a C99ism.)
20043         (_obstack_memcpy): Remove: all uses changed to memcpy.
20044         Include <string.h> unconditionally.
20045         (struct obstack): Assume __STDC__ for types of members
20046         chunkfun, freefun, extra_arg.
20047         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
20048         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
20049         obstack_begin, obstack_specify_allocation,
20050         obstack_specify_allocation_with_arg, obstack_chunkfun,
20051         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
20052         Remove unprototyped decls and the macros that use them.
20053         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
20054         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
20055         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
20056         (defined __STDC__ && __STDC__)]:
20057         Remove nonprototyped code.
20058         Include <stdlib.h> unconditionally.
20059         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
20060         _obstack_allocated_p, _obstack_free, obstack_free,
20061         _obstack_memory_used, print_and_abort):
20062         Define using prototypes.
20063         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
20064         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
20065         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
20066         obstack_next_free, obstack_object_size, obstack_room) [0]:
20067         Remove unused, unprototyped code.
20068
20069         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
20070
20071         * lib/physmem.c (physmem_total, physmem_available, main): Define
20072         with prototypes.
20073
20074         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
20075         (main): Define with a prototype.
20076
20077         * lib/posixver.c (getenv): Remove decl.
20078
20079         * lib/putenv.c (malloc): Returns void *, not char *.
20080         Include <string.h> unconditionally.
20081         (strchr, memcpy, NULL): Do not define.
20082
20083         * lib/readtokens.c: Include readtokens.h first, to test interface.
20084         Include <stdlib.h>, <string.h> unconditionally.
20085         (init_tokenbuffer): Define with a prototype.
20086
20087         * lib/regex.c (PARAMS): Remove.  All uses removed.
20088         All uses of _RE_ARGS removed, too.
20089         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
20090         unconditionally.
20091         (bzero): Assume memset exists.
20092         (memcmp, memcpy, NULL): Remove.
20093         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
20094         char, or assignments to local vars of type signed char.
20095         (init_syntax_once, PREFIX(extract_number_and_incr),
20096         PREFIX(print_partial_compiled_pattern),
20097         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
20098         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
20099         PREFIX(regex_grow_registers), PREFIX(regex_compile),
20100         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
20101         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
20102         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
20103         wcs_compile_range, byte_compile_range, truncate_wchar,
20104         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
20105         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
20106         count_mbs_length, wcs_re_match_2_internal,
20107         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
20108         PREFIX(alt_match_null_string_p),
20109         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
20110         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
20111         regfree, PREFIX(extract_number)): Define with prototype.  Remove
20112         now-unnecessary declaration, if any.
20113         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
20114         regcomp, regexec):
20115         Remove now-unnecessary casts among pointer types.
20116         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
20117
20118         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
20119         (free): Remove decl.
20120
20121         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
20122
20123         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
20124         (free): Remove decl.
20125
20126         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
20127         * lib/xgetcwd.c: Likewise.
20128
20129         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
20130         (free): Remove decl.
20131
20132         * lib/strchrnul.c (strchrnul): Define with a prototype.
20133         Fix bug: c_in was not converted to char before searching.
20134
20135         The following changes are not K&R related:
20136
20137         * lib/group-member.h: Include <sys/types.h>, so that this file is
20138         self-contained.
20139         * lib/makepath.h: Likewise.
20140
20141         * lib/getusershell.c (readname, default_index, line_size, readname):
20142         Use size_t, not int, for sizes.
20143         (readname): If the size overflows, report an error instead of
20144         looping forever.
20145
20146 2003-09-09  Paul Eggert  <eggert@twinsun.com>
20147
20148         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
20149         libc.
20150
20151 2003-09-09  Paul Eggert  <eggert@twinsun.com>
20152
20153         * README: New section: portability guidelines.
20154
20155 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
20156
20157         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
20158         C89 spec.
20159
20160 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
20161
20162         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
20163
20164 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20165
20166         Assume C89 or better; remove K&R cruft.
20167         A few of these changes were first proposed by Derek Robert Price
20168         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
20169
20170         * lib/addext.c: Include <string.h> unconditionally.
20171         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
20172         Don't declare getenv or malloc.
20173
20174         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
20175         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
20176         (NULL): Remove.
20177         (find_stack_direction, alloca): Use prototypes.
20178
20179         * lib/atexit.c (atexit): Define using a prototype.
20180
20181         * lib/basename.c, dirname.c, stripslash.c:
20182         Include <string.h> unconditionally.
20183
20184         * lib/bcopy.c: Include <stddef.h>.
20185         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
20186
20187         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
20188
20189         * lib/error.h (error, error_at_line, error_print_progname)
20190         [! (defined (__STDC__) && __STDC__)]: Remove decls.
20191         * lib/error.c: Include error.h first, to check interface.
20192         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
20193         (VA_START): Remove; all uses changeed to va_start.
20194         (exit, strerror): Remove decls.
20195         (error_print_progname): Prototype uncondionally.
20196         Don't include <errno.h>; no longer needed.
20197         (private_strerror): Remove.
20198         (error_tail): Always define.
20199         (error, error_at_line): Assume C89 or better; always use prototypes.
20200         * lib/fatal.c: Include "fatal.h" first, to test interface.
20201         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
20202         (VA_START): Remove; all uses changed to va_start.
20203         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
20204         this case.
20205         (exit): Remove decl.
20206         (fatal): Prototype unconditionally.  Assume va_start works.
20207         Abort at end, to pacify gcc.
20208
20209         * lib/euidaccess.c (main): Define with a prototype.
20210
20211         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
20212
20213         * lib/exitfail.c: Include <stdlib.h> unconditionally.
20214
20215         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
20216         prototypes.
20217         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
20218         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
20219         (getenv): Remove decl.
20220         (fnmatch): Define using a prototype.
20221         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
20222         (FCT): Define using a prototype.
20223
20224         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
20225
20226         * lib/gethostname.c: Include <stddef.h>.
20227         (gethostname): Define with prototype.  Length is size_t, not int.
20228
20229 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20230
20231         Assume C89 or better; remove K&R cruft.
20232         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
20233         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
20234         string.h, getenv, malloc.
20235         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
20236         headers.
20237         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
20238         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
20239         do not check for strerror.
20240         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
20241         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
20242         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
20243         do not check for doprnt or vprintf.
20244         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
20245         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
20246
20247 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20248
20249         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
20250         getversion.c should have been removed then, but was accidentally
20251         preserved.
20252
20253         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
20254         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
20255
20256 2003-09-08  Karl Berry  <karl@gnu.org>
20257
20258         * config/config.sub, config.guess, srclistvars.sh: update from savannah
20259                 config, forget about prep.
20260
20261         * config/depcomp, missing: update from automake.
20262
20263 2003-09-07  Paul Eggert  <eggert@twinsun.com>
20264
20265         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
20266         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
20267
20268 2003-09-07  Paul Eggert  <eggert@twinsun.com>
20269
20270         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
20271         copy_tm_result.  Bug reported by Simon Josefsson in
20272         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
20273
20274 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20275
20276         * m4/time_r.m4: New file.
20277         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
20278         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
20279         is. Check for timegm declaration.
20280         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
20281         Do not check for gmtime_r.
20282         Replace mktime if __mktime_internal does not exist and if mktime
20283         hasn't been replaced already.
20284
20285 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20286
20287         * lib/time_r.c, lib/time_r.h: New files.
20288
20289         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
20290         __localtime_r.
20291         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
20292         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
20293
20294         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
20295         __gmtime_r.
20296         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
20297         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
20298         Include <time_r.h>.
20299
20300         * lib/timegm.c: Switch to glibc implementation, with the following
20301         changes:
20302         [defined HAVE_CONFIG_H]: Include <config.h>.
20303         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
20304         (__mktime_internal) [!defined _LIBC]: New decl.
20305         (__gmtime_r) [!defined _LIBC]: New macro and function.
20306         (timegm): Use a prototype, since gnulib assumes C89.
20307         Do not bother declaring tmp to be const, as it's not really usefu.
20308         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
20309         (timegm): Declare only if HAVE_DECL_TIMEGM.
20310
20311 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20312
20313         * MODULES.html.sh (func_all_modules): Add time_r.
20314         * modules/time_r: New file.
20315         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
20316         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
20317
20318 2003-09-03  Paul Eggert  <eggert@twinsun.com>
20319
20320         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
20321         Bug reported by Lute Kamstra in
20322         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
20323
20324         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
20325         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
20326         course with correspondingly smaller numbers for tomorrow and
20327         yesterday.  From Tadayoshi Funaba.  Originally installed into
20328         sh-utils on 1999-08-07, but the patch got lost (I guess during the
20329         coreutils merge?).
20330
20331 2003-08-31  Simon Josefsson  <jas@extundo.com>
20332
20333         * modules/timegm: New file.
20334         * MODULES.html.sh (func_all_modules): Add timegm.
20335
20336 2003-08-31  Simon Josefsson  <jas@extundo.com>
20337
20338         * m4/timegm.m4: New file.
20339
20340 2003-08-31  Simon Josefsson  <jas@extundo.com>
20341
20342         * lib/timegm.h: New file.
20343         * lib/timegm.c: New file.  Based on
20344         wget-1.8.2/src/http.c:mktime_from_utc.
20345
20346 2003-08-31  Karl Berry  <karl@gnu.org>
20347
20348         * lib/argp.h: update from libc.
20349
20350 2003-08-28  Bruno Haible  <bruno@clisp.org>
20351
20352         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
20353         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
20354         followed by '#define fnmatch fnmatch_posix' gives an error.
20355
20356 2003-08-28  Bruno Haible  <bruno@clisp.org>
20357
20358         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
20359         warning on QNX, which defines O_BINARY to 000000.
20360
20361 2003-08-27  Jim Meyering  <jim@meyering.net>
20362
20363         * m4/mkstemp.m4: Require that the system mkstemp be able to create
20364         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
20365         would fail after 32.  Reported by Danny Levinson.  Details here:
20366         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
20367
20368 2003-08-24  Bruno Haible  <bruno@clisp.org>
20369
20370         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
20371         MSVC7 <stdio.h> is included later.
20372
20373 2003-08-22  Simon Josefsson  <jas@extundo.com>
20374
20375         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
20376
20377 2003-08-20  Karl Berry  <karl@gnu.org>
20378
20379         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
20380
20381 2003-08-20  Bruno Haible  <bruno@clisp.org>
20382
20383         * modules/progname: New file.
20384         * MODULES.html.sh (func_all_modules): Add progname.
20385
20386 2003-08-20  Bruno Haible  <bruno@clisp.org>
20387
20388         * lib/progname.h: New file, from GNU gettext.
20389         * lib/progname.c: New file, from GNU gettext.
20390         * lib/progreloc.c: New file, from GNU gettext.
20391
20392 2003-08-19  Jim Meyering  <jim@meyering.net>
20393
20394         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
20395         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
20396
20397 2003-08-19  Bruno Haible  <bruno@clisp.org>
20398
20399         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
20400         more.
20401
20402 2003-08-19  Bruno Haible  <bruno@clisp.org>
20403
20404         * lib/xstrdup.c: Assume <string.h> exists.
20405
20406 2003-08-18  Paul Eggert  <eggert@twinsun.com>
20407
20408         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
20409         in makefile rules.
20410
20411 2003-08-18  Jim Meyering  <jim@meyering.net>
20412
20413         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
20414         * m4/lib-ld.m4: Likewise.
20415
20416 2003-08-18  Jim Meyering  <jim@meyering.net>
20417
20418         * lib/setenv.h: Indent nested cpp directive.
20419         * lib/vasnprintf.c: Remove trailing blanks.
20420
20421 2003-08-17  Simon Josefsson  <jas@extundo.com>
20422
20423         * modules/xstrndup: New file.
20424         * MODULES.html.sh (func_all_modules): Add xstrndup.
20425
20426 2003-08-17  Simon Josefsson  <jas@extundo.com>
20427
20428         * modules/argp: Fix autoconf macro name. Add more dependencies.
20429
20430 2003-08-17  Simon Josefsson  <jas@extundo.com>
20431
20432         * m4/xstrndup.m4: New file.
20433
20434 2003-08-17  Simon Josefsson  <jas@extundo.com>
20435
20436         * m4/argp.m4: New file.
20437
20438 2003-08-17  Simon Josefsson  <jas@extundo.com>
20439             Bruno Haible  <bruno@clisp.org>
20440
20441         * lib/xstrndup.h: New file.
20442         * lib/xstrndup.c: New file.
20443
20444 2003-08-17  Bruno Haible  <bruno@clisp.org>
20445
20446         * modules/strndup (Files, Include): Add lib/strndup.h.
20447
20448 2003-08-17  Bruno Haible  <bruno@clisp.org>
20449
20450         * modules/euidaccess (Files): Add lib/euidaccess.h.
20451
20452 2003-08-17  Bruno Haible  <bruno@clisp.org>
20453
20454         * lib/strndup.h: New file.
20455
20456 2003-08-17  Bruno Haible  <bruno@clisp.org>
20457
20458         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
20459         like AC_GNU_SOURCE.
20460         * modules/extensions (configure.ac): Comment out the invocation of
20461         gl_USE_SYSTEM_EXTENSIONS.
20462
20463 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20464
20465         Merges from coreutils, etc.
20466         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
20467         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
20468         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
20469         fixing a typo.
20470         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
20471         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
20472
20473 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20474
20475         Document merge from coreutils.
20476         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
20477         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
20478         * modules/utime: Add m4/utimes-null.m4.
20479
20480 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20481
20482         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
20483         space, undoing this 2003-08-12 change:
20484         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20485
20486 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20487
20488         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
20489         strtoul.c from libc, undoing this 2003-08-12 change:
20490         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20491
20492 2003-08-16  Jim Meyering  <jim@meyering.net>
20493
20494         Merges from coreutils.
20495         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
20496         prefix.  Adjust cache variables similarly.  Create 500 rather than
20497         just 300 files, to exercise bug on Darwin6.5, too.
20498         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
20499         $missing_dir.
20500         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
20501         AM_SYS_POSIX_TERMIOS.
20502         Reported by mkc@mathdogs.com.
20503         Also change use of $am_cv_sys_posix_termios
20504         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
20505         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
20506         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
20507         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
20508         in /proc/mounts until it finds one with matching device number.  This
20509         is unnecessary when the FILE argument *is* a mount point.  No stat call
20510         is necessary in that case.  So, disable the statvfs-testing code on
20511         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
20512         as RedHat bug# 84846.
20513         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20514         to 1MB, so as not to render systems with no stack size limit (e.g.,
20515         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20516         Include <unistd.h>.  On some systems,
20517         it is required for the definition of _SC_PAGESIZE.
20518
20519 2003-08-16  Jim Meyering  <jim@meyering.net>
20520
20521         Merge from coreutils.
20522         * lib/xstrtoimax.c: #else #if -> #elif.
20523         * lib/xstrtoumax.c: Likewise.
20524
20525 2003-08-16  Jim Meyering  <jim@meyering.net>
20526
20527         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
20528         * m4/utimes.m4: Removed.
20529         * m4/utimes-null.m4: Renamed from utimes.m4.
20530
20531         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20532         to 1MB, so as not to render systems with no stack size limit (e.g.,
20533         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20534         Include <unistd.h>.  On some systems,
20535         it is required for the definition of _SC_PAGESIZE.
20536
20537 2003-08-16  Jim Meyering  <jim@meyering.net>
20538         and Paul Eggert  <eggert@cs.ucla.edu>
20539
20540         Merges from coreutils, etc.
20541
20542         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
20543         using the latest version from cvs.  This avoids problems with #line
20544         directives using a vendor (Sun) compiler.
20545         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
20546         Don't set GETGROUPS_LIB here; now it's
20547         done via getgroups.m4's wrapper function.
20548         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
20549         rather than just in sh-util/configure.in, so that the
20550         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
20551         same.
20552         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
20553         AC_FUNC_GETLOADAVG where to find getloadavg.c.
20554         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
20555         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
20556         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
20557         Remove code that is now done by the newly-required macros.
20558         Append $(EXEEXT) to DF_PROG.
20559         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
20560         Do not invoke or require the following here,
20561         since prereq.m4 or some gnulib .m4 now does this for us:
20562         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
20563         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
20564         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
20565         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
20566         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
20567         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
20568         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
20569         AC_FUNC_OBSTACK.
20570         Do not replace the following functions, as this is now the job
20571         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
20572         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
20573         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
20574         atexit getpass, strdup, getpagesize.
20575         Replace 'raise'.
20576         Do not check for the following functions, as this is now the job
20577         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
20578         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
20579         setregid.
20580         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
20581         Check for sys/sysctl.h.
20582         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
20583         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
20584         of checking for ssize_t ourselves.
20585
20586         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
20587         Require every macro that gnulib/modules/* suggests for us.
20588         (jm_PREREQ_ADDEXT): New macro.
20589         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
20590         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
20591
20592         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
20593         (gl_PHYSMEM): Use it.
20594         Also check for `table' function.
20595         Check for new headers and functions.
20596         Add check for sys/sysmp.h.
20597         With suggestions from Kaveh Ghazi.
20598         Ignore headers that are present but cannot be compiled.  This
20599         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
20600         C 5.4.
20601
20602 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20603
20604         Document merge from coreutils.
20605         * modules/userspec: Depend on posixver.
20606         * modules/strftime: Depend on tzset.
20607
20608 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20609
20610         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
20611         rather than tab, after '#' in shell-script copyright notices.
20612         Suggested by Bruno Haible.
20613
20614 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20615
20616         * config/srclist-update: Use three spaces, rather than tab, after '#'
20617         in shell-script copyright notices.  Suggested by Bruno Haible.
20618         Remove unnecessary parenthesization in regular expression.
20619
20620 2003-08-15  Jim Meyering  <jim@meyering.net>
20621
20622         Merge from coreutils.
20623         * lib/xgethostname.c: Include <stdlib.h>.
20624         (xghostname): Don't exit for anything other than memory-related
20625         failure; just return NULL.
20626         * lib/userspec.c: Include "posixver.h".
20627         (parse_user_spec): Accept `.' as a separator only
20628         in pre-POSIX-200112 mode.
20629         * lib/strtoimax.c: Use #elif rather than #else #if.
20630         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
20631         Remove function, now that we can rely on a working tzset function.
20632         [!_LIBC]: Ensure that the required autoconf test has been run.
20633         [!defined _NL_CURRENT && HAVE_STRFTIME]:
20634         Use underlying_strftime for %r.
20635         * lib/sha.c: Merge in some clean-up and optimization changes from
20636         glibc.
20637         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
20638         Ensure that it is a multiple of 64.
20639         Rearrange loop exit tests so as to avoid performing an
20640         additional fread after encountering an error or EOF.
20641         * lib/realloc.c: Update copyright date.
20642
20643 2003-08-15  Jim Meyering  <jim@meyering.net>
20644         and Paul Eggert  <eggert@twinsun.com>
20645
20646         Merge from coreutils.
20647         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
20648         member but strut utmpx does not.  Needed for AIX 4.3.3.
20649         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
20650
20651 2003-08-15  Jim Meyering  <jim@meyering.net>
20652         and Paul Eggert  <eggert@cs.ucla.edu>
20653
20654         Merges from coreutils, etc.
20655         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
20656         Require gl_FUNC_TZSET_CLOBBER.
20657         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
20658         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
20659         members.
20660
20661 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20662
20663         Help the merge from coreutils.
20664         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
20665         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
20666         * m4/tzset.m4: Use it too.
20667
20668 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20669
20670         * modules/tzset: New file.
20671
20672 2003-08-14  Jim Meyering  <jim@meyering.net>
20673
20674         Merges from coreutils.
20675         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
20676         variable names, rather than @FNMATCH_H@.
20677         * modules/alloca: Likewise for $(ALLOCA_H).
20678
20679         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
20680         the three copies of the literal target, `fnmatch.h'.
20681         * modules/alloca (alloca.h): Likewise.
20682
20683 2003-08-14  Jim Meyering  <jim@meyering.net>
20684
20685         Merge from coreutils.
20686         * m4/tzset.m4: New file.
20687         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
20688         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
20689         otherwise, AIX 5.1 systems would end up using the latter.
20690         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
20691         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
20692         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
20693         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
20694
20695 2003-08-14  Jim Meyering  <jim@meyering.net>
20696
20697         Merge from coreutils.
20698         * lib/obstack.h: Whitespace changes.
20699         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
20700         and xcalloc return values.
20701         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
20702         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
20703         hang on OSF/1 5.1 for DIR on both local and remote file systems.
20704         Reported by (and fix confirmed by) Nelson H. F. Beebe.
20705         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
20706         error from mntctl.
20707         Use mntctl's return value to drive the entry-processing loop, since
20708         we can't rely on the value of the vmt_length member in the last
20709         entry.  On some systems doing so could result in exhausting
20710         virtual memory.  Based in part on a patch from Mike Jetzer.
20711
20712 2003-08-14  Jim Meyering  <jim@meyering.net>
20713         and Paul Eggert  <eggert@twinsun.com>
20714
20715         Merges from coreutils, plus other fixes.
20716         * lib/physmem.c: Merge in portability changes from gcc/libiberty
20717         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
20718         for credits and details.  Thanks to Kaveh Ghazi for helping
20719         to keep these files in sync.
20720         (ARRAY_SIZE): Define it.
20721         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
20722         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
20723         (memcasecmp): Don't assume size_t fits in unsigned int.
20724         Remove casts and duplicate code.
20725         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
20726         (memcpy): Remove definition.
20727         Merge in some clean-up and optimization changes from glibc.
20728         [BLOCKSIZE]: Move definition to top of file.
20729         Ensure that it is a multiple of 64.
20730         Rearrange loop exit tests so as to avoid performing an
20731         additional fread after encountering an error or EOF.
20732         * lib/md5.h (md5_uintptr): Define.
20733         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
20734         return to the initial working directory.  Preserve errno
20735         for caller.
20736         * lib/idcache.c: Include "xalloc.h".
20737         (xmalloc, xrealloc): Remove decls.
20738         (getuser): Remove casts no longer required in C89.
20739         * lib/human.c: Include stdio.h, for sprintf.
20740         * lib/group-member.c: Include "xalloc.h".
20741         (xmalloc, xrealloc): Remove decls.
20742         (get_group_info): Remove casts no longer required in C89.
20743         * lib/getusershell.c (readname): Remove casts no longer required in
20744         C89.
20745         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
20746         * lib/getline.c: Whitespace fix, from coreutils.
20747
20748 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20749
20750         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
20751         Check for isascii.
20752
20753         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20754         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20755         Undo previous (whitespace-only) change.
20756
20757 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20758
20759         * lib/exclude.c: Include <ctype.h>
20760         (IN_CTYPE_DOMAIN): New macro.
20761         (is_space): New fn.
20762         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
20763         and empty lines.
20764
20765         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20766         Undo previous (whitespace-only) change.
20767
20768 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20769
20770         * config/srclist-update: Change update back to the old behavior,
20771         leaving whitespace alone.  Use one 'sed' command rather than a
20772         pipeline.
20773         (fixlicense): Now a variable, not a function.
20774         (remove_trailing_blanks): Remove.
20775         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
20776         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20777         Undo previous (whitespace-only) change.
20778
20779 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20780
20781         Merge from coreutils.
20782         * modules/euidaccess: Add lib_SOURCES, include for new
20783         file euidaccess.h
20784
20785 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20786
20787         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20788         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20789         Normalize leading white space and remove trailing white space.
20790
20791         Merge from coreutils
20792         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
20793
20794         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
20795         0.12.1.  These files are now being upgraded automatically by
20796         ../config/srclist-update.
20797
20798 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20799
20800         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20801         Normalize leading white space and remove trailing white space.
20802         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
20803         notice, as per ../config/srclist-update.
20804
20805         Merge from coreutils.
20806         * lib/euidaccess.h: New file.
20807         * lib/euidaccess.c: Include it.
20808         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
20809         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
20810         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
20811
20812 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20813
20814         * config/srclist-update: Add copyright notice.
20815         (remove_id_lines, remove_trailing_blanks): New constants.
20816         (fixfile): Use them to normalize spacing a bit in copied files.
20817         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20818         Normalize leading white space and remove trailing white space.
20819
20820         * config/texinfo.tex: Sync with texinfo.
20821
20822         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
20823         strtoul.c from libc, to merge coreutils whitespace changes.
20824
20825         * config/srclist.txt: Get the following m4 files from gettext:
20826         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
20827         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
20828         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
20829         wint_t.m4.
20830
20831 2003-08-12  Karl Berry  <karl@gnu.org>
20832
20833         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
20834         been made.
20835
20836 2003-08-11  Paul Eggert  <eggert@twinsun.com>
20837
20838         * modules/gnu-source, m4/gnu-source.m4:
20839         Remove; we're assuming Autoconf 2.54 or later now.
20840         Suggested by Bruno Haible.
20841         * MODULES.html.sh (func_all_modules): Remove gnu-source.
20842
20843 2003-08-11  Bruno Haible  <bruno@clisp.org>
20844
20845         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
20846
20847 2003-08-11  Bruno Haible  <bruno@clisp.org>
20848
20849         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
20850         (vasnprintf): Use it instead of wcslen.
20851
20852 2003-08-11  Bruno Haible  <bruno@clisp.org>
20853
20854         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
20855         value to ensure that _Bool promotes to int. Use #define for _Bool when
20856         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
20857
20858 2003-08-10  Karl Berry  <karl@gnu.org>
20859
20860         * lib/regex.h: update from libc (whitespace fix).
20861
20862 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20863
20864         Merge some files from coreutils.  These changes were
20865         originally made by Jim Meyering.
20866         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
20867         many older Unixes require this.
20868         * lib/alloca.c (alloca): Remove cast to argument of free;
20869         no longer needed in C89.
20870         * lib/alloca_.h, regex.h: Fix white space to match
20871         what GNU indent does.
20872
20873 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20874
20875         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
20876         apparently Emacs's Unicode mode got confused before my 2003-08-05
20877         checkin.
20878
20879 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20880
20881         * m4/extensions.m4: New file.
20882         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
20883         Require gl_USE_SYSTEM_EXTENSIONS.
20884         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
20885         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
20886
20887 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20888
20889         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
20890         * modules/extensions, modules/gnu-source: New files.
20891         * modules/timespec, modules/unlocked-io: Depend on extensions.
20892
20893 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20894
20895         * modules/restrict: New file.
20896         * MODULES.html.sh (func_all_modules): Add restrict.
20897         * modules/regex: Depend on restrict.
20898
20899 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20900
20901         * m4/restrict.m4: New file.
20902         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
20903
20904 2003-08-07  Bruno Haible  <bruno@clisp.org>
20905
20906         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
20907         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
20908
20909 2003-08-07  Bruno Haible  <bruno@clisp.org>
20910
20911         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
20912         makes the module 'getndelim2' compatible with the module 'getline'.
20913
20914 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20915
20916         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
20917         byte with "\201" to avoid glitches when editing that source file
20918         with multi-gnome-terminal.
20919
20920 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20921
20922         * lib/bumpalloc.h: Remove.
20923
20924 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20925
20926         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
20927         * modules/bumpalloc: Remove.
20928
20929 2003-08-04  Paul Eggert  <eggert@twinsun.com>
20930
20931         * lib/getloadavg.c: Change copyright notice and spacing to conform to
20932         GNU coding style.
20933
20934         Merge from coreutils.
20935         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
20936         1. From glibc.
20937         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
20938         from Karl Berry, implemented by Jim Meyering.
20939         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
20940         from Dmitry V. Levin.
20941         Remove anachronistic cast of xrealloc.
20942         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
20943         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
20944         type. Otherwise, it wouldn't compile with at least /bin/cc on
20945         ymp-cray-unicos9.0.2.X.
20946         Combine two mostly-identical uses of alloca into one.
20947         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
20948
20949 2003-08-04  Dave Love  <d.love@dl.ac.uk>
20950
20951         [From Emacs.]
20952
20953         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
20954         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
20955         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
20956         obsolete NLIST_NAME_UNION.
20957         [__GNU__]: Undef BSD and FSCALE.
20958         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
20959
20960 2003-08-03  Paul Eggert  <eggert@twinsun.com>
20961
20962         * lib/stdbool_.h (_Bool): Make it signed char, instead of
20963         an enum type, so that it's guaranteed to promote to int.  See:
20964         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
20965
20966 2003-08-03  Karl Berry  <karl@gnu.org>
20967
20968         * config/depcomp: update from automake.
20969
20970 2003-07-31  Paul Eggert  <eggert@twinsun.com>
20971
20972         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
20973         (strerror): Don't assume that a printable int fits in 14 bytes.
20974
20975 2003-07-31  Bruno Haible  <bruno@clisp.org>
20976
20977         * modules/getpass-gnu: New file.
20978         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
20979
20980 2003-07-31  Bruno Haible  <bruno@clisp.org>
20981
20982         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
20983
20984 2003-07-24  Karl Berry  <karl@gnu.org>
20985
20986         * config/missing: update from automake.
20987
20988 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
20989             Bruno Haible  <bruno@clisp.org>
20990
20991         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
20992         * lib/getline.c (getline, getdelim): Likewise.
20993         Remove _GNU_SOURCE define; now it's defined in config.h through
20994         m4/getline.m4.
20995
20996 2003-07-23  Karl Berry  <karl@gnu.org>
20997
20998         * config/config.sub: update from prep.
20999
21000 2003-07-22  Paul Eggert  <eggert@twinsun.com>
21001
21002         * modules/xalloc (Depends-on): Add exitfail.
21003         * modules/xmemcoll: Likewise.
21004
21005 2003-07-22  Paul Eggert  <eggert@twinsun.com>
21006
21007         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
21008         over-parenthesization in macros.
21009
21010         Sync with coreutils.
21011
21012         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
21013         required by C99.
21014
21015         Use `exit_failure' for xalloc and xmemcoll instead of their own
21016         private exit-failure variables.
21017         * lib/xalloc.h (xalloc_exit_failure): Remove.
21018         * lib/xmalloc.c: Likewise.  Include exitfail.h.
21019         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
21020         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
21021         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
21022         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
21023
21024 2003-07-20  Jim Meyering  <jim@meyering.net>
21025
21026         * modules/closeout (Depends-on): Add exitfail.
21027         Suggestion from Bruno Haible.
21028
21029 2003-07-19  Karl Berry  <karl@gnu.org>
21030
21031         * config/config.sub: update from prep.
21032
21033 2003-07-18  Paul Eggert  <eggert@twinsun.com>
21034
21035         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
21036         Remove.
21037         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
21038         to test that it can stand by itself.  Include "exitfail.h".
21039         Clients should set exit_failure instead.
21040         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
21041
21042 2003-07-18  Bruno Haible  <bruno@clisp.org>
21043
21044         * modules/getndelim2: New file.
21045         * modules/getline: Share files with module getndelim2.
21046         * modules/getnline: Depend on getndelim2 instead of sharing files with
21047         it. Add getnline.c to lib_SOURCES.
21048         * MODULES.html.sh (func_all_modules): Add getndelim2.
21049
21050 2003-07-18  Bruno Haible  <bruno@clisp.org>
21051
21052         * m4/getndelim2.m4: New file.
21053         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
21054         invoke gl_PREREQ_GETNDELIM2.
21055         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
21056         gl_PREREQ_GETNDELIM2.
21057         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
21058         gl_GETNDELIM2.
21059
21060 2003-07-18  Bruno Haible  <bruno@clisp.org>
21061
21062         * lib/getndelim2.h: New file.
21063         * lib/getndelim2.c: Make into a module of its own. Include config.h,
21064         getndelim2.h.
21065         (getndelim2): Make non-static. Change return type to ssize_t.
21066         * lib/getline.h: Change argument names.
21067         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
21068         * lib/getnline.c: Include getndelim2.h.
21069
21070 2003-07-18  Andreas Schwab  <schwab@suse.de>
21071
21072         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
21073
21074 2003-07-17  Karl Berry  <karl@gnu.org>
21075
21076         * config/config.sub: update from prep.
21077
21078 2003-07-17  Bruno Haible  <bruno@clisp.org>
21079
21080         * modules/getnline: New file.
21081         * modules/getline: Add lib/getndelim2.c to source file list.
21082         * MODULES.html.sh (func_all_modules): Add getnline.
21083
21084 2003-07-17  Bruno Haible  <bruno@clisp.org>
21085
21086         * m4/getnline.m4: New file.
21087
21088 2003-07-17  Bruno Haible  <bruno@clisp.org>
21089
21090         * m4/Makefile.am.in: Remove file.
21091         * m4/Makefile.am: Remove file.
21092         * m4/Makefile.in: Remove file.
21093
21094 2003-07-17  Bruno Haible  <bruno@clisp.org>
21095
21096         * lib/getnline.h: New file.
21097         * lib/getnline.c: New file.
21098         * lib/getndelim2.c: New file, extracted from getline.c.
21099         (getndelim2): Renamed from getdelim2, with added nmax argument.
21100         * lib/getline.c: Include getndelim2.c.
21101         (getdelim2): Moved out to getndelim2.c.
21102         (getline, getdelim): Update.
21103
21104 2003-07-17  Bruno Haible  <bruno@clisp.org>
21105
21106         * lib/Makefile.am: Remove file.
21107         * lib/Makefile.in: Remove file.
21108
21109 2003-07-17  Bruno Haible  <bruno@clisp.org>
21110
21111         * configure.in: Remove file.
21112         * Makefile.in: Remove file.
21113
21114 2003-07-17  Bruno Haible  <bruno@clisp.org>
21115
21116         * MODULES.html.sh: Put the </BODY> right before </HTML>.
21117
21118 2003-07-16  Karl Berry  <karl@gnu.org>
21119
21120         * config/srclist-update: was running fixlicense twice, which caused
21121                 texinfo.tex to be nullified for some reason.  Simplify,
21122                 $gplsrc is no longer needed as far as I can see?
21123
21124 2003-07-16  Jim Meyering  <jim@meyering.net>
21125
21126         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
21127
21128 2003-07-15  Paul Eggert  <eggert@twinsun.com>
21129
21130         * config/srclist.txt: Get the following files from gettext-runtime/intl
21131         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
21132         ref-del.sin.  From Bruno Haible.
21133         * config/srclist-update (fixfile): Change grep pattern again, since the
21134         previous fix didn't work (there was another trailing $).  Use
21135         '[$]' to escape the $s.
21136
21137 2003-07-15  Karl Berry  <karl@gnu.org>
21138
21139         * lib/vasnprintf.c: update from gettext.
21140
21141 2003-07-15  Karl Berry  <karl@gnu.org>
21142
21143         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
21144         gets expanded when surrounded by '$'.
21145
21146 2003-07-15  Jim Meyering  <jim@meyering.net>
21147
21148         * modules/save-cwd: Don't depend on error.  From Derek Price.
21149
21150 2003-07-15  Jim Meyering  <jim@meyering.net>
21151
21152         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
21153
21154 2003-07-14  Simon Josefsson  <jas@extundo.com>
21155
21156         * modules/mempcpy: New file.
21157         * MODULES.html.sh (func_all_modules): Add mempcpy.
21158
21159 2003-07-14  Simon Josefsson  <jas@extundo.com>
21160
21161         * m4/mempcpy.m4: New file.
21162
21163 2003-07-14  Simon Josefsson  <jas@extundo.com>
21164
21165         * lib/mempcpy.h: New file.
21166         * lib/mempcpy.c: New file.
21167
21168 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21169
21170         * modules/getdate, modules/posixtm: Depend on mktime.
21171
21172 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21173
21174         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
21175         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
21176         unicodeio.c, unicodeio.h, unlocked-io.h:
21177         Switch from LGPL to GPL.
21178
21179 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21180
21181         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
21182         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
21183         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
21184         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
21185         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
21186         updated automatically by ../config/srclist-update.  This changes
21187         their license from LPGL to GPL.
21188
21189 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21190
21191         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
21192         assumed to refer to the root of the most recent stable gettext version.
21193         * config/srclistvars.sh: Add defaults for eggert.
21194         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
21195         Match "This program" as well as "The program".  This is needed
21196         for gettext.
21197
21198 2003-07-14  Jim Meyering  <jim@meyering.net>
21199
21200         Don't emit diagnostics.  Let callers do that.
21201         * lib/save-cwd.c: Don't include "error.h".
21202         (save_cwd): Don't call error.  Ensure that errno is valid
21203         when returning nonzero.
21204
21205         * lib/save-cwd.h (restore_cwd): Update prototype.
21206         * lib/save-cwd.c (restore_cwd): Remove two parameters.
21207         Simplify.  Don't call error upon failure.  Let callers do that.
21208         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
21209         when auditing is enabled.  But don't bother updating the #if.
21210
21211 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
21212
21213         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
21214         it breaks C++ compilation.
21215         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
21216
21217 2003-07-10  Simon Josefsson  <jas@extundo.com>
21218
21219         * modules/strchrnul (Makefile.am): Add strchrnul.h.
21220
21221 2003-07-10  Jim Meyering  <jim@meyering.net>
21222
21223         * m4/clock_time.m4: Remove trailing blank.
21224         * m4/intmax_t.m4: Likewise.
21225
21226 2003-07-10  Jim Meyering  <jim@meyering.net>
21227
21228         * lib/vasnprintf.c: Remove trailing blanks.
21229         Make cpp indentation consistent.
21230
21231 2003-07-09  Paul Eggert  <eggert@twinsun.com>
21232
21233         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
21234         posixver.c, strftime.c, strnlen.c, strverscmp.c:
21235         Switch from LGPL to GPL.
21236
21237 2003-07-09  Paul Eggert  <eggert@twinsun.com>
21238
21239         * config/srclist.txt: Sort sublists.  Add
21240         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
21241         that differ from gnulib for one reason or another; we'd like this list
21242         to be smaller but for now let's document what we have.
21243
21244 2003-07-08  Paul Eggert  <eggert@twinsun.com>
21245
21246         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
21247         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
21248         and sweeter "eval x=$x".
21249         * config/srclist.txt: Get lib/argp* from glibc.
21250
21251 2003-07-07  Paul Eggert  <eggert@twinsun.com>
21252
21253         * lib/mktime.c: Fix some boundary cases and remove need for floating
21254         point.
21255
21256         Issue a compile-time diagnostic if time_t is floating point, or if
21257         two's complement arithmetic is not in effect, or if arithmetic
21258         right shift does not propagate the sign.  These assumptions were
21259         all in the original code but they weren't checked.
21260
21261         (TIME_T_MIDPOINT, verify): New macros.
21262         (__isleap): Remove; it has integer overflow problems.
21263         (leapyear): New function, without those problems.
21264         (ydhms_tm_diff): Remove; splitting into two parts.
21265         (ydhms_diff): New function, containing the arithmetic part of
21266         the old ydhms_tm_diff function.  Issue a compile-time
21267         diagnostic if we are not using C99 integer division.
21268         Avoid casts when possible.
21269         (guess_time_tm): New function, containing the checking part of
21270         the old ydhms_tm_diff function.  Return the new value, rather than
21271         the difference between it and the old.  Accept a new argument T
21272         so that *T specifies the old value.  Check for overflow in the result.
21273
21274         (__mktime_internal): Use a time_t offset, not a long int offset.
21275         This undoes the 2003-06-04 change, which is no longer needed now
21276         that we have better overflow checking.
21277         (localtime_offset): Likewise.
21278
21279         (__mktime_internal): Avoid harmful overflow on hosts where time_t
21280         and long are 64-bit but int is only 32-bit.
21281         (ydhms_diff): Use long int to store year1 and yday1.
21282         Issue a compile-time diagnostic if long int is not wide enough.
21283
21284         (__mktime_internal): Use long int to store adjusted year and yday.
21285         Use plain C rather than preprocessor commands, if that doesn't
21286         affect efficiency.
21287         Check for overflow (and try to repair) after each probe
21288         rather than checking only at the very end.  This avoids some bugs
21289         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
21290         does not equal GMT offset at maximum time).
21291         Use integer to check for overflow rather than floating point; this
21292         is more portable to non-IEEE hosts, and is a tad faster.
21293         When we detect that we are oscillating between two values,
21294         don't check whether tm_isdst has the requested value, since
21295         we already know the answer.  When tm_isdst has the wrong value,
21296         use a different heuristic to find the right one, based on the
21297         extreme values actually observed in practice in tz2003a,
21298         rather than the (overly optimistic) "previous 3 calendar quarters".
21299
21300         (not_equal_tm, print_tm, check_result): Use "const T" rather than
21301         "T const" to accommodate glibc style.
21302         (check_result): Use less-confusing report format.  "long" -> "long int.
21303         (main): Likewise.
21304         Don't loop if the iteration overflows time_t.
21305         Allow a negative step in the iteration.
21306
21307 2003-07-06  Karl Berry  <karl@gnu.org>
21308
21309         * config/depcomp: update from automake.
21310         * config/config.sub: update from prep.
21311
21312 2003-07-03  Karl Berry  <karl@gnu.org>
21313
21314         * config/config.guess: update from prep.
21315
21316 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21317
21318         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
21319         xreadlink.c now includes it unconditionally.
21320
21321 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21322
21323         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
21324         having it depend on HAVE_SYS_TYPES_H.
21325
21326 2003-07-01  Bruno Haible  <bruno@clisp.org>
21327
21328         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
21329         <sys/types.h> should be sufficient.
21330         Reported by Paul Eggert.
21331
21332 2003-06-26  Karl Berry  <karl@gnu.org>
21333
21334         * config/depcomp: update from automake.
21335
21336 2003-06-26  Bruno Haible  <bruno@clisp.org>
21337
21338         * modules/human: Depend on module stdbool.
21339
21340 2003-06-25  Bruno Haible  <bruno@clisp.org>
21341
21342         * modules/readlink: New file.
21343         * modules/xreadlink: Depend on it.
21344         * MODULES.html.sh (func_all_modules): Add readlink.
21345
21346 2003-06-25  Bruno Haible  <bruno@clisp.org>
21347
21348         * m4/readlink.m4: New file.
21349
21350 2003-06-25  Bruno Haible  <bruno@clisp.org>
21351
21352         * lib/readlink.c: New file.
21353
21354 2003-06-22  Karl Berry  <karl@gnu.org>
21355
21356         * config/srclist.txt: update mkinstalldirs from automake.
21357         * config/mkinstalldirs: update.
21358
21359 2003-06-22  Bruno Haible  <bruno@clisp.org>
21360
21361         Portability to mingw32.
21362         * m4/ssize_t.m4: New file, from GNU gettext.
21363         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
21364         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
21365
21366 2003-06-22  Bruno Haible  <bruno@clisp.org>
21367
21368         * modules/safe-read: Add m4/ssize_t.m4.
21369         * modules/xreadlink: Add m4/ssize_t.m4.
21370
21371 2003-06-20  Bruno Haible  <bruno@clisp.org>
21372
21373         Assume C89, so PARAMS isn't needed.
21374         * lib/unicodeio.h (PARAMS): Remove.
21375         * lib/unicodeio.c: Don't use PARAMS.
21376
21377 2003-06-18  Karl Berry  <karl@gnu.org>
21378
21379         * config/config.{guess,sub}: update from prep.
21380
21381 2003-06-18  Jim Meyering  <jim@meyering.net>
21382
21383         Merge changes from coreutils.
21384         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
21385         Remove explicit declarations of xmalloc and realloc.
21386         Include xalloc.h.
21387         (read_utmp): Remove anachronistic cast of xmalloc.
21388
21389 2003-06-17  Paul Eggert  <eggert@twinsun.com>
21390
21391         Assume C89, so PARAMS isn't needed.
21392         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
21393         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
21394         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
21395         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
21396         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
21397         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
21398         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
21399         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
21400         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
21401         lib/xstrtod.h, lib/xstrtol.h: Likewise.
21402         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
21403         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
21404         no longer needed. Anyway, config.h should always be included before any
21405         other file.
21406
21407 2003-06-11  Simon Josefsson  <jas@extundo.com>
21408
21409         * modules/sysexits: New file.
21410         * MODULES.html.sh (func_all_modules): Add sysexits.
21411
21412 2003-06-11  Simon Josefsson  <jas@extundo.com>
21413
21414         * lib/sysexit_.h: New file.
21415
21416 2003-06-11  Derek Price  <derek@ximbiot.com>
21417
21418         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
21419         necessary.
21420
21421 2003-06-11  Bruno Haible  <bruno@clisp.org>
21422
21423         * m4/sysexits.m4: New file.
21424
21425 2003-06-10  Simon Josefsson  <jas@extundo.com>
21426
21427         * lib/argp.h: New file, from glibc.
21428         * lib/argp-ba.c: New file, from glibc.
21429         * lib/argp-eexst.c: New file, from glibc.
21430         * lib/argp-fmtstream.c: New file, from glibc.
21431         * lib/argp-fmtstream.h: New file, from glibc.
21432         * lib/argp-fs-xinl.c: New file, from glibc.
21433         * lib/argp-help.c: New file, from glibc.
21434         * lib/argp-namefrob.h: New file, from glibc.
21435         * lib/argp-parse.c: New file, from glibc.
21436         * lib/argp-pv.c: New file, from glibc.
21437         * lib/argp-pvh.c: New file, from glibc.
21438         * lib/argp-xinl.c: New file, from glibc.
21439
21440 2003-06-10  Simon Josefsson  <jas@extundo.com>
21441
21442         * modules/strchrnul: New file.
21443
21444 2003-06-10  Simon Josefsson  <jas@extundo.com>
21445
21446         * modules/argp: New file.
21447
21448 2003-06-10  Simon Josefsson  <jas@extundo.com>
21449
21450         * m4/strchrnul.m4: New file.
21451
21452 2003-06-10  Simon Josefsson  <jas@extundo.com>
21453
21454         * lib/strchrnul.h: New file.
21455         * lib/strchrnul.c: New file.
21456
21457 2003-06-10  Bruno Haible  <bruno@clisp.org>
21458
21459         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
21460
21461 2003-06-07  Karl Berry  <karl@gnu.org>
21462
21463         * config/config.{guess,sub}: update from prep.
21464
21465 2003-06-07  Jim Meyering  <jim@meyering.net>
21466
21467         * modules/strtod: Use $(...) notation, not @...@ for
21468         AC_REPLACE'd variables.
21469         * modules/localcharset: Likewise.
21470
21471 2003-06-07  Jim Meyering  <jim@meyering.net>
21472
21473         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
21474         in place of my name in the copyright comment.
21475         Remove definition and uses of __P.
21476
21477         From coreutils.
21478         * lib/stat.c: Don't declare xmalloc explicitly.
21479         Instead, include "xalloc.h".
21480         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
21481         xrealloc, and xcalloc return values.
21482         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
21483         Improve comment.
21484         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
21485
21486 2003-06-07  Bruno Haible  <bruno@clisp.org>
21487
21488         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
21489         avoid AC_CONFIG_LINKS.
21490         * modules/fnmatch (Makefile.am): Use explicit creation rule for
21491         fnmatch.h, to avoid AC_CONFIG_LINKS.
21492         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
21493
21494 2003-06-07  Bruno Haible  <bruno@clisp.org>
21495
21496         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
21497         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
21498         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21499         directory.
21500         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
21501         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21502         directory.
21503
21504 2003-06-06  Jim Meyering  <jim@meyering.net>
21505
21506         Merge from coreutils.
21507         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
21508         Consolidate declarations and initializations of *_base* locals.
21509
21510         Merge from coreutils.
21511         This avoids a core dump on systems without GNU putenv,
21512         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
21513         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
21514         (unsetenv): New static function, from GNU libc.
21515         (rpl_putenv): Use it.
21516
21517         * lib/modechange.c: Remove trailing blanks.
21518
21519         Merge from coreutils.
21520         * lib/fsusage.c: Remove declaration of statfs.
21521         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
21522
21523         * lib/posixtm.c: Include <stdbool.h> unconditionally.
21524
21525 2003-06-06  Jim Meyering  <jim@meyering.net>
21526
21527         * lib/stdbool_.h: Renamed from stdbool.h.in.
21528
21529 2003-06-06  Jim Meyering  <jim@meyering.net>
21530             Bruno Haible  <bruno@clisp.org>
21531
21532         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
21533         Adjust Makefile.am snippet not to redirect directly to target.
21534         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
21535
21536 2003-06-05  Paul Eggert  <eggert@twinsun.com>
21537
21538         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
21539         mismatch, look in future quarters as well as past.  This fixes a
21540         bug when processing fall-backwards gaps immediately after a long
21541         period of daylight-saving time.
21542
21543         * lib/mktime.c: Assume freestanding C89 or better.
21544         (HAVE_LIMITS_H): Remove.  Assume it's 1.
21545         (__P): Remove; not used.
21546         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
21547         (mktime, not_equal_tm, print_tm, check_result,
21548         main): Use prototypes.  Use const * where appropriate.
21549         (main): Fix typo in testing code that uncovered by above changes.
21550         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
21551
21552 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21553
21554         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
21555         locale.h, localeconv.  This merges changes from coreutils.
21556
21557         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
21558         It can be removed after the next Autoconf is released.
21559         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
21560         needed.
21561
21562 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21563
21564         * lib/mktime.c: Fix Debian bug 177940
21565         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
21566         (localtime_offset): Now long int, not time_t, because we want it
21567         to be guaranteed to be signed.  All uses changed.
21568         (__mktime_internal): If overflow would occur when adding offset,
21569         don't add it.
21570
21571         Merge 'human' changes from coreutils.  Rewrite to support
21572         locale-specific notations like thousands separators.
21573         * lib/human.c: Simplify authorship notice.
21574         Include human.h immediately after config.h.
21575         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
21576         <limits.h>: Do not include, since human.h does.
21577         (SIZE_MAX, UINTMAX_MAX): New macros.
21578         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
21579         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
21580         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
21581         (power_letter): Renamed from suffixes.
21582         (generate_suffix_backwards): Remove.
21583         (adjust_value): Now takes int style (because of human.h changes)
21584         and long double value (for greater precision on some platforms).
21585         (group_number): New function.
21586         (human_readable): Use it.  Use integer options, not enum.
21587         Put the options before the sizes in the arg list.
21588         Support all the new options.
21589         The old human_readable function has been removed;
21590         use inttostr.h instead.
21591         (human_readable, default_block_size, humblock):
21592         Use uintmax_t, not int, for block sizes.
21593         (human_readable_inexact, block_size_types): Remove.
21594         (block_size_opts): New constant.
21595         (human_options): Renamed from human_block_size, with new signature
21596         that allows block sizes up to UINTMAX_MAX.  All callers changed.
21597         * lib/human.h: Add copyright and authorship notice.
21598         Include <limits.h> and <stdbool.h> unconditionally.
21599         (PARAMS): Remove.  All uses removed.
21600         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
21601         (enum human_inexact_style): Remove tag; now a nameless enum.
21602         (human_floor, human_ceiling, human_round_to_even): Now have
21603         values 2, 0, 1 rather than -1, 1, 0.
21604         (human_group_digits, human_suppress_point_zero, human_autoscale,
21605         human_base_1024, human_SI, human_B): New constants.
21606         (human_readable_inexact, human_block_size): Remove.
21607         (human_readable): Size args are now uintmax_t, not int.
21608         (human_options): New decl.
21609
21610         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
21611         unnecessary now that we assume C89 or better.  This change
21612         imported from coreutils.
21613
21614         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21615         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
21616         in the 2003-05-30 sync from glibc.
21617
21618         .h files should stand alone, but we shouldn't include <sys/types.h>
21619         if we can get away with just <stddef.h>.
21620
21621         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
21622         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
21623         rather than <sys/types.h>, as we merely need size_t.
21624         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
21625         to get size_t.
21626         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
21627         Include <stdio.h>, to get FILE.
21628         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
21629         memcasecmp.h has included <stddef.h> and all we need is size_t.
21630         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
21631         our interface, instead of including <sys/types.h>
21632
21633 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21634
21635         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
21636         now, as glibc mktime is buggy on non-glibc systems.
21637
21638 2003-06-03  Karl Berry  <karl@gnu.org>
21639
21640         * config/config.sub: update from prep.
21641
21642 2003-06-02  Paul Eggert  <eggert@twinsun.com>
21643
21644         [from coreutils]
21645         Fix some minor time-related bugs with POSIX time arguments.
21646         Some valid time stamps were being rejected (notably -1, and
21647         time stamps before 1900 on 64-bit hosts).  And some invalid
21648         time stamps were being accepted, e.g. September 31.
21649
21650         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
21651         that we can return (time_t) -1 successfully.
21652         * lib/posixtm.c: Likewise.
21653         [HAVE_STDBOOL_H]: Include <stdbool.h>.
21654         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
21655         (t): Remove static var.
21656         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
21657         of static var.  All uses changed.
21658         (year): Do not reject years before 1900; they can occur with
21659         64-bit time_t.
21660         (posix_time_parse): Do not check for out-of-range components;
21661         that is now the caller's responsibility, since our checks were
21662         only approximations.
21663         (posixtime): Use mktime to check for out-of-range components,
21664         since it knows them exactly.
21665         If mktime returns (time_t) -1, check whether an error actually occurred
21666         by invoking localtime on -1.
21667         (main) [TEST_POSIXTIME]: Check for input data errors, and report
21668         posixtime failures better.
21669         Improve the test data (in comments only).
21670
21671 2003-06-02  Karl Berry  <karl@gnu.org>
21672
21673         * config/mkinstalldirs (version): new variable.
21674         (--version): new option.
21675         (usage): improve message.
21676
21677 2003-05-30  Karl Berry  <karl@gnu.org>
21678
21679         * lib/mktime.c: update from libc.
21680
21681 2003-05-30  Bruno Haible  <bruno@clisp.org>
21682
21683         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
21684         * config/config.rpath: Upgrade to gettext-0.12.1.
21685
21686 2003-05-30  Bruno Haible  <bruno@clisp.org>
21687
21688         * m4/gettext.m4: Upgrade to gettext-0.12.1.
21689         * m4/nls.m4: New file, from gettext-0.12.1.
21690         * m4/po.m4: New file, from gettext-0.12.1.
21691         * m4/progtest.m4: Upgrade to gettext-0.12.1.
21692
21693 2003-05-30  Bruno Haible  <bruno@clisp.org>
21694
21695         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
21696         * lib/localcharset.h: Likewise.
21697         * lib/localcharset.c: Likewise.
21698
21699 2003-05-29  Karl Berry  <karl@gnu.org>
21700
21701         * config/config.rpath: update from gettext.
21702
21703 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21704
21705         Assume the headers required for C89 freestanding compilers.
21706         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
21707         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
21708         * m4/human.m4 (gl_HUMAN): Likewise.
21709         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
21710         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
21711         * m4/userspec.m4 (gl_USERSPEC): Likewise.
21712         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
21713         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
21714         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
21715
21716 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21717
21718         Assume the headers required for C89 freestanding compilers.
21719         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
21720         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
21721         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
21722         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
21723         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
21724         define, since <limits.h> is guaranteed to do that.
21725         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
21726         * lib/exclude.c: Include <stdbool.h> unconditionally.
21727         * lib/tempname.c: Include <stddef.h> unconditionally.
21728         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
21729         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
21730         <stddef.h> does that.
21731         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
21732         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
21733         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
21734         needed.
21735         * lib/xstrtol.c: Likewise.
21736         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
21737         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
21738
21739         * lib/addext.c (addext): Use assignment rather than cast, to avoid
21740         warnings on some platforms.
21741
21742         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21743         arbitrarily.
21744
21745 2003-05-26  Jim Meyering  <jim@meyering.net>
21746
21747         Merge in a change from coreutils:
21748         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
21749         that is guaranteed to be `no'.  Use `no_such_member' to indicate
21750         that condition, rather than `-1' which is slightly misleading.
21751         Change the name of the cache variable to have the gl_ prefix.
21752         Prompted by a patch from Richard Dawe for DJGPP.
21753
21754 2003-05-24  Karl Berry  <karl@gnu.org>
21755
21756         * config/config.guess: update from prep.
21757
21758 2003-05-22  Karl Berry  <karl@gnu.org>
21759
21760         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
21761
21762 2003-05-20  Karl Berry  <karl@gnu.org>
21763
21764         * config/config.guess: update from prep.
21765
21766 2003-05-18  Karl Berry  <karl@gnu.org>
21767
21768         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
21769         might actually be set by the user.
21770
21771         * config/depcomp, install-sh, mdate-sh: update from automake.
21772
21773 2003-05-17  Bruno Haible  <bruno@clisp.org>
21774
21775         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
21776         invalid expansion for AC_EGREP_CPP.
21777         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21778         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21779         Suggested by Akim Demaille <akim@epita.fr> in
21780         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
21781
21782 2003-05-12  Jim Meyering  <jim@meyering.net>
21783
21784         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
21785         the space-padded-by-default conversion specifiers, %e, %k, %l.
21786
21787 2003-05-12  Bruno Haible  <bruno@clisp.org>
21788
21789         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
21790         the string is longer than 4 KB.
21791
21792 2003-05-11  Karl Berry  <karl@gnu.org>
21793
21794         * config/config.{guess,sub}: update from prep.
21795
21796 2003-05-09  Bruno Haible  <bruno@clisp.org>
21797
21798         * modules/error: Add m4/strerror_r.m4 to file list.
21799
21800 2003-05-03  Bruno Haible  <bruno@clisp.org>
21801
21802         Upgrade to Unicode-4.0.
21803         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
21804         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
21805         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
21806         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
21807         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
21808         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
21809         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
21810         Change width of U+E0100..U+E01EF from 1 to 0.
21811
21812 2003-04-25  Jim Meyering  <jim@meyering.net>
21813
21814         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
21815         of type size_t, not int.
21816
21817 2003-04-25  Bruno Haible  <bruno@clisp.org>
21818
21819         * lib/copy-file.c: Include <stddef.h>, for size_t.
21820
21821 2003-04-21  Paul Eggert  <eggert@twinsun.com>
21822
21823         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
21824         code which expansion is under static control.  Patch imported from
21825         Akim Demaille's patch to Bison; see
21826         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
21827
21828 2003-04-14  Bruno Haible  <bruno@clisp.org>
21829
21830         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
21831
21832 2003-04-11  Jim Meyering  <jim@meyering.net>
21833
21834         Merge changes from Coreutils.
21835
21836         2003-03-22  Jim Meyering  <jim@meyering.net>
21837
21838         * lib/strftime.c (widen): Cast alloca return value to proper type.
21839
21840         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
21841
21842         From GNU libc.
21843         * lib/strftime.c (my_strftime): Handle very large width
21844         specifications for numeric values correctly.  Improve checks for
21845         overflow.
21846
21847         2003-01-19  Jim Meyering  <jim@meyering.net>
21848
21849         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
21850         definitions.
21851         (nl_get_alt_digit) [! defined my_strftime]: Define.
21852         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
21853         _nl_get_alt_digit and _nl_get_walt_digit.
21854
21855         * lib/strftime.c (my_strftime): Merge in locale-related changes from
21856         libc. These changes have no effect outside of _LIBC.
21857
21858 2003-04-10  Bruno Haible  <bruno@clisp.org>
21859
21860         * modules/findprog: New file.
21861         * MODULES.html.sh (func_all_modules): Add it.
21862
21863 2003-04-10  Bruno Haible  <bruno@clisp.org>
21864
21865         * m4/findprog.m4: New file.
21866         * m4/eaccess.m4: New file.
21867
21868 2003-04-10  Bruno Haible  <bruno@clisp.org>
21869
21870         * lib/findprog.h: New file, from GNU gettext.
21871         * lib/findprog.c: New file, from GNU gettext.
21872
21873 2003-04-05  Jim Meyering  <jim@meyering.net>
21874
21875         Merge changes from Coreutils.
21876
21877         * lib/exclude.h (PARAMS): Remove definition and uses.
21878         * lib/exclude.c: Remove uses of `PARAMS'.
21879
21880         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
21881         Add test-cases for DOS filenames. Declare program_name.
21882         (main): Set up program_name.  Patch by Rich Dawe.
21883
21884         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
21885         error from mntctl.
21886         Use mntctl's return value to drive the entry-processing loop, since
21887         we can't rely on the value of the vmt_length member in the last
21888         entry.  On some systems doing so could result in exhausting
21889         virtual memory.  Based in part on a patch from Mike Jetzer.
21890
21891 2003-04-04  Bruno Haible  <bruno@clisp.org>
21892
21893         * modules/linebreak: New file.
21894         * MODULES.html.sh (func_all_modules): Add it.
21895
21896 2003-04-04  Bruno Haible  <bruno@clisp.org>
21897
21898         * m4/linebreak.m4: New file.
21899
21900 2003-04-04  Bruno Haible  <bruno@clisp.org>
21901
21902         * lib/linebreak.h: New file, from GNU gettext.
21903         * lib/linebreak.c: New file, from GNU gettext with slight
21904         modifications.
21905         * lib/lbrkprop.h: New file, from GNU gettext.
21906
21907 2003-04-03  Bruno Haible  <bruno@clisp.org>
21908
21909         * modules/utf8-ucs4: New file.
21910         * modules/utf16-ucs4: New file.
21911         * modules/ucs4-utf8: New file.
21912         * modules/ucs4-utf16: New file.
21913         * MODULES.html.sh (func_all_modules): Add them.
21914
21915 2003-04-03  Bruno Haible  <bruno@clisp.org>
21916
21917         * m4/utf-ucs4.m4: New file.
21918         * m4/ucs4-utf.m4: New file.
21919
21920 2003-04-03  Bruno Haible  <bruno@clisp.org>
21921
21922         * lib/utf8-ucs4.h: New file, from GNU gettext.
21923         * lib/utf16-ucs4.h: New file, from GNU gettext.
21924         * lib/ucs4-utf8.h: New file, from GNU gettext.
21925         * lib/ucs4-utf16.h: New file, from GNU gettext.
21926
21927 2003-04-02  Bruno Haible  <bruno@clisp.org>
21928
21929         * modules/binary-io: New file.
21930         * MODULES.html.sh (func_all_modules): Add it.
21931
21932 2003-04-02  Bruno Haible  <bruno@clisp.org>
21933
21934         * lib/binary-io.h: New file, from GNU gettext.
21935
21936 2003-04-01  Bruno Haible  <bruno@clisp.org>
21937
21938         * modules/pathname: New file.
21939         * MODULES.html.sh (func_all_modules): Add it.
21940
21941 2003-04-01  Bruno Haible  <bruno@clisp.org>
21942
21943         * lib/pathname.h: New file, from GNU gettext.
21944         * lib/concatpath.c: New file, from GNU gettext.
21945
21946 2003-03-30  Bruno Haible  <bruno@clisp.org>
21947
21948         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
21949
21950 2003-03-30  Bruno Haible  <bruno@clisp.org>
21951
21952         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
21953         function chown() doesn't exist.
21954
21955 2003-03-28  Bruno Haible  <bruno@clisp.org>
21956
21957         * modules/copy-file: New file.
21958         * MODULES.html.sh (func_all_modules): Add it.
21959
21960 2003-03-28  Bruno Haible  <bruno@clisp.org>
21961
21962         * m4/copy-file.m4: New file.
21963
21964 2003-03-28  Bruno Haible  <bruno@clisp.org>
21965
21966         * lib/copy-file.h: New file, from GNU gettext.
21967         * lib/copy-file.c: New file, from GNU gettext.
21968
21969 2003-03-18  Jim Meyering  <jim@meyering.net>
21970
21971         * lib/quote.c (quote_n): Fix typo in comment.
21972
21973 2003-03-18  Bruno Haible  <bruno@clisp.org>
21974
21975         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
21976         checking.
21977         * m4/onceonly_2_57.m4: Likewise.
21978
21979 2003-03-17  Bruno Haible  <bruno@clisp.org>
21980
21981         * m4/onceonly.m4: Require autoconf 2.54 or newer.
21982         (m4_quote): Remove macro.
21983         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
21984
21985 2003-03-14  Jim Meyering  <jim@meyering.net>
21986
21987         Merge changes from Coreutils.
21988         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
21989         to be const, in order to avoid warnings.
21990         (obstack_room): Likewise.
21991         (obstack_empty_p): Likewise.
21992
21993 2003-03-14  Bruno Haible  <bruno@clisp.org>
21994
21995         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
21996         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
21997
21998 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21999
22000         Merge changes from Bison.
22001         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
22002         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
22003         when compiling Bison 1.875's `bitset bset = obstack_alloc
22004         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
22005         * lib/hash.c: Include <stdbool.h> unconditionally.
22006
22007 2003-03-13  Paul Eggert  <eggert@twinsun.com>
22008
22009         * m4/onceonly.m4 (m4_quote): New macro.
22010         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
22011         Quote AC_FOREACH variable-expansions properly.
22012
22013 2003-03-13  Paul Eggert  <eggert@twinsun.com>
22014
22015         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
22016
22017 2003-03-09  Paul Eggert  <eggert@twinsun.com>
22018
22019         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
22020         Reported by Bruce Becker; see:
22021         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
22022
22023 2003-03-03  Paul Eggert  <eggert@twinsun.com>
22024             Bruno Haible  <bruno@clisp.org>
22025
22026         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
22027         Reported by John Hughes, see
22028         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
22029
22030 2003-02-20  Bruno Haible  <bruno@clisp.org>
22031
22032         * MODULES.html.sh (func_all_modules): Add poll.
22033
22034 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
22035
22036         * modules/poll: New file.
22037
22038 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
22039
22040         * lib/poll_.h: New file.
22041         * lib/poll.c: New file.
22042
22043 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
22044
22045         * m4/poll.m4: New file.
22046
22047 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
22048
22049         * modules/mathl: New file.
22050
22051 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
22052
22053         * lib/mathl.h: New file.
22054         * lib/acosl.c: New file.
22055         * lib/asinl.c: New file.
22056         * lib/atanl.c: New file.
22057         * lib/ceill.c: New file.
22058         * lib/cosl.c: New file.
22059         * lib/expl.c: New file.
22060         * lib/floorl.c: New file.
22061         * lib/frexpl.c: New file.
22062         * lib/ldexpl.c: New file.
22063         * lib/logl.c: New file.
22064         * lib/sincosl.c: New file.
22065         * lib/sinl.c: New file.
22066         * lib/sqrtl.c: New file.
22067         * lib/tanl.c: New file.
22068         * lib/trigl.c: New file.
22069         * lib/trigl.h: New file.
22070
22071 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
22072
22073         * m4/mathl.m4: New file.
22074
22075 2003-02-18  Bruno Haible  <bruno@clisp.org>
22076
22077         * MODULES.html.sh (func_all_modules): Add mathl.
22078
22079 2003-02-17  Bruno Haible  <bruno@clisp.org>
22080
22081         * modules/mkdtemp: New module.
22082         * MODULES.html.sh (func_all_modules): Add it.
22083
22084 2003-02-17  Bruno Haible  <bruno@clisp.org>
22085
22086         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
22087
22088 2003-02-17  Bruno Haible  <bruno@clisp.org>
22089
22090         * lib/mkdtemp.h: New file, from GNU gettext.
22091         * lib/mkdtemp.c: New file, from GNU gettext.
22092
22093 2003-02-02  Jim Meyering  <jim@meyering.net>
22094
22095         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
22096         e.g. glibc-2.2.93.
22097
22098 2003-01-31  Bruno Haible  <bruno@clisp.org>
22099
22100         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
22101         'rpl_rename'.
22102         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
22103         'rpl_strnlen'.
22104         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
22105         'rpl_strtod'.
22106         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
22107         'rpl_utime'.
22108
22109 2003-01-31  Bruno Haible  <bruno@clisp.org>
22110
22111         * lib/rename.c: #undef rename before defining rpl_rename.
22112         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
22113
22114 2003-01-30  Bruno Haible  <bruno@clisp.org>
22115
22116         * modules/vasnprintf, modules/vasprintf: New modules.
22117         * MODULES.html.sh (func_all_modules): Add them.
22118
22119 2003-01-30  Bruno Haible  <bruno@clisp.org>
22120
22121         * m4/signed.m4: New file, from GNU gettext.
22122         * m4/longdouble.m4: New file, from GNU gettext.
22123         * m4/wchar_t.m4: New file, from GNU gettext.
22124         * m4/wint_t.m4: New file, from GNU gettext.
22125         * m4/vasnprintf.m4: New file.
22126         * m4/vasprintf.m4: New file.
22127
22128 2003-01-30  Bruno Haible  <bruno@clisp.org>
22129
22130         * lib/printf-args.h: New file, from GNU gettext.
22131         * lib/printf-args.c: New file, from GNU gettext.
22132         * lib/printf-parse.h: New file, from GNU gettext.
22133         * lib/printf-parse.c: New file, from GNU gettext.
22134         * lib/vasnprintf.h: New file, from GNU gettext.
22135         * lib/vasnprintf.c: New file, from GNU gettext.
22136         * lib/asnprintf.c: New file, from GNU gettext.
22137         * lib/vasprintf.h: New file, from GNU gettext with modifications.
22138         * lib/vasprintf.c: New file, from GNU gettext.
22139         * lib/asprintf.c: New file, from GNU gettext.
22140
22141 2003-01-29  Bruno Haible  <bruno@clisp.org>
22142
22143         * modules/stpncpy: New module.
22144         * MODULES.html.sh (func_all_modules): Add it.
22145
22146 2003-01-29  Bruno Haible  <bruno@clisp.org>
22147
22148         * m4/stpncpy.m4: New file.
22149
22150 2003-01-29  Bruno Haible  <bruno@clisp.org>
22151
22152         * lib/stpncpy.h: New file, from GNU gettext with modifications.
22153         * lib/stpncpy.c: New file, from GNU gettext with modifications.
22154
22155 2003-01-28  Bruno Haible  <bruno@clisp.org>
22156
22157         * modules/c-ctype: New module.
22158         * MODULES.html.sh (func_all_modules): Add it.
22159
22160 2003-01-28  Bruno Haible  <bruno@clisp.org>
22161
22162         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
22163         Paul Eggert.
22164         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
22165         Paul Eggert.
22166
22167 2003-01-27  Bruno Haible  <bruno@clisp.org>
22168
22169         * modules/xsetenv: New module.
22170         * MODULES.html.sh (func_all_modules): Add it.
22171
22172 2003-01-27  Bruno Haible  <bruno@clisp.org>
22173
22174         * lib/xsetenv.h: New file, from GNU gettext.
22175         * lib/xsetenv.c: New file, from GNU gettext.
22176
22177 2003-01-23  Jim Meyering  <jim@meyering.net>
22178
22179         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
22180         from working on systems without dirfd (at least Irix and OSF1/Tru64).
22181
22182 2003-01-23  Bruno Haible  <bruno@clisp.org>
22183
22184         * modules/minmax: New module.
22185         * MODULES.html.sh (func_all_modules): Add it.
22186
22187 2003-01-23  Bruno Haible  <bruno@clisp.org>
22188
22189         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
22190         Eggert.
22191
22192 2003-01-22  Bruno Haible  <bruno@clisp.org>
22193
22194         * modules/exit: New module.
22195         * MODULES.html.sh (func_all_modules): Add it.
22196
22197 2003-01-22  Bruno Haible  <bruno@clisp.org>
22198
22199         * lib/exit.h: New file, from GNU gettext.
22200
22201 2003-01-19  Bruno Haible  <bruno@clisp.org>
22202
22203         * gnulib-tool: Recognize option --extract-maintainer.
22204         (func_get_maintainer): New function.
22205         * modules/*: Add Maintainer entry.
22206
22207 2003-01-16  Jim Meyering  <jim@meyering.net>
22208
22209         * m4/regex.m4: The `regex' struct is both input and output.
22210         Initialize it before each use.  Patch by Tim Waugh.
22211
22212 2003-01-16  Bruno Haible  <bruno@clisp.org>
22213
22214         * MODULES.html.sh: Add a table of contents. Add the module name as
22215         leftmost column. Add hyperlinks.
22216
22217 2003-01-15  Bruno Haible  <bruno@clisp.org>
22218
22219         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
22220
22221 2003-01-15  Bruno Haible  <bruno@clisp.org>
22222
22223         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
22224         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
22225         suffix.
22226
22227 2003-01-15  Bruno Haible  <bruno@clisp.org>
22228
22229         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
22230
22231 2003-01-15  Bruno Haible  <bruno@clisp.org>
22232
22233         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
22234         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
22235
22236 2003-01-14  Jim Meyering  <jim@meyering.net>
22237
22238         * lib/same.c (same_name): Tweak a comment.
22239
22240 2003-01-14  Bruno Haible  <bruno@clisp.org>
22241
22242         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
22243         when a string comparison is sufficient.
22244
22245 2003-01-14  Bruno Haible  <bruno@clisp.org>
22246
22247         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
22248         'unsigned int'.
22249
22250 2003-01-14  Bruno Haible  <bruno@clisp.org>
22251
22252         * lib/hash-pjw.c: Add comment about low quality of this function.
22253
22254 2003-01-13  Bruno Haible  <bruno@clisp.org>
22255
22256         * modules/stpcpy: Distribute lib/stpcpy.h.
22257         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
22258
22259 2003-01-13  Bruno Haible  <bruno@clisp.org>
22260
22261         * modules/*: Add a description.
22262         * modules/strpbrk: Fix Makefile.am snippet.
22263         * modules/strtoimax: Fix dependencies.
22264         * modules/strtoumax: Likewise.
22265
22266 2003-01-13  Bruno Haible  <bruno@clisp.org>
22267
22268         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
22269         * modules/alloca (Makefile.am): All object files depend on alloca.h.
22270         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
22271
22272 2003-01-13  Bruno Haible  <bruno@clisp.org>
22273
22274         * gnulib-tool (func_create_testdir): Store config/* files in the main
22275         directory.
22276         * config.rpath: Move to ...
22277         * config/config.rpath: ... here.
22278         * modules/gettext: Contains config/config.rpath, not config.rpath.
22279         * modules/iconv: Likewise.
22280
22281 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22282
22283         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22284         to avoid collisions with libcurses and libreadline.
22285
22286         * m4/getstr.m4: Remove.
22287         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
22288
22289 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22290
22291         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22292         to avoid collisions with libcurses and libreadline.
22293
22294         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
22295         * lib/getstr.h, getstr.c: Remove.
22296         * lib/getline.c: Include "getline.h", to check interface.
22297         Move body of old getstr.c here: this defines MIN_CHUNK and
22298         declares getdelim2, which is renamed from getstr.
22299         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
22300
22301         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
22302         All uses changed.
22303         * lib/linebuffer.h: Likewise.
22304         (readline): Remove backward-compatibility macro.
22305
22306 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22307
22308         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22309         to avoid collisions with libcurses and libreadline.
22310         * getstr: Remove.
22311         * MODULES.html.sh: Remove getstr.
22312         * modules/getline: Depend on unlocked-io, not getstr.
22313
22314 2003-01-12  Jim Meyering  <jim@meyering.net>
22315
22316         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
22317
22318 2003-01-10  Bruno Haible  <bruno@clisp.org>
22319
22320         * modules/alloca: Change Makefile.am requirements. Simplify Include
22321         requirements. Add lib/alloca_.h to file list.
22322
22323 2003-01-10  Bruno Haible  <bruno@clisp.org>
22324
22325         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
22326
22327 2003-01-10  Bruno Haible  <bruno@clisp.org>
22328
22329         * lib/alloca_.h: New file.
22330         * lib/getdate.y: Unconditionally include alloca.h.
22331         * lib/makepath.c: Likewise.
22332         * lib/setenv.c: Likewise.
22333         * lib/userspec.c: Likewise.
22334
22335 2003-01-09  Karl Berry  <karl@gnu.org>
22336
22337         * MODULES.html.sh: include `dirname $0` in PATH, to find
22338         gnulib-tool.
22339
22340 2003-01-09  Bruno Haible  <bruno@clisp.org>
22341
22342         * modules/stdbool: Change configure.ac, Makefile.am requirements.
22343         Simplify Include requirements. Add lib/stdbool.h.in to file list.
22344
22345 2003-01-09  Bruno Haible  <bruno@clisp.org>
22346
22347         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
22348
22349 2003-01-09  Bruno Haible  <bruno@clisp.org>
22350
22351         * lib/stdbool.h.in: New file.
22352
22353 2003-01-09  Bruno Haible  <bruno@clisp.org>
22354
22355         * gnulib-tool (func_all_modules): Ignore files ending in ~.
22356         * MODULES.html.sh: Likewise.
22357
22358 2003-01-08  Jim Meyering  <jim@meyering.net>
22359
22360         * lib/full-write.c: Undefine and define-away `const' after inclusion
22361         of errno.h, not before.  Suggestion from Bruno Haible.
22362
22363 2003-01-08  Bruno Haible  <bruno@clisp.org>
22364
22365         * modules/full-read: Depend on full-write.
22366
22367 2003-01-08  Bruno Haible  <bruno@clisp.org>
22368
22369         * lib/safe-read.c: Include specification header first, to ensure its
22370         selfcontainedness.
22371         * lib/full-write.c: Likewise.
22372
22373 2003-01-07  Jim Meyering  <jim@meyering.net>
22374
22375         * lib/full-write.c: Rework so that it may serve to define full_read,
22376         too.
22377         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
22378
22379 2003-01-07  Bruno Haible  <bruno@clisp.org>
22380
22381         * lib/strtoimax.c: Include <stdint.h> as an alternative to
22382         <inttypes.h>.
22383         * lib/xstrtol.h: Likewise.
22384         * lib/xstrtoimax.c: Likewise.
22385         * lib/xstrtoumax.c: Likewise.
22386         * lib/human.h: Likewise.
22387
22388         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
22389         on systems that have <inttypes.h> but not <stdint.h>.
22390
22391 2003-01-07  Bruno Haible  <bruno@clisp.org>
22392
22393         * MODULES.html.sh: Add copyright notice.
22394         (missed_files): Omit CVS directory entries.
22395         (func_module): Make it work with sed-3.02.
22396         * MODULES.txt: Remove file.
22397
22398 2003-01-06  Jim Meyering  <jim@meyering.net>
22399
22400         * lib/version-etc.c: Update year in translatable copyright string.
22401
22402 2003-01-03  Karl Berry  <karl@gnu.org>
22403
22404         * config/config.{guess,sub}: update from prep.
22405
22406 2003-01-02  Karl Berry  <karl@gnu.org>
22407
22408         * doc/COPYING.DOC: belatedly updated to 1.2.
22409
22410 2003-01-01  Karl Berry  <karl@gnu.org>
22411
22412         * gnulib-tool (func_verify_module): report module name $module in
22413         error message, not $1.
22414         * gnulib-tool (create-testdir): don't complain if destdir couldn't
22415         be created, only if it doesn't exist.
22416         * gnulib-tool (last_checkin_date): don't expand the $Date here.
22417
22418 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22419
22420         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
22421
22422 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22423
22424         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
22425         memcmp if strcoll doesn't work.
22426
22427 2002-12-31  Bruno Haible  <bruno@clisp.org>
22428
22429         * lib/utime.c (utime_null): No need to call ftruncate if the file was
22430         nonempty.
22431
22432 2002-12-31  Bruno Haible  <bruno@clisp.org>
22433
22434         * lib/memcoll.c (STRCOLL): New macro.
22435         (memcoll): Use it.
22436
22437 2002-12-31  Bruno Haible  <bruno@clisp.org>
22438
22439         * lib/localcharset.h: New file.
22440         * lib/localcharset.c: Include it.
22441         * lib/unicodeio.c: Likewise.
22442
22443 2002-12-31  Bruno Haible  <bruno@clisp.org>
22444
22445         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
22446         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
22447
22448 2002-12-31  Bruno Haible  <bruno@clisp.org>
22449
22450         * lib/getline.h: Include <stddef.h>, for size_t.
22451
22452         * lib/unicodeio.h: Include <stddef.h>, for size_t.
22453         * lib/unicodeio.c: Don't include <stddef.h>.
22454
22455 2002-12-31  Bruno Haible  <bruno@clisp.org>
22456
22457         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
22458         HAVE_TM_ZONE.
22459
22460 2002-12-24  Karl Berry  <karl@gnu.org>
22461
22462         * config/config.guess: update from prep.
22463
22464 2002-12-24  Bruno Haible  <bruno@clisp.org>
22465
22466         General infrasructure.
22467         * m4/README: Rewritten.
22468         * m4/onceonly.m4: New file.
22469         * m4/onceonly_2_57.m4: New file.
22470
22471         Module atexit.
22472         * m4/atexit.m4: New file.
22473
22474         Module strtod.
22475         * m4/strtod.m4: New file.
22476
22477         Module strtol.
22478         * m4/strtol.m4: New file.
22479
22480         Module strtoul.
22481         * m4/strtoul.m4: New file.
22482
22483         Module memchr.
22484         * m4/memchr.m4: New file.
22485
22486         Module memcmp.
22487         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
22488         (jm_FUNC_MEMCMP): Invoke it.
22489
22490         Module memcpy.
22491         * m4/memcpy.m4: New file.
22492
22493         Module memmove.
22494         * m4/memmove.m4: New file.
22495
22496         Module memset.
22497         * m4/memset.m4: New file.
22498
22499         Module strcspn.
22500         * m4/strcspn.m4: New file.
22501
22502         Module strpbrk.
22503         * m4/strpbrk.m4: New file.
22504
22505         Module strstr.
22506         * m4/strstr.m4: New file.
22507
22508         Module strerror.
22509         * m4/strerror.m4: New file.
22510
22511         Module mktime.
22512         * m4/mktime.m4: Renamed from jm-mktime.m4.
22513         (gl_PREREQ_MKTIME): New macro.
22514         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
22515
22516         Module malloc.
22517         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
22518         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
22519         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
22520
22521         Module realloc.
22522         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
22523         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
22524         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
22525
22526         Module strftime.
22527         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
22528         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
22529         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
22530         gl_TM_GMTOFF.
22531         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
22532
22533         Module xalloc.
22534         * m4/xalloc.m4: New file.
22535
22536         Module alloca.
22537         * m4/alloca.m4: New file.
22538
22539         Module putenv.
22540         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
22541         (jm_FUNC_PUTENV): Invoke it.
22542
22543         Module setenv.
22544         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
22545         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
22546         when invoked twice.
22547         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
22548         gt_FUNC_SETENV.
22549
22550         Module memrchr.
22551         * m4/memrchr.m4: New file.
22552
22553         Module stpcpy.
22554         * m4/stpcpy.m4: New file.
22555
22556         Module strcase.
22557         * m4/strcase.m4: New file.
22558
22559         Module strdup.
22560         * m4/strdup.m4: New file.
22561
22562         Module strnlen.
22563         * m4/strnlen.m4: New file.
22564
22565         Module strndup.
22566         * m4/strndup.m4: New file.
22567
22568         Module xstrtod.
22569         * m4/xstrtod.m4: New file.
22570
22571         Module xstrtol.
22572         * m4/xstrtol.m4: New file.
22573
22574         Module getdate.
22575         * m4/getdate.m4: New file.
22576
22577         Module unlocked-io.
22578         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
22579         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
22580         * m4/jm-glibc-io.m4n: Remove file.
22581
22582         Module long-options.
22583         * m4/long-options.m4: New file.
22584
22585         Module md5.
22586         * m4/md5.m4: New file.
22587
22588         Module sha.
22589         * m4/sha.m4: New file.
22590
22591         Module getstr.
22592         * m4/getstr.m4: New file.
22593
22594         Module getline.
22595         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
22596         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
22597         <sys/types.h>, for size_t. Use the function name gnu_getline, not
22598         simply getline. Infoke gl_PREREQ_GETLINE.
22599
22600         Module obstack.
22601         * m4/obstack.m4: New file.
22602
22603         Module hash.
22604         * m4/hash.m4: New file.
22605
22606         Module readtokens.
22607         * m4/readtokens.m4: New file.
22608
22609         Module strverscmp.
22610         * m4/strverscmp.m4: New file.
22611
22612         Module stdbool.
22613         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
22614         OSF/1.
22615
22616         Module strtoll.
22617         * m4/strtoll.m4: New file.
22618
22619         Module strtoull.
22620         * m4/strtoull.m4: New file.
22621
22622         Module strtoimax.
22623         * m4/strtoimax.m4: New file.
22624
22625         Module strtoumax.
22626         * m4/strtoumax.m4: New file.
22627
22628         Module xstrtoimax.
22629         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
22630         jm_AC_PREREQ_XSTRTOIMAX.
22631         Moved the strtol prerequisites to strtol.m4.
22632         Moved the strtoll prerequisites to strtoll.m4.
22633         Moved the strtoimax prerequisites to strtoimax.m4.
22634
22635         Module xstrtoumax.
22636         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
22637         jm_AC_PREREQ_XSTRTOUMAX.
22638         Moved the strtoul prerequisites to strtoul.m4.
22639         Moved the strtoull prerequisites to strtoull.m4.
22640         Moved the strtoumax prerequisites to strtoumax.m4.
22641
22642         Module chown.
22643         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
22644         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
22645
22646         Module dup2.
22647         * m4/dup2.m4: New file.
22648
22649         Module ftruncate.
22650         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
22651         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
22652
22653         Module getgroups.
22654         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
22655         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
22656
22657         Module gettimeofday.
22658         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
22659         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
22660         gl_PREREQ_GETTIMEOFDAY.
22661
22662         Module mkdir.
22663         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
22664         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
22665
22666         Module mkstemp.
22667         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
22668         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
22669         jm_AC_TYPE_UINTMAX_T.
22670         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
22671
22672         Module stat.
22673         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
22674         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
22675
22676         Module lstat.
22677         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
22678         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
22679
22680         Module timespec.
22681         * m4/timespec.m4 (gl_TIMESPEC): New macro.
22682         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
22683         * m4/st_mtim.m4: Indentation.
22684
22685         Module nanosleep.
22686         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
22687         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
22688         gl_PREREQ_NANOSLEEP.
22689
22690         Module regex.
22691         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
22692         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
22693         (gl_REGEX): New macro.
22694
22695         Module rename.
22696         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
22697         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
22698
22699         Module rmdir.
22700         * m4/rmdir.m4: New file.
22701
22702         Module utime.
22703         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
22704         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
22705         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
22706
22707         Module dirname.
22708         * m4/dirname.m4: New file.
22709
22710         Module getopt.
22711         * m4/getopt.m4: New file.
22712
22713         Module unistd-safer.
22714         * m4/unistd-safer.m4: New file.
22715
22716         Module fnmatch.
22717         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
22718         declaration.
22719         (gl_PREREQ_FNMATCH_EXTRA): New macro.
22720         (gl_FUNC_FNMATCH_POSIX): New macro.
22721         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
22722         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
22723         simply fnmatch.
22724
22725         Module exclude.
22726         * m4/exclude.m4: New file.
22727
22728         Module human.
22729         * m4/human.m4: New file.
22730
22731         Module acl.
22732         * m4/acl.m4: Nop.
22733
22734         Module backupfile.
22735         * m4/backupfile.m4: New file.
22736         * m4/d-ino.m4: Indentation.
22737
22738         Module fsusage.
22739         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
22740         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
22741         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
22742
22743         Module dirfd.
22744         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
22745         requirements.
22746
22747         Module euidaccess.
22748         * m4/euidaccess.m4: New file.
22749
22750         Module file-type.
22751         * m4/file-type.m4: New file.
22752
22753         Module fileblocks.
22754         * m4/fileblocks.m4: New file.
22755
22756         Module filemode.
22757         * m4/filemode.m4: New file.
22758
22759         Module isdir.
22760         * m4/isdir.m4: New file.
22761
22762         Module lchown.
22763         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
22764         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
22765
22766         Module makepath.
22767         * m4/makepath.m4: New file.
22768
22769         Module modechange.
22770         * m4/modechange.m4: New file.
22771
22772         Module mountlist.
22773         * m4/mountlist.m4: New file.
22774         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
22775         Indentation.
22776
22777         Module path-concat.
22778         * m4/path-concat.m4: New file.
22779
22780         Module pathmax.
22781         * m4/pathmax.m4: New file.
22782
22783         Module same.
22784         * m4/same.m4: New file.
22785
22786         Module save-cwd.
22787         * m4/save-cwd.m4: New file.
22788
22789         Module savedir.
22790         * m4/savedir.m4: New file.
22791
22792         Module xgetcwd.
22793         * m4/xgetcwd.m4: New file.
22794         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
22795
22796         Module xreadlink.
22797         * m4/xreadlink.m4: New file.
22798
22799         Module safe-read.
22800         * m4/safe-read.m4: New file.
22801
22802         Module safe-write.
22803         * m4/safe-write.m4: New file.
22804
22805         Module closeout.
22806         * m4/closeout.m4: New file.
22807
22808         Module stdio-safer.
22809         * m4/stdio-safer.m4: New file.
22810
22811         Module getpass.
22812         * m4/getpass.m4: New file.
22813
22814         Module getugroups.
22815         * m4/getugroups.m4: New file.
22816
22817         Module group-member.
22818         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
22819         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
22820
22821         Module idcache.
22822         * m4/idcache.m4: New file.
22823
22824         Module userspec.
22825         * m4/userspec.m4: New file.
22826
22827         Module gettime.
22828         * m4/clock_time.m4: New file.
22829         * m4/gettime.m4: New file.
22830
22831         Module settime.
22832         * m4/settime.m4: New file.
22833
22834         Module posixtm.
22835         * m4/posixtm.m4: New file.
22836
22837         Module gethostname.
22838         * m4/gethostname.m4: New file.
22839
22840         Module canon-host.
22841         * m4/canon-host.m4: New file.
22842
22843         Module gettext.
22844         * m4/codeset.m4: New file, from gettext-0.11.5.
22845         * m4/gettext.m4: New file, from gettext-0.11.5.
22846         * m4/glibc21.m4: New file, from gettext-0.11.5.
22847         * m4/iconv.m4: New file, from gettext-0.11.5.
22848         * m4/intdiv0.m4: New file, from gettext-0.11.5.
22849         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
22850         * m4/inttypes.m4: New file, from gettext-0.11.5.
22851         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
22852         * m4/isc-posix.m4: New file, from gettext-0.11.5.
22853         * m4/lcmessage.m4: New file, from gettext-0.11.5.
22854         * m4/lib-ld.m4: New file, from gettext-0.11.5.
22855         * m4/lib-link.m4: New file, from gettext-0.11.5.
22856         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
22857         * m4/progtest.m4: New file, from gettext-0.11.5.
22858         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
22859         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
22860         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
22861
22862         Module localcharset.
22863         * m4/localcharset.m4: New file.
22864
22865         Module hard-locale.
22866         * m4/hard-locale.m4: New file.
22867
22868         Module mbswidth.
22869         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
22870         onceonly macros.
22871         * m4/mbrtowc.m4: Add comment.
22872
22873         Module memcasecmp.
22874         * m4/memcasecmp.m4: New file.
22875
22876         Module memcoll.
22877         * m4/memcoll.m4: New file.
22878
22879         Module unicodeio.
22880         * m4/unicodeio.m4: New file.
22881
22882         Module rpmatch.
22883         * m4/rpmatch.m4: New file.
22884
22885         Module yesno.
22886         * m4/yesno.m4: New file.
22887
22888         Module exitfail.
22889         * m4/exitfail.m4: New file.
22890
22891         Module c-stack.
22892         * m4/c-stack.m4 (gl_C_STACK): New macro.
22893         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
22894
22895         Module error.
22896         * m4/error.m4 (gl_ERROR): New macro.
22897         (jm_PREREQ_ERROR): Use onceonly macros.
22898
22899         Module fatal.
22900         * m4/fatal.m4: New file.
22901
22902         Module getloadavg.
22903         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
22904         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
22905
22906         Module getpagesize.
22907         * m4/getpagesize.m4: New file.
22908
22909         Module getusershell.
22910         * m4/getusershell.m4: New file.
22911
22912         Module physmem.
22913         * m4/physmem.m4: New file.
22914
22915         Module posixver.
22916         * m4/posixver.m4: New file.
22917
22918         Module quotearg.
22919         * m4/quotearg.m4: New file.
22920
22921         Module quote.
22922         * m4/quote.m4: New file.
22923
22924         Module readutmp.
22925         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
22926
22927         Module sig2str.
22928         * m4/sig2str.m4: New file.
22929
22930         Other.
22931         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
22932         ulonglong.m4.
22933         * m4/intmax_t.m4: New file.
22934         * m4/d-type.m4: Indentation.
22935         * m4/jm-macros.m4: Update.
22936         * m4/prereq.m4 (jm_PREREQ): Update.
22937         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
22938         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
22939         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
22940         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
22941         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
22942         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
22943         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
22944         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
22945         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
22946         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
22947         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
22948         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
22949         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
22950         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
22951         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
22952         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
22953         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
22954         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
22955         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
22956
22957 2002-12-24  Bruno Haible  <bruno@clisp.org>
22958
22959         * MODULES.txt: Update according to m4/ changes.
22960
22961         Module gettext.
22962         * config.rpath: New file, from gettext-0.11.5.
22963
22964         * modules/*: New module descriptions.
22965         * gnulib-tool: New file.
22966         * MODULES.html.sh: New file.
22967
22968 2002-12-21  Karl Berry  <karl@gnu.org>
22969
22970         * doc/fdl.texi: update to version 1.2.
22971
22972 2002-12-19  Karl Berry  <karl@gnu.org>
22973
22974         * config/config.guess: update from prep.
22975
22976 2002-12-18  Bruno Haible  <bruno@clisp.org>
22977
22978         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
22979         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
22980
22981 2002-12-17  Bruno Haible  <bruno@clisp.org>
22982
22983         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
22984         stdlib.h, string.h.
22985
22986 2002-12-17  Bruno Haible  <bruno@clisp.org>
22987
22988         * lib/canon-host.c (strdup): Remove unused declaration.
22989
22990         * lib/fsusage.c: Include full_read.h.
22991         (get_fs_usage): Use full_read instead of safe_read.
22992
22993         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
22994
22995 2002-12-12  Karl Berry  <karl@gnu.org>
22996
22997         * config/config.guess: update from prep.
22998
22999 2002-12-11  Bruno Haible  <bruno@clisp.org>
23000
23001         * m4/setenv.m4: New file, from gettext-0.11.5.
23002
23003 2002-12-11  Bruno Haible  <bruno@clisp.org>
23004
23005         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
23006         not unsetenv().
23007         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
23008         modifications:
23009
23010         2002-12-11  Bruno Haible  <bruno@clisp.org>
23011
23012                 * setenv.c (alloca): Fall back to malloc.
23013                 (freea): New macro.
23014                 (setenv): Use freea() to free memory allocated with alloca().
23015
23016         2002-11-13  Bruno Haible  <bruno@clisp.org>
23017
23018                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
23019                 function declarations.
23020                 * unsetenv.c (unsetenv): Likewise.
23021
23022         2002-03-04  Bruno Haible  <bruno@clisp.org>
23023
23024                 Portability to AIX 4.3.3.
23025                 * unsetenv.c: New file, extracted from setenv.c.
23026                 * setenv.c: Move the unsetenv() function to unsetenv.c.
23027
23028         2001-12-20  Bruno Haible  <bruno@clisp.org>
23029
23030                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
23031                 use malloc instead. For SunOS 4.
23032
23033         2001-12-11  Bruno Haible  <bruno@clisp.org>
23034
23035                 * setenv.c: Declare alloca.
23036                 (compar_fn_t): New typedef.
23037                 (KNOWN_VALUE, STORE_VALUE): Use it.
23038
23039         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
23040         setenv.h.
23041
23042 2002-12-10  Paul Eggert  <eggert@twinsun.com>
23043
23044         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
23045         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
23046         Choose values that are less likely to collide with system fnmatch
23047         options.
23048         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
23049         defined (e.g., a pure POSIX system).
23050         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
23051         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
23052
23053 2002-12-06  Paul Eggert  <eggert@twinsun.com>
23054
23055         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
23056         a pain in practice to deal with generated m4 files.  This change
23057         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
23058
23059         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
23060         and jm-glibc-io.m4, as they are no longer a special case.
23061         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
23062         kludge and the auto-generation stuff.  Check only whether the
23063         functions are declared, not whether they exist, since older hosts
23064         that don't declare the functions can't use the optimization anyway.
23065
23066 2002-12-06  Jim Meyering  <jim@meyering.net>
23067
23068         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
23069
23070         Merge in changes from libc's misc/error.c, in preparation
23071         for the merge of gnulib's changes back into libc.
23072
23073         * lib/error.c (_): Define only if not already defined.
23074         Move definition to follow all #include directives.
23075         Include unlocked-io.h only if !_LIBC.
23076         [_LIBC]: Include <libio/libioP.h>.
23077         [USE_IN_LIBIO]: Include <libio/iolibio.h>
23078         (fflush): Tweak definition to use INTUSE.
23079         (putc): Define.
23080
23081 2002-12-05  Paul Eggert  <eggert@twinsun.com>
23082
23083         * lib/alloca.c [defined emacs]: Include "lisp.h".
23084         (xalloc_die) [defined emacs]: New macro.
23085         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
23086         [! defined emacs]: Include <xalloc.h>.
23087         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
23088         (pointer): Typedef to POINTER_TYPE *.
23089         (malloc): Remove decl; we now always use xmalloc.
23090         (alloca): Use old-style definition, since Emacs needs this.
23091         Check for arithmetic overflow when computing combined size.
23092
23093 2002-12-04  Paul Eggert  <eggert@twinsun.com>
23094
23095         Do not generate unlocked-io.h automatically, since it's easier to
23096         maintain it by hand.
23097
23098         * lib/unlocked-io.h: New file, from GNU diffutils,
23099         but with proper copyright notice and attribution.
23100         * lib/gen-uio: Remove.
23101         * lib/Makefile.am: Add copyright notice.
23102         (libfetish_a_SOURCES): Add unlocked-io.h.
23103         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
23104         (DISTCLEANFILES, io_functions): Remove macros.
23105         (EXTRA_DIST): Remove gen_uio.
23106         (unlocked-io.h): Remove rule.
23107
23108 2002-12-04  Jim Meyering  <jim@meyering.net>
23109
23110         Reflect the fact that stat.c and lstat.c are no longer generated.
23111         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
23112         (DISTCLEANFILES): Likewise.
23113         (EXTRA_DIST): Likewise.
23114         (all_local): Don't depend on stat.c or lstat.c.
23115         (stat.c, lstat.c): Remove rules.
23116         (EXTRA_DIST): Remove xstat.in.
23117
23118         * lib/xstat.in: Remove file.  Contents moved into stat.c.
23119         * lib/stat.c: New file.  Contents mostly from xstat.in.
23120         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
23121         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
23122
23123         * lib/safe-read.c: Rework so that it may serve to define safe_write,
23124         too.
23125         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
23126
23127 2002-12-03  Jim Meyering  <jim@meyering.net>
23128
23129         * lib/safe-read.c, safe-write.c: Change variable names and comments,
23130         but not semantics, to minimize the differences between these two files.
23131         (safe_read): Change comment to mention SAFE_READ_ERROR.
23132
23133         * lib/safe-read.c (IS_EINTR): Define.
23134         (safe_read): Use IS_EINTR in place of in-function cpp directives.
23135
23136 2002-12-02  Jim Meyering  <jim@meyering.net>
23137
23138         * lib/safe-read.c (EINTR): Define.
23139         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
23140         (INT_MAX): Provide fallback.
23141         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
23142
23143         * lib/safe-read.h (SAFE_READ_ERROR): Define.
23144
23145 2002-12-02  Bruno Haible  <bruno@clisp.org>
23146
23147         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
23148         Define, taken from safe-read.c.
23149         (INT_MAX): Provide fallback.
23150         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
23151         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
23152
23153         * lib/safe-read.c (EINTR): Remove definition.
23154         (safe_read): Don't use EINTR if it is absent.
23155
23156 2002-12-01  Jim Meyering  <jim@meyering.net>
23157
23158         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
23159         zero.
23160         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
23161
23162 2002-11-27  Paul Eggert  <eggert@twinsun.com>
23163
23164         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
23165         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
23166         with `if (! (value < limit)) abort ();', for readability.
23167
23168 2002-11-26  Karl Berry  <karl@gnu.org>
23169
23170         * lib/strdup.c: copy from libc again, with jim's ok.
23171         * lib/.cppi-disable: re-add strdup.c
23172
23173 2002-11-25  Karl Berry  <karl@gnu.org>
23174
23175         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
23176         instead of "strtol.c".
23177
23178 2002-11-25  Karl Berry  <karl@gnu.org>
23179
23180         * config/install-sh: update from automake for variable quoting, $0 in
23181         error msgs, etc.
23182
23183         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
23184         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
23185         entry.
23186
23187 2002-11-25  Jim Meyering  <jim@meyering.net>
23188
23189         * lib/mktime.c: Sync from libc, now that it has the latest fix.
23190
23191 2002-11-24  Karl Berry  <karl@gnu.org>
23192
23193         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
23194         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
23195
23196 2002-11-24  Jim Meyering  <jim@meyering.net>
23197
23198         Update from coreutils:
23199
23200         * lib/mktime.c: Merge in changes from libc.
23201
23202         Avoid a link-time failure on some Linux systems.
23203         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
23204         (otherwise).
23205         (__mon_yday): Declare with the STATIC attribute.
23206         (__mktime_internal): Likewise.
23207         Based on a report from Greg Schafer.
23208
23209 2002-11-23  Jim Meyering  <jim@meyering.net>
23210
23211         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
23212         Use `unsigned', not `int', as type of index.
23213
23214         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
23215
23216         * lib/fsusage.c: Remove unneeded parentheses around operands of
23217         `defined'.
23218
23219 2002-11-22  Paul Eggert  <eggert@twinsun.com>
23220
23221         * lib/quotearg.h: Allow multiple inclusion by surrounding with
23222         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
23223         so that we can be included first.
23224         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
23225         * lib/quotearg.c: Include quotearg.h immediately after config.h.
23226         No need to include stddef.h or sys/types.h any more.
23227         Surround local include files with "", not "<>".
23228         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
23229         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
23230         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
23231         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
23232         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
23233         (ISPRINT): Remove; no longer needed now that we assume C89.
23234
23235         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
23236         Preserve errno.
23237
23238         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
23239         quotearg_char): Use SIZE_MAX rather than
23240         (size_t) -1 when we are talking about "infinity".
23241
23242         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
23243
23244 2002-11-22  Paul Eggert  <eggert@twinsun.com>
23245
23246         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
23247         hint that one should use `if (! x) abort ();' rather than `assert
23248         (x);', and anyway it's one less thing to worry about configuring.
23249         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
23250         hash_rehash, hash_insert): Use abort rather than assert.
23251
23252 2002-11-22  Bruno Haible  <bruno@clisp.org>
23253
23254         * lib/safe-read.h: Assume C89. Add comments.
23255         (safe_read): Change return type to size_t.
23256         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
23257         byte counts > SSIZE_MAX correctly.
23258         * lib/safe-write.h: New file.
23259         * lib/safe-write.c: New file.
23260         * lib/full-read.h: New file.
23261         * lib/full-read.c: New file.
23262         * lib/full-write.h: Assume C89. Add comments.
23263         * lib/full-write.c: Include safe-write.h.
23264         (full_write): Rewritten to use safe_write.
23265         Suggested by Jim Meyering and Paul Eggert.
23266
23267 2002-11-21  Jim Meyering  <jim@meyering.net>
23268
23269         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
23270
23271         Merge in changes from the coreutils.
23272
23273         2002-09-25  Paul Eggert  <eggert@twinsun.com>
23274         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
23275         <stdint.h>.
23276         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
23277         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
23278         int.  Work more efficiently if X is the same width as uintmax_t.
23279         Do not compare X to -1, to avoid bogus compiler warning.
23280         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
23281         Don't assume that f_frsize and f_bsize are the same type.
23282
23283         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
23284         warning on FreeBSD.
23285
23286         * lib/makepath.c (make_path): Restore umask *before* creating the final
23287         component.
23288         (make_path): Minor reformatting.
23289
23290         * lib/xmalloc.c: Adjust to work with new autoconf macros,
23291         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
23292         HAVE_MALLOC/HAVE_REALLOC.
23293
23294         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
23295         dummy ones.  At least on GNU/Linux systems, `auto' means something
23296         else.
23297         From Michael Stone.
23298
23299 2002-11-21  Bruno Haible  <bruno@clisp.org>
23300
23301         Remove case insensitive option matching.
23302         * lib/argmatch.h (argcasematch): Remove declaration.
23303         (ARGCASEMATCH): Remove macro.
23304         (__xargmatch_internal): Remove case_sensitive argument.
23305         (XARGMATCH): Update.
23306         (XARGCASEMATCH): Remove macro.
23307         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
23308         case_sensitive argument.
23309         (argcasematch): Remove function.
23310         (__xargmatch_internal): Remove case_sensitive argument.
23311         (main): Use XARGMATCH instead of XARGCASEMATCH.
23312
23313         * lib/xmalloc.c: Change compile-time error message. Add comment about
23314         required autoconf version.
23315
23316 2002-11-20  Paul Eggert  <eggert@twinsun.com>
23317
23318         Merge argmatch cleanups from Bison.  Assume C89.
23319
23320         * lib/argmatch.c: Include config.h here, not in argmatch.h.
23321         Include stdlib.h, for EXIT_FAILURE.
23322         Always include <string.h>, since we assume C89.
23323         (EXIT_FAILURE): Remove pre-C89 bug workaround.
23324         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
23325         Include <stddef.h> instead, since it's all we need for size_t.
23326         (PARAMS): Remove.  All uses removed.
23327         (ARRAY_CARDINALITY): Do not bother to #undef.
23328         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
23329         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23330         Remove unnecessary parentheses.
23331         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23332         Insert necessary parentheses.
23333         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
23334         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
23335
23336 2002-11-19  Bruno Haible  <bruno@clisp.org>
23337
23338         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
23339         * lib/mbswidth.h: Include <stddef.h>, for size_t.
23340
23341         * lib/mbswidth.h (PARAMS): Remove macro.
23342         (mbswidth, mbsnwidth): Use ANSI C function declarations.
23343         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
23344
23345         * lib/gcd.h (PARAMS): Remove macro.
23346         (gcd): Use ANSI C function declarations.
23347         * lib/gcd.c (gcd): Likewise.
23348
23349 2002-11-15  Bruno Haible  <bruno@clisp.org>
23350
23351         * lib/strcspn.c: Include <stddef.h>.
23352         (strcspn): Use ANSI C function declaration. Change return type to
23353         size_t. Use NULL.
23354         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
23355         (strpbrk): Use NULL.
23356         * lib/strpbrk.h (PARAMS): Remove macro.
23357         (strpbrk): Use ANSI C function declaration.
23358         * lib/strstr.c: Don't include <sys/types.h>.
23359         * lib/strstr.h (PARAMS): Remove macro.
23360         (strstr): Use ANSI C function declarations.
23361
23362 2002-11-14  Karl Berry  <karl@gnu.org>
23363
23364         * config/mkinstalldirs: `do' on separate line, instead of
23365         `for var; do'.
23366
23367 2002-11-06  Bruno Haible  <bruno@clisp.org>
23368
23369         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
23370         * lib/gcd.c (gcd): Likewise.
23371
23372 2002-11-05  Bruno Haible  <bruno@clisp.org>
23373
23374         * lib/gcd.h: New file, from gettext-0.11.5.
23375         * lib/gcd.c: New file, from gettext-0.11.5.
23376
23377 2002-11-05  Bruno Haible  <bruno@clisp.org>
23378
23379         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23380         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23381         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23382         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23383
23384         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
23385         <libintl.h>.
23386         * lib/makepath.c: Include gettext.h instead of <locale.h> and
23387         <libintl.h>.
23388
23389         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
23390         * lib/human.c: Include gettext.h instead of <libintl.h>.
23391         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
23392         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
23393         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
23394         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
23395         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
23396         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
23397         (textdomain): Remove definition.
23398         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
23399
23400         * lib/long-options.c: Remove include of <libintl.h> and definition of
23401         _.
23402         * lib/same.c: Remove include of <libintl.h> and definition of _.
23403
23404 2002-11-04  Owen Taylor  <otaylor@redhat.com>
23405
23406         * lib/config.charset: A few additions for Solaris.
23407
23408 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23409
23410         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
23411         * lib/localcharset.c (locale_charset): Declare as extern "C".
23412
23413 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23414
23415         * lib/config.charset: msdos in uk_UA uses CP1125.
23416
23417 2002-11-04  Bruno Haible  <bruno@clisp.org>
23418
23419         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
23420         * lib/strcase.h: New file, from GNU gettext-0.11.5.
23421         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
23422         * lib/strstr.h: New file, from GNU gettext-0.11.5.
23423         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
23424
23425 2002-11-04  Bruno Haible  <bruno@clisp.org>
23426
23427         * lib/localcharset.c (locale_charset): Don't return an empty string.
23428
23429 2002-11-04  Bruno Haible  <bruno@clisp.org>
23430
23431         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
23432         aliases.
23433
23434 2002-11-04  Bruno Haible  <bruno@clisp.org>
23435
23436         * lib/config.charset: Update for newest glibc. Add canonical names
23437         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
23438
23439 2002-11-04  Bruno Haible  <bruno@clisp.org>
23440
23441         * lib/config.charset: Add support for NetBSD.
23442
23443 2002-11-04  Bruno Haible  <bruno@clisp.org>
23444
23445         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
23446
23447 2002-11-01  Bruno Haible  <bruno@clisp.org>
23448
23449         * configure.in: Add AC_CONFIG_AUX_DIR call.
23450         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
23451         test/Makefile.
23452         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
23453
23454 2002-09-28  Karl Berry  <karl@gnu.org>
23455
23456         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
23457         installed automake until the next release, since changes have been
23458         made.
23459
23460 2002-09-25  Karl Berry  <karl@gnu.org>
23461
23462         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
23463         * lib/getopt*: copy from libc/posix.
23464         * lib/gettext.h: copy from gettext.
23465         * lib/.cppi-disable: add strdup.c, gettext.h.
23466
23467 2002-09-25  Karl Berry  <karl@gnu.org>
23468
23469         * config/srclist.txt: enable gettext.h check.
23470         * config/config.{guess,sub}: update from prep.
23471         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
23472                 from automake 1.6.3.
23473         See srclist*.
23474
23475 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
23476
23477         * regex.c (PATFETCH): Remove the translating fetch.
23478         (PATFETCH_RAW): Rename to PATFETCH.
23479         (set_image_of_range): New fun.
23480         (SET_RANGE_TABLE_WORK_AREA): Use it.
23481         (regex_compile): Don't translate the pattern chars so eagerly.
23482         Only do it when inserting an `exactn' bytecode or when handling
23483         a char-range.
23484         (mutually_exclusive_p): Avoid empty statement.
23485
23486 2002-07-06  Jim Meyering  <meyering@lucent.com>
23487
23488         * m4/README: Don't mention Makefile.am.in.
23489         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
23490
23491 2002-07-01  Jim Meyering  <meyering@lucent.com>
23492
23493         * lib/c-stack.c: Include sys/time.h.
23494         From Volker Borchert.
23495
23496 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23497
23498         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
23499
23500 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23501
23502         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
23503         New macro.  Use it uniformly instead of
23504         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
23505         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
23506         reported by Vin Shelton.
23507
23508 2002-06-22  Paul Eggert  <eggert@twinsun.com>
23509
23510         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
23511         Do not assume SA_SIGINFO behavior.
23512         Bug reported by Jim Meyering on NetBSD 1.5.2.
23513
23514 2002-06-22  Jim Meyering  <meyering@lucent.com>
23515
23516         * m4/c-stack.m4: New file, from diffutils-2.8.2.
23517         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
23518
23519         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
23520         now that configure.ac uses AC_GNU_SOURCE.
23521         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
23522         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
23523
23524         Update to latest tools.  Suggestions from Paul Eggert.
23525         * m4/stdbool.m4: New file, from diffutils-2.8.2.
23526         * m4/gnu-source.m4: Update from diffutils-2.8.2.
23527         * m4/fnmatch.m4: Likewise.
23528         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
23529         to AC_HEADER_STDBOOL
23530
23531 2002-06-22  Jim Meyering  <meyering@lucent.com>
23532
23533         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
23534         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
23535
23536 2002-06-22  Jim Meyering  <meyering@lucent.com>
23537
23538         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
23539
23540         * lib/exitfail.c, exitfail.h: Likewise.
23541         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
23542
23543         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
23544         of fnmatch.h.
23545         (EXTRA_DIST): Add fnmatch_loop.c.
23546         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
23547
23548         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
23549         * lib/fnmatch.c: Update from diffutils-2.8.2.
23550         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
23551         * lib/fnmatch.h: Remove file.
23552
23553 2002-06-21  Jim Meyering  <meyering@lucent.com>
23554
23555         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
23556         * m4/mbrtowc.m4: Likewise.
23557
23558         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
23559         * m4/mbswidth.m4: Reflect name change:
23560         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
23561         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
23562
23563         * m4/lib-link.m4: Update from gettext-0.11.2.
23564         * m4/gettext.m4: Likewise.
23565
23566         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
23567         From Alfred M. Szmidt.
23568
23569 2002-06-18  Paul Eggert  <eggert@twinsun.com>
23570
23571         * lib/file-type.h: Report an error if neither S_ISREG nor
23572         S_IFREG is defined, instead of using a test specific to glibc
23573         2.2.  This should be safe, since POSIX requires S_ISREG and
23574         Unix Version 7 had S_IFREG.  We don't need to check for
23575         <sys/types.h> since we don't use any symbols that it defines.
23576
23577 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
23578
23579         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
23580         $@-t, so that each temporary file name is unique and valid in the first
23581         8 characters, for operation under DOS.
23582
23583 2002-06-15  Paul Eggert  <eggert@twinsun.com>
23584
23585         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
23586
23587 2002-06-15  Jim Meyering  <meyering@lucent.com>
23588
23589         Work even with DJGPP 2.03, which lacks support for symlinks.
23590         From Richard Dawe.
23591         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
23592         is defined.
23593         * lib/lchown.c (S_ISLNK): Likewise.
23594
23595 2002-06-15  Jim Meyering  <meyering@lucent.com>
23596
23597         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
23598         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
23599         have been included before this file.
23600
23601 2002-06-14  Jim Meyering  <meyering@lucent.com>
23602
23603         * lib/file-type.h: Use the version from diffutils-2.8.2.
23604         * lib/file-type.c: Likewise.
23605
23606 2002-06-07  Jim Meyering  <meyering@lucent.com>
23607
23608         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
23609         They're needed at least for NetBSD 1.5.2.
23610         ($statxfs_includes): Include those same headers.
23611         ($statxfs_includes): Include sys/vfs.h if available.
23612         ($statxfs_includes): Likewise for sys/statvfs.h.
23613         Check for the following members in both structs statfs and statvfs:
23614         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
23615
23616 2002-06-01  Jim Meyering  <meyering@lucent.com>
23617
23618         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
23619         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
23620
23621 2002-05-28  Jim Meyering  <meyering@lucent.com>
23622
23623         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
23624         Reported by Volker Borchert.
23625
23626 2002-05-27  Jim Meyering  <meyering@lucent.com>
23627
23628         Fix a problem seen only on nonconforming systems whereby ls.c's
23629         use of localtime, and then of gettimeofday would cause trouble:
23630         the localtime call used to initialize rpl_gettimeofday's save
23631         mechanism would clobber ls's current local time information so
23632         that in any long listing the first file would always be listed
23633         with date 1970-01-01.  Analysis by Volker Borchert.
23634
23635         * lib/gettimeofday.c (localtime): Undefine.
23636         (rpl_localtime): New function.
23637
23638 2002-05-27  Jim Meyering  <meyering@lucent.com>
23639
23640         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
23641         localtime.
23642
23643         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
23644         use the replacement function; it wouldn't resolve at link time.
23645         Reported by Volker Borchert.
23646
23647 2002-05-22  Jim Meyering  <meyering@lucent.com>
23648
23649         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
23650         file-type.h.
23651         * lib/file-type.h: New file.
23652         * lib/file-type.c (file_type): New file/function.  Extracted from
23653         diffutils.
23654
23655 2002-04-30  Jim Meyering  <meyering@lucent.com>
23656
23657         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
23658
23659 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23660
23661         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
23662
23663 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23664
23665         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
23666         Do not check for alloca.h (no longer used) or stdbool.h (was never
23667         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
23668
23669 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23670
23671         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
23672
23673 2002-04-29  Jim Meyering  <meyering@lucent.com>
23674
23675         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
23676         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
23677         Use AC_FUNC_STRNLEN here instead.
23678
23679         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
23680         With autoconf-2.53a, it's part of AC_PROG_CC.
23681
23682 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23683
23684         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
23685         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
23686
23687 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23688
23689         * lib/sig2str.h, lib/sig2str.c: New files.
23690         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
23691
23692 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23693
23694         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
23695         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
23696         of 127, since 64 is the largest conceivable number for ancient
23697         nonstandard hosts.
23698         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
23699
23700 2002-04-28  Jim Meyering  <meyering@lucent.com>
23701
23702         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
23703
23704 2002-04-24  Jim Meyering  <meyering@lucent.com>
23705
23706         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
23707         (jm_PREREQ): Use it.
23708
23709         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
23710         mach/mach.h fcntl.h.
23711         Check for this function: setlocale.
23712
23713 2002-04-24  Jim Meyering  <meyering@lucent.com>
23714
23715         * lib/gettext.h: New file, from Gettext.
23716         * lib/Makefile.am (INCLUDES): Remove -I../intl.
23717         (libfetish_a_SOURCES): Add gettext.h.
23718
23719 2002-04-16  Jim Meyering  <meyering@lucent.com>
23720
23721         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
23722         ut_pid, ut_id, ut_exit.
23723
23724 2002-04-16  Jim Meyering  <meyering@lucent.com>
23725
23726         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
23727         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
23728         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
23729
23730 2002-04-12  Jim Meyering  <meyering@lucent.com>
23731
23732         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
23733         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
23734         existence of the getmntinfo function.  Needed for Darwin 5.3.
23735
23736         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
23737         This is necessary at least on Darwin 5.3.
23738
23739         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
23740         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
23741         strnlen.o in the library, and that makes some versions of ranlib
23742         object.
23743
23744 2002-04-12  Jim Meyering  <meyering@lucent.com>
23745
23746         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
23747
23748 2002-04-09  Jim Meyering  <meyering@lucent.com>
23749
23750         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
23751         to be more precise.  Rather than saying we're checking whether the
23752         function `works', say what we're testing.
23753         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
23754         Reported by Bruno Haible.
23755
23756 2002-03-10  Jim Meyering  <meyering@lucent.com>
23757
23758         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
23759         Suggestion from Santiago Vila.
23760
23761 2002-03-08  Jim Meyering  <meyering@lucent.com>
23762
23763         * lib/rename.c: Mention that this wrapper is needed also on
23764         mips-dec-ultrix4.4 systems.
23765
23766 2002-03-02  Jim Meyering  <meyering@lucent.com>
23767
23768         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
23769         not HAVE_CLOCK_SETTIME.
23770
23771 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23772
23773         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
23774         Check for clock_settime.
23775
23776 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23777
23778         * lib/nanosleep.h: Rename to....
23779         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
23780
23781         * lib/gettime.c: New file.
23782         * lib/settime.c: New file.
23783         * lib/stime.c: Remove.
23784
23785         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
23786         timespec.h.  Remove nanosleep.h.
23787
23788 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23789
23790         * m4/acl.m4: New file.
23791         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
23792         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
23793
23794 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23795
23796         * lib/acl.c, lib/acl.h: New files.
23797         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
23798
23799 2002-02-24  Jim Meyering  <meyering@lucent.com>
23800
23801         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
23802         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
23803         cause trouble.  Reported by Nelson Beebe.
23804
23805 2002-02-23  Paul Eggert  <eggert@twinsun.com>
23806
23807         * lib/path-concat.c (xpath_concat): Reorder code to pacify
23808         compilers that don't know that xalloc_die never returns.
23809
23810 2002-02-20  Jim Meyering  <meyering@lucent.com>
23811
23812         * lib/getdate.c: Regenerate using bison-1.33.
23813
23814 2002-02-17  Jim Meyering  <meyering@lucent.com>
23815
23816         * config/config.guess (main): Don't use `head -1'; it's no longer
23817         portable. Use `sed 1q' instead.
23818
23819 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
23820
23821         * m4/codeset.m4: Upgrade to gettext-0.11.
23822         * m4/gettext.m4: Upgrade to gettext-0.11.
23823         * m4/glibc21.m4: Upgrade to gettext-0.11.
23824         * m4/iconv.m4: Upgrade to gettext-0.11.
23825         * m4/isc-posix.m4: Upgrade to gettext-0.11.
23826         * m4/lcmessage.m4: Upgrade to gettext-0.11.
23827         * m4/lib-ld.m4: New file, from gettext-0.11.
23828         * m4/lib-link.m4: New file, from gettext-0.11.
23829         * m4/lib-prefix.m4: New file, from gettext-0.11.
23830         * m4/progtest.m4: Upgrade to gettext-0.11.
23831
23832 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23833
23834         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
23835         (jm_PREREQ): Use it.
23836
23837 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23838
23839         * lib/posixver.c, lib/posixver.h: New files.
23840         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23841
23842 2002-02-02  Paul Eggert  <eggert@twinsun.com>
23843             Bruno Haible  <bruno@clisp.org>
23844
23845         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
23846         (fwrite_success_callback): New declaration.
23847         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
23848         print_unicode_char. Call failure callback instead of error.
23849         (fwrite_success_callback): New function.
23850         (exit_failure_callback): New function.
23851         (fallback_failure_callback): New function.
23852         (print_unicode_char): Call unicode_to_mb.
23853
23854 2002-01-26  Jim Meyering  <meyering@lucent.com>
23855
23856         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
23857         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
23858
23859 2002-01-26  Jim Meyering  <meyering@lucent.com>
23860
23861         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
23862
23863 2002-01-22  Paul Eggert  <eggert@twinsun.com>
23864
23865         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
23866
23867 2002-01-22  Jim Meyering  <meyering@lucent.com>
23868
23869         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
23870         Otherwise, some versions of automake would omit the rule that makes
23871         Makefile from Makefile.in.
23872
23873 2002-01-21  Paul Eggert  <eggert@twinsun.com>
23874
23875         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
23876         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23877         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
23878         (memcoll): Set errno to zero if there is no error.
23879
23880         * lib/quotearg.c (quotearg_buffer_restyled):
23881         Fix bug with quoting buffers containing NUL when backslashing escapes.
23882         This bug was exposed by the other changes in this patch.
23883         (quotearg_n_options): New arg ARGSIZE.
23884         All callers changed.
23885         (quoting_options_from_style): New function.
23886         (quotearg_n_style): Use it.
23887         (quotearg_n_style_mem): New function.
23888
23889         * lib/quotearg.h (quotearg_n_style_mem): New function.
23890
23891 2002-01-19  Jim Meyering  <meyering@lucent.com>
23892
23893         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
23894         Remove useless quotes: DF_PROG="df".
23895         * m4/strnlen.m4: New file.
23896
23897 2002-01-16  Paul Eggert  <eggert@twinsun.com>
23898
23899         * lib/backupfile.c (ISDIGIT): Comment fix.
23900         * lib/getdate.y (ISDIGIT): Likewise.
23901         * lib/posixtm.c (ISDIGIT, year): Likewise.
23902         * lib/strverscmp.c (ISDIGIT): Likewise.
23903         * lib/userspec.c (ISDIGIT): Likewise.
23904
23905 2002-01-16  Jim Meyering  <meyering@lucent.com>
23906
23907         * lib/getdate.y: Add three semicolons, each just before a closing
23908         brace. Bison (as of version 1.31) no longer papers over that mistake.
23909
23910 2002-01-05  Jim Meyering  <meyering@lucent.com>
23911
23912         * lib/version-etc.c (version_etc_copyright): Update copyright year.
23913
23914 2001-12-19  Paul Eggert  <eggert@twinsun.com>
23915
23916         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
23917         not silently exit merely because the output buffer happens to
23918         have nothing pending.
23919
23920 2001-12-18  Paul Eggert  <eggert@twinsun.com>
23921
23922         See the big note in ../ChangeLog.
23923         * lib/human.c (suffixes): Prefer K to k for 1024.
23924         (generate_suffix_backwards): New function.
23925         (human_readable_inexact): Use it.
23926         * lib/xstrtol.c (__xstrtol): If there is no number but there
23927         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
23928         Accept 'K' as well as 'k'.
23929
23930 2001-12-15  Jim Meyering  <meyering@lucent.com>
23931
23932         * lib/regex.h (__restrict_arr): Update from libc.
23933
23934         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
23935         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
23936         (STREQ): Define.
23937
23938 2001-12-14  Jim Meyering  <meyering@lucent.com>
23939
23940         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
23941         Suggestion from Bruno Haible.
23942
23943 2001-12-10  Jim Meyering  <meyering@lucent.com>
23944
23945         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
23946         xrealloc, Instead, include "xalloc.h".
23947         (initbuffer): Don't cast xmalloc return value to char*.
23948         (readline): Reword comment.
23949         Don't cast xrealloc return value to char*
23950         Return NULL, not 0.
23951
23952 2001-12-09  Jim Meyering  <meyering@lucent.com>
23953
23954         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
23955         about `signed and unsigned type in conditional expression'.
23956         * lib/posixtm.c (posix_time_parse): Likewise.
23957
23958         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
23959
23960         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
23961         to avoid a pedantic warning.
23962
23963         * lib/getstr.c: Don't include assert.h.
23964         (getstr): Remove warning-evoking assertions.
23965         Return -1 if offset parameter is out of bounds.
23966         Change the type of a local from int to size_t.
23967
23968         * lib/strftime.c (my_strftime_localtime_r): Include this function
23969         definition in the `#if ! HAVE_TM_GMTOFF' block.
23970
23971         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
23972         Include xalloc.h instead.
23973
23974 2001-12-02  Jim Meyering  <meyering@lucent.com>
23975
23976         * lib/tempname.c: Don't declare getenv, thus reverting the change of
23977         2001-11-18.  It's no longer necessary, now that stdlib.h is always
23978         included.
23979
23980         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
23981         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
23982
23983 2001-11-30  Akim Demaille  <akim@epita.fr>
23984
23985         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
23986         before being defined.
23987
23988 2001-11-27  Paul Eggert  <eggert@twinsun.com>
23989
23990         * lib/quotearg.h (quotearg_n, quotearg_n_style):
23991         First arg is int, not unsigned.
23992         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
23993         (SIZE_MAX, UINT_MAX): New macros.
23994         (quotearg_n_options): Abort if N is negative.
23995         Avoid overflow check on hosts where size_t is 64 bits and int
23996         is 32 bits, as overflow is impossible there.
23997         Fix off-by-one typo that caused unnecessary reallocation.
23998
23999 2001-11-27  Jim Meyering  <meyering@lucent.com>
24000
24001         * lib/tempname.c: Merge with version from libc.
24002         * lib/regex.c: Likewise.
24003
24004         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
24005         systems for which STDC_HEADERS is 0, it was not included, resulting in
24006         a warning about an integer-to-pointer conversion problem with getenv.
24007         Reported by Volker Borchert.
24008
24009 2001-11-26  Jim Meyering  <meyering@lucent.com>
24010
24011         * lib/gtod.h: Remove file.
24012         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
24013         * lib/gettimeofday.c: Don't include gtod.h.
24014         (GTOD_init): Remove function.
24015         (rpl_gettimeofday): Do its job here instead, rather than aborting.
24016         Suggestion from Volker Borchert.
24017
24018 2001-11-23  Jim Meyering  <meyering@lucent.com>
24019
24020         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
24021         it.
24022         * lib/hash.c (struct hash_table): Define it here instead.
24023
24024 2001-11-22  Jim Meyering  <meyering@lucent.com>
24025
24026         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
24027
24028 2001-11-20  Jim Meyering  <meyering@lucent.com>
24029
24030         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
24031         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
24032
24033 2001-11-19  Jim Meyering  <meyering@lucent.com>
24034
24035         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
24036         directory.  Use "conftestXXXXXX" as the template.
24037         Suggestion from Paul Eggert.
24038
24039         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
24040         immediately, so the test doesn't mistakenly hit the max-open-files
24041         limit.
24042
24043 2001-11-18  Paul Eggert  <eggert@twinsun.com>
24044
24045         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
24046         (TEMPORARIES): New macro.
24047         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
24048         removes an artificial limitation (e.g. HP-UX 10.20, where
24049         TMP_MAX is 17576).
24050
24051 2001-11-18  Jim Meyering  <meyering@lucent.com>
24052
24053         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
24054
24055 2001-11-18  Jim Meyering  <meyering@lucent.com>
24056
24057         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
24058         on SunOS 4.
24059
24060         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
24061         files will be created before anything else.
24062
24063 2001-11-17  Paul Eggert  <eggert@twinsun.com>
24064
24065         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
24066         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
24067
24068 2001-11-17  Jim Meyering  <meyering@lucent.com>
24069
24070         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
24071         Prompted by a report from Bob Proulx.
24072
24073         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
24074         Instead, require UTILS_FUNC_MKSTEMP.
24075
24076 2001-11-17  Jim Meyering  <meyering@lucent.com>
24077
24078         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
24079         Now, that's done as part of AC_FUNC_STRTOD.
24080
24081 2001-11-17  Jim Meyering  <meyering@lucent.com>
24082
24083         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
24084         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
24085         rather than group writable.  Patch by Juan F. Codagnone.
24086
24087         * lib/readtokens.c: Remove explicit declarations of xmalloc and
24088         xrealloc, Instead, include "xalloc.h".
24089
24090         * lib/mountlist.c: Include unlocked-io.h after all system headers.
24091         Remove explicit declarations of xmalloc, xrealloc,
24092         and xstrdup.  Instead, include "xalloc.h".
24093
24094         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
24095         unlocked-io.h.
24096         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
24097         Likewise.
24098         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
24099
24100         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
24101         Reported by Padraig Brady.
24102
24103         * lib/mkstemp.c: #undef mkstemp.
24104         Include config.h.
24105         (rpl_mkstemp): Rename from mkstemp.
24106         Protoize.
24107
24108 2001-11-16  Jim Meyering  <meyering@lucent.com>
24109
24110         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
24111         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
24112         determine the amount of total physical memory, use pstat_getstatic.
24113         HPUX-11 doesn't define _SC_PHYS_PAGES.
24114         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
24115         If sysconf couldn't be used to determine the amount of available
24116         physical memory, use both pstat_getstatic and pstat_getdynamic.
24117         Based on a patch from Bob Proulx.
24118
24119 2001-11-10  Jim Meyering  <meyering@lucent.com>
24120
24121         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
24122         (jm_PREREQ): Use it.
24123
24124 2001-11-09  Jim Meyering  <meyering@lucent.com>
24125
24126         * m4/jm-macros.m4: Require autoconf-2.52f.
24127         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
24128         Use these AC_-prefixed names, not the AM_-prefixed ones.
24129
24130         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
24131
24132 2001-11-05  Jim Meyering  <meyering@lucent.com>
24133
24134         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
24135
24136 2001-11-04  Jim Meyering  <meyering@lucent.com>
24137
24138         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
24139         $DEFS.
24140
24141 2001-11-03  Jim Meyering  <meyering@lucent.com>
24142
24143         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
24144         of AC_DEFUN.
24145
24146         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
24147         know the name of the variable in the macro definition.
24148
24149 2001-11-03  Jim Meyering  <meyering@lucent.com>
24150
24151         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
24152         in argmatch_to_argument call.
24153
24154         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
24155         argument.
24156
24157         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
24158         e.g., a fault due to an attempt to free a NULL pointer.
24159
24160 2001-11-01  Jim Meyering  <meyering@lucent.com>
24161
24162         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
24163         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
24164
24165 2001-11-01  Jim Meyering  <meyering@lucent.com>
24166
24167         * lib/dirfd.c, lib/dirfd.h: New files.
24168         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
24169
24170         * lib/hash.c (hash_print) [TESTING]: Clean up.
24171
24172 2001-10-22  Paul Eggert  <eggert@twinsun.com>
24173
24174         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
24175         to avoid a warning if -Wall.
24176
24177 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
24178
24179         * README: New file
24180         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
24181         (per RMS's instructions, this is now the canonical source)
24182         * lgpl/, gpl/: New directories.
24183
24184 2001-10-21  Paul Eggert  <eggert@twinsun.com>
24185
24186         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
24187
24188 2001-10-21  Jim Meyering  <meyering@lucent.com>
24189
24190         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
24191         this code would end up calling gettext even in packages built
24192         with --disable-nls.
24193         * lib/getopt.c (_): Likewise.
24194         * lib/regex.c (_): Likewise.
24195
24196 2001-10-20  Paul Eggert  <eggert@twinsun.com>
24197
24198         * m4/error.m4 (jm_PREREQ_ERROR):
24199         Do not invoke AC_CHECK_FUNCS with strerror_r, as
24200         AC_FUNC_STRERROR_R does that.
24201         Check for strerror declaration.
24202
24203         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
24204         are supposed to have them these days.
24205         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
24206         Merge changes from latest Autoconf CVS.
24207         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
24208         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
24209         POSIX decided to standardize on the int flavor of strerror_r.
24210
24211 2001-10-20  Paul Eggert  <eggert@twinsun.com>
24212
24213         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
24214         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
24215         Use strerror_r that is only a macro, even if it is not a function.
24216         (strerror): Check for HAVE_DECL_STRERROR before declaring.
24217         (private_strerror): Use prototypes, not old-style function definition.
24218         (print_errno_message): New function.
24219         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
24220         char*-flavored one.
24221         (error_tail, error, error_at_line): Use it.
24222
24223 2001-10-11  Jim Meyering  <meyering@lucent.com>
24224
24225         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
24226         and quote_n (1, ... to avoid clobbering a buffer.
24227
24228 2001-10-05  Jim Meyering  <meyering@lucent.com>
24229
24230         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
24231         hash-pjw.h.
24232         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
24233         * lib/hash-pjw.h: New file.
24234
24235 2001-09-30  Jim Meyering  <meyering@lucent.com>
24236
24237         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
24238         `struct fsstat' has the `f_fstypename' member.
24239         Use that to define FS_TYPE, which is now used to make
24240         the getfsstat link test tighter.
24241
24242 2001-09-30  Jim Meyering  <meyering@lucent.com>
24243
24244         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
24245         Include <sys/ucred.h>, for Apple Darwin.
24246         Include sys/mount.h and sys/fs_types.h only if available.
24247         (FS_TYPE): Define.
24248         (read_filesystem_list): Use FS_TYPE.
24249
24250 2001-09-29  Paul Eggert  <eggert@twinsun.com>
24251
24252         * lib/exclude.c (excluded_filename): 0 -> false, since it's
24253         a boolean context.
24254
24255 2001-09-29  Jim Meyering  <meyering@lucent.com>
24256
24257         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
24258         [one-argument getmntent function]): Include stdio.h before mntent.h.
24259         SunOS 4.1.x needs it for the declaration of `FILE'.
24260         Patch by Volker Borchert.
24261
24262         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
24263         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
24264         sys/fs_types.h, and make the link-test for getfsstat guard #include
24265         directives with appropriate #if HAVE_*_H tests so that we can
24266         detect getfsstat on Apple Darwin1.3.7 systems.
24267         Reported by Nelson Beebe.
24268         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
24269
24270 2001-09-28  Paul Eggert  <eggert@twinsun.com>
24271
24272         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
24273         #defines strtoimax.  Also treat the other strto* functions
24274         like strtoimax.
24275
24276         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24277         Check for strtoul and strtoumax,
24278         as those declarations are made even in the signed case.
24279         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
24280         Likewise, for strtol and strtoimax.
24281
24282 2001-09-28  Paul Eggert  <eggert@twinsun.com>
24283
24284         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
24285         #defines strtoimax.  Also treat the other strto* functions
24286         like strtoimax.
24287
24288         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
24289         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
24290         (strtoimax, strtoumax): Do not declare if already defined as a macro.
24291
24292 2001-09-26  Jim Meyering  <meyering@lucent.com>
24293
24294         Most macros in unlocked-io.h had the wrong number of arguments.
24295         * lib/gen-uio: New script.
24296         (USE_UNLOCKED_IO): Define to 1 if not already defined.
24297         * lib/unlocked-io.hin: Remove file.
24298         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
24299         rather than trying to embed it here.
24300         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
24301         Reported by Padraig Brady.
24302
24303 2001-09-25  Volker Borchert  <bt@teknon.de>
24304
24305         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
24306         `result'.
24307
24308 2001-09-24  Jim Meyering  <meyering@lucent.com>
24309
24310         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
24311
24312 2001-09-23  Jim Meyering  <meyering@lucent.com>
24313
24314         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
24315         instead of the mere test for existence of mntent.h.  The latter
24316         would get a false-positive on AIX 3.4 systems.
24317         In the outer getmntent if-block, don't die if neither of the getmntent
24318         tests succeeds.  Instead, just fall through and continue with the
24319         remaining tests.
24320
24321 2001-09-23  Jim Meyering  <meyering@lucent.com>
24322
24323         * lib/mountlist.c: Remove useless parentheses in #if directives.
24324         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
24325         the deprecated MOUNTED symbol is no longer defined in mntent.h.
24326
24327 2001-09-22  Jim Meyering  <meyering@lucent.com>
24328
24329         * m4/gettext.m4: New file.  From gettext.
24330         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
24331         * m4/progtest.m4: Likewise
24332         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
24333         * m4/glibc21.m4: Likewise.
24334
24335         * m4/libintl.m4: Remove.  No longer used.
24336
24337 2001-09-22  Jim Meyering  <meyering@lucent.com>
24338
24339         * lib/localcharset.c: Update from latest gettext.
24340         * lib/config.charset: Likewise.
24341
24342 2001-09-20  Jim Meyering  <meyering@lucent.com>
24343
24344         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
24345         strtoimax.
24346         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
24347         strtoumax.
24348
24349 2001-09-20  Jim Meyering  <meyering@lucent.com>
24350
24351         * lib/xstrtol.c (strtoimax): Guard declaration with
24352         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
24353         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
24354         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
24355         (strtoumax): Likewise, for completeness (it wasn't necessary).
24356
24357 2001-09-17  Paul Eggert  <eggert@twinsun.com>
24358
24359         * lib/strtoimax.c (HAVE_LONG_LONG):
24360         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
24361         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
24362         to work around bug in IBM C compiler.
24363
24364 2001-09-17  Jim Meyering  <meyering@lucent.com>
24365
24366         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
24367         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
24368         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
24369         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
24370         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
24371         whenever the right hand side need not be expanded by the shell.
24372
24373 2001-09-16  Paul Eggert  <eggert@twinsun.com>
24374
24375         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
24376         library.  It's not correct, as some older glibcs are buggy.
24377         fnmatch wasn't fixed until glibc 2.2.
24378
24379         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
24380         special shell magic here.
24381
24382 2001-09-16  Jim Meyering  <meyering@lucent.com>
24383
24384         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
24385         * m4/jm-macros.m4: Require it.
24386
24387 2001-09-16  Jim Meyering  <meyering@lucent.com>
24388
24389         * lib/mkdir.c: New file.
24390
24391 2001-09-15  Jim Meyering  <meyering@lucent.com>
24392
24393         * m4/jm-macros.m4: Check for help2man.
24394
24395 2001-09-11  Jim Meyering  <meyering@lucent.com>
24396
24397         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
24398         The body, by Paul Eggert, was moved here from configure.in.
24399         * m4/jm-macros.m4: Require UTILS_HOST_OS.
24400
24401 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24402
24403         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
24404         (jm_PREREQ): Use it.
24405
24406 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24407
24408         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
24409         Use ssize_t, not int, to store result of readlink.
24410         Check for ssize_t overflow as well as size_t overflow,
24411         as POSIX says the result of readlink is implementation-defined
24412         when ssize_t overflows.
24413         Remove unnecessary cast to char*.
24414         Use free+malloc instead of realloc, as the storage doesn't need
24415         to be preserved and it's clearer and can be more efficient that way.
24416         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
24417         * lib/xreadlink.h (xreadlink): Update prototype.
24418
24419 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24420
24421         * lib/xgetcwd.c: Revert some of the previous change; intead,
24422         fix the HAVE_GETCWD_NULL code to behave more like the
24423         !HAVE_GETCWD_NULL code used to.
24424
24425         Include "xalloc.h".
24426         (xgetcwd): Do not return NULL when memory is exhausted; instead,
24427         invoke xalloc_die.
24428
24429 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24430
24431         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
24432         sys/param.h, as pathmax.h includes them.
24433
24434 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24435
24436         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
24437         (jm_PREREQ_XGETCWD): New macro.
24438
24439         * m4/getcwd.m4: New file.
24440
24441 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24442
24443         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
24444         like the HAVE_GETCWD_NULL code.
24445         Include pathmax.h if not HAVE_GETCWD.
24446         Do not include xalloc.h.
24447         (INITIAL_BUFFER_SIZE): New symbol.
24448         Do not use xmalloc / xrealloc, since the caller is responsible for
24449         handling errors.  Preserve errno around `free' during failure.
24450         Do not overrun buffer when using getwd.
24451
24452 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24453
24454         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
24455         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
24456         getcwd (NULL, 0).
24457
24458 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24459
24460         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
24461         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
24462         spotted by Jim Meyering.
24463
24464 2001-09-03  Jim Meyering  <meyering@lucent.com>
24465
24466         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
24467         failure.
24468
24469 2001-09-02  Jim Meyering  <meyering@lucent.com>
24470
24471         * lib/error.c: Update from GNU libc.
24472
24473 2001-09-01  Jim Meyering  <meyering@lucent.com>
24474
24475         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
24476         Used by df.
24477
24478 2001-09-01  Jim Meyering  <meyering@lucent.com>
24479
24480         * lib/xreadlink.c: New file.
24481         * lib/xreadlink.h: New file.
24482         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
24483         xreadlink.h.
24484
24485         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
24486         doesn't conflict with sparc Solaris 7's definition in
24487         /usr/include/sys/int_types.h.
24488
24489         * lib/exclude.c: Use `""', not `<>' to #include non-system header
24490         files.
24491         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
24492         and strncasecmp as r-values.  Unixware didn't have declarations.
24493
24494 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24495
24496         * lib/xstrtol.h: Add copyright notice.
24497         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
24498         LONGINT_INVALID_SUFFIX_CHAR.
24499
24500 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24501
24502         * lib/xstrtol.c (strtoimax): New decl.
24503
24504 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24505
24506         * lib/xgetcwd.c: Don't include pathmax.h.
24507         Include stdlib.h and unistd.h if available.
24508         Include xalloc.h.
24509         (xmalloc, xstrdup, free): Remove decls.
24510         (xgetcwd): Don't assume sizes fit in unsigned.
24511         Check for overflow when computing sizes.
24512         Simplify reallocation code.
24513
24514 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24515
24516         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
24517         a directory's st_size can have an arbitrary value, so the old
24518         usage could waste an arbitrary amount of memory.  All uses
24519         changed.
24520         * lib/savedir.h: Update prototype.
24521
24522 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24523
24524         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
24525
24526         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
24527         old strtoimax.c.
24528
24529         Also, make the following further changes to make this file's
24530         configuration more similar to that of strtol.c:
24531         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
24532         (strtoumax, uintmax_t, strtoull, strtol): Remove.
24533         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
24534         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
24535         changed to signed values.
24536
24537         And make the following changes as well:
24538         Fix copyright notice, as 1999 was missing.
24539         (verify): New macro.
24540         (strtoimax): Check sizes at compile-time, not run-time.
24541         Prefer strtol to strtoll if both work.
24542         (main): Remove; it was not that useful and was a pain to maintain.
24543
24544         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
24545
24546 2001-08-31  Jim Meyering  <meyering@lucent.com>
24547
24548         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
24549         Use an initial, malloc'd, buffer of length 128 rather than
24550         a statically allocated one of length 1024.
24551
24552 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24553
24554         Simplify code, partly by assuming autoconf 2.52 semantics.
24555
24556         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
24557
24558         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
24559         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
24560         All uses removed.
24561         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
24562         Move AC_REQUIRE to next-to-top level, to avoid confusion.
24563         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
24564         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
24565         jm_AC_HEADER_INTTYPES_H.
24566         * m4/jm-macros.m4 (jm_MACROS): Likewise.
24567
24568         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
24569
24570         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24571         Quote first arg of AC_DEFUN.
24572         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
24573         since they are needed to parse the include file even if we need
24574         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
24575         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
24576         but with opposite signedness.
24577
24578 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24579
24580         Merge 'exclude' changes from tar 1.13.22.
24581         This fixes one or two unlikely storage allocation overflow bugs,
24582         but doesn't change user-visible behavior otherwise.
24583
24584 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24585
24586         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
24587         (jm_PREREQ_EXCLUDE): New macro.
24588
24589 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24590
24591         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
24592         tm to be declared.
24593
24594 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24595
24596         * lib/hash.c: Remove '2001' from copyright notice.
24597
24598 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24599
24600         * lib/full-write.h: New file.
24601         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
24602         * lib/full-write.c: Correct credits, as cccp.c no longer
24603         exists and anyway it was so heavily changed from the old cccp
24604         code as to be unrecognizable.  Include full-write.h.
24605         (full_write) Return size_t, with short writes meaning failure.
24606         All callers changed.  This fixes a bug with large buffers
24607         on 64-bit hosts.
24608         * lib/utime.c: Include full-write.h.
24609
24610 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24611
24612         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
24613         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
24614         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
24615         Include if available.
24616         (<xalloc.h>): Include
24617         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
24618         (verify): New macro.  Use it to verify that EXCLUDE macros do not
24619         collide with FNM macros.
24620         (struct patopts): New struct.
24621         (struct exclude): Use it, as exclude patterns now come with options.
24622         (new_exclude): Support above changes.
24623         (new_exclude, add_exclude_file):
24624         Initial size must now be a power of two to simplify overflow checking.
24625         (free_exclude, fnmatch_no_wildcards): New function.
24626         (excluded_filename): No longer requires options arg, as the options
24627         are determined by add_exclude.  Now returns bool, not int.
24628         (excluded_filename, add_exclude):
24629         Add support for the fancy new exclusion options.
24630         (add_exclude, add_exclude_file): Now takes int options arg.
24631         Check for arithmetic overflow when computing sizes.
24632         (add_exclude_file): xrealloc might modify errno, so don't
24633         realloc until after errno might be used.
24634
24635         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
24636         New macros.
24637         (free_exclude): New decl.
24638         (add_exclude, add_exclude_file): Now takes int options arg.
24639         (excluded_filename): No longer requires options arg, as the options
24640         are determined by add_exclude.  Now returns bool, not int.
24641
24642 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24643
24644         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
24645
24646 2001-08-27  Jim Meyering  <meyering@lucent.com>
24647
24648         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
24649
24650         * lib/version-etc.c (N_): Remove definition.
24651         Revert most of last change.
24652         Instead, simply don't mark the `Copyright...' string for translation.
24653         Based on advice from Paul Eggert.
24654
24655         * lib/strtoxmax.c: Tweak comment.
24656
24657 2001-08-26  Jim Meyering  <meyering@lucent.com>
24658
24659         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
24660
24661         * m4/xstrtoimax.m4: New file.
24662         * m4/xstrtoumax.m4: Add comments explaining why we
24663         AC_REPLACE_FUNCS(strtol).
24664
24665 2001-08-26  Jim Meyering  <meyering@lucent.com>
24666
24667         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
24668         of copyright with `%s' so translators don't get an untranslated
24669         message in 2002.
24670         (COPYRIGHT_YEAR): Define.
24671         (version_etc): Use fprintf rather than fputs.
24672         Suggestion from Ulrich Drepper.
24673
24674         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
24675
24676         * lib/strtoll.c: New file, from GNU libc.
24677         * lib/xstrtoimax.c: New file.
24678
24679         * lib/xstrtol.h: Add xstrtoimax.
24680         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
24681         * lib/strtoimax.c: New file.  Likewise, but first define
24682         STRTOUXMAX_SIGNED.
24683
24684         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
24685         ...
24686         * lib/strtoxmax.c: ... then renamed to this.
24687
24688 2001-08-18  Paul Eggert  <eggert@twinsun.com>
24689
24690         * m4/inttypes.m4: Add AC_PREREQ(2.13).
24691         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
24692         (jm_AC_TYPE_INTMAX_T): New macro.
24693         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
24694
24695         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
24696
24697         * m4/longlong.m4: Renamed from ulonglong.m4.
24698         * m4/inttypes.m4: Renamed from inttypes_h.m4.
24699         * m4/uintmax_t.m4: Removed.
24700
24701 2001-08-13  Paul Eggert  <eggert@twinsun.com>
24702
24703         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
24704         Port to Solaris 8, where 'sed' requires a space after the 'r'
24705         command, and where sh dislikes "$/".  Clean up the spacing a bit.
24706         Redirect output to $tmp just once.
24707
24708 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
24709
24710         * lib/addext.c (<errno.h>): Include.
24711         (errno): Declare if not defined.
24712         (addext): Work correctly when pathconf returns -1 and leaves
24713         errno alone because there is no limit.  Also, work even if
24714         pathconf returns a value greater than SIZE_MAX.
24715
24716 2001-08-12  Jim Meyering  <meyering@lucent.com>
24717
24718         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
24719         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
24720         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
24721         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
24722         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
24723         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
24724         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
24725         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
24726         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
24727         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
24728         utime.m4, utimes.m4, xstrtoumax.m4:
24729         Quote the first argument in each use of AC_DEFUN.
24730
24731 2001-08-12  Jim Meyering  <meyering@lucent.com>
24732
24733         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
24734         Simply `return getcwd (NULL, 0);'.
24735         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
24736         Use 1300 as initial value for length, not PATH_MAX.
24737
24738         * lib/pathmax.h: Clean up cpp syntax.
24739
24740 2001-08-12  Jim Meyering  <meyering@lucent.com>
24741
24742         * lib/gettimeofday.c: New file.
24743         * lib/gtod.h: New file.
24744         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
24745
24746 2001-08-05  Jim Meyering  <meyering@lucent.com>
24747
24748         * m4/jm-macros.m4: Require autoconf-2.52.
24749
24750 2001-08-04  Jim Meyering  <meyering@lucent.com>
24751
24752         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
24753         stmt, to get in sync with glibc.
24754
24755 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24756
24757         The following changes are from gettext 0.10.39 as maintained by
24758         Bruno Haible.
24759
24760         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
24761         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
24762         with inverted sense.  All uses changed.
24763
24764         * lib/mbswidth.c: Don't include <limits.h>.
24765         Include <stdlib.h> and <string.h> unconditionally.
24766         (iswcntrl, mbsinit, ISCNTRL): New macros.
24767         (mbsnwidth): Use K&R style function declarations.
24768         Don't bother checking for MB_LEN_MAX == 1, since the compiler
24769         can optimize it when MB_CUR_MAX == 1.
24770         The width of control characters is zero, not 1.
24771
24772 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24773
24774         The following changes are from gettext 0.10.39 as maintained by
24775         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
24776
24777         * m4/codeset.m4: Upgrade to serial AM1.
24778         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
24779         all uses changed.  Quote first arg of AC_DEFUN.
24780         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
24781
24782         * m4/iconv.m4: Upgrade to serial AM2.
24783         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
24784         Add --with-libconv-prefix.
24785         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
24786         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
24787         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
24788         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
24789         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
24790
24791         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
24792         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
24793         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
24794         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
24795         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
24796         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
24797         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24798         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
24799         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
24800
24801         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
24802         string.h any more.
24803
24804         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
24805         not the default value.
24806
24807         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
24808         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
24809         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
24810         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
24811         Also check for iswcntrl, used for wcwidth fallback.
24812         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
24813         to Autoconf 2.13.
24814
24815 2001-08-03  Jim Meyering  <meyering@lucent.com>
24816
24817         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
24818         as it was in the original.  Reported by Paul Eggert.
24819
24820 2001-07-16  Jim Meyering  <meyering@lucent.com>
24821
24822         * m4/gettimeofday.m4: New file.
24823         Prompted by a report from Bernhard Baehr.
24824
24825 2001-07-15  Jim Meyering  <meyering@lucent.com>
24826
24827         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
24828         stuff. Now it's in ../Makefile.cfg.
24829
24830 2001-07-15  Jim Meyering  <meyering@lucent.com>
24831
24832         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
24833         (BUILT_SOURCES): Add unlocked-io.h.
24834         (io_functions): Define.
24835         (unlocked-io.h): New rule.
24836         (DISTCLEANFILES): Add unlocked-io.h.
24837         (all-local): Depend on unlocked-io.h, to ensure it is created.
24838
24839         * lib/unlocked-io.hin: New file
24840
24841         * lib/regex.c: Update from glibc.
24842
24843 2001-07-05  Jim Meyering  <meyering@lucent.com>
24844
24845         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
24846         recommendation.
24847         (libfetish_a_SOURCES): Put all .h files here instead.
24848         Remove a thus-exposed (better checks in automake) duplicate and
24849         two unnecessary .h files.
24850
24851 2001-07-04  Jim Meyering  <meyering@lucent.com>
24852
24853         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
24854         that generates jm-glibc-io.m4 so that it doesn't trigger any make
24855         distcheck failure.
24856
24857 2001-07-02  Jim Meyering  <meyering@lucent.com>
24858
24859         The following changes were prompted by suggestions from Bruno Haible.
24860
24861         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
24862         is now generated.
24863         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
24864         definition of EXTRA_DIST.
24865         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
24866         ensure that the generated file is created/updated whenever the list
24867         of $(unlocked_functions) is changed.
24868         (jm-glibc-io.m4): New rule.
24869         (unlocked-io.h): New rule -- currently unused.
24870
24871 2001-06-24  Jim Meyering  <meyering@lucent.com>
24872
24873         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
24874         unmatched right bracket, rather than kludging it with an extra,
24875         falsely-matching quote in a comment.  Patch by Akim Demaille.
24876
24877 2001-06-11  Jim Meyering  <meyering@lucent.com>
24878
24879         * lib/regex.c: Update from GNU libc.
24880
24881 2001-05-27  Jim Meyering  <meyering@lucent.com>
24882
24883         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
24884         Check for ut_type in struct utmp.
24885
24886 2001-05-27  Jim Meyering  <meyering@lucent.com>
24887
24888         * lib/readutmp.h (UT_TYPE): Define.
24889
24890 2001-05-24  Jim Meyering  <meyering@lucent.com>
24891
24892         * lib/argmatch.c: Include "quote.h".
24893         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
24894         quote function.  Reported by Göran Uddeborg.
24895
24896 2001-05-22  Jim Meyering  <meyering@lucent.com>
24897
24898         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
24899         now that we use the package-supplied version unconditionally.
24900         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
24901
24902 2001-05-21  Jim Meyering  <meyering@lucent.com>
24903
24904         * m4/regex.m4: Change a couple backticks to single quotes to avoid
24905         shell syntax errors.
24906
24907 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
24908
24909         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
24910
24911 2001-05-20  Paul Eggert  <eggert@twinsun.com>
24912
24913         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
24914         Don't bother to check library strftime, since
24915         we'll be using our own my_strftime function anyway.
24916         Define my_strftime instead of strftime.
24917
24918 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
24919
24920         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
24921         which is not yet declared.
24922
24923 2001-05-15  Jim Meyering  <meyering@lucent.com>
24924
24925         * m4/regex.m4: Use proper quoting so brackets appear in the test
24926         program.
24927         Reported by, and with help from, Bruno Haible.
24928
24929 2001-05-13  Jim Meyering  <meyering@lucent.com>
24930
24931         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
24932         undefined.
24933
24934 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24935
24936         dirname code cleanup.  base_name now behaves more compatibly
24937         with POSIX basename when given file names that have trailing
24938         slashes, and similarly for dir_name.  Add new primitives
24939         base_len and dir_len.  Put the directory-name-related decls
24940         into dirname.h.
24941
24942         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
24943         * lib/backupfile.c (base_name): Likewise.
24944         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
24945         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
24946         * lib/makepath.c (strip_trailing_slashes): Likewise.
24947         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
24948         ISSLASH): Likewise.
24949         * lib/rename.c (strip_trailing_slashes): Likewise.
24950         * lib/same.c (base_name): Likewise.
24951         * lib/stripslash.c (ISSLASH): Likewise.
24952
24953         * lib/addext.c: Include <dirname.h> after size_t is defined.
24954         * lib/backupfile.c: Likewise.
24955
24956         * lib/addext.c (addext): Use base_len to trim redundant
24957         trailing slashes instead of doing it ourselves.
24958         But do not trim the last slash if it is not redundant.
24959
24960         * lib/backupfile.c (find_backup_file_name,
24961         max_backup_version): Use base_len instead of rolling it ourselves.
24962         Handle the case of "" and (on DOS) "C:" correctly.
24963
24964         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
24965         needed. Include <string.h>, <dirname.h>.
24966         (base_name): Allow file names ending in slashes, other than names
24967         that are all slashes.  In this case, return the basename followed
24968         by the slashes.  This is more general, and can be used in places
24969         where the original base_name purposely had an assertion failure.
24970         (base_len): New function.
24971
24972         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
24973         Do not include <assert.h>; no longer needed.
24974         Include xalloc.h.
24975         (memrchr): Remove decl.
24976         (dir_name_r): Remove.
24977         (dir_len): Renamed from dirlen.  All callers changed.
24978         Rewrite in terms of base_name, for simplicity and consistency.
24979         (dir_name): Never return NULL.  All callers changed.
24980         Do not include <stdlib.h> in test program; no longer needed.
24981         return 0; is fine for test program.
24982
24983         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
24984         New macros.
24985         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
24986
24987         * lib/path-concat.c (path_concat): Use base_len to compute
24988         base length, not strlen; this means we cannot rely on memcpy
24989         to null-terminate.
24990
24991         * lib/same.c (STREQ): Remove.
24992         (same_name): Handle the case where the basename ends in trailing '/'.
24993
24994         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
24995         a slash was stripped.  Do not strip the last slash after a
24996         file system prefix.
24997
24998 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24999
25000         * lib/Makefile.am (libfetish_a_SOURCES):
25001         Add strftime.c, since we now compile it on all hosts.
25002
25003         * lib/strftime.c (my_strftime):
25004         Define to nstrftime if emacs, but only if my_strftime is not defined.
25005         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
25006         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
25007         Add one more extra argument: a nanoseconds value.
25008         All uses changed.
25009         (ns): New macro.
25010         (my_strftime function): Add %N format.
25011         (emacs_strftimeu): Renamed from emacs_strftime,
25012         with extra ut argument.
25013
25014 2001-05-09  Paul Eggert  <eggert@twinsun.com>
25015
25016         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
25017
25018 2001-04-21  Jim Meyering  <meyering@lucent.com>
25019
25020         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
25021         doesn't interfere.
25022
25023 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
25024
25025         * m4/ftruncate.m4: Check for chsize.
25026         Link with ftruncate.o unconditionally if ftruncate is missing.
25027         This was required when cross-compiling to i586-mingw32msvc.
25028
25029 2001-04-08  Jim Meyering  <meyering@lucent.com>
25030
25031         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
25032         recomputed; that's necessary when the offset spans a DST transition.
25033         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
25034
25035 2001-04-02  Jim Meyering  <meyering@lucent.com>
25036
25037         * lib/regex.h, regex.c: Update from GNU libc.
25038
25039 2001-03-24  Jim Meyering  <meyering@lucent.com>
25040
25041         * m4/jm-macros.m4: Require autoconf-2.49d.
25042
25043 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
25044
25045         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
25046
25047 2001-03-19  Paul Eggert  <eggert@twinsun.com>
25048
25049         * lib/version-etc.c (version_etc_copyright): Update to 2001.
25050
25051 2001-03-17  Jim Meyering  <meyering@lucent.com>
25052
25053         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
25054         now that the version in autoconf is equivalent.
25055         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
25056
25057         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
25058         Suggestion from Akim Demaille.
25059
25060         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
25061         (jm_PREREQ_TEMPNAME): New function.
25062
25063 2001-03-16  Paul Eggert  <eggert@twinsun.com>
25064
25065         * lib/tempname.c (uint64_t): Define to uintmax_t if
25066         not defined, and if UINT64_MAX is not defined.
25067         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
25068         Reported by John David Anglin.
25069
25070 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
25071
25072         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
25073         resolve alias if codeset is empty.
25074         * lib/config.charset (BeOS): Use wildcard syntax.
25075
25076 2001-03-13  Jim Meyering  <meyering@lucent.com>
25077
25078         * lib/path-concat.c (path_concat)
25079         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
25080         concatenating e.g., `C:' and `foo'.
25081         From Bruno Haible.
25082
25083 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
25084
25085         * lib/localcharset.c (locale_charset): Don't use
25086         setlocale(LC_CTYPE,NULL). Don't return NULL.
25087         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
25088
25089 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
25090
25091         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
25092         support for DOS/DJGPP.
25093
25094 2001-03-01  Paul Eggert  <eggert@twinsun.com>
25095
25096         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
25097         lacks mkstemp.  Compile our own tempname.c if we compile our own
25098         mkstemp.c, as mkstemp relies on tempname.
25099
25100 2001-03-01  Jim Meyering  <meyering@lucent.com>
25101
25102         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
25103         AH_VERBATIM really does output its argument verbatim.
25104
25105 2001-02-28  Paul Eggert  <eggert@twinsun.com>
25106
25107         * lib/Makefile.am (libfetish_a_SOURCES):
25108         Add dup-safer.c, fopen-safer.c.
25109         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
25110
25111         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
25112         * lib/unistd-safer.h: New files.
25113
25114 2001-02-25  Paul Eggert  <eggert@twinsun.com>
25115
25116         The mkstemp replacement is taken from glibc 2.2.2, with some
25117         portability fixes for use outside glibc, as follows:
25118
25119         * lib/tempname.c (struct_stat64): New macro.
25120         (direxists, __gen_tempname): Use it.
25121         This avoids a portability problem with Solaris 8.
25122
25123         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
25124         (<stddef.h>, <stdint.h>, <string.h>):
25125         Include only if STDC_HEADERS || _LIBC.
25126         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
25127         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
25128         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
25129         (__set_errno): Define this macro if <errno.h> doesn't.
25130         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
25131         Define these macros if <stdio.h> doesn't.
25132         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
25133         Define these macros if <sys/stat.h>
25134         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
25135         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
25136         __xstat64): Define if not _LIBC.
25137         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
25138         (__gen_tempname): Invoke gettimeofday only if
25139         HAVE_GETTIMEOFDAY || _LIBC;
25140         otherwise, fall back on plain "time".
25141         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
25142
25143         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
25144
25145         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
25146
25147 2001-02-18  Paul Eggert  <eggert@twinsun.com>
25148
25149         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
25150
25151 2001-02-17  Paul Eggert  <eggert@twinsun.com>
25152
25153         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
25154         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
25155         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
25156         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
25157
25158 2001-02-17  Paul Eggert  <eggert@twinsun.com>
25159
25160         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
25161         Remove workaround macros for hosts that have mbrtowc but not
25162         mbstate_t, as we now insist on proper declarations for both
25163         before using mbrtowc.
25164
25165 2001-02-17  Jim Meyering  <meyering@lucent.com>
25166
25167         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
25168         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
25169         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
25170         UnixWare 7.1.1.
25171
25172         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
25173         rather than AC_CACHE_VAL.
25174
25175 2001-02-17  Jim Meyering  <meyering@lucent.com>
25176
25177         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
25178         around included file name.
25179
25180         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
25181
25182         * lib/strftime.c: Update from GNU libc (the only changes were to
25183         comments).
25184
25185 2001-02-17  Jim Meyering  <meyering@lucent.com>
25186
25187         * lib/regex.c: Update from libc.
25188
25189 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
25190
25191         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
25192         clash.
25193
25194 2001-02-16  Paul Eggert  <eggert@twinsun.com>
25195
25196         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
25197         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
25198         Reported by Mark Hounschell via Paul Eggert.
25199
25200 2001-02-07  Jim Meyering  <meyering@lucent.com>
25201
25202         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
25203
25204 2001-02-05  Jim Meyering  <meyering@lucent.com>
25205
25206         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
25207         it includes the patch required for `large file' support with at least
25208         HP-UX's 10.20 /bin/cc.
25209
25210 2001-02-03  Jim Meyering  <meyering@lucent.com>
25211
25212         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
25213         AS_IF, now that it works once again (mysteriously).
25214         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
25215
25216 2001-01-30  Jim Meyering  <meyering@lucent.com>
25217
25218         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
25219         * m4/chown.m4: Rename conftestchown to conftest.chown.
25220         * m4/rename.m4: s/conftestdir/conftest.d1/ and
25221         s/conftestdir2/conftest.d2/.
25222         * m4/utimes.m4: s/conftestdata/conftest.data/
25223         Inspired by Pavel Roskin's change in autoconf.
25224
25225 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
25226
25227         * lib/config.charset: Update for FreeBSD 4.2.
25228
25229 2001-01-27  Jim Meyering  <meyering@lucent.com>
25230
25231         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
25232         a use of AS_IF.
25233         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
25234
25235 2001-01-26  Jim Meyering  <meyering@lucent.com>
25236
25237         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
25238         quotearg.c includes it.
25239
25240 2001-01-26  Jim Meyering  <meyering@lucent.com>
25241
25242         * lib/quotearg.c: Include stddef.h.
25243         * lib/quote.c: Include stddef.h.
25244         Reported by Axel Kittenberger.
25245
25246         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
25247         line in double quotes so that it evokes a better diagnostic.
25248         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
25249         Reported by Axel Kittenberger.
25250
25251 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
25252
25253         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
25254         as if it was a `charset'.
25255
25256 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
25257
25258         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
25259         has const.
25260
25261 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
25262
25263         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
25264         to avoid a warning.  Add back 'const' to inptr.
25265
25266 2001-01-20  Jim Meyering  <meyering@lucent.com>
25267
25268         Be sure that headers are checked before used in code compiled
25269         for the type checks.
25270         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
25271         In place of that, invoke jm_CHECK_ALL_TYPES.
25272         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
25273         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
25274         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
25275         The check for ssize_t was mistakenly run before the test for unistd.h.
25276
25277         The configure-time check for stdbool.h was missing.
25278         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
25279         (jm_PREREQ_HASH): New function.
25280
25281 2001-01-17  Jim Meyering  <meyering@lucent.com>
25282
25283         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
25284         for autoconf-2.49c.
25285         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
25286
25287 2001-01-16  Jim Meyering  <meyering@lucent.com>
25288
25289         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
25290         From Bruno Haible.
25291
25292 2001-01-14  Jim Meyering  <meyering@lucent.com>
25293
25294         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
25295         foo and bar.  Create conftestdir/ in the script, not in the C code.
25296         Remove directories in the script, not in the C code.
25297         Remove conftestdir{,2} before trying to create the directory.
25298         Make the entire configure script fail if the mkdir fails.
25299
25300 2001-01-14  Jim Meyering  <meyering@lucent.com>
25301
25302         * lib/rename.c: New file.  From Volker Borchert.
25303         Include stdlib.h, string.h or strings.h, and xalloc.h.
25304         Use strip_trailing_slashes rather than open-coding it.
25305
25306 2001-01-03  Paul Eggert  <eggert@twinsun.com>
25307
25308         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
25309
25310 2001-01-03  Jim Meyering  <meyering@lucent.com>
25311
25312         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
25313         of local `inptr' to avoid warning with some system declarations of
25314         iconv.
25315
25316 2001-01-02  Volker Borchert  <bt@teknon.de>
25317
25318         * m4/rename.m4: New file.
25319         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
25320
25321 2001-01-01  Jim Meyering  <meyering@lucent.com>
25322
25323         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
25324         even on systems with utmpx.h.  It's necessary for the declaration of
25325         utmp's ut_user member.  Reported by Andreas Jaeger.
25326
25327         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
25328         available. They are required for the declarations of getgrgid and
25329         getpwuid resp.
25330         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
25331         Reported by Andreas Jaeger.
25332
25333 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
25334
25335         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
25336         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
25337         so `make install' also works in VPATH builds.
25338
25339 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
25340
25341         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
25342         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
25343         can be used in subdirectories.
25344
25345 2000-12-29  Paul Eggert  <eggert@twinsun.com>
25346
25347         * lib/modechange.c: Do not assume that mode_t uses the
25348         traditional octal encoding.  E.g. "chmod 1 FOO" should set
25349         the other-execute bit of FOO even if S_IXOTH != 1.
25350
25351         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
25352         WOTH, XOTH, ALLM): New macros.
25353         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
25354          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
25355         Use them.
25356         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
25357         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
25358         (mode_compile):
25359         No need to use uintmax_t; unsigned long is long enough.
25360         Don't bother to get suffix since we don't use it.
25361
25362 2000-12-26  Jim Meyering  <meyering@lucent.com>
25363
25364         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
25365         better with autoheader.
25366
25367 2000-12-24  Jim Meyering  <meyering@lucent.com>
25368
25369         * lib/hash.c (is_prime): Return explicit boolean values.
25370         (hash_get_first): Return NULL to appease Irix5.6's 89.
25371         Reported by Nelson Beebe.
25372
25373 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
25374
25375         * lib/localcharset.c (locale_charset): Add support for Win32.
25376
25377 2000-12-18  Paul Eggert  <eggert@twinsun.com>
25378
25379         * lib/physmem.h, lib/physmem.c: New files.
25380
25381         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
25382         (noinst_HEADERS): Add physmem.h.
25383
25384         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
25385         't' for compatibility with Solaris 8 sort.
25386
25387 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
25388
25389         * lib/config.charset: Add support for BeOS.
25390
25391 2000-12-17  Jim Meyering  <meyering@lucent.com>
25392
25393         * m4/dos.m4 (jm_AC_DOS): New file and macro.
25394         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
25395
25396 2000-12-16  Jim Meyering  <meyering@lucent.com>
25397
25398         This bug had a serious impact on chown: `chown N:M FILE' (for integer
25399         N and M) would have treated it like `chown N:N FILE'.
25400
25401         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
25402
25403 2000-12-16  Jim Meyering  <meyering@lucent.com>
25404
25405         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
25406         SHELLS_FILE to a file name that's useful on djgpp systems.
25407         Include stdlib.h.
25408         (ADDITIONAL_DEFAULT_SHELLS): Define.
25409         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
25410         Based mostly on a patch from Prashant TR.
25411
25412 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
25413
25414         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
25415         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
25416         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
25417
25418 2000-12-08  Andreas Schwab  <schwab@suse.de>
25419
25420         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
25421         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
25422
25423 2000-12-07  Jim Meyering  <meyering@lucent.com>
25424
25425         * lib/stripslash.c (ISSLASH): Define.
25426         (strip_trailing_slashes): Use ISSLASH rather than comparing against
25427         `/'.
25428         From Prashant TR.
25429
25430         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
25431         (dir_name_r): Declare this function as static.
25432         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
25433         manifest itself on a name containing a mix of slashes and
25434         backslashes.
25435         Make this function work with names starting with a DOS-style
25436         drive letter and colon prefix.
25437         (dir_name): Append `.' if necessary.
25438         Based mostly on patches from Prashant TR and Eli Zaretskii.
25439
25440         * lib/dirname.h (dir_name_r): Remove prototype.
25441
25442 2000-12-06  Paul Eggert  <eggert@twinsun.com>
25443
25444         * m4/off_t-format.m4: Remove this file.
25445         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
25446
25447 2000-12-06  Jim Meyering  <meyering@lucent.com>
25448
25449         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
25450         replacement strtoull, we may well need the replacement strtoul, too.
25451         Check for declarations of strtoul and strtoull.
25452         Check for strtol.  Mainly as a cue to cause automake to include
25453         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
25454         Check for limits.h -- strtol.c needs it.
25455
25456 2000-12-05  Jim Meyering  <meyering@lucent.com>
25457
25458         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
25459
25460 2000-12-04  Jim Meyering  <meyering@lucent.com>
25461
25462         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
25463         Also include memory.h, stdlib.h, unistd.h if appropriate.
25464         Reported by Andreas Jaeger (conflicting declaration of malloc).
25465
25466 2000-12-02  Jim Meyering  <meyering@lucent.com>
25467
25468         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
25469         * m4/jm-macros.m4 (jm_MACROS): require it.
25470
25471 2000-12-02  Jim Meyering  <meyering@lucent.com>
25472
25473         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
25474
25475 2000-12-01  Paul Eggert  <eggert@twinsun.com>
25476
25477         * lib/memrchr.c: Include <config.h> before any system include file.
25478
25479 2000-11-30  Jim Meyering  <meyering@lucent.com>
25480
25481         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
25482
25483 2000-11-30  Jim Meyering  <meyering@lucent.com>
25484
25485         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
25486
25487 2000-11-29  Paul Eggert  <eggert@twinsun.com>
25488
25489         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
25490
25491 2000-11-26  Jim Meyering  <meyering@lucent.com>
25492
25493         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
25494
25495 2000-11-22  Paul Eggert  <eggert@twinsun.com>
25496
25497         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
25498         size of (size_t) -1; it's not portable.
25499
25500 2000-11-17  Jim Meyering  <meyering@lucent.com>
25501
25502         * lib/strstr.c: Update from GNU libc.
25503
25504 2000-11-17  Akim Demaille  <akim@epita.fr>
25505
25506         * lib/obstack.h: Formatting changes.
25507         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
25508         prevent type checking.
25509         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
25510         cast the value to (void *): assigning a `foo *' to a `void *'
25511         variable is valid.
25512         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
25513
25514 2000-11-16  Jim Meyering  <meyering@lucent.com>
25515
25516         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
25517
25518 2000-11-11  Jim Meyering  <meyering@lucent.com>
25519
25520         * lib/error.c: Add a couple #includes, merging from GNU libc version.
25521
25522 2000-11-10  Jim Meyering  <meyering@lucent.com>
25523
25524         * lib/obstack.h: Update from GNU libc.
25525         * lib/obstack.c: Likewise.
25526
25527 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
25528
25529         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
25530
25531 2000-11-06  Paul Eggert  <eggert@twinsun.com>
25532
25533         * lib/getusershell.c (setusershell): Use rewind rather than
25534         fseek/fseeko, to avoid configuration hassles with fseeko.
25535         Don't bother opening SHELLS_FILE if shellstream is NULL;
25536         it's not necessary.
25537
25538 2000-11-05  Jim Meyering  <meyering@lucent.com>
25539
25540         * lib/makepath.h (make_dir): Declare.
25541         * lib/makepath.c (make_dir): Remove `static' attribute.
25542         Tweak a comment.
25543
25544 2000-11-04  Jim Meyering  <meyering@lucent.com>
25545
25546         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
25547
25548 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
25549
25550         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
25551         last one in a bucket, advance to the next bucket.
25552
25553 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
25554
25555         * lib/fnmatch.c: Do not comment out all the code if we are using
25556         the GNU C library, because in some cases we are replacing buggy
25557         code in the GNU C library itself.
25558
25559 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
25560
25561         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
25562         (regex_compile): Catch bogus \(\1\).
25563
25564 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25565
25566         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
25567         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
25568         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
25569
25570 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25571
25572         * lib/error.h, getline.h, modechange.h:
25573         Remove "2000" from Copyright line, as the file hasn't been
25574         changed this year other than in the copyright notice.
25575
25576         * lib/xalloc.h: Add "2000" to Copyright line, as this file
25577         was changed this year.
25578
25579 2000-10-29  Jim Meyering  <meyering@lucent.com>
25580
25581         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
25582         renaming.
25583         * m4/ls-mntd-fs.m4: Likewise
25584
25585 2000-10-29  Jim Meyering  <meyering@lucent.com>
25586
25587         * lib/xstat.in: Fix grammar in comment.
25588
25589 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
25590
25591         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
25592         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
25593         doesn't define __restrict_arr.
25594
25595 2000-10-28  Jim Meyering  <meyering@lucent.com>
25596
25597         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
25598         (jm_PREREQ_MEMCHR): New function.
25599
25600 2000-10-28  Jim Meyering  <meyering@lucent.com>
25601
25602         * lib/memchr.c: Update from libc.
25603         Adjust for portability:
25604         [HAVE_STDLIB_H]: Include stdlib.h.
25605         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
25606         Undef __memchr, too.
25607         [!weak_alias]: Define __memchr to memchr.
25608
25609         * lib/regex.c: Update from libc.
25610         * lib/regex.h: Likewise.
25611         * lib/getopt1.c: Likewise.
25612         * lib/memcmp.c: Likewise.
25613
25614         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
25615         Avoid using fseek, when possible -- it's broken by design.
25616         Patch by Ulrich Drepper.
25617
25618 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
25619
25620         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
25621         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
25622         Giving in to popular pressure to shut up the compiler with casts.
25623
25624 2000-10-26  Jim Meyering  <meyering@lucent.com>
25625
25626         * lib/strftime.c: Update from libc.
25627
25628 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
25629
25630         * regex.c: More `unsigned char' -> `re_char' changes.
25631         Also change several `int' into `re_wchar_t'.
25632         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
25633         (PUSH_FAILURE_POINTER): Don't cast any more.
25634         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
25635         We want GCC to complain, since this piece of code makes
25636         re_match non-reentrant, which *should* be fixed.
25637         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
25638         (EXTEND_BUFFER): Use RETALLOC.
25639         (SET_LIST_BIT): Don't cast.
25640         (re_wchar_t): New type.
25641         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
25642         that those two functions will always properly return.
25643         (IMMEDIATE_QUIT_CHECK): Cast to void.
25644         (analyse_first): Use recursion rather than an explicit stack.
25645         (re_compile_fastmap): Can't fail anymore.
25646         (re_search_2): Don't check re_compile_fastmap for failure.
25647         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
25648         Now also sets the new value (passed in a new argument).
25649         (re_match_2_internal): Use it.
25650         Also, use a new var `reg' of type size_t when looping through regs
25651         rather than reuse the inappropriate `mcnt'.
25652
25653 2000-10-25  Jim Meyering  <meyering@lucent.com>
25654
25655         * lib/obstack.c: Update from libc.
25656
25657 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
25658
25659         * regex.c (regex_compile): Change the way of handling a range from
25660         a char less than 256 to a char not less than 256.
25661
25662 2000-10-24  Andrew Innes  <andrewi@gnu.org>
25663
25664         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
25665         NT-Emacs only.
25666         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
25667         so that re_search functions only quit when callers expect them to.
25668
25669 2000-10-23  Jim Meyering  <meyering@lucent.com>
25670
25671         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
25672         wrong.  That set_locale call must not have any side effects.
25673         From Paul Eggert.
25674
25675 2000-10-22  Jim Meyering  <meyering@lucent.com>
25676
25677         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
25678         [CYCLIC]: Remove now-unused definition.
25679
25680         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
25681         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
25682         Suggestion from Ulrich Drepper.
25683
25684 2000-10-21  Jim Meyering  <meyering@lucent.com>
25685
25686         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
25687         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
25688         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
25689
25690 2000-10-21  Jim Meyering  <meyering@lucent.com>
25691
25692         * lib/dirname.c (memrchr): Declare if necessary.
25693         (dir_name): Remove the restriction that there be no
25694         trailing slashes.  Now, this code skips past them, effectively
25695         ignoring them.
25696         [TEST_DIRNAME] (main): New unit tests.
25697
25698         * lib/memrchr.c: New file from GNU libc.
25699         Undef __memrchr, too.
25700         [!weak_alias]: Define __memrchr to memrchr.
25701         Guard weak_alias use with `#ifdef weak_alias'.
25702
25703 2000-10-21  Jim Meyering  <meyering@lucent.com>
25704
25705         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
25706         (dir_name): Use dir_name_r.
25707         * lib/dirname.h (dir_name_r): Declare it.
25708
25709 2000-10-17  Jim Meyering  <meyering@lucent.com>
25710
25711         * lib/quote.h (PARAMS): Define and use.
25712         Reported by Akim Demaille.
25713
25714         * lib/getopt.c: Update from libc.
25715
25716 2000-10-16  Jim Meyering  <meyering@lucent.com>
25717
25718         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
25719         setlocale.
25720         From Jan Fedak.
25721
25722 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
25723
25724         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
25725
25726 2000-09-25  Jim Meyering  <meyering@lucent.com>
25727
25728         * lib/md5.h (rol): Define (from GnuPG).
25729
25730         * lib/sha.c: Give credit (GnuPG) where due.
25731         (M): Use rol rather than open-coding it.
25732         Add a FIXME comment.
25733
25734 2000-09-21  Jim Meyering  <meyering@lucent.com>
25735
25736         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
25737         Reported by Michael Stone.
25738
25739 2000-09-20  Jim Meyering  <meyering@lucent.com>
25740
25741         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
25742         (noinst_HEADERS): Add sha.h.
25743         Based on code from Scott G. Miller and from GnuPG.
25744
25745 2000-09-18  Jim Meyering  <meyering@lucent.com>
25746
25747         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
25748         LIBS. Otherwise, everyone ends up linking with -lelf for some
25749         configurations.
25750         Reported by Mike Stone.
25751
25752 2000-09-15  Jim Meyering  <meyering@lucent.com>
25753
25754         * lib/regex.c: Update from libc.
25755
25756 2000-09-10  Jim Meyering  <meyering@lucent.com>
25757
25758         * lib/getopt.c (_getopt_internal): Update from glibc.
25759
25760 2000-09-09  Jim Meyering  <meyering@lucent.com>
25761
25762         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
25763         think it should be used as a general replacement for isascii.
25764         * lib/fnmatch.c: Likewise.
25765         * lib/mbswidth.c: Likewise
25766         * lib/regex.c: Likewise.
25767
25768         Don't use atoi.
25769         * lib/userspec.c: Include sys/param.h and limits.h.
25770         Include xstrtol.h.
25771         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
25772         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
25773         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
25774         UID, GID.  Check range.
25775
25776 2000-09-06  Jim Meyering  <meyering@lucent.com>
25777
25778         * lib/getopt.c (_getopt_internal): Update from glibc.
25779
25780 2000-08-30  Jim Meyering  <meyering@lucent.com>
25781
25782         * lib/strftime.c: Merge in changes from GNU libc.
25783
25784 2000-08-26  Jim Meyering  <meyering@lucent.com>
25785
25786         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
25787         * m4/fpending.m4: New file.
25788
25789 2000-08-26  Jim Meyering  <meyering@lucent.com>
25790
25791         * lib/closeout.c: Include "__fpending.h".
25792         (close_stdout_status): Return right away if there's nothing to flush.
25793
25794         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
25795         * lib/__fpending.c: New file.
25796         * lib/__fpending.h: New file.
25797
25798 2000-08-20  Jim Meyering  <meyering@lucent.com>
25799
25800         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
25801         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
25802         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
25803
25804 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
25805
25806         Improve fileutils installation on systems where running
25807         programs (like install) can't be unlinked.
25808         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
25809         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
25810
25811 2000-08-07  Paul Eggert  <eggert@twinsun.com>
25812
25813         Standardize on "memory exhausted" instead of "Memory exhausted"
25814         or "virtual memory exhausted".
25815         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
25816         "virtual memory exhausted".
25817         * lib/same.c (same_name): Invoke xalloc_die instead of printing
25818         our own message.
25819         * lib/userspec.c (parse_user_spec): Likewise.
25820         * lib/bumpalloc.h: comment fix
25821         * lib/same.c, userspec.c: Include xalloc.h.
25822
25823         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
25824         not char *const and pointing to a constant array.
25825         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
25826         (xrealloc): Comment fix.
25827
25828         * lib/userspec.c (parse_user_spec):
25829         Don't translate a message until just before returning,
25830         to avoid unnecessary translation.
25831
25832 2000-08-07  Jim Meyering  <meyering@lucent.com>
25833
25834         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
25835         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
25836         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
25837         getgroups.c, gethostname.c, getopt.h, group-member.c,
25838         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
25839         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
25840         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
25841         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
25842         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
25843         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
25844         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
25845         yesno.c: Back out Copyright date changes for each file with no change
25846         this year.  This eases coordination with other programs using the same
25847         source code modules.  From Paul Eggert.
25848
25849 2000-08-06  Paul Eggert  <eggert@twinsun.com>
25850
25851         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
25852         not char, for compatibility with glibc 2.1.3 strftime.c.
25853
25854 2000-08-03  Greg McGary  <greg@mcgary.org>
25855
25856         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
25857         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
25858         (EXTEND_BUFFER): Use them.
25859
25860 2000-08-01  Jim Meyering  <meyering@lucent.com>
25861
25862         * lib/dirname.c (ISSLASH): Define.
25863         (BACKSLASH_IS_PATH_SEPARATOR): Define.
25864         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
25865         both `\' and `/' may be use as path separators.
25866         Based on a patch from Prashant TR.
25867
25868 2000-07-31  Paul Eggert  <eggert@twinsun.com>
25869
25870         * lib/quotearg.c (quotearg_n_options): Don't make the initial
25871         slot vector a constant, since it might get modified.
25872
25873 2000-07-31  Jim Meyering  <meyering@lucent.com>
25874
25875         * lib/xmalloc.c: Use `virtual memory exhausted', not
25876         `Memory exhausted'.
25877         * lib/obstack.c (print_and_abort): Likewise.
25878
25879 2000-07-30  Paul Eggert  <eggert@twinsun.com>
25880
25881         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
25882         buffer, so that the caller can always quote one small
25883         component of a "memory exhausted" message in slot 0.
25884         From a suggestion by Jim Meyering.
25885
25886 2000-07-30  Jim Meyering  <meyering@lucent.com>
25887
25888         * lib/makepath.c (make_path): Quote the other instance, too.
25889
25890         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
25891         (STATIC_BUF_SIZE): Define.
25892         (quotearg_n_options): Use only statically allocated storage when
25893         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
25894         than STATIC_BUF_SIZE.
25895
25896 2000-07-29  Jim Meyering  <meyering@lucent.com>
25897
25898         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
25899         * lib/dirname.c (dir_name): Likewise.
25900
25901         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
25902         `/'.
25903
25904         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
25905         (dir_name): Assert that there are no trailing slashes.
25906
25907 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
25908
25909         * lib/mbswidth.h (mbswidth): Add a flags argument.
25910         (mbswidth): New declaration.
25911         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
25912         * lib/mbswidth.c (mbswidth): Add a flags argument.
25913         (mbsnwidth): New function.
25914
25915 2000-07-24  Jim Meyering  <meyering@lucent.com>
25916
25917         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
25918
25919 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25920
25921         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
25922
25923 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25924
25925         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
25926         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
25927         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
25928         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
25929         invoke multibyte primitives.
25930
25931 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25932
25933         * lib/quotearg.c:
25934         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
25935         so that mbstate_t is always defined.
25936
25937         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
25938         be 1 in at least one GCC installation, and this configuration
25939         error is likely to be common.  Ignoring MB_LEN_MAX hurts
25940         performance on hosts that have mbrtowc but have only unibyte
25941         locales, but I assume these hosts are rare.
25942
25943 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25944
25945         * lib/mbswidth.c (_XOPEN_SOURCE):
25946         Don't define; this causes problems on Solaris 7.
25947         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
25948
25949 2000-07-23  Jim Meyering  <meyering@lucent.com>
25950
25951         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
25952         too: getgrgid, getpwuid, getuid.
25953
25954 2000-07-23  Jim Meyering  <meyering@lucent.com>
25955
25956         * lib/basename.c (base_name): Add an assertion.
25957
25958 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
25959
25960         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
25961         shadow its mbsinit function.
25962
25963 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25964
25965         * lib/mbswidth.h: New file.
25966         * lib/mbswidth.c: New file.
25967         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
25968         (noinst_HEADERS): Add mbswidth.h.
25969
25970 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25971
25972         * lib/config.charset: Add support for FreeBSD. Improve support for
25973         HP-UX and IRIX 6.
25974
25975 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
25976
25977         * m4/mbswidth.m4: New file.
25978         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
25979
25980 2000-07-15  Jim Meyering  <meyering@lucent.com>
25981
25982         * lib/makepath.c: Include quote.h.
25983         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
25984         corresponding argument in a `quote (...)' call.
25985         Give better diagnostics.
25986
25987         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
25988         (noinst_HEADERS): Add quote.h.
25989
25990         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
25991         from tar's src/misc.c.
25992         * lib/quote.h: New file.  Prototypes for same.
25993
25994 2000-07-14  Paul Eggert  <eggert@twinsun.com>
25995
25996         From a suggestion by Bruno Haible.
25997         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
25998         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
25999         to decide whether to define the BeOS workaround macro;
26000         this adjusts to the change to AC_MBSTATE_T.
26001
26002 2000-07-14  Jim Meyering  <meyering@lucent.com>
26003
26004         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
26005         jm_AC_TYPE_UINTMAX_T.
26006
26007 2000-07-13  Paul Eggert  <eggert@twinsun.com>
26008
26009         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
26010
26011         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
26012         quotearg_buffer_restyled): Add support for
26013         clocale_quoting_style.  Undo previous change to
26014         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
26015         and "{RIGHT QUOTATION MARK}" msgids.
26016
26017 2000-07-10  Paul Eggert  <eggert@twinsun.com>
26018
26019         From a suggestion by Bruno Haible.
26020         * m4/mbstate_t.m4 (AC_MBSTATE_T):
26021         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
26022         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
26023         and mbstate_t, to a single-part test that simply defines mbstate_t.
26024         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
26025         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
26026
26027 2000-07-10  Jim Meyering  <meyering@lucent.com>
26028
26029         * m4/strerror_r.m4: Mirror the correction made in autoconf.
26030
26031         * m4/gnu-source.m4: Output to confdefs.h directly.
26032         Suggestion from Akim Demaille.
26033
26034 2000-07-09  Paul Eggert  <eggert@twinsun.com>
26035
26036         The old behavior of quoting `like this' doesn't look good with
26037         newer, ISO-style fonts.  See:
26038         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
26039
26040         Instead, quote "like this" by default.  Let the translator
26041         tailor the locale-specific quoting behavior by providing
26042         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
26043
26044         * lib/quotearg.c (N_): New macro.
26045         (gettext_default): New function.
26046         (quotearg_buffer_restyled): Use
26047         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
26048         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
26049
26050 2000-07-09  Jim Meyering  <meyering@lucent.com>
26051
26052         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
26053         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
26054
26055         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
26056         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
26057
26058 2000-07-09  Jim Meyering  <meyering@lucent.com>
26059
26060         * lib/Most files: Update copyright dates to include 2000.
26061
26062 2000-07-08  Jim Meyering  <meyering@lucent.com>
26063
26064         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
26065         if not defined.
26066         (xgethostname): Remove now-unnecessary #ifdef.
26067         Move declaration of `err' into loop where it's used.
26068
26069 2000-07-05  Paul Eggert  <eggert@twinsun.com>
26070         and Bruno Haible  <haible@clisp.cons.org>
26071
26072         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
26073         only if the test for an object-type mbstate_t fails.  This
26074         prevents us from mistakenly reporting that mbstate_t is a
26075         system object type after we "#define mbstate_t int" to work
26076         around its lack.
26077
26078 2000-07-05  Paul Eggert  <eggert@twinsun.com>
26079         and Bruno Haible  <haible@clisp.cons.org>
26080
26081         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
26082
26083 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
26084
26085         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
26086         to strerror_r.
26087         Include <ctype.h> for use of isalpha.
26088
26089 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
26090
26091         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
26092         by allocating a larger buffer. Test the gethostname return value for
26093         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
26094         returns an error and ENAMETOOLONG isn't defined.
26095
26096 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
26097
26098         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
26099         dimension.
26100
26101 2000-07-04  Jim Meyering  <meyering@lucent.com>
26102
26103         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
26104         of the deprecated AC_CHECKING.
26105
26106 2000-07-04  Jim Meyering  <meyering@lucent.com>
26107
26108         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
26109         Reported by Bruno Haible.
26110
26111 2000-07-04  Jim Meyering  <meyering@lucent.com>
26112
26113         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
26114         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
26115         lacks mbrtowc.
26116
26117 2000-07-03  Paul Eggert  <eggert@twinsun.com>
26118
26119         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
26120         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
26121
26122 2000-07-03  Paul Eggert  <eggert@twinsun.com>
26123         and Bruno Haible  <haible@clisp.cons.org>
26124
26125         * lib/quotearg.c (mbrtowc):
26126         Assign to *pwc, and return 1 only if result is nonzero.
26127         (iswprint): Use ISPRINT when substituting our own mbrtowc.
26128
26129 2000-07-03  Jim Meyering  <meyering@lucent.com>
26130
26131         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
26132
26133 2000-07-03  Jim Meyering  <meyering@lucent.com>
26134
26135         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
26136         This is necessary to get a definition of e.g., UTMP_FILE on
26137         HP-UX 10.20.
26138         From Bob Proulx.
26139
26140 2000-07-02  Jim Meyering  <meyering@lucent.com>
26141
26142         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
26143
26144         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
26145         AC_LIBOBJ(function_name).
26146         * m4/chown.m4: Likewise.
26147         * m4/fnmatch.m4: Likewise.
26148         * m4/ftruncate.m4: Likewise.
26149         * m4/getgroups.m4: Likewise.
26150         * m4/getline.m4: Likewise.
26151         * m4/group-member.m4: Likewise.
26152         * m4/jm-macros.m4: Likewise.
26153         * m4/lstat.m4: Likewise.
26154         * m4/malloc.m4: Likewise.
26155         * m4/memcmp.m4: Likewise.
26156         * m4/nanosleep.m4: Likewise.
26157         * m4/putenv.m4: Likewise.
26158         * m4/realloc.m4: Likewise.
26159         * m4/regex.m4: Likewise.
26160         * m4/stat.m4: Likewise.
26161         * m4/strftime.m4: Likewise.
26162
26163 2000-07-02  Jim Meyering  <meyering@lucent.com>
26164
26165         * lib/quotearg.c (mbstate_t): Don't define here.
26166
26167 2000-07-02  Jim Meyering  <meyering@lucent.com>
26168
26169         * lib/nanosleep.c (SIGCONT): Define if not already defined.
26170
26171 2000-07-01  Jim Meyering  <meyering@lucent.com>
26172
26173         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
26174
26175 2000-07-01  Jim Meyering  <meyering@lucent.com>
26176
26177         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
26178         problem.
26179
26180 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
26181
26182         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
26183         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
26184
26185 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
26186
26187         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
26188         per change in ../m4/ls-mntd-fs.m4.
26189         (read_filesystem_list): Ignore symbolic links.
26190
26191 2000-06-29  Jim Meyering  <meyering@lucent.com>
26192
26193         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
26194         for declaration of strcmp.
26195
26196         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
26197
26198         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
26199         Avoid warning by casting result to `char *' to remove `const'.
26200
26201 2000-06-28  Jim Meyering  <meyering@lucent.com>
26202
26203         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
26204         included by quotearg.c, for which we perform this test.  From
26205         Bruno Haible.
26206
26207 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
26208
26209         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
26210         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
26211         <utmpx.h> exists, put readutmp.o into LIBOBJS.
26212
26213 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
26214
26215         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
26216
26217 2000-06-26  Paul Eggert  <eggert@twinsun.com>
26218
26219         savedir now sets errno on failure and invokes xmalloc to get memory.
26220         Fix a couple of other minor bugs while we're at it.
26221
26222         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
26223         (NAMLEN): Remove macro.
26224         (malloc, realloc): Remove decls.
26225         (stpcpy): Likewise.
26226         ("xalloc.h"): Include.
26227         (NAME_SIZE_DEFAULT): New macro.
26228         (savedir): Use xmalloc / xrealloc to allocate memory.
26229         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
26230         Skip "" directory entries.
26231         Use strlen to calculate directory entry length, since the old method
26232         is rarely used these days and isn't worth supporting.
26233         Don't use a pointer after freeing it.
26234         Check for integer overflow when calculating allocation size.
26235         Use memcpy to copy entries, instead of stpcpy.
26236         Set errno properly when returning NULL.
26237         Check for readdir error.
26238
26239 2000-06-26  Jim Meyering  <meyering@lucent.com>
26240
26241         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
26242
26243 2000-06-25  Jim Meyering  <meyering@lucent.com>
26244
26245         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
26246         Linux header bug when _XOPEN_SOURCE is defined to 500.
26247
26248 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
26249
26250         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
26251         deficiency.
26252
26253 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
26254
26255         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
26256         Include xalloc.h.
26257         Don't include <stdlib.h>.  Don't declare malloc, realloc.
26258
26259 2000-06-24  Jim Meyering  <meyering@lucent.com>
26260
26261         * m4/strerror_r.m4: Revive this file -- to try out an experimental
26262         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
26263         for which strerror does return char*, but which lacks a conveniently
26264         accessible declaration of the function.  If the compile-test says
26265         strerror_r doesn't work, then resort to a `run'-test that works on
26266         BeOS and segfaults on DEC Unix.
26267
26268 2000-06-24  Jim Meyering  <meyering@lucent.com>
26269
26270         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
26271
26272 2000-06-23  Paul Eggert  <eggert@twinsun.com>
26273
26274         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
26275         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
26276
26277 2000-06-23  Paul Eggert  <eggert@twinsun.com>
26278
26279         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
26280         (mbrtowc, mbstate_t): Define substitutes if
26281         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
26282         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
26283         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
26284
26285 2000-06-23  Jim Meyering  <meyering@lucent.com>
26286
26287         * m4/afs.m4: Add missing AC_MSG_RESULT.
26288         Reported by Bruno Haible.
26289
26290         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
26291         Suggestion from Bruno Haible.
26292
26293 2000-06-23  Jim Meyering  <meyering@lucent.com>
26294
26295         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
26296
26297 2000-06-21  Jim Meyering  <meyering@lucent.com>
26298
26299         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
26300
26301 2000-06-21  Jim Meyering  <meyering@lucent.com>
26302
26303         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
26304         (noinst_HEADERS): Add getstr.h.
26305
26306         * lib/getline.c (getstr): Move into a separate file.
26307         * lib/getstr.c (getstr): New file, extracted from getline.c, with
26308         the following changes: new parameter, delim2; both delim[12]
26309         parameters have type `int', not `char'.  The latter would lose
26310         with 8-bit delimiters.
26311         * lib/getstr.h: New file.
26312
26313 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26314
26315         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
26316         than 1024, return a memory chunk of least possible size, instead
26317         of size PATH_MAX + 2. In the loop, increment the size proportionally.
26318         Use free/xmalloc instead of xrealloc to avoid copying for very long
26319         paths.
26320
26321 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26322
26323         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
26324         the empty string.
26325
26326 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26327
26328         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
26329         address, not strdup.  Include <stdlib.h> and don't declare free().
26330
26331 2000-06-19  Jim Meyering  <meyering@lucent.com>
26332
26333         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
26334
26335 2000-06-18  Jim Meyering  <meyering@lucent.com>
26336
26337         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
26338
26339         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
26340         `checking whether...' message to be consistent with that of the
26341         lstat test.
26342
26343 2000-06-18  Jim Meyering  <meyering@lucent.com>
26344
26345         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
26346         Besides, these days every porting target provides a mkdir function.
26347
26348         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
26349         needed. (this snippet comes from src/system.h).
26350
26351 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
26352
26353         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
26354
26355 2000-06-15  Paul Eggert  <eggert@twinsun.com>
26356
26357         * lib/human.c (adjust_value): New function.
26358         (human_readable_inexact): Apply rounding style even when
26359         printing approximate values.
26360
26361 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26362
26363         * lib/human.c (human_readable_inexact): Allow an input block
26364         size that is not a multiple of the output block size, and vice versa.
26365         Reported by Piergiorgio Sartor.
26366
26367 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26368
26369         * lib/getdate.y (get_date): Apply relative times after time
26370         zone indicator, not before.  Reported by Todd A. Jacobs.
26371
26372 2000-06-13  Jim Meyering  <meyering@lucent.com>
26373
26374         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
26375
26376         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
26377
26378 2000-06-12  Paul Eggert  <eggert@twinsun.com>
26379
26380         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
26381
26382 2000-06-12  Jim Meyering  <meyering@lucent.com>
26383
26384         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
26385         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
26386         optional argument.
26387         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
26388         the optional argument, `lib'.
26389
26390 2000-06-08  Jim Meyering  <meyering@lucent.com>
26391
26392         * m4/largefile.m4: Remove file (now that it's part of autoconf).
26393
26394 2000-06-04  Paul Eggert  <eggert@twinsun.com>