4d01d7b5948cccfb7ee4016dd803daec1c1b1ad1
[gnulib.git] / ChangeLog
1 2007-03-04  Bruno Haible  <bruno@clisp.org>
2
3         * modules/vasprintf-tests: New file.
4         * tests/test-vasprintf.c: New file.
5
6         * modules/vasnprintf-tests: New file.
7         * tests/test-vasnprintf.c: New file.
8
9         * modules/vsnprintf-tests: New file.
10         * tests/test-vsnprintf.c: New file.
11
12         * modules/snprintf-tests: New file.
13         * tests/test-snprintf.c: New file.
14
15 2007-03-04  Bruno Haible  <bruno@clisp.org>
16
17         Compile relocatable.c only if --enable-relocatable is specified.
18         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
19         gl_RELOCATABLE_LIBRARY.
20         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
21         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
22         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
23         gl_RELOCATABLE_LIBRARY.
24         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
25         (Makefile.am): Remove lib_SOURCES.
26         * modules/relocatable-lib-lgpl (configure.ac): Invoke
27         gl_RELOCATABLE_LIBRARY.
28         (Makefile.am): Remove lib_SOURCES.
29         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
30         always.
31         * modules/relocatable-prog-wrapper (configure.ac): Invoke
32         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
33
34 2007-03-04  Bruno Haible  <bruno@clisp.org>
35
36         * modules/argmatch-tests: New file.
37         * tests/test-argmatch.c: New file.
38
39         * tests/test-allocsa.c (main): Halve the number of loop runs.
40
41         * modules/alloca-opt-tests: New file.
42         * tests/test-alloca-opt.c: New file.
43
44 2007-03-04  Jim Meyering  <jim@meyering.net>
45
46         Work around difference between Linux ACLs and Solaris 10 ZFS.
47         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
48         for EINVAL.
49
50 2007-03-03  Bruno Haible  <bruno@clisp.org>
51
52         * modules/relocatable-prog (Depends-on): Add back progreloc's
53         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
54
55 2007-03-03  Bruno Haible  <bruno@clisp.org>
56
57         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
58         * modules/relocatable-lib: New file.
59
60 2007-03-03  Bruno Haible  <bruno@clisp.org>
61
62         * modules/relocatable-prog: Renamed from modules/relocatable.
63         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
64
65 2007-03-03  Bruno Haible  <bruno@clisp.org>
66
67         * modules/relocatable-script (Files): Add doc/relocatable.texi,
68         m4/relocatable-lib.m4.
69         (Depends-on): Remove 'relocatable'.
70         (configure.ac): Add gl_RELOCATABLE_NOP.
71
72 2007-03-03  Bruno Haible  <bruno@clisp.org>
73
74         * modules/relocatable-prog-wrapper: New file.
75         * modules/relocatable (Depends-on): Add it. Remove all other
76         dependencies except progname.
77         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
78
79         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
80         (gl_FUNC_STRERROR): Nop.
81         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
82
83         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
84         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
85
86         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
87         (gl_FUNC_READLINK): Update.
88
89         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
90
91 2007-03-03  Bruno Haible  <bruno@clisp.org>
92
93         * lib/xreadlink.c: Include <unistd.h> unconditionally.
94         * modules/xreadlink (Depends-on): Add unistd.
95         * modules/xreadlink-with-size (Depends-on): Likewise.
96
97 2007-03-03  Bruno Haible  <bruno@clisp.org>
98
99         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
100         extracted from gt_FUNC_SETENV.
101         (gt_FUNC_SETENV): Remove macro.
102         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
103         remove gt_FUNC_SETENV.
104
105 2007-03-03  Bruno Haible  <bruno@clisp.org>
106
107         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
108         ENABLE_RELOCATABLE here.
109         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
110
111 2007-03-03  Bruno Haible  <bruno@clisp.org>
112
113         * modules/rbtreehash-list-tests (Depends-on): Add progname.
114         * tests/test-rbtreehash_list.c: Include progname.h.
115         (main): Call set_program_name.
116
117         * modules/rbtree-oset-tests (Depends-on): Add progname.
118         * tests/test-rbtree_oset.c: Include progname.h.
119         (main): Call set_program_name.
120
121         * modules/rbtree-list-tests (Depends-on): Add progname.
122         * tests/test-rbtree_list.c: Include progname.h.
123         (main): Call set_program_name.
124
125         * modules/linked-list-tests (Depends-on): Add progname.
126         * tests/test-linked_list.c: Include progname.h.
127         (main): Call set_program_name.
128
129 2007-03-03  Bruno Haible  <bruno@clisp.org>
130
131         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
132         All uses of __restrict changed to _Restrict_.
133         * lib/glob_.h (__restrict): Remove macro.
134
135 2007-03-02  Bruno Haible  <bruno@clisp.org>
136
137         * modules/gettext (configure.ac): Require gettext infrastructure
138         from version 0.16.1.
139
140 2007-03-02  Bruno Haible  <bruno@clisp.org>
141
142         * modules/linkedhash-list-tests (Depends-on): Add progname.
143         * tests/test-linkedhash_list.c: Include progname.h.
144         (main): Call set_program_name.
145
146         * modules/carray-list-tests (Depends-on): Add progname.
147         * tests/test-carray_list.c: Include progname.h.
148         (main): Call set_program_name.
149
150         * modules/avltreehash-list-tests (Depends-on): Add progname.
151         * tests/test-avltreehash_list.c: Include progname.h.
152         (main): Call set_program_name.
153
154         * modules/avltree-oset-tests (Depends-on): Add progname.
155         * tests/test-avltree_oset.c: Include progname.h.
156         (main): Call set_program_name.
157
158         * modules/avltree-list-tests (Depends-on): Add progname.
159         * tests/test-avltree_list.c: Include progname.h.
160         (main): Call set_program_name.
161
162         * modules/array-oset-tests (Depends-on): Add progname.
163         * tests/test-array_oset.c: Include progname.h.
164         (main): Call set_program_name.
165
166         * modules/array-list-tests (Depends-on): Add progname.
167         * tests/test-array_list.c: Include progname.h.
168         (main): Call set_program_name.
169
170         * modules/argp-tests (Depends-on): Add progname.
171         * tests/test-argp.c: Include argp.h first. Include progname.h.
172         (main): Call set_program_name.
173
174 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
175
176         * doc/gnulib-tool.texi (Initial import): Reword description of
177         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
178         limited effect even if defined after the first system include.
179
180 2007-03-01  Bruno Haible  <bruno@clisp.org>
181
182         * build-aux/config.libpath: Update to libtool-1.5.22.
183         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
184
185 2007-03-01  Bruno Haible  <bruno@clisp.org>
186
187         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
188         foo_CFLAGS.
189         Reported by Ralf Wildenhues.
190
191 2007-03-01  Bruno Haible  <bruno@clisp.org>
192
193         * build-aux/install-reloc: Remove object files left over by some
194         compilers.
195         Reported by Ralf Wildenhues.
196
197 2007-03-01  Bruno Haible  <bruno@clisp.org>
198
199         * build-aux/install-reloc: Break long lines.
200
201 2007-03-01  Bruno Haible  <bruno@clisp.org>
202
203         * doc/relocatable.texi: Document that it may not work on OpenBSD.
204         Reported by Ralf Wildenhues.
205
206 2007-03-01  Bruno Haible  <bruno@clisp.org>
207
208         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
209         include ordering constraints.
210
211 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
212
213         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
214         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
215         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
216         as another example.
217         * lib/time_.h: Fix misspelling.
218         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
219         Require gl_HEADER_TIME_H_DEFAULTS.
220         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
221         * m4/time_r.m4 (gl_TIME_R): Likewise.
222         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
223
224 2007-03-01  Bruno Haible  <bruno@clisp.org>
225
226         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
227         * m4/utimens.m4 (gl_UTIMENS): Likewise.
228
229 2007-03-01  Jim Meyering  <jim@meyering.net>
230
231         * modules/xreadlink (Maintainer): Add my name.
232         * modules/xreadlink-with-size (Depends-on): Alphabetize.
233
234 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
235             Bruno Haible  <bruno@clisp.org>
236
237         * build-aux/install-reloc: Compile also c-ctype.c.
238         * build-aux/relocatable.sh.in: New file.
239         * doc/relocatable.texi: New file.
240         * doc/relocatable-maint.texi: New file.
241         * doc/gnulib.texi: Include relocatable-maint.texi.
242         * lib/progreloc.c: Include unistd.h unconditionally.
243         * lib/relocwrapper.c: Include unistd.h unconditionally.
244         Include c-ctype.h.
245         (add_dotbin): Use c_tolower.
246         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
247         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
248         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
249         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
250         to m4/relocatable-lib.m4.
251         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
252         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
253         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
254         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
255         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
256         * modules/relocatable: New file.
257         * modules/relocatable-lib: New file.
258         * modules/relocatable-script: New file.
259
260 2007-02-28  Bruno Haible  <bruno@clisp.org>
261
262         Import --enable-relocatable infrastructure.
263         * build-aux/config.libpath: New file, from GNU gettext.
264         * build-aux/install-reloc: New file, from GNU gettext.
265         * build-aux/reloc-ldflags: New file, from GNU gettext.
266         * lib/relocatable.h: New file, from GNU gettext.
267         * lib/relocatable.c: New file, from GNU gettext.
268         * lib/relocwrapper.c: New file, from GNU gettext.
269         * m4/relocatable.m4: New file, from GNU gettext.
270
271 2007-02-28  Bruno Haible  <bruno@clisp.org>
272
273         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
274
275         * modules/xreadlink: New file, from GNU gettext with modifications.
276         * lib/xreadlink.c: New file, from GNU gettext.
277         * lib/xreadlink.h: Add comments.
278         (xreadlink): New declaration.
279
280         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
281         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
282         lib/xreadlink-with-size.c.
283         (configure.ac): Remove gl_XREADLINK invocation.
284         (Makefile.am): Augment lib_SOURCES.
285         * m4/xreadlink.m4: Remove file.
286         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
287         (xreadlink_with_size): Renamed from xreadink.
288         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
289         * modules/canonicalize (Depends-on): Replace xreadlink with
290         xreadlink-with-size.
291         * lib/canonicalize.c (canonicalize_filename_mode): Update.
292
293 2007-02-25  Jim Meyering  <jim@meyering.net>
294
295         * build-aux/announce-gen: When complaining about excess arguments,
296         list them.
297
298 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
299
300         * README: Document signed integer overflow situation more
301         accurately.
302
303 2007-02-25  Bruno Haible  <bruno@clisp.org>
304
305         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
306         'a' or 'A' conversion.
307
308 2007-02-25  Bruno Haible  <bruno@clisp.org>
309
310         * modules/filename: Renamed from modules/pathname.
311         (Files): Replace lib/pathname.h with lib/filename.h. Replace
312         lib/concatpath.c with lib/concat-filename.c.
313         (Makefile.am): Update.
314         (Include): Replace pathname.h with filename.h.
315         * lib/filename.h: Renamed from lib/pathname.h.
316         (concatenated_filename): Renamed from concatenated_pathname.
317         * lib/concat-filename.c: Renamed from lib/concatpath.c.
318         (concatenated_filename): Renamed from concatenated_pathname.
319         * lib/findprog.c: Include filename.h instead of pathname.h.
320         (find_in_path): Update.
321         * lib/javacomp.c: Include filename.h instead of pathname.h.
322         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
323         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
324         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
325         is_oldgcj_14_13_usable, is_javac_usable): Update.
326         * lib/javaexec.c: Include filename.h instead of pathname.h.
327         (execute_java_class): Update.
328         * modules/findprog: Update.
329         * modules/javacomp: Update.
330         * modules/javaexec: Update.
331         * MODULES.html.sh (File system functions): Add 'filename', remove
332         'pathname'.
333
334 2007-02-25  Bruno Haible  <bruno@clisp.org>
335
336         * modules/printf-frexpl-tests: New file.
337         * tests/test-printf-frexpl.c: New file.
338
339         * modules/printf-frexpl: New file.
340         * lib/printf-frexpl.h: New file.
341         * lib/printf-frexpl.c: New file.
342         * m4/printf-frexpl.m4: New file.
343
344 2007-02-25  Bruno Haible  <bruno@clisp.org>
345
346         * modules/printf-frexp-tests: New file.
347         * tests/test-printf-frexp.c: New file.
348
349         * modules/printf-frexp: New file.
350         * lib/printf-frexp.h: New file.
351         * lib/printf-frexp.c: New file.
352         * m4/printf-frexp.m4: New file.
353
354 2007-02-25  Bruno Haible  <bruno@clisp.org>
355
356         Assume automake >= 1.10 for the tests.
357         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
358         * modules/arctwo-tests: Likewise.
359         * modules/argp-tests: Likewise.
360         * modules/avltree-list-tests: Likewise.
361         * modules/avltree-oset-tests: Likewise.
362         * modules/avltreehash-list-tests: Likewise.
363         * modules/carray-list-tests: Likewise.
364         * modules/crc-tests: Likewise.
365         * modules/des-tests: Likewise.
366         * modules/gc-arcfour-tests: Likewise.
367         * modules/gc-arctwo-tests: Likewise.
368         * modules/gc-des-tests: Likewise.
369         * modules/gc-hmac-md5-tests: Likewise.
370         * modules/gc-hmac-sha1-tests: Likewise.
371         * modules/gc-md2-tests: Likewise.
372         * modules/gc-md4-tests: Likewise.
373         * modules/gc-md5-tests: Likewise.
374         * modules/gc-pbkdf2-sha1-tests: Likewise.
375         * modules/gc-rijndael-tests: Likewise.
376         * modules/gc-sha1-tests: Likewise.
377         * modules/gc-tests: Likewise.
378         * modules/getaddrinfo-tests: Likewise.
379         * modules/hmac-md5-tests: Likewise.
380         * modules/hmac-sha1-tests: Likewise.
381         * modules/linked-list-tests: Likewise.
382         * modules/linkedhash-list-tests: Likewise.
383         * modules/lock-tests: Likewise.
384         * modules/md2-tests: Likewise.
385         * modules/md4-tests: Likewise.
386         * modules/md5-tests: Likewise.
387         * modules/rbtree-list-tests: Likewise.
388         * modules/rbtree-oset-tests: Likewise.
389         * modules/rbtreehash-list-tests: Likewise.
390         * modules/read-file-tests: Likewise.
391         * modules/rijndael-tests: Likewise.
392         * modules/stdint-tests: Likewise.
393         * modules/tls-tests: Likewise.
394
395 2007-02-24  Bruno Haible  <bruno@clisp.org>
396
397         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
398         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
399         function; instead check whether isnan with a double argument links.
400         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
401         function; instead check whether isnan with a 'long double' argument
402         links.
403         Reported by Eric Blake <ebb9@byu.net>.
404
405 2007-02-24  Bruno Haible  <bruno@clisp.org>
406
407         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
408         defined.
409         * lib/isnanl.c: Remove all code. Just include isnan.c.
410         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
411
412 2007-02-25  Jim Meyering  <jim@meyering.net>
413
414         Avoid conflicting types for 'unsetenv' on FreeBSD.
415         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
416         conflicting with FreeBSD's (5.0 and 6.1) function declaration
417         in stdlib.h.
418
419 2007-02-24  Bruno Haible  <bruno@clisp.org>
420
421         * modules/isnanl-nolibm-tests: New file.
422         * tests/test-isnanl.c: New file.
423
424         * modules/isnanl-nolibm: New file.
425         * lib/isnanl.h: New file.
426         * lib/isnanl.c: New file.
427         * m4/isnanl.m4: New file.
428
429 2007-02-24  Bruno Haible  <bruno@clisp.org>
430
431         * modules/isnan-nolibm-tests: New file.
432         * tests/test-isnan.c: New file.
433
434         * modules/isnan-nolibm: New file.
435         * lib/isnan.h: New file.
436         * lib/isnan.c: New file.
437         * m4/isnan.m4: New file.
438
439 2007-02-24  Bruno Haible  <bruno@clisp.org>
440
441         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
442         assume that an exponent fits in 20 bits.
443
444 2007-02-24  Jim Meyering  <jim@meyering.net>
445
446         * m4/regex.m4: Update the description of the configure-time option,
447         --without-included-regex, to state accurately what the defaults are,
448         and perhaps to give people an idea why using this option is risky.
449
450 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
451
452         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
453         loops on small arguments.  This attempts to avoid the problem
454         Bruno Haible reported for AIX 4.3.2 in
455         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
456
457 2007-02-23  Bruno Haible  <bruno@clisp.org>
458
459         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
460         Needed for help2man.
461
462 2007-02-23  Karl Berry  <karl@gnu.org>
463
464         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
465         exists, foo.h should be cvs-ignored, not committed.
466
467 2007-02-23  Eric Blake  <ebb9@byu.net>
468
469         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
470         * lib/stat-time.h (includes): Likewise.
471         * lib/utimecmp.c (includes): Likewise.
472         * lib/utimens.h (includes): Likewise.
473         * lib/getdate.y (includes): Also include "timespec.h" for use
474         internal to the module.
475         * modules/utimens (Depends-on): Revert yesterday's patch.
476         * modules/nanosleep (Depends-on): Add missing dependency.
477
478 2007-02-22  Bruno Haible  <bruno@clisp.org>
479
480         * lib/glob.c: Don't include getlogin_r.h.
481
482 2007-02-22  Jim Meyering  <jim@meyering.net>
483
484         * modules/utimens (Depends-on): Add timespec, required for
485         utimens.h's inclusion of timespec.h.
486
487 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
488
489         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
490         long unreadable paths in GNU/Linux.  Problem reported by Andreas
491         Schwab in
492         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
493         I'll try to think of a better way to fix the Solaris problem.
494
495         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
496         like glibc; on Solaris 10, it fails with errno == EINVAL.
497         POSIX says the behavior is unspecified if the first argument is NULL,
498         so play it safe and never pass NULL to the system getcwd.
499
500 2007-02-21  Jim Meyering  <jim@meyering.net>
501
502         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
503         of gettimeofday.  It would conflict with the one now always
504         provided via sys_time_.h.  Reported by Matthew Woehlke, as
505         an IRIX 6.5 build failure.
506
507 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
508
509         Minor fixups to port to Solaris 10 with Sun C 5.8.
510         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
511         * modules/getcwd (Depends-on): Add dirfd.
512         * lib/putenv.c (putenv): #undef it.
513         (rpl_putenv): New decl.
514         (malloc, free): Include <stdlib.h> rather than prototyping separately.
515
516 2007-02-20  Bruno Haible  <bruno@clisp.org>
517
518         * modules/stdio-tests: New file.
519         * tests/test-stdio.c: New file.
520
521         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
522         (Depends-on): Add stdio.
523         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
524         (Include): Use <stdio.h> instead of vsnprintf.h.
525         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
526         HAVE_DECL_VSNPRINTF.
527         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
528
529         * modules/snprintf (Files): Remove lib/snprintf.h.
530         (Depends-on): Add stdio.
531         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
532         (Include): Use <stdio.h> instead of snprintf.h.
533         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
534         HAVE_DECL_SNPRINTF.
535         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
536         * lib/getaddrinfo.c: Likewise.
537
538         * modules/stdio: New file.
539         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
540         * lib/snprintf.h: Remove file.
541         * lib/vsnprintf.h: Remove file.
542         * lib/.cppi-disable: Remove snprintf.h.
543         * m4/stdio_h.m4: New file.
544         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
545
546 2007-02-20  Jim Meyering  <jim@meyering.net>
547
548         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
549         used by e.g., mingw.  From Bruno Haible.
550
551 2007-02-19  Bruno Haible  <bruno@clisp.org>
552
553         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
554         warnings.
555         Reported by Ben Pfaff <blp@cs.stanford.edu>.
556
557 2007-02-19  Bruno Haible  <bruno@clisp.org>
558
559         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
560         from mingw users.
561
562 2007-02-19  Bruno Haible  <bruno@clisp.org>
563
564         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
565         warnings.
566         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
567
568 2007-02-19  Jim Meyering  <jim@meyering.net>
569
570         Don't use FD after a successful "fdopendir (fd)".
571         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
572         Reset it by calling dirfd on the just-obtained DIR*.
573
574         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
575         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
576
577 2007-02-18  Bruno Haible  <bruno@clisp.org>
578
579         * lib/readlink.c: Include <unistd.h>.
580         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
581         HAVE_READLINK.
582         * modules/readlink (Depends-on): Add unistd.
583         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
584         (Include): Add <unistd.h>.
585
586         * lib/getlogin_r.h: Remove file.
587         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
588         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
589         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
590         HAVE_DECL_GETLOGIN_R.
591         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
592         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
593         (Include): Use <unistd.h> instead of getlogin_r.h.
594
595         * lib/getcwd.h: Remove file.
596         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
597         * lib/xgetcwd.c: Likewise.
598         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
599         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
600         * modules/getcwd (Files): Remove lib/getcwd.h.
601         (Depends-on): Add unistd.
602         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
603         (Include): Use <unistd.h> instad of getcwd.h.
604
605         * lib/ftruncate.c: Include <unistd.h> first.
606         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
607         Set HAVE_FTRUNCATE.
608         * modules/ftruncate (Depends-on): Add unistd.
609         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
610
611         * lib/fchdir.c: Include <unistd.h> first.
612         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
613         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
614         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
615         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
616         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
617
618         * lib/dup2.c: Include <unistd.h> first.
619         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
620         HAVE_DUP2.
621         * modules/dup2 (Depends-on): Add unistd.
622         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
623
624         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
625         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
626         REPLACE_CHOWN. Don't define chown as a macro here.
627         * modules/chown (Depends-on): Add unistd.
628         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
629
630         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
631         Add definition for GL_LINK_WARNING.
632         (chown, dup2): New declarations.
633         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
634         link warning.
635         (ftruncate): New declaration.
636         (getcwd): New declaration, taken from old getcwd.h.
637         (getlogin_r): New declaration, taken from old getlogin_r.h.
638         (readlink): New declaration.
639         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
640         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
641         (gl_PREREQ_UNISTD): Remove macro.
642         (gl_UNISTD_MODULE_INDICATOR): New macro.
643         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
644         many new variables. Don't set UNISTD_H.
645         * modules/unistd (Description): Change.
646         (Depends-on): Add link-warning.
647         (configure.ac): Update.
648         (Makefile.am): Create unistd.h always. Substitute many new variables
649         into it.
650
651 2007-02-18  Bruno Haible  <bruno@clisp.org>
652
653         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
654         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
655         HAVE_GETSUBOPT.
656         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
657         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
658         * lib/getsubopt.h: Remove file.
659         * modules/getsubopt (Files): Remove lib/getsubopt.h.
660         (Depends-on): Add stdlib.
661         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
662         (Includes): Use <stdlib.h> instead of getsubopt.h.
663         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
664         Set HAVE_GETSUBOPT.
665         * lib/getsubopt.c: Don't include getsubopt.h.
666
667 2007-02-18  Bruno Haible  <bruno@clisp.org>
668
669         * modules/fchdir (Depends-on): Add dup2.
670
671 2007-02-18  Bruno Haible  <bruno@clisp.org>
672
673         * lib/stdlib_.h: Handle glibc's special invocation convention
674         specially.
675
676 2007-02-18  Bruno Haible  <bruno@clisp.org>
677
678         * modules/stdlib-tests: New file.
679         * tests/test-stdlib.c: New file.
680
681         * modules/mkstemp (Files): Remove lib/mkstemp.h.
682         (Depends-on): Add stdlib.
683         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
684         (Includes): Use <stdlib.h> instead of mkstemp.h.
685         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
686         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
687         * lib/mkstemp.c: Don't include mkstemp.h.
688         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
689         * lib/stdlib--.h: Don't include mkstemp.h.
690
691         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
692         (Depends-on): Add stdlib.
693         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
694         (Includes): Use <stdlib.h> instead of mkdtemp.h.
695         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
696         HAVE_MKDTEMP.
697         * lib/mkdtemp.c: Don't include mkdtemp.h.
698         * lib/clean-temp.c: Don't include mkdtemp.h.
699
700         * modules/exit (Files): Remove lib/exit.h.
701         (Depends-on): Add stdlib.
702         (Makefile.am): Remove lib_SOURCES.
703         (Include): Use <stdlib.h> instead of exit.h.
704         * lib/argmatch.c: Don't include exit.h.
705         * lib/execute.c: Likewise.
706         * lib/pagealign_alloc.c: Likewise.
707         * lib/pipe.c: Likewise.
708         * lib/wait-process.c: Likewise.
709         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
710         * lib/exitfail.c: Likewise.
711         * lib/savewd.c: Likewise.
712         * lib/xsetenv.c: Likewise.
713
714         * modules/stdlib: New file.
715         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
716         and extra comments about mkstemp().
717         * lib/exit.h: Remove file.
718         * lib/mkdtemp.h: Remove file.
719         * lib/mkstemp.h: Remove file.
720         * m4/stdlib_h.m4: New file.
721         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
722
723 2007-02-18  Bruno Haible  <bruno@clisp.org>
724
725         * modules/math-tests: New file.
726         * tests/test-math.c: New file.
727
728         * modules/math: New file.
729         * modules/mathl (Files): Remove lib/mathl.h.
730         (Depends-on): Add math.
731         (Makefile.am): Don't mention mathl.h.
732         (Include): Use <math.h> instead of mathl.h.
733         * lib/math_.h: New file.
734         * lib/mathl.h: Remove file.
735         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
736         mathl.h.
737         * lib/asinl.c: Likewise.
738         * lib/atanl.c: Likewise.
739         * lib/ceill.c: Likewise.
740         * lib/cosl.c: Likewise.
741         * lib/expl.c: Likewise.
742         * lib/floorl.c: Likewise.
743         * lib/frexpl.c: Likewise.
744         * lib/ldexpl.c: Likewise.
745         * lib/logl.c: Likewise.
746         * lib/sincosl.c: Likewise.
747         * lib/sinl.c: Likewise.
748         * lib/sqrtl.c: Likewise.
749         * lib/tanl.c: Likewise.
750         * lib/trigl.c: Likewise.
751         * m4/math_h.m4: New file.
752         * MODULES.html.sh (Mathematics): Add math.
753
754 2007-02-17  Bruno Haible  <bruno@clisp.org>
755
756         * modules/wctype-tests: New file.
757         * tests/test-wctype.c: New file.
758
759         * modules/wchar-tests: New file.
760         * tests/test-wchar.c: New file.
761
762         * modules/unistd-tests: New file.
763         * tests/test-unistd.c: New file.
764
765         * modules/time-tests: New file.
766         * tests/test-time.c: New file.
767
768         * modules/sysexits-tests: New file.
769         * tests/test-sysexits.c: New file.
770
771         * modules/sys_time-tests: New file.
772         * tests/test-sys_time.c: New file.
773
774         * modules/sys_stat-tests: New file.
775         * tests/test-sys_stat.c: New file.
776
777         * modules/sys_socket-tests: New file.
778         * tests/test-sys_socket.c: New file.
779
780         * modules/sys_select-tests: New file.
781         * tests/test-sys_select.c: New file.
782
783         * modules/string-tests: New file.
784         * tests/test-string.c: New file.
785
786         * modules/stdbool-tests: New file.
787         * tests/test-stdbool.c: New file.
788
789         * modules/netinet_in-tests: New file.
790         * tests/test-netinet_in.c: New file.
791
792         * modules/inttypes-tests: New file.
793         * tests/test-inttypes.c: New file.
794
795         * modules/fcntl-tests: New file.
796         * tests/test-fcntl.c: New file.
797
798         * modules/byteswap-tests: New file.
799         * tests/test-byteswap.c: New file.
800
801         * modules/arpa_inet-tests: New file.
802         * tests/test-arpa_inet.c: New file.
803
804 2007-02-17  Bruno Haible  <bruno@clisp.org>
805
806         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
807         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
808         if the corresponding module is not enabled. Emit link warnings if
809         the function is used nevertheless.
810         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
811         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
812         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
813         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
814         * modules/inttypes (Depends-on): Add link-warning.
815         (Makefile.am): Copy the contents of build-aux/link-warning.h into
816         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
817         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
818         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
819         * modules/imaxdiv (configure.ac): Likewise.
820         * modules/strtoimax (configure.ac): Likewise.
821         * modules/strtoumax (configure.ac): Likewise.
822
823 2007-02-17  Bruno Haible  <bruno@clisp.org>
824
825         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
826         gl_STRING_MODULE_INDICATOR_DEFAULTS.
827         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
828         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
829
830 2007-02-17  Bruno Haible  <bruno@clisp.org>
831
832         * modules/link-warning: New file.
833         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
834         * lib/string_.h (GL_LINK_WARNING): Remove definition.
835         * modules/string (Depends-on): Add link-warning.
836         (Makefile.am): Copy the contents of build-aux/link-warning.h into
837         string.h.
838         * MODULES.html.sh (Support for building libraries and executables): Add
839         link-warning.
840
841 2007-02-17  Bruno Haible  <bruno@clisp.org>
842
843         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
844         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
845         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
846         long lines.
847
848 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
849             Bruno Haible  <bruno@clisp.org>
850
851         * modules/tmpfile: New file.
852         * lib/tmpfile.c: New file.
853         * m4/tmpfile.m4: New file.
854         * MODULES.html.sh (func_all_modules): New section "Input/output".
855
856 2007-02-15  Bruno Haible  <bruno@clisp.org>
857
858         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
859         (supports_delete_on_close): New function.
860         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
861
862 2007-02-14  Bruno Haible  <bruno@clisp.org>
863
864         * modules/mbspcasecmp-tests: New file.
865         * tests/test-mbspcasecmp.sh: New file.
866         * tests/test-mbspcasecmp.c: New file.
867
868         New module mbspcasecmp.
869         * modules/mbspcasecmp: New file.
870         * lib/mbspcasecmp.c: New file.
871         * lib/string_.h (strncasecmp): Change warning message.
872         (mbspcasecmp): New declaration.
873         * m4/mbspcasecmp.m4: New file.
874         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
875         GNULIB_MBSPCASECMP.
876         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
877         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
878
879 2007-02-14  Bruno Haible  <bruno@clisp.org>
880
881         * modules/mbsncasecmp-tests: New file.
882         * tests/test-mbsncasecmp.sh: New file.
883         * tests/test-mbsncasecmp.c: New file.
884
885         New module mbsncasecmp.
886         * modules/mbsncasecmp: New file.
887         * lib/mbsncasecmp.c: New file.
888         * lib/string_.h (mbsncasecmp): New declaration.
889         * m4/mbsncasecmp.m4: New file.
890         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
891         GNULIB_MBSNCASECMP.
892         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
893         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
894
895 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
896
897         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
898         Verify that it doesn't overlap with our flags.
899         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
900         do not have the desired effect in multibyte locales; instead, use
901         mbscasecmp.
902         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
903         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
904         we don't require GNU fnmatch ourselves (if our users require it, they
905         should do so explicitly).
906
907         Fix regex code so it doesn't rely on strcasecmp.
908         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
909         Otherwise, include gnulib's langinfo.h.
910         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
911         undesirable behavior in non-C locales.  Instead, rely on localecharset.
912         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
913         * modules/regex (FILES): Remove m4/codeset.m4.
914         (Depends-on): Add localcharset.  Remove strcase.
915
916 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
917
918         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
919         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
920
921 2007-02-13  Bruno Haible  <bruno@clisp.org>
922
923         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
924         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
925
926 2007-02-12  Bruno Haible  <bruno@clisp.org>
927
928         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
929         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
930         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
931         time warning rather than a link error.
932
933 2007-02-12  Bruno Haible  <bruno@clisp.org>
934
935         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
936         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
937         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
938
939 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
940
941         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
942         args, not 2.
943
944 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
945
946         New module 'time', so that apps can include <time.h> as per
947         POSIX and GNU instead of separate include files like time_r.h
948         and timegm.h.  This implementation tries out a simpler approach
949         for replacing decls in standard include files (as compared to
950         the string module), somewhat as an experiment.
951
952         * config/srclist.txt: Comment out mktime.c for now.
953         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
954         since it doesn't apply any more.  Use generic wording instead.
955         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
956         'time'.
957         * lib/time_.h, m4/time_h.m4, modules/time: New files.
958         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
959         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
960         Don't include <sys/types.h>; no longer needed since we assume C89.
961         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
962         * lib/strftime.c: Likewise.
963         * lib/time_r.c: Likewise.
964         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
965         * lib/nanosleep.c: Include <time.h> first, to check interface.
966         * lib/strptime.c: Likewise.
967         * lib/time_r.c: Likewise.
968         * lib/timegm.c: Likewise.
969         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
970         needed.
971         * lib/timegm.c: Don't include timegm.h; no longer needed.
972         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
973         time.h now handles any problems in that area.
974         (struct timespec, nanosleep): Remove; time.h now arranges for these.
975         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
976         that time.h defines struct timespec.
977         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
978         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
979         handles that.
980         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
981         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
982         needed.  Set REPLACE_LOCALTIME.
983         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
984         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
985         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
986         nanosleep; time_h.m4 now does that.  Don't require
987         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
988         module handles this now.
989         * modules/getdate (Depends-on): Remove timespec.  Add time.
990         * modules/nanosleep (Depends-on): Likewise.
991         * modules/stat-time (Depends-on): Likewise.
992         * modules/nanosleep (Include): Include time.h, not timespec.h.
993         * modules/strptime (Files): Remove lib/strptime.h.
994         (Depends-on): Add extensions, time.
995         (Include): Include time.h, not strptime.h.
996         * modules/time_r (Files): Remove lib/time_r.h.
997         (Depends-on): Add time.
998         (Include): Include time.h, not time_r.h.
999         * modules/timegm: Likewise.
1000         * modules/timespec (Description): Now does timespec-related decls
1001         of our own, instead of struct timespec itself.
1002         (Depends-on): Add time; remove extensions.
1003         (Maintainer): Add self.
1004         * modules/utimecmp (Depends-on): Add time; remove timespec.
1005         * modules/utimens (Depends-on): Likewise.
1006         * modules/xnanosleep (Depends-on): Likewise.
1007
1008 2007-02-11  Bruno Haible  <bruno@clisp.org>
1009
1010         * lib/c-strstr.c: Include allocsa.h.
1011         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1012         * lib/c-strcasestr.c: Include allocsa.h.
1013         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1014         * lib/strcasestr.c: Include allocsa.h.
1015         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
1016         * lib/mbsstr.c: Include allocsa.h.
1017         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
1018         allocsa/freesa instead of malloc/free.
1019         * lib/mbscasestr.c: Include allocsa.h.
1020         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
1021         allocsa/freesa instead of malloc/free.
1022         * modules/c-strstr (Depends-on): Add allocsa.
1023         * modules/c-strcasestr (Depends-on): Likewise.
1024         * modules/strcasestr (Depends-on): Likewise.
1025         * modules/mbsstr (Depends-on): Likewise.
1026         * modules/mbscasestr (Depends-on): Likewise.
1027
1028 2007-02-11  Bruno Haible  <bruno@clisp.org>
1029
1030         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
1031
1032         * modules/mbsspn-tests: New file.
1033         * tests/test-mbsspn.sh: New file.
1034         * tests/test-mbsspn.c: New file.
1035
1036 2007-02-11  Bruno Haible  <bruno@clisp.org>
1037
1038         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
1039
1040         * modules/mbspbrk-tests: New file.
1041         * tests/test-mbspbrk.sh: New file.
1042         * tests/test-mbspbrk.c: New file.
1043
1044 2007-02-11  Bruno Haible  <bruno@clisp.org>
1045
1046         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
1047         unneeded cast.
1048
1049         * modules/mbscspn-tests: New file.
1050         * tests/test-mbscspn.sh: New file.
1051         * tests/test-mbscspn.c: New file.
1052
1053 2007-02-11  Bruno Haible  <bruno@clisp.org>
1054
1055         * modules/mbscasecmp-tests: New file.
1056         * tests/test-mbscasecmp.sh: New file.
1057         * tests/test-mbscasecmp.c: New file.
1058
1059 2007-02-11  Bruno Haible  <bruno@clisp.org>
1060
1061         Ensure O(n) worst-case complexity of mbscasestr.
1062         * lib/mbscasestr.c: Include stdbool.h.
1063         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
1064         functions.
1065         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
1066         the bookkeeping indicates that it's worth it.
1067         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
1068
1069         * modules/mbscasestr-tests: New file.
1070         * tests/test-mbscasestr1.c: New file.
1071         * tests/test-mbscasestr2.sh: New file.
1072         * tests/test-mbscasestr2.c: New file.
1073         * tests/test-mbscasestr3.sh: New file.
1074         * tests/test-mbscasestr3.c: New file.
1075         * tests/test-mbscasestr4.sh: New file.
1076         * tests/test-mbscasestr4.c: New file.
1077         * m4/locale-tr.m4: New file.
1078
1079 2007-02-11  Bruno Haible  <bruno@clisp.org>
1080
1081         Ensure O(n) worst-case complexity of mbsstr.
1082         * lib/mbsstr.c: Include stdbool.h.
1083         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
1084         functions.
1085         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
1086         bookkeeping indicates that it's worth it.
1087         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
1088
1089         * modules/mbsstr-tests: New file.
1090         * tests/test-mbsstr1.c: New file.
1091         * tests/test-mbsstr2.sh: New file.
1092         * tests/test-mbsstr2.c: New file.
1093         * tests/test-mbsstr3.sh: New file.
1094         * tests/test-mbsstr3.c: New file.
1095         * m4/locale-fr.m4: New file.
1096
1097 2007-02-11  Bruno Haible  <bruno@clisp.org>
1098
1099         * lib/mbsrchr.c (mbsrchr): Fix bug.
1100
1101         * modules/mbsrchr-tests: New file.
1102         * tests/test-mbsrchr.sh: New file.
1103         * tests/test-mbsrchr.c: New file.
1104
1105 2007-02-11  Bruno Haible  <bruno@clisp.org>
1106
1107         * lib/mbschr.c (mbschr): Fix bug.
1108
1109         * modules/mbschr-tests: New file.
1110         * tests/test-mbschr.sh: New file.
1111         * tests/test-mbschr.c: New file.
1112         * m4/locale-zh.m4: New file.
1113
1114 2007-02-11  Bruno Haible  <bruno@clisp.org>
1115
1116         Support for copying multibyte string iterators.
1117         * lib/mbiter.h: Include <string.h>.
1118         (mbiter_multi_copy): New function.
1119         (mbi_copy): New macro.
1120         * lib/mbuiter.h: Include <string.h>.
1121         (mbuiter_multi_copy): New function.
1122         (mbui_copy): New macro.
1123
1124 2007-02-11  Bruno Haible  <bruno@clisp.org>
1125
1126         New module mbslen.
1127         * modules/mbslen: New file.
1128         * lib/mbslen.c: New file.
1129         * lib/string_.h (mbslen): New declaration.
1130         * m4/mbslen.m4: New file.
1131         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1132         GNULIB_MBSLEN.
1133         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
1134         * MODULES.html.sh (Internationalization functions): Add mbslen.
1135
1136 2007-02-11  Bruno Haible  <bruno@clisp.org>
1137
1138         Ensure O(n) worst-case complexity of strcasestr substitute.
1139         * lib/strcasestr.c: Include stdbool.h.
1140         (knuth_morris_pratt): New function.
1141         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
1142         bookkeeping indicates that it's worth it.
1143         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
1144
1145         * modules/strcasestr-tests: New file.
1146         * tests/test-strcasestr.c: New file.
1147
1148 2007-02-11  Bruno Haible  <bruno@clisp.org>
1149
1150         Ensure O(n) worst-case complexity of c_strcasestr.
1151         * lib/c-strcasestr.c: Include stdbool.h, string.h.
1152         (knuth_morris_pratt): New function.
1153         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
1154         the bookkeeping indicates that it's worth it.
1155         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
1156
1157         * modules/c-strcasestr-tests: New file.
1158         * tests/test-c-strcasestr.c: New file.
1159
1160 2007-02-11  Bruno Haible  <bruno@clisp.org>
1161
1162         Ensure O(n) worst-case complexity of c_strstr.
1163         * lib/c-strstr.c: Include stdbool.h, string.h.
1164         (knuth_morris_pratt): New function.
1165         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
1166         bookkeeping indicates that it's worth it.
1167         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
1168
1169         * lib/c-strstr.c: Complete rewrite for maintainability.
1170
1171         * modules/c-strstr-tests: New file.
1172         * tests/test-c-strstr.c: New file.
1173
1174 2007-02-11  Bruno Haible  <bruno@clisp.org>
1175
1176         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
1177         5.2.1 and earlier, whereby \055 was treated just like the range
1178         delimiter '-'.
1179         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
1180
1181 2007-02-08  Bruno Haible  <bruno@clisp.org>
1182
1183         * modules/regex (Depends-on): Add stdbool.
1184         Reported by Dalibor Topic <robilad@kaffe.org>.
1185
1186 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
1187
1188         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
1189         Prefer returning from main to exiting from it.
1190         Remove unnecessary parens after sizeof.
1191
1192 2007-02-05  Bruno Haible  <bruno@clisp.org>
1193
1194         New module mbssep.
1195         * modules/mbssep: New file.
1196         * lib/mbssep.c: New file.
1197         * lib/string_.h (strsep): Add a conditional link warning.
1198         (mbssep): New declaration.
1199         * m4/mbssep.m4: New file.
1200         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1201         GNULIB_MBSSEP.
1202         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
1203         * MODULES.html.sh (Internationalization functions): Add mbssep.
1204
1205 2007-02-05  Bruno Haible  <bruno@clisp.org>
1206
1207         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
1208         Optimize search in case of 1 delimiter.
1209
1210 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1211
1212         * lib/acl.h: Include sys/types.h before sys/acl.h.
1213
1214 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1215
1216         Merge upstream fix for glibc bugzilla #3957:
1217
1218         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
1219
1220         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
1221         bit for RE_HAT_LISTS_NOT_NEWLINE.
1222         (build_charclass_op): Remove bogus comment.
1223
1224 2007-02-05  Simon Josefsson  <simon@josefsson.org>
1225
1226         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
1227
1228 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1229
1230         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
1231         * lib/memmem.c [!defined _LIBC]: Include config.h.
1232
1233 2007-02-04  Bruno Haible  <bruno@clisp.org>
1234
1235         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
1236         warning message.
1237
1238 2007-02-04  Bruno Haible  <bruno@clisp.org>
1239
1240         New module mbstok_r.
1241         * modules/mbstok_r: New file.
1242         * lib/mbstok_r.c: New file.
1243         * lib/string_.h (strtok_r): Change argument names to match the
1244         comments. Add a conditional link warning.
1245         (mbstok_r): New declaration.
1246         * m4/mbstok_r.m4: New file.
1247         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1248         GNULIB_MBSTOK_R.
1249         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
1250         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
1251
1252 2007-02-04  Bruno Haible  <bruno@clisp.org>
1253
1254         New module mbsspn.
1255         * modules/mbsspn: New file.
1256         * lib/mbsspn.c: New file.
1257         * lib/string_.h (strspn): Add a conditional link warning.
1258         (mbsspn): New declaration.
1259         * m4/mbsspn.m4: New file.
1260         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1261         GNULIB_MBSSPN.
1262         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
1263         * MODULES.html.sh (Internationalization functions): Add mbsspn.
1264
1265 2007-02-04  Bruno Haible  <bruno@clisp.org>
1266
1267         New module mbspbrk.
1268         * modules/mbspbrk: New file.
1269         * lib/mbspbrk.c: New file.
1270         * lib/string_.h (strpbrk): Add a conditional link warning.
1271         (mbspbrk): New declaration.
1272         * m4/mbspbrk.m4: New file.
1273         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1274         GNULIB_MBSPBRK.
1275         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
1276         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
1277
1278 2007-02-04  Bruno Haible  <bruno@clisp.org>
1279
1280         New module mbscspn.
1281         * modules/mbscspn: New file.
1282         * lib/mbscspn.c: New file.
1283         * lib/string_.h (strcspn): Add a conditional link warning.
1284         (mbscspn): New declaration.
1285         * m4/mbscspn.m4: New file.
1286         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1287         GNULIB_MBSCSPN.
1288         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
1289         * MODULES.html.sh (Internationalization functions): Add mbscspn.
1290
1291 2007-02-04  Bruno Haible  <bruno@clisp.org>
1292
1293         New module mbscasestr, reduced goal of strcasestr.
1294         * modules/mbscasestr: New file.
1295         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
1296         (mbscasestr): Renamed from strcasestr.
1297         * lib/strcasestr.c: Don't include mbuiter.h.
1298         (strcasestr): Remove support for multibyte locales.
1299         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
1300         Change the conditional link warning.
1301         (mbscasestr): New declaration.
1302         * m4/mbscasestr.m4: New file.
1303         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
1304         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
1305         REPLACE_STRCASESTR.
1306         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
1307         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1308         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1309         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
1310         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
1311         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1312         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
1313         (Depends-on): Remove mbuiter.
1314         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
1315
1316 2007-02-04  Bruno Haible  <bruno@clisp.org>
1317
1318         Simplify handling of strncasecmp.
1319         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
1320         the conditional link warning.
1321         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1322         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
1323         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
1324         * modules/strcase (configure.ac): Don't invoke
1325         gl_STRING_MODULE_INDICATOR.
1326         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
1327
1328 2007-02-04  Bruno Haible  <bruno@clisp.org>
1329
1330         New module mbscasecmp, reduced goal of strcasecmp.
1331         * modules/mbscasecmp: New file.
1332         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
1333         (mbscasecmp): Renamed from strcasecmp.
1334         * lib/strcasecmp.c: Don't include mbuiter.h.
1335         (strcasecmp): Remove support for multibyte locales.
1336         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
1337         Change the conditional link warning.
1338         (mbscasecmp): New declaration.
1339         * m4/mbscasecmp.m4: New file.
1340         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
1341         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
1342         REPLACE_STRCASECMP.
1343         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
1344         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1345         GNULIB_MBSCASECMP.
1346         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
1347         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
1348         * modules/strcase (Files): Remove m4/mbrtowc.m4.
1349         (Depends-on): Remove mbuiter.
1350         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
1351
1352 2007-02-04  Bruno Haible  <bruno@clisp.org>
1353
1354         New module mbsstr. Remove module strstr.
1355         * modules/mbsstr: New file.
1356         * modules/strstr: Remove file.
1357         * lib/mbsstr.c: Renamed from lib/strstr.c.
1358         (mbsstr): Renamed from strstr.
1359         * lib/string_.h (strstr): Remove declaration. Change the conditional
1360         link warning.
1361         (mbsstr): New declaration.
1362         * m4/mbsstr.m4: New file.
1363         * m4/strstr.m4: Remove file.
1364         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
1365         REPLACE_STRSTR.
1366         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
1367         Don't initialize GNULIB_STRSTR.
1368         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
1369         substitute GNULIB_STRSTR and REPLACE_STRSTR.
1370         * MODULES.html.sh (Internationalization functions): Add mbsstr.
1371         (Support for systems lacking ANSI C 89): Remove strstr.
1372
1373 2007-02-04  Bruno Haible  <bruno@clisp.org>
1374
1375         New module mbsrchr.
1376         * modules/mbsrchr: New file.
1377         * lib/mbsrchr.c: New file.
1378         * lib/string_.h (strrchr): Add a conditional link warning.
1379         (mbsrchr): New declaration.
1380         * m4/mbsrchr.m4: New file.
1381         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1382         GNULIB_MBSRCHR.
1383         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
1384         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
1385
1386 2007-02-04  Bruno Haible  <bruno@clisp.org>
1387
1388         New module mbschr.
1389         * modules/mbschr: New file.
1390         * lib/mbschr.c: New file.
1391         * lib/string_.h (strchr): Add a conditional link warning.
1392         (mbschr): New declaration.
1393         * m4/mbschr.m4: New file.
1394         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1395         GNULIB_MBSCHR.
1396         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
1397         * MODULES.html.sh (Internationalization functions): Add mbschr.
1398
1399 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1400
1401         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
1402
1403         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
1404
1405 2007-02-04  Bruno Haible  <bruno@clisp.org>
1406
1407         New module description section 'configure.ac-early'.
1408         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
1409         (func_get_autoconf_early_snippet): New function.
1410         (func_import, func_create_testdir): Use it. Remove special cases for
1411         modules 'extensions' and 'lock'.
1412         * modules/extensions (configure.ac-early): Require
1413         gl_USE_SYSTEM_EXTENSIONS.
1414         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
1415
1416 2007-02-04  Bruno Haible  <bruno@clisp.org>
1417
1418         Make use of gcj-4.3's -fsource and -ftarget option.
1419         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
1420         and if so try the options -fsource and -ftarget.
1421         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
1422         source_version, ftarget_option, target_version arguments.
1423         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
1424         (is_envjavac_oldgcj_14_14_usable): Renamed from
1425         is_envjavac_gcj_14_14_usable.
1426         (is_envjavac_oldgcj_14_13_usable): Renamed from
1427         is_envjavac_gcj_14_13_usable.
1428         (is_gcj_present): Update.
1429         (is_gcj_43, is_gcj43_usable): New functions.
1430         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
1431         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
1432         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
1433         try the options -fsource and -ftarget.
1434
1435 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1436
1437         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
1438         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
1439         larger value.
1440
1441 2007-02-03  Jim Meyering  <jim@meyering.net>
1442
1443         Give tools a better chance to allocate space for very large buffers.
1444         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
1445
1446         Make pwd and readlink work also when run with an unreadable parent dir
1447         on systems with openat support.
1448         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
1449         provided getcwd function, even when we have openat support.
1450         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
1451
1452 2007-02-02  Bruno Haible  <bruno@clisp.org>
1453
1454         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
1455         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
1456         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
1457         portability problems if one of these functions is only used on specific
1458         platforms.
1459         Reported by Paul Eggert.
1460
1461 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1462
1463         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
1464         is causing more trouble than it's curing.
1465         * lib/regex_internal.h (__mempcpy): Remove.
1466         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
1467         (and make the code a tad smaller to boot).
1468         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
1469
1470 2007-02-02  Jim Meyering  <jim@meyering.net>
1471
1472         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
1473         section, not in the Makefile.am: one.
1474
1475 2007-02-02  Eric Blake  <ebb9@byu.net>
1476
1477         * lib/strchrnul.c: Always include config.h first.
1478
1479         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
1480         gnulib strstr is not necessary here.
1481
1482 2007-02-02  Simon Josefsson  <simon@josefsson.org>
1483
1484         * m4/socklen.m4: Fix typo.
1485
1486 2007-02-02  Eric Blake  <ebb9@byu.net>
1487
1488         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
1489         * modules/netinet_in (Makefile.am): Likewise.
1490
1491 2007-02-01  Bruno Haible  <bruno@clisp.org>
1492
1493         * lib/string_.h (GL_LINK_WARNING): New macro.
1494         (strcasecmp, strstr, strcasestr): If provided by the system,
1495         conditionally define as a macro that leads to a warning instead of to
1496         an error.
1497         (strncasecmp): Conditionally define as a macro that leads to a warning.
1498
1499 2007-02-01  Karl Berry  <karl@gnu.org>
1500
1501         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
1502
1503 2007-02-01  Bruno Haible  <bruno@clisp.org>
1504
1505         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
1506         renamings.
1507
1508 2007-02-01  Eric Blake  <ebb9@byu.net>
1509
1510         * modules/regex (Depends-on): Revert dependence on mempcpy.
1511         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
1512         module's definition of mempcpy.
1513         Reported by Paul Eggert.
1514
1515 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
1516
1517         * lib/string_.h: If the gnulib module XYZ is not present, undefine
1518         the symbol XYZ before redefining it.  This fixes a problem with
1519         programs that don't use XYZ, when compiled on systems that define
1520         XYZ to something else.
1521
1522 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1523
1524         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
1525         occurs when "mkdir -m foo" creates a setgid directory that is (1)
1526         writeable to group or other and (2) is intended to have a special
1527         mode bit that is set or cleared.  In such a case, the directory
1528         should be neither group- nor other-writeable until the special
1529         mode bits are right.
1530
1531 2007-01-31  Eric Blake  <ebb9@byu.net>
1532
1533         * modules/mountlist (Depends-on): Add strstr.
1534
1535         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
1536         bug.
1537         * modules/string (Makefile.am): Remove redundant replacement.
1538         * modules/regex (Depends-on): Add mempcpy.
1539
1540 2007-01-31  Bruno Haible  <bruno@clisp.org>
1541
1542         New module description field 'Link'.
1543         * gnulib-tool (func_usage): Document --extract-link-directive.
1544         (sed_extract_prog): Recognize 'Link' directive.
1545         (func_get_link_directive): New function.
1546         (func_import): Show summary of link directives.
1547         Handle --extract-link-directive option.
1548         * modules/acl (Link): New section.
1549         * modules/clock-time (Link): New section.
1550         * modules/euidaccess (Link): New section.
1551         * modules/gettext (Link): New section.
1552         * modules/iconv (Link): New section.
1553         * modules/lock (Link): New section.
1554         * modules/nanosleep (Link): New section.
1555         * modules/readline (Link): New section.
1556
1557 2007-01-27  Bruno Haible  <bruno@clisp.org>
1558
1559         Enforce the use of gnulib modules for unportable <string.h> functions.
1560         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
1561         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
1562         (gl_HEADER_STRING_H_BODY): Require it.
1563         * lib/string_.h: If the gnulib module XYZ is not present, redefine
1564         the symbol XYZ to one that gives a link error.
1565         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
1566         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
1567         * modules/mempcpy (configure.ac): Likewise.
1568         * modules/memrchr (configure.ac): Likewise.
1569         * modules/stpcpy (configure.ac): Likewise.
1570         * modules/stpncpy (configure.ac): Likewise.
1571         * modules/strcase (configure.ac): Likewise.
1572         * modules/strcasestr (configure.ac): Likewise.
1573         * modules/strchrnul (configure.ac): Likewise.
1574         * modules/strdup (configure.ac): Likewise.
1575         * modules/strndup (configure.ac): Likewise.
1576         * modules/strnlen (configure.ac): Likewise.
1577         * modules/strpbrk (configure.ac): Likewise.
1578         * modules/strsep (configure.ac): Likewise.
1579         * modules/strstr (configure.ac): Likewise.
1580         * modules/strtok_r (configure.ac): Likewise.
1581
1582 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
1583
1584         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
1585
1586 2007-01-30  Jim Meyering  <jim@meyering.net>
1587
1588         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
1589
1590 2007-01-29  Bruno Haible  <bruno@clisp.org>
1591
1592         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
1593         * lib/execute.c: Likewise.
1594         * lib/pipe.c: Likewise.
1595         * lib/printf-args.h: Likewise.
1596         * lib/printf-args.c: Likewise.
1597         * lib/printf-parse.c: Likewise.
1598         * lib/vasnprintf.c: Likewise.
1599
1600 2007-01-29  Eric Blake  <ebb9@byu.net>
1601
1602         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
1603         declaration.
1604
1605 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1606
1607         * lib/strptime.h (strptime): Use 'restrict' for args where
1608         POSIX requires this.
1609         * lib/strptime.c (strptime): Likewise.
1610         Change license notice from LGPL to GPL, since gnulib-tool will
1611         change this as needed.
1612         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
1613         defined.
1614         Include "strptime.h" first, to check interface.
1615         Do not #undef _LIBC and _NL_CURRENT.
1616         Do not include <stdlib.h>; no longer needed.
1617         Include "time_r.h" and declare ptime_locale_status
1618         only if _LIBC is not defined.
1619         (__P): Remove unused macro.
1620         (match_string): Bring back glibc version, but use it only if _LIBC
1621         is defined.
1622         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
1623         Remove unnecessary assertion and abort() call.
1624         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
1625         * m4/strptime.m4: Fix serial number comment.
1626         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
1627         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
1628         (Depends-on): Add time_r.
1629
1630 2007-01-29  Bruno Haible  <bruno@clisp.org>
1631
1632         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
1633         strptime.
1634         * modules/strptime (Depends-on): Add stdbool.
1635         * lib/strptime.h: Include <time.h> always. Add comments.
1636
1637 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
1638
1639         * modules/strptime: New file.
1640         * lib/strptime.h: New file.
1641         * lib/strptime.c: New file.
1642         * m4/strptime.m4: New file.
1643
1644 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1645
1646         * MODULES.html.sh: New module mpsort.
1647         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
1648
1649         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
1650         a circularity problem with HP-UX ia64 reported by Bob Proulx in
1651         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
1652         All uses changed.
1653         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
1654         All uses changed.
1655         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
1656         to _Restrict_.
1657         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
1658         the parameter matches the prototype.
1659
1660 2007-01-28  Jim Meyering  <jim@meyering.net>
1661
1662         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
1663         sys/time.h here, reverting that part of the previous patch:
1664         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
1665
1666 2007-01-28  Bruno Haible  <bruno@clisp.org>
1667
1668         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
1669         value of $(SYS_TIME_H).
1670         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
1671         remove it conditionally, too. [added by Jim Meyering]
1672         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
1673         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
1674         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
1675         GETTIMEOFDAY_REPLACEMENT to 1.
1676
1677 2007-01-28  Bruno Haible  <bruno@clisp.org>
1678
1679         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
1680         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
1681         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
1682         Set UNISTD_H instead of UNISTD_H2.
1683         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
1684
1685 2007-01-28  Bruno Haible  <bruno@clisp.org>
1686
1687         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
1688         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
1689
1690 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1691
1692         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
1693         (func_create_testdir): Ensure C locale for `grep' and `tr'
1694         character ranges.
1695         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
1696         ACLOCAL_AMFLAGS parsing state machine.
1697
1698 2007-01-27  Bruno Haible  <bruno@clisp.org>
1699
1700         * modules/unistr/base: Update.
1701
1702 2007-01-27  Bruno Haible  <bruno@clisp.org>
1703
1704         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
1705         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
1706         * modules/unistr/u32-mbtouc-unsafe: Renamed from
1707         modules/unistr/u32-mbtouc.
1708         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
1709         * lib/unistr.h: Update.
1710         * lib/linebreak.c: Update.
1711         * modules/unistr/u32-mbtouc: Renamed from
1712         modules/unistr/u32-mbtouc-safe.
1713         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
1714         * lib/unistr.h: Update.
1715         * lib/unistr/u32-to-u8.c: Update.
1716         * lib/unistr/u32-to-u16.c: Update.
1717
1718 2007-01-27  Bruno Haible  <bruno@clisp.org>
1719
1720         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
1721         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
1722         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
1723         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
1724         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
1725         * modules/unistr/u16-mbtouc-unsafe: Renamed from
1726         modules/unistr/u16-mbtouc.
1727         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
1728         * lib/unistr.h: Update.
1729         * lib/linebreak.c: Update.
1730         * modules/linebreak: Update.
1731         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
1732         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
1733         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
1734         * modules/unistr/u16-mbtouc: Renamed from
1735         modules/unistr/u16-mbtouc-safe.
1736         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
1737         * lib/unistr.h: Update.
1738         * lib/unistr/u16-to-u8.c: Update.
1739         * modules/unistr/u16-to-u8: Update.
1740         * lib/unistr/u16-to-u32.c: Update.
1741         * modules/unistr/u16-to-u32: Update.
1742
1743 2007-01-27  Bruno Haible  <bruno@clisp.org>
1744
1745         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
1746         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
1747         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
1748         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
1749         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
1750         * modules/unistr/u8-mbtouc-unsafe: Renamed from
1751         modules/unistr/u8-mbtouc.
1752         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
1753         * lib/unistr.h: Update.
1754         * lib/striconveh.c: Update.
1755         * modules/striconveh: Update.
1756         * lib/linebreak.c: Update.
1757         * modules/linebreak: Update.
1758         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
1759         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
1760         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
1761         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
1762         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
1763         * lib/unistr.h: Update.
1764         * lib/striconveh.c: Update.
1765         * modules/striconveh: Update.
1766         * lib/unistr/u8-to-u16.c: Update.
1767         * modules/unistr/u8-to-u16: Update.
1768         * lib/unistr/u8-to-u32.c: Update.
1769         * modules/unistr/u8-to-u32: Update.
1770
1771 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1772
1773         Sync from Libtool.
1774         * lib/argz.c: Do not include strings.h nor memory.h, include
1775         string.h unconditionally.  Patch by Simon Josefsson.
1776
1777 2007-01-27  Bruno Haible  <bruno@clisp.org>
1778
1779         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
1780         from gl_HEADER_STRING_H_BODY.
1781         (gl_HEADER_STRING_H_BODY): Require it.
1782         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
1783         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
1784         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
1785         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
1786         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1787         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
1788         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1789         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
1790         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
1791         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
1792         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
1793         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
1794         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
1795         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
1796         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
1797
1798 2007-01-27  Bruno Haible  <bruno@clisp.org>
1799
1800         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
1801         check_PROGRAMS into noinst_PROGRAMS.
1802         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
1803         check_PROGRAMS in this case.
1804         (func_import): Set for_test to false.
1805         (func_create_testdir): Set for_test to true.
1806
1807 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
1808             Bruno Haible  <bruno@clisp.org>
1809
1810         * modules/strcasestr (Files): Remove lib/strcasestr.h.
1811         (Depends-on): Add string.
1812         (Includes): Use <string.h> instead of strcasestr.h.
1813         * modules/string (Makefile.am): Also substitute the value of
1814         REPLACE_STRCASESTR.
1815         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
1816         assume strcasestr is declared in <string.h> not <strings.h>. Also
1817         set REPLACE_STRCASESTR.
1818         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
1819         REPLACE_STRCASESTR.
1820         * lib/strcasestr.h: Remove file.
1821         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
1822         * lib/string_.h (strcasestr): New declaration.
1823
1824 2007-01-27  Bruno Haible  <bruno@clisp.org>
1825
1826         * lib/string_.h: Use 'extern'.
1827
1828 2007-01-27  Jim Meyering  <jim@meyering.net>
1829
1830         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
1831         of set-but-not-used local, "q".
1832
1833         * lib/mempcpy.c: Include <config.h> before <string.h>.
1834         This fixes a compilation error on HP-UX, due to the system's
1835         "restrict"-using mempcpy prototype.
1836
1837 2007-01-26  Bruno Haible  <bruno@clisp.org>
1838
1839         Small optimization.
1840         * lib/javacomp.c: Include c-strstr.h.
1841          (is_envjavac_gcj): Use c_strstr instead of strstr.
1842         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
1843
1844 2007-01-26  Bruno Haible  <bruno@clisp.org>
1845
1846         * MODULES.html.sh (Unicode string functions): Add the new modules.
1847
1848         * modules/uniconv/u32-strconv-to-locale: New file.
1849         * lib/uniconv/u32-strconv-to-locale.c: New file.
1850
1851         * modules/uniconv/u16-strconv-to-locale: New file.
1852         * lib/uniconv/u16-strconv-to-locale.c: New file.
1853
1854         * modules/uniconv/u8-strconv-to-locale: New file.
1855         * lib/uniconv/u8-strconv-to-locale.c: New file.
1856
1857         * modules/uniconv/u32-strconv-from-locale: New file.
1858         * lib/uniconv/u32-strconv-from-locale.c: New file.
1859
1860         * modules/uniconv/u16-strconv-from-locale: New file.
1861         * lib/uniconv/u16-strconv-from-locale.c: New file.
1862
1863         * modules/uniconv/u8-strconv-from-locale: New file.
1864         * lib/uniconv/u8-strconv-from-locale.c: New file.
1865
1866         * modules/uniconv/u32-strconv-to-enc: New file.
1867         * lib/uniconv/u32-strconv-to-enc.c: New file.
1868         * modules/uniconv/u32-strconv-to-enc-tests: New file.
1869         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
1870
1871         * modules/uniconv/u16-strconv-to-enc: New file.
1872         * lib/uniconv/u16-strconv-to-enc.c: New file.
1873         * lib/uniconv/u-strconv-to-enc.h: New file.
1874         * modules/uniconv/u16-strconv-to-enc-tests: New file.
1875         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
1876
1877         * modules/uniconv/u8-strconv-to-enc: New file.
1878         * lib/uniconv/u8-strconv-to-enc.c: New file.
1879         * modules/uniconv/u8-strconv-to-enc-tests: New file.
1880         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
1881
1882         * modules/uniconv/u32-strconv-from-enc: New file.
1883         * lib/uniconv/u32-strconv-from-enc.c: New file.
1884         * modules/uniconv/u32-strconv-from-enc-tests: New file.
1885         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
1886
1887         * modules/uniconv/u16-strconv-from-enc: New file.
1888         * lib/uniconv/u16-strconv-from-enc.c: New file.
1889         * modules/uniconv/u16-strconv-from-enc-tests: New file.
1890         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
1891
1892         * modules/uniconv/u8-strconv-from-enc: New file.
1893         * lib/uniconv/u8-strconv-from-enc.c: New file.
1894         * lib/uniconv/u-strconv-from-enc.h: New file.
1895         * modules/uniconv/u8-strconv-from-enc-tests: New file.
1896         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
1897
1898         * modules/uniconv/u32-conv-from-enc: New file.
1899         * lib/uniconv/u32-conv-from-enc.c: New file.
1900         * modules/uniconv/u32-conv-from-enc-tests: New file.
1901         * tests/uniconv/test-u32-conv-from-enc.c: New file.
1902
1903         * modules/uniconv/u16-conv-from-enc: New file.
1904         * lib/uniconv/u16-conv-from-enc.c: New file.
1905         * lib/uniconv/u-conv-from-enc.h: New file.
1906         * modules/uniconv/u16-conv-from-enc-tests: New file.
1907         * tests/uniconv/test-u16-conv-from-enc.c: New file.
1908
1909         * modules/uniconv/u8-conv-from-enc: New file.
1910         * lib/uniconv/u8-conv-from-enc.c: New file.
1911         * modules/uniconv/u8-conv-from-enc-tests: New file.
1912         * tests/uniconv/test-u8-conv-from-enc.c: New file.
1913
1914         * modules/uniconv/base: New file.
1915         * lib/uniconv.h: New file.
1916
1917 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
1918
1919         * doc/gnulib-tool.texi (Initial import): Update to match current
1920         behavior with strdup module.
1921         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
1922         * lib/memmem.h: Remove; all uses removed.  This is now done
1923         by <string.h>.
1924         * lib/mempcpy.h: Likewise.
1925         * lib/memrchr.h: Likewise.
1926         * lib/stpcpy.h: Likewise.
1927         * lib/stpncpy.h: Likewise.
1928         * lib/strcase.h: Likewise.
1929         * lib/strchrnul.h: Likewise.
1930         * lib/strdup.h: Likewise.
1931         * lib/strndup.h: Likewise.
1932         * lib/strnlen.h: Likewise.
1933         * lib/strpbrk.h: Likewise.
1934         * lib/strsep.h: Likewise.
1935         * lib/strstr.h: Likewise.
1936         * lib/strtok_r.h: Likewise.
1937         * lib/string_.h: New file.
1938         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
1939         Rely on <string.h> instead.
1940         * lib/canon-host.c: Likewise.
1941         * lib/chdir-long.c: Likewise.
1942         * lib/concatpath.c: Likewise.
1943         * lib/exclude.c: Likewise.
1944         * lib/fchdir.c: Likewise.
1945         * lib/getaddrinfo.c: Likewise.
1946         * lib/getcwd.c: Likewise.
1947         * lib/getsubopt.c: Likewise.
1948         * lib/glob.c: Likewise.
1949         * lib/hard-locale.c: Likewise.
1950         * lib/iconvme.c: Likewise.
1951         * lib/javacomp.c: Likewise.
1952         * lib/mempcpy.c: Likewise.
1953         * lib/memrchr.c: Likewise.
1954         * lib/regex_internal.h: Likewise.
1955         * lib/stpncpy.c: Likewise.
1956         * lib/strcasecmp.c: Likewise.
1957         * lib/strchrnul.c: Likewise.
1958         * lib/strdup.c: Likewise.
1959         * lib/striconv.c: Likewise.
1960         * lib/striconveh.c: Likewise.
1961         * lib/striconveha.c: Likewise.
1962         * lib/strncasecmp.c: Likewise.
1963         * lib/strndup.c: Likewise.
1964         * lib/strnlen.c: Likewise.
1965         * lib/strsep.c: Likewise.
1966         * lib/strstr.c: Likewise.
1967         * lib/strtok_r.c: Likewise.
1968         * lib/userspec.c: Likewise.
1969         * lib/w32spawn.h: Likewise.
1970         * lib/xstrndup.c: Likewise.
1971         * lib/mountlist.c (strstr): Remove decl.
1972         * m4/string_h.m4: New file.
1973         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
1974         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
1975         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
1976         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
1977         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
1978         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
1979         Set REPLACE_STRCASECMP if necessary.
1980         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
1981         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
1982         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
1983         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
1984         HAVE_DECL_STRDUP if necessary.
1985         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
1986         since gl_FUNC_STRNDUP does that now.
1987         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
1988         Check for decl here...
1989         (gl_PREREQ_STRNLEN): ... not here.
1990         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
1991         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
1992         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
1993         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
1994         necessary.
1995         * modules/string: New file.
1996         * modules/memmem (Files): Remove special-purpose include file.
1997         (Depends-on): Add string.
1998         (Include): Include <string.h>, not the removed file.
1999         * modules/mempcpy: Likewise.
2000         * modules/memrchr: Likewise.
2001         * modules/stpcpy: Likewise.
2002         * modules/stpncpy: Likewise.
2003         * modules/strcase: Likewise.
2004         * modules/strchrnul: Likewise.
2005         * modules/strdup: Likewise.
2006         * modules/strndup: Likewise.
2007         * modules/strnlen: Likewise.
2008         * modules/strpbrk: Likewise.
2009         * modules/strsep: Likewise.
2010         * modules/strstr: Likewise.
2011         * modules/strtok_r: Likewise.
2012         * tests/test-dirname.c: Don't include "strdup.h", since
2013         <string.h> now suffices.
2014         * tests/test-memmem.c: Don't include "memmem.h", since
2015         <string.h> now suffices.
2016
2017 2007-01-25  Bruno Haible  <bruno@clisp.org>
2018
2019         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
2020         *resultp is 0.
2021
2022         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
2023         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
2024         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
2025         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
2026
2027         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
2028         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
2029         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
2030         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
2031         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
2032         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
2033
2034 2007-01-24  Bruno Haible  <bruno@clisp.org>
2035
2036         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
2037         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
2038         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
2039         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
2040         gl_FUNC_FTS_CORE.
2041         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
2042         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
2043         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
2044         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
2045         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
2046         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
2047         gl_FUNC_FCHOWNAT.
2048         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
2049         gl_FUNC_STRFTIME.
2050         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
2051         Reported by Ralf Wildenhues.
2052
2053 2007-01-24  Bruno Haible  <bruno@clisp.org>
2054
2055         Drop AC_REQUIRE calls that are redundant with the module dependencies.
2056         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
2057         gl_GETADDRINFO.
2058         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
2059         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
2060         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
2061
2062 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
2063
2064         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
2065         Don't use 'exit'; just return from 'main'.
2066         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
2067
2068         * lib/fnmatch_.h: Readjust white space and comments to match
2069         glibc, to avoid spurious diffs.
2070
2071 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2072
2073         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
2074         2004-12-01 change by Jakub Jelinek, since this code won't compile
2075         if !LIBC.  Problem reported by Bob Proulx.
2076
2077 2007-01-23  Bruno Haible  <bruno@clisp.org>
2078
2079         * lib/striconveh.c: Include c-strcaseeq.h.
2080         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
2081         * modules/striconveh (Depends-on): Add c-strcaseeq.
2082
2083 2007-01-23  Bruno Haible  <bruno@clisp.org>
2084
2085         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
2086
2087         * modules/c-strcaseeq: New file.
2088         * lib/c-strcaseeq.h: New file.
2089
2090         * modules/streq: New file.
2091         * lib/streq.h: New file.
2092
2093 2007-01-23  Bruno Haible  <bruno@clisp.org>
2094
2095         * modules/striconveha-tests: New file.
2096         * tests/test-striconveha.c: New file.
2097
2098         * lib/striconveha.h: Include <stdbool.h>.
2099         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
2100         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
2101         (mem_iconveha_notranslit): Renamed from mem_iconveha.
2102         (mem_iconveha): New function.
2103         (str_iconveha_notranslit): Renamed from str_iconveha.
2104         (str_iconveha): New function.
2105         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
2106         c-strcase.
2107
2108 2007-01-23  Bruno Haible  <bruno@clisp.org>
2109
2110         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
2111         encodings without forgiving before trying any encoding with handler.
2112         (str_iconveha): Try all encodings without forgiving before trying any
2113         encoding with handler.
2114
2115 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2116
2117         Import the following changes from libc.
2118
2119         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
2120
2121         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
2122
2123         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
2124
2125         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
2126         normal_bracket label.
2127
2128         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
2129
2130         [BZ #361]
2131         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
2132         to normal_bracket after fetching the next character.
2133
2134 2007-01-22  Bruno Haible  <bruno@clisp.org>
2135
2136         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
2137         argument.
2138         * lib/striconveh.c (iconv_carefully_1): New function.
2139         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
2140         argument.
2141         (str_cd_iconveh): Update.
2142         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
2143         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
2144         * tests/test-striconveh.c (MAGIC): New macro.
2145         (new_offsets): New function.
2146         (main): Test call with and without offsets.
2147
2148 2007-01-22  Bruno Haible  <bruno@clisp.org>
2149
2150         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
2151         * modules/sys_select (Makefile.am): Likewise.
2152         * modules/sys_socket (Makefile.am): Likewise.
2153         * modules/sys_time (Makefile.am): Likewise.
2154
2155 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
2156
2157         * modules/gettimeofday (License): Change from GPL to LGPL, since
2158         gettimeofday is a library function.
2159
2160 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2161
2162         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
2163
2164 2007-01-21  Bruno Haible  <bruno@clisp.org>
2165
2166         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
2167
2168 2007-01-21  Bruno Haible  <bruno@clisp.org>
2169
2170         * modules/striconveha: New file.
2171         * lib/striconveha.h: New file.
2172         * lib/striconveha.c: New file.
2173         * MODULES.html.sh (Internationalization functions): Add striconveha.
2174         * lib/striconv.c (str_iconv): Optimize the case of an empty input
2175         string.
2176         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
2177
2178 2007-01-21  Bruno Haible  <bruno@clisp.org>
2179
2180         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
2181         * lib/striconveh.c (str_iconveh): Likewise.
2182
2183 2007-01-21  Bruno Haible  <bruno@clisp.org>
2184
2185         * lib/striconveh.h (mem_iconveh): New declaration.
2186         * lib/striconveh.c (mem_iconveh): New function.
2187         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
2188
2189 2007-01-21  Bruno Haible  <bruno@clisp.org>
2190
2191         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
2192
2193         * lib/striconveh.h (mem_cd_iconveh): Change specification.
2194         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
2195         original result buffer.
2196         (str_cd_iconveh): Update.
2197         * tests/test-striconveh.c (main): Update.
2198
2199         * lib/striconv.h (mem_cd_iconv): Change specification.
2200         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
2201         result buffer.
2202         (str_cd_iconv): Update.
2203         * tests/test-striconv.c (main): Update.
2204
2205 2007-01-21  Bruno Haible  <bruno@clisp.org>
2206
2207         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
2208
2209 2007-01-20  Jim Meyering  <jim@meyering.net>
2210
2211         * lib/userspec.c (parse_with_separator): If a user or group string
2212         starts with "+", skip the corresponding name-to-ID look-up, since
2213         such a look-up must fail: user and group names may not include "+".
2214
2215 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2216
2217         * lib/poll.c: Include sys/time.h and time.h unconditionally,
2218         since we now assume the sys_time module.
2219         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
2220         check for sys/time.h; no longer needed.
2221         * modules/poll (Depends-on): Depend on sys_time.
2222
2223 2007-01-18  Bruno Haible  <bruno@clisp.org>
2224
2225         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
2226         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2227
2228         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
2229         gettimeofday.
2230
2231         * tests/test-gettimeofday.c: Include <time.h>.
2232         (dummy): Remove variable.
2233
2234         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
2235         gl_HEADER_SYS_TIME_H.
2236         (gl_HEADER_SYS_TIME_H): New macro.
2237
2238         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
2239         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2240         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
2241         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
2242         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2243         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
2244         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
2245         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2246         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
2247         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
2248         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2249
2250         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
2251         last change; it caused a compilation error when cross-compiling to
2252         Cygwin.
2253
2254 2007-01-18  Jim Meyering  <jim@meyering.net>
2255
2256         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
2257         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
2258         than the race-prone "test -d sys || mkdir sys".
2259         (configure.ac): Use AC_PROG_MKDIR_P.
2260         * modules/sys_select: Likewise.
2261         * modules/sys_socket: Likewise.
2262         * modules/sys_time: Likewise.
2263
2264 2007-01-18  Eric Blake  <ebb9@byu.net>
2265
2266         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
2267         replace gettimeofday.
2268         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
2269         name, to avoid infinite recursion.
2270
2271 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
2272
2273         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
2274         module sys_time.
2275         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
2276         assume timespec.h defines struct timeval.
2277         * lib/settime.c: Likewise.
2278         * lib/utimens.c: Likewise.
2279         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
2280         since we now assume the gettimeofday module.
2281         * lib/tempname.c (__gen_tempname): Likewise.
2282         * lib/gettimeofday.h: Remove.
2283         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
2284         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
2285         Include <time.h>, for 'time()'.
2286         (localtime_buffer_addr): Also use this workaround if
2287         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
2288         to simplify the uses.  All uses changed.
2289         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
2290         that #undef is inside {}, and 'const' follows type name consistently.
2291         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
2292         (gettimeofday): Do not use the maximum possible value for
2293         tv->tv_usec, since that might break usages other than ls.c.
2294         Instead, we'll leave ls.c alone.  This undoes today's patch
2295         by Bruno.  Add a compile-time warning for 1s-clock resolution;
2296         we've never observed the problem but might as well keep the
2297         canary.
2298         * lib/nanosleep.c: Include timespec.h first, for interface check.
2299         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
2300         now assume the sys_time module.
2301         * lib/tempname.c: Likewise.
2302         * lib/timespec.h: Likewise.
2303         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
2304         needed.
2305         * lib/strftime.c: Likewise.
2306         * lib/timespec.h: Likewise.
2307         * lib/posixtm.c: Include posixtm.h first, for interface check.
2308         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
2309         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
2310         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
2311         * lib/sys_time_.h: New file.
2312         * lib/timespec.h (struct timespec): Use long int, not long.
2313         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
2314         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
2315         Remove obsolescent call to AC_HEADER_TIME.
2316         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2317         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2318         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2319         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
2320         Likewise.
2321         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
2322         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
2323         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
2324         into the sys_time module.  Check for gettimeofday just once.
2325         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
2326         for gettimeofday signature to just check the signature.  Merely
2327         compile it, since linking doesn't test signature.  Improve test for
2328         whether gettimeofday.o is actually needed.
2329         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
2330         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
2331         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
2332         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2333         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
2334         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
2335         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
2336         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
2337         than worrying about sys/time.h.
2338         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
2339         Don't bother worrying about TIME_WITH_SYS_TIME.
2340         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
2341         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
2342         * m4/sys_time_h.m4: New file.
2343         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
2344         Don't include sys/time.h.  Return from main rather than exiting.
2345         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
2346         all uses changed.
2347         * modules/gethrxtime (Depends-on): Add sys_time.
2348         * modules/gettime (Depends-on): Likewise.
2349         * modules/gettimeofday (Depends-on): Likewise.
2350         * modules/nanosleep (Depends-on): Likewise.
2351         * modules/settime (Depends-on): Likewise.
2352         * modules/tempname (Depends-on): Likewise.
2353         * modules/utimens (Depends-on): Likewise.
2354         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
2355         (Include:) Change back to <sys/time.h>.
2356         (Maintainer:) Add self.
2357         * modules/sys_time: New file.
2358         * modules/tempname (Depends-on): Add gettimeofday.
2359         * tests/test-gettimeofday.c: Include <sys/time.h>
2360         rather than gettimeofday.h.
2361
2362 2007-01-17  Bruno Haible  <bruno@clisp.org>
2363
2364         * gnulib-tool (func_get_license): Revert last patch. Instead, let
2365         the license default to GPL.
2366         (func_create_testdir): Don't complain if a module is LGPL and its
2367         tests module depends on GPLed modules.
2368
2369 2007-01-17  Bruno Haible  <bruno@clisp.org>
2370
2371         * lib/gettimeofday.c (gettimeofday): Add code for the case
2372         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
2373         maximum possible value for tv->tv_usec, rather than the minimum one.
2374
2375 2005-10-08  Martin Lambers  <marlam@marlam.de>
2376 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2377 2007-01-16  Bruno Haible  <bruno@clisp.org>
2378
2379         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
2380         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
2381         gl_FUNC_GETTIMEOFDAY.
2382         (Include): Add gettimeofday.h.
2383         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
2384         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
2385         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
2386         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
2387         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
2388         * lib/gettimeofday.h: New file.
2389         * lib/gettimeofday.c: Include <sys/timeb.h>.
2390         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
2391         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2392         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
2393         fall back on time().
2394
2395         * tests/test-gettimeofday.c: New file.
2396         * modules/gettimeofday-tests: New file.
2397
2398 2007-01-16  Eric Blake  <ebb9@byu.net>
2399
2400         * modules/fnmatch (Depends-on): Depend on wchar.
2401         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
2402         * m4/fnmatch.m4: Likewise.
2403         * modules/mbchar (Makefile.am): Assume <wchar.h>.
2404         * m4/mbchar.m4: Likewise.
2405         * modules/mbswidth (Depends-on): Depend on wchar.
2406         * lib/mbswidth.c: Assume <wchar.h>.
2407         * m4/mbswidth.m4: Likewise.
2408         * modules/quotearg (Depends-on): Depend on wchar.
2409         * lib/quotearg.c: Assume <wchar.h>.
2410         * m4/quotearg.m4: Likewise.
2411         * modules/regex (Depends-on): Depend on wchar.
2412         * lib/regex_internal.h: Assume <wchar.h>.
2413         * m4/regex.m4: Likewise.
2414         * modules/stdint (Depends-on): Depend on wchar.
2415         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
2416         * m4/stdint.m4: Likewise.
2417         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
2418         * modules/strftime (Depends-on): Depend on wchar.
2419         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
2420         * modules/strtol (Depends-on): Depend on wchar.
2421         * lib/strtol.c: Assume <wchar.h>.
2422         * modules/wcwidth (Depends-on): Depend on wchar.
2423         * lib/wcwidth.h: Assume <wchar.h>.
2424         * m4/wcwidth.m4: Likewise.
2425
2426 2007-01-16  Bruno Haible  <bruno@clisp.org>
2427
2428         * modules/csharpexec-script: New, created from...
2429         * modules/csharpexec: ... this.
2430
2431 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
2432
2433         * modules/javaexec-script: New, created from...
2434         * modules/javaexec: ... this.
2435
2436 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2437
2438         * modules/poll (Dependencies): Add sys_select.
2439
2440 2007-01-15  Jim Meyering  <jim@meyering.net>
2441
2442         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
2443         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
2444         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
2445         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
2446
2447 2007-01-15  Bruno Haible  <bruno@clisp.org>
2448
2449         * modules/striconveh: New file.
2450         * lib/striconveh.h: New file.
2451         * lib/striconveh.c: New file.
2452         * MODULES.html.sh (Internationalization functions): Add striconveh.
2453
2454         * modules/striconveh-tests: New file.
2455         * tests/test-striconveh.c: New file.
2456
2457 2007-01-15  Bruno Haible  <bruno@clisp.org>
2458
2459         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
2460         not from GNU libiconv or GNU libc.
2461
2462 2007-01-15  Bruno Haible  <bruno@clisp.org>
2463
2464         * doc/gnulib-intro.texi (Copyright): Explain the different license
2465         terms for module descriptions, autoconf macros, tests, documentation.
2466
2467 2007-01-14  Bruno Haible  <bruno@clisp.org>
2468
2469         * modules/striconv-tests: New file.
2470         * tests/test-striconv.c: New file.
2471
2472 2007-01-14  Bruno Haible  <bruno@clisp.org>
2473
2474         * modules/iconv-tests: New file.
2475         * tests/test-iconv.c: New file.
2476
2477 2007-01-14  Bruno Haible  <bruno@clisp.org>
2478
2479         * gnulib-tool (func_get_license): For test modules, use the license of
2480         the main module.
2481
2482 2007-01-14  Bruno Haible  <bruno@clisp.org>
2483
2484         * modules/iconv (Include): Clarify that <iconv.h> can only be included
2485         if iconv is found to exist.
2486
2487 2007-01-14  Bruno Haible  <bruno@clisp.org>
2488
2489         * modules/c-ctype-tests: New file.
2490         * tests/test-c-ctype.c: New file.
2491
2492 2007-01-14  Bruno Haible  <bruno@clisp.org>
2493
2494         * modules/binary-io-tests: New file.
2495         * tests/test-binary-io.sh: New file.
2496         * tests/test-binary-io.c: New file.
2497
2498 2007-01-14  Bruno Haible  <bruno@clisp.org>
2499
2500         * modules/array-oset-tests: New file.
2501         * tests/test-array_oset.c: New file.
2502
2503 2007-01-14  Bruno Haible  <bruno@clisp.org>
2504
2505         * modules/array-list-tests: New file.
2506         * tests/test-array_list.c: New file.
2507
2508 2007-01-14  Bruno Haible  <bruno@clisp.org>
2509
2510         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
2511         and make.
2512         Reported by Simon Josefsson in
2513         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
2514
2515 2007-01-14  Bruno Haible  <bruno@clisp.org>
2516
2517         * modules/allocsa-tests: New file.
2518         * tests/test-allocsa.c: New file.
2519
2520 2007-01-14  Bruno Haible  <bruno@clisp.org>
2521
2522         * modules/fchdir (Depends-on): Add absolute-header.
2523         * modules/unistd (Depends-on): Likewise.
2524
2525 2006-12-30  Bruno Haible  <bruno@clisp.org>
2526
2527         * modules/fchdir: New file.
2528         * modules/unistd (Files): Add lib/unistd_.h.
2529         (Makefile.am): Generate unistd.h from unistd_.h.
2530         * lib/fchdir.c: New file.
2531         * lib/dirent_.h: New file.
2532         * lib/unistd_.h: New file.
2533         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
2534         * m4/fchdir.m4: New file.
2535         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
2536         (gl_HEADER_UNISTD): Invoke it.
2537         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
2538         function.
2539         * lib/backupfile.c (opendir, closedir): Undefine.
2540         * lib/chown.c (open, close): Undefine.
2541         * lib/clean-temp.c (open, close): Undefine.
2542         * lib/copy-file.c (open, close): Undefine.
2543         * lib/execute.c (open, close): Undefine.
2544         * lib/fsusage.c (open, close): Undefine.
2545         * lib/gc-gnulib.c (open, close): Undefine.
2546         * lib/getcwd.c (opendir, closedir): Undefine.
2547         * lib/glob.c (opendir, closedir): Undefine.
2548         * lib/javacomp.c (open, close): Undefine.
2549         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
2550         * lib/openat-proc.c (open, close): Undefine.
2551         * lib/pagealign_alloc.c (open, close): Undefine.
2552         * lib/pipe.c (open, close): Undefine.
2553         * lib/progreloc.c (open, close): Undefine.
2554         * lib/savedir.c (opendir, closedir): Undefine.
2555         * lib/utime.c (open, close): Undefine.
2556         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
2557
2558 2007-01-10  Bruno Haible  <bruno@clisp.org>
2559
2560         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
2561
2562 2007-01-12  Eric Blake  <ebb9@byu.net>
2563
2564         Provide a robust <wchar.h>.  Further simplifications are now
2565         possible in other modules, but not included here.
2566         * modules/wchar: New module.
2567         * m4/wchar.m4: New file.
2568         * lib/wchar_.h: Likewise.
2569         * modules/mbchar (Depends-on): Depend on wchar, as the first use
2570         of the new module.
2571         * MODULES.html.sh (Extended multibyte and wide character utilities):
2572         New section.
2573
2574 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
2575
2576         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
2577         to a reasonable default for memory allocation.
2578         (xreadlink): Don't allocate a huge buffer, to work around a buggy
2579         file system that reports garbage st_size values for symlinks.
2580         Problem reported by Liyang Hu.
2581
2582 2007-01-11  Simon Josefsson  <simon@josefsson.org>
2583
2584         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
2585         Emacs .#* auto-save files).
2586
2587 2007-01-11  Bruno Haible  <bruno@clisp.org>
2588
2589         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
2590         directory.
2591
2592 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
2593
2594         Use @...@ consistently in lib/wctype_.h.
2595         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
2596         on it being set to 1 or 0.
2597         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
2598         go back to AC_SUBSTing it.
2599         * modules/wctype (Makefile.am): Undo previous change.
2600
2601 2007-01-10  Eric Blake  <ebb9@byu.net>
2602
2603         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
2604         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
2605         * modules/wctype (Makefile.am): Likewise.
2606         Reported by Chris McGuire.
2607
2608 2007-01-10  Jim Meyering  <jim@meyering.net>
2609
2610         fts.c: a small readability/maintainability improvement
2611         * lib/fts.c (fts_read): Make this code slightly more readable and
2612         maintainable by hoisting the "sp->fts_cur = p" assignments to
2613         immediately follow the statements that set P.  Derived from
2614         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
2615
2616 2007-01-10  Eric Blake  <ebb9@byu.net>
2617
2618         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
2619         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
2620         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2621         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
2622         Reported by Chris McGuire.
2623
2624 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2625
2626         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
2627         in sed script.
2628
2629 2007-01-09  Bruno Haible  <bruno@clisp.org>
2630
2631         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
2632         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
2633         variables.
2634         (func_module): Use them.
2635
2636 2007-01-09  Bruno Haible  <bruno@clisp.org>
2637
2638         * modules/unistr/base: New file.
2639         * lib/unistr.h: New file.
2640
2641         * modules/unistr/u8-to-u16: New file.
2642         * lib/unistr/u8-to-u16.c: New file.
2643
2644         * modules/unistr/u8-to-u32: New file.
2645         * lib/unistr/u8-to-u32.c: New file.
2646
2647         * modules/unistr/u16-to-u8: New file.
2648         * lib/unistr/u16-to-u8.c: New file.
2649
2650         * modules/unistr/u16-to-u32: New file.
2651         * lib/unistr/u16-to-u32.c: New file.
2652
2653         * modules/unistr/u32-to-u8: New file.
2654         * lib/unistr/u32-to-u8.c: New file.
2655
2656         * modules/unistr/u32-to-u16: New file.
2657         * lib/unistr/u32-to-u16.c: New file.
2658
2659         * modules/unistr/u8-check: New file.
2660         * modules/unistr/u16-check: New file.
2661         * modules/unistr/u32-check: New file.
2662         * lib/unistr/u8-check.c: New file.
2663         * lib/unistr/u16-check.c: New file.
2664         * lib/unistr/u32-check.c: New file.
2665
2666         * modules/unistr/u8-chr: New file.
2667         * modules/unistr/u16-chr: New file.
2668         * modules/unistr/u32-chr: New file.
2669         * lib/unistr/u8-chr.c: New file.
2670         * lib/unistr/u16-chr.c: New file.
2671         * lib/unistr/u32-chr.c: New file.
2672
2673         * modules/unistr/u8-cmp: New file.
2674         * modules/unistr/u16-cmp: New file.
2675         * modules/unistr/u32-cmp: New file.
2676         * lib/unistr/u8-cmp.c: New file.
2677         * lib/unistr/u16-cmp.c: New file.
2678         * lib/unistr/u32-cmp.c: New file.
2679
2680         * modules/unistr/u8-cpy: New file.
2681         * modules/unistr/u16-cpy: New file.
2682         * modules/unistr/u32-cpy: New file.
2683         * lib/unistr/u8-cpy.c: New file.
2684         * lib/unistr/u16-cpy.c: New file.
2685         * lib/unistr/u32-cpy.c: New file.
2686         * lib/unistr/u-cpy.h: New file.
2687
2688         * modules/unistr/u8-cpy-alloc: New file.
2689         * modules/unistr/u16-cpy-alloc: New file.
2690         * modules/unistr/u32-cpy-alloc: New file.
2691         * lib/unistr/u8-cpy-alloc.c: New file.
2692         * lib/unistr/u16-cpy-alloc.c: New file.
2693         * lib/unistr/u32-cpy-alloc.c: New file.
2694         * lib/unistr/u-cpy-alloc.h: New file.
2695
2696         * modules/unistr/u8-endswith: New file.
2697         * modules/unistr/u16-endswith: New file.
2698         * modules/unistr/u32-endswith: New file.
2699         * lib/unistr/u8-endswith.c: New file.
2700         * lib/unistr/u16-endswith.c: New file.
2701         * lib/unistr/u32-endswith.c: New file.
2702         * lib/unistr/u-endswith.h: New file.
2703
2704         * modules/unistr/u8-mblen: New file.
2705         * modules/unistr/u16-mblen: New file.
2706         * modules/unistr/u32-mblen: New file.
2707         * lib/unistr/u8-mblen.c: New file.
2708         * lib/unistr/u16-mblen.c: New file.
2709         * lib/unistr/u32-mblen.c: New file.
2710
2711         * modules/unistr/u8-mbtouc: New file.
2712         * modules/unistr/u16-mbtouc: New file.
2713         * modules/unistr/u32-mbtouc: New file.
2714         * lib/unistr/u8-mbtouc.c: New file.
2715         * lib/unistr/u16-mbtouc.c: New file.
2716         * lib/unistr/u32-mbtouc.c: New file.
2717
2718         * modules/unistr/u8-mbtouc-safe: New file.
2719         * modules/unistr/u16-mbtouc-safe: New file.
2720         * modules/unistr/u32-mbtouc-safe: New file.
2721         * lib/unistr/u8-mbtouc-safe.c: New file.
2722         * lib/unistr/u16-mbtouc-safe.c: New file.
2723         * lib/unistr/u32-mbtouc-safe.c: New file.
2724
2725         * modules/unistr/u8-move: New file.
2726         * modules/unistr/u16-move: New file.
2727         * modules/unistr/u32-move: New file.
2728         * lib/unistr/u8-move.c: New file.
2729         * lib/unistr/u16-move.c: New file.
2730         * lib/unistr/u32-move.c: New file.
2731         * lib/unistr/u-move.h: New file.
2732
2733         * modules/unistr/u8-next: New file.
2734         * modules/unistr/u16-next: New file.
2735         * modules/unistr/u32-next: New file.
2736         * lib/unistr/u8-next.c: New file.
2737         * lib/unistr/u16-next.c: New file.
2738         * lib/unistr/u32-next.c: New file.
2739
2740         * modules/unistr/u8-prev: New file.
2741         * modules/unistr/u16-prev: New file.
2742         * modules/unistr/u32-prev: New file.
2743         * lib/unistr/u8-prev.c: New file.
2744         * lib/unistr/u16-prev.c: New file.
2745         * lib/unistr/u32-prev.c: New file.
2746
2747         * modules/unistr/u8-set: New file.
2748         * modules/unistr/u16-set: New file.
2749         * modules/unistr/u32-set: New file.
2750         * lib/unistr/u8-set.c: New file.
2751         * lib/unistr/u16-set.c: New file.
2752         * lib/unistr/u32-set.c: New file.
2753         * lib/unistr/u-set.h: New file.
2754
2755         * modules/unistr/u8-startswith: New file.
2756         * modules/unistr/u16-startswith: New file.
2757         * modules/unistr/u32-startswith: New file.
2758         * lib/unistr/u8-startswith.c: New file.
2759         * lib/unistr/u16-startswith.c: New file.
2760         * lib/unistr/u32-startswith.c: New file.
2761         * lib/unistr/u-startswith.h: New file.
2762
2763         * modules/unistr/u8-stpcpy: New file.
2764         * modules/unistr/u16-stpcpy: New file.
2765         * modules/unistr/u32-stpcpy: New file.
2766         * lib/unistr/u8-stpcpy.c: New file.
2767         * lib/unistr/u16-stpcpy.c: New file.
2768         * lib/unistr/u32-stpcpy.c: New file.
2769         * lib/unistr/u-stpcpy.h: New file.
2770
2771         * modules/unistr/u8-stpncpy: New file.
2772         * modules/unistr/u16-stpncpy: New file.
2773         * modules/unistr/u32-stpncpy: New file.
2774         * lib/unistr/u8-stpncpy.c: New file.
2775         * lib/unistr/u16-stpncpy.c: New file.
2776         * lib/unistr/u32-stpncpy.c: New file.
2777         * lib/unistr/u-stpncpy.h: New file.
2778
2779         * modules/unistr/u8-strcat: New file.
2780         * modules/unistr/u16-strcat: New file.
2781         * modules/unistr/u32-strcat: New file.
2782         * lib/unistr/u8-strcat.c: New file.
2783         * lib/unistr/u16-strcat.c: New file.
2784         * lib/unistr/u32-strcat.c: New file.
2785         * lib/unistr/u-strcat.h: New file.
2786
2787         * modules/unistr/u8-strchr: New file.
2788         * modules/unistr/u16-strchr: New file.
2789         * modules/unistr/u32-strchr: New file.
2790         * lib/unistr/u8-strchr.c: New file.
2791         * lib/unistr/u16-strchr.c: New file.
2792         * lib/unistr/u32-strchr.c: New file.
2793
2794         * modules/unistr/u8-strcmp: New file.
2795         * modules/unistr/u16-strcmp: New file.
2796         * modules/unistr/u32-strcmp: New file.
2797         * lib/unistr/u8-strcmp.c: New file.
2798         * lib/unistr/u16-strcmp.c: New file.
2799         * lib/unistr/u32-strcmp.c: New file.
2800
2801         * modules/unistr/u8-strcpy: New file.
2802         * modules/unistr/u16-strcpy: New file.
2803         * modules/unistr/u32-strcpy: New file.
2804         * lib/unistr/u8-strcpy.c: New file.
2805         * lib/unistr/u16-strcpy.c: New file.
2806         * lib/unistr/u32-strcpy.c: New file.
2807         * lib/unistr/u-strcpy.h: New file.
2808
2809         * modules/unistr/u8-strcspn: New file.
2810         * modules/unistr/u16-strcspn: New file.
2811         * modules/unistr/u32-strcspn: New file.
2812         * lib/unistr/u8-strcspn.c: New file.
2813         * lib/unistr/u16-strcspn.c: New file.
2814         * lib/unistr/u32-strcspn.c: New file.
2815         * lib/unistr/u-strcspn.h: New file.
2816
2817         * modules/unistr/u8-strdup: New file.
2818         * modules/unistr/u16-strdup: New file.
2819         * modules/unistr/u32-strdup: New file.
2820         * lib/unistr/u8-strdup.c: New file.
2821         * lib/unistr/u16-strdup.c: New file.
2822         * lib/unistr/u32-strdup.c: New file.
2823         * lib/unistr/u-strdup.h: New file.
2824
2825         * modules/unistr/u8-strlen: New file.
2826         * modules/unistr/u16-strlen: New file.
2827         * modules/unistr/u32-strlen: New file.
2828         * lib/unistr/u8-strlen.c: New file.
2829         * lib/unistr/u16-strlen.c: New file.
2830         * lib/unistr/u32-strlen.c: New file.
2831         * lib/unistr/u-strlen.h: New file.
2832
2833         * modules/unistr/u8-strmblen: New file.
2834         * modules/unistr/u16-strmblen: New file.
2835         * modules/unistr/u32-strmblen: New file.
2836         * lib/unistr/u8-strmblen.c: New file.
2837         * lib/unistr/u16-strmblen.c: New file.
2838         * lib/unistr/u32-strmblen.c: New file.
2839
2840         * modules/unistr/u8-strmbtouc: New file.
2841         * modules/unistr/u16-strmbtouc: New file.
2842         * modules/unistr/u32-strmbtouc: New file.
2843         * lib/unistr/u8-strmbtouc.c: New file.
2844         * lib/unistr/u16-strmbtouc.c: New file.
2845         * lib/unistr/u32-strmbtouc.c: New file.
2846
2847         * modules/unistr/u8-strncat: New file.
2848         * modules/unistr/u16-strncat: New file.
2849         * modules/unistr/u32-strncat: New file.
2850         * lib/unistr/u8-strncat.c: New file.
2851         * lib/unistr/u16-strncat.c: New file.
2852         * lib/unistr/u32-strncat.c: New file.
2853         * lib/unistr/u-strncat.h: New file.
2854
2855         * modules/unistr/u8-strncmp: New file.
2856         * modules/unistr/u16-strncmp: New file.
2857         * modules/unistr/u32-strncmp: New file.
2858         * lib/unistr/u8-strncmp.c: New file.
2859         * lib/unistr/u16-strncmp.c: New file.
2860         * lib/unistr/u32-strncmp.c: New file.
2861
2862         * modules/unistr/u8-strncpy: New file.
2863         * modules/unistr/u16-strncpy: New file.
2864         * modules/unistr/u32-strncpy: New file.
2865         * lib/unistr/u8-strncpy.c: New file.
2866         * lib/unistr/u16-strncpy.c: New file.
2867         * lib/unistr/u32-strncpy.c: New file.
2868         * lib/unistr/u-strncpy.h: New file.
2869
2870         * modules/unistr/u8-strnlen: New file.
2871         * modules/unistr/u16-strnlen: New file.
2872         * modules/unistr/u32-strnlen: New file.
2873         * lib/unistr/u8-strnlen.c: New file.
2874         * lib/unistr/u16-strnlen.c: New file.
2875         * lib/unistr/u32-strnlen.c: New file.
2876         * lib/unistr/u-strnlen.h: New file.
2877
2878         * modules/unistr/u8-strpbrk: New file.
2879         * modules/unistr/u16-strpbrk: New file.
2880         * modules/unistr/u32-strpbrk: New file.
2881         * lib/unistr/u8-strpbrk.c: New file.
2882         * lib/unistr/u16-strpbrk.c: New file.
2883         * lib/unistr/u32-strpbrk.c: New file.
2884         * lib/unistr/u-strpbrk.h: New file.
2885
2886         * modules/unistr/u8-strrchr: New file.
2887         * modules/unistr/u16-strrchr: New file.
2888         * modules/unistr/u32-strrchr: New file.
2889         * lib/unistr/u8-strrchr.c: New file.
2890         * lib/unistr/u16-strrchr.c: New file.
2891         * lib/unistr/u32-strrchr.c: New file.
2892
2893         * modules/unistr/u8-strspn: New file.
2894         * modules/unistr/u16-strspn: New file.
2895         * modules/unistr/u32-strspn: New file.
2896         * lib/unistr/u8-strspn.c: New file.
2897         * lib/unistr/u16-strspn.c: New file.
2898         * lib/unistr/u32-strspn.c: New file.
2899         * lib/unistr/u-strspn.h: New file.
2900
2901         * modules/unistr/u8-strstr: New file.
2902         * modules/unistr/u16-strstr: New file.
2903         * modules/unistr/u32-strstr: New file.
2904         * lib/unistr/u8-strstr.c: New file.
2905         * lib/unistr/u16-strstr.c: New file.
2906         * lib/unistr/u32-strstr.c: New file.
2907         * lib/unistr/u-strstr.h: New file.
2908
2909         * modules/unistr/u8-strtok: New file.
2910         * modules/unistr/u16-strtok: New file.
2911         * modules/unistr/u32-strtok: New file.
2912         * lib/unistr/u8-strtok.c: New file.
2913         * lib/unistr/u16-strtok.c: New file.
2914         * lib/unistr/u32-strtok.c: New file.
2915         * lib/unistr/u-strtok.h: New file.
2916
2917         * modules/unistr/u8-uctomb: New file.
2918         * modules/unistr/u16-uctomb: New file.
2919         * modules/unistr/u32-uctomb: New file.
2920         * lib/unistr/u8-uctomb.c: New file.
2921         * lib/unistr/u16-uctomb.c: New file.
2922         * lib/unistr/u32-uctomb.c: New file.
2923
2924         * MODULES.html.sh (Unicode string functions): Add the new modules.
2925
2926 2007-01-08  Bruno Haible  <bruno@clisp.org>
2927
2928         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
2929         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
2930         subdirectories.
2931
2932 2007-01-08  Karl Berry  <karl@gnu.org>
2933
2934         * doc/error.texi: mention that main() fns must set program_name
2935         when progname is used.
2936
2937 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
2938
2939         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
2940         WCTYPE_H is empty, for the benefit of builds from non-distclean
2941         directories.  Problem reported by Eric Blake in
2942         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
2943
2944 2007-01-08  Bruno Haible  <bruno@clisp.org>
2945
2946         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
2947         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
2948         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
2949         PROVIDE_CANONICALIZE_FILENAME_MODE.
2950         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
2951
2952 2007-01-08  Bruno Haible  <bruno@clisp.org>
2953
2954         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
2955         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
2956         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
2957         * lib/fts.c: Likewise.
2958         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
2959
2960 2006-12-25  Bruno Haible  <bruno@clisp.org>
2961
2962         * modules/utf8-ucs4-safe: New file.
2963         * lib/utf8-ucs4-safe.h: New file.
2964         * lib/unistr/utf8-ucs4-safe.c: New file.
2965
2966         * modules/utf16-ucs4-safe: New file.
2967         * lib/utf16-ucs4-safe.h: New file.
2968         * lib/unistr/utf16-ucs4-safe.c: New file.
2969
2970         * MODULES.html.sh (Unicode string functions): Add the new modules.
2971
2972 2007-01-08  Bruno Haible  <bruno@clisp.org>
2973
2974         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
2975         (Depends-on): Add unitypes.
2976         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
2977         (u8_mbtouc_aux): Move out to separate file.
2978         (u8_mbtouc): Use ucs4_t, uint8_t types.
2979         * lib/unistr/utf8-ucs4.c: New file.
2980
2981         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
2982         (Depends-on): Add unitypes.
2983         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
2984         (u16_mbtouc_aux): Move out to separate file.
2985         (u16_mbtouc): Use ucs4_t, uint16_t types.
2986         * lib/unistr/utf16-ucs4.c: New file.
2987
2988         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
2989         (Depends-on): Add unitypes.
2990         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
2991         (u8_uctomb_aux): Move out to separate file.
2992         (u8_uctomb): Use ucs4_t, uint8_t types.
2993         * lib/unistr/ucs4-utf8.c: New file.
2994
2995         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
2996         (Depends-on): Add unitypes.
2997         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
2998         (u16_uctomb_aux): Move out to separate file.
2999         (u16_uctomb): Use ucs4_t, uint16_t types.
3000         * lib/unistr/ucs4-utf16.c: New file.
3001
3002 2006-12-25  Bruno Haible  <bruno@clisp.org>
3003
3004         * modules/unitypes: New file.
3005         * lib/unitypes.h: New file.
3006         * MODULES.html.sh (func_all_modules): New section "Unicode string
3007         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
3008         this section. Add unitypes.
3009
3010 2007-01-08  Bruno Haible  <bruno@clisp.org>
3011
3012         Avoid variable names that conflict with those from libtool.
3013         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
3014         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
3015         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
3016         library_names_spec to acl_library_names_spec, hardcode_* to
3017         acl_hardcode_*.
3018         Reported by Ralf Wildenhues.
3019
3020 2007-01-08  Bruno Haible  <bruno@clisp.org>
3021
3022         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
3023         definition.
3024         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
3025         definition.
3026         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
3027         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
3028         definition.
3029         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
3030         definition.
3031         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
3032         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
3033         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
3034         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
3035         definition.
3036         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
3037         definition.
3038         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
3039         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
3040         GC_USE_<algorithm>.
3041         * lib/gc-libgcrypt.c: Likewise.
3042         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
3043         * modules/gc-arctwo (configure.ac): Likewise.
3044         * modules/gc-des (configure.ac): Likewise.
3045         * modules/gc-hmac-md5 (configure.ac): Likewise.
3046         * modules/gc-hmac-sha1 (configure.ac): Likewise.
3047         * modules/gc-md2 (configure.ac): Likewise.
3048         * modules/gc-md4 (configure.ac): Likewise.
3049         * modules/gc-md5 (configure.ac): Likewise.
3050         * modules/gc-random (configure.ac): Likewise.
3051         * modules/gc-rijndael (configure.ac): Likewise.
3052         * modules/gc-sha1 (configure.ac): Likewise.
3053
3054 2007-01-08  Bruno Haible  <bruno@clisp.org>
3055
3056         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
3057         macro definition.
3058         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
3059         definition.
3060         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
3061         definition.
3062         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
3063         * modules/fcntl-safer (configure.ac): Likewise.
3064         * modules/fopen-safer (configure.ac): Likewise.
3065         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
3066         GNULIB_FWRITEERROR macro definition.
3067
3068 2007-01-08  Bruno Haible  <bruno@clisp.org>
3069
3070         * m4/gnulib-common.m4: New file.
3071         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
3072         (func_get_filelist): Add m4/gnulib-common.m4.
3073
3074 2007-01-08  Bruno Haible  <bruno@clisp.org>
3075
3076         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
3077         command.
3078
3079 2007-01-08  Jim Meyering  <jim@meyering.net>
3080
3081         Use a more robust test for a "can't happen" condition.
3082         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
3083         narrowed the st_size value.  Presuming the "can't happen" condition
3084         is true, that narrowing could conceivably convert an invalid st_size
3085         value into a valid one.  Instead, use a change based on Matthew
3086         Woehlke's original patch.
3087
3088         Slight readability improvement: use an assert-like macro
3089         in place of literal "abort ()" uses.
3090         * lib/fts.c (fts_assert): Define.
3091         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
3092         Use this macro instead of a bare 'abort'.
3093
3094 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3095
3096         Don't worry about using IRIX 5.3's wctype.h broken definitions;
3097         simply work around them.
3098         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
3099         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
3100         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
3101         declaring.
3102         Don't bother to define as macros, since the standard doesn't require it.
3103         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
3104         longer worry about IRIX 5.3.
3105         (HAVE_WCTYPE_CTMP_BUG): Remove.
3106
3107 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3108
3109         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
3110         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
3111         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
3112         Problems reported by Georg Schwarz for IRIX 5.3.
3113
3114         * gnulib-tool (autoconf_minversion): Take the maximum version number
3115         found, not the minimum.  Problem reported by James Youngman.
3116
3117 2007-01-03  Karl Berry  <karl@gnu.org>
3118
3119         * doc/error.texi: new file, explaining interaction with progname.
3120         * doc/gnulib.texi: include it.  Update copyright.
3121
3122 2007-01-03  Simon Josefsson  <simon@josefsson.org>
3123
3124         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
3125         AC_CANONICAL_HOST, to improve autobuild outputs.
3126
3127 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
3128             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
3129
3130         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
3131         sockets, server sockets, and other file descriptors.  Count errors
3132         to compute the return value.  Reorder the code a bit to be easier
3133         to follow.  Don't set event bits that were not requested (except
3134         POLLERR and POLLHUP).
3135
3136 2007-01-01  Bruno Haible  <bruno@clisp.org>
3137
3138         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
3139
3140 2007-01-03  Jim Meyering  <jim@meyering.net>
3141
3142         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
3143
3144 2007-01-02  Bruno Haible  <bruno@clisp.org>
3145
3146         * modules/settime (Include): Require timespec.h.
3147         * modules/nanosleep (Include): Likewise.
3148
3149 2007-01-01  Bruno Haible  <bruno@clisp.org>
3150
3151         * gnulib-tool (func_emit_copyright_notice): Bump year.
3152         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
3153
3154 2007-01-01  Bruno Haible  <bruno@clisp.org>
3155
3156         Improve support for OpenBSD.
3157         * build-aux/config.rpath (libname_spec): Export.
3158         (library_names_spec): New variable. Export.
3159         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
3160         library_names_spec from the config.rpath output. Locate shared library
3161         through the name pattern in library_names_spec.
3162
3163 2007-01-01  Eric Blake  <ebb9@byu.net>
3164
3165         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
3166
3167 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3168
3169         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
3170         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
3171         assume the C locale, and avoid an "eval" that could cause trouble.
3172         Problem with SORT reported by Bob Proulx.
3173
3174         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
3175         Define.  Trivial patch from Henning Nielsen Lund, originally
3176         sent to bug-grep@gnu.org today.
3177
3178 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
3179
3180         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
3181         struct stat.  Problem reported by Henning Nielsen Lund.
3182         * lib/acl.c: Include acl.h first, to check interface.  Don't
3183         bother to include sys/types.h and sys/stat.h again.
3184
3185 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
3186
3187         Import the following change from libc; problem reported by
3188         Sven Verdoolaege.
3189
3190         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
3191
3192         [BZ #1373]
3193         * lib/argp.h: Remove __NTH for __argp_usage inline function.
3194
3195 2006-12-28  Jim Meyering  <jim@meyering.net>
3196
3197         * build-aux/announce-gen: Do not assume that the package
3198         builds any of tar.gz, tar.bz2, and .xdelta files.
3199         Suggestion from Simon Josefsson.
3200
3201 2006-12-28  Simon Josefsson  <simon@josefsson.org>
3202
3203         * modules/announce-gen: New file.
3204
3205 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
3206
3207         * lib/mbchar.h: Just include <wctype.h>; the wctype module
3208         handles its gotchas now.
3209         * lib/mbswidth.c: Likewise.
3210         * lib/wcwidth.h: Likewise.
3211         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
3212         and iswcntrl; the wctype module does this stuff now.
3213         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
3214         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3215         * modules/mbchar (Depends-on): Add wctype.
3216         * modules/mbswidth (Depends-on): Likewise.
3217         * modules/wcwidth (Depends-on): Likewise.
3218
3219 2006-12-27  Eric Blake  <ebb9@byu.net>
3220
3221         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
3222         module uses more than what <wctype.h> is required to provide.
3223
3224 2006-12-26  Eric Blake  <ebb9@byu.net>
3225
3226         * gnulib-tool (sed_extract_prog): Avoid space-tab.
3227
3228 2006-12-26  Eric Blake  <ebb9@byu.net>
3229
3230         * modules/absolute-header: New module.
3231         * modules/fcntl (Depends-on): Depend on it.
3232         * modules/inttypes (Depends-on): Likewise.
3233         * modules/stdint (Depends-on): Likewise.
3234         * modules/sys_stat (Depends-on): Likewise.
3235         * modules/wctype (Depends-on): Likewise.
3236         * MODULES.html.sh (Support for building libraries and
3237         executables): Document it.
3238
3239 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3240
3241         * gnulib-tool (SED): Remove, undoing previous change.
3242         The problem was that it broke coreutils on Solaris, because
3243         "sed --posix" leaked into a makefile.
3244         (sed): New alias, if 'alias' and GNU sed.
3245
3246 2006-12-24  Jim Meyering  <jim@meyering.net>
3247
3248         Work around an fchownat bug in glibc-2.4:
3249         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
3250         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
3251         in spite of the -P option.
3252         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
3253         New macros.
3254         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
3255         * modules/openat (Files): Add lib/fchownat.c.
3256         * lib/openat.c (fchownat): Don't define here.  Move to...
3257         * lib/fchownat.c: ...this new file.
3258
3259 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
3260
3261         Fix bug reported by Bruno Haible in
3262         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
3263         where quotearg.c didn't compile on Mac OS X 10.2 because it
3264         lacks <wchar.h> and wint_t.
3265         * lib/wctype_.h (__wctype_wint_t): New type.
3266         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
3267         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
3268         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
3269         Arg is now of type __wctype_wint_t, not wint_t.
3270         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
3271         substitute HAVE_WINT_T.
3272         * modules/wctype (Files): Add m4/wint_t.m4.
3273         (wctype.h): Substitute HAVE_WINT_T.
3274
3275 2006-12-23  Bruno Haible  <bruno@clisp.org>
3276
3277         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
3278
3279 2006-12-23  Bruno Haible  <bruno@clisp.org>
3280
3281         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
3282         S_ISLNK.
3283         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
3284         mingw.
3285
3286 2006-12-22  Bruno Haible  <bruno@clisp.org>
3287
3288         * lib/copy-file.c: Include acl.h.
3289         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
3290         Close the file descriptors only after being done with copy_acl.
3291         * modules/copy-file (Depends-on): Add acl.
3292
3293 2006-12-22  Bruno Haible  <bruno@clisp.org>
3294
3295         * gnulib-tool (SED): New variable.
3296         Use $SED instead of sed everywhere.
3297
3298 2006-12-22  Bruno Haible  <bruno@clisp.org>
3299
3300         * modules/no-c++: New file.
3301         * m4/no-c++.m4: New file.
3302         * MODULES.html.sh (Support for building libraries and executables):
3303         Add no-c++.
3304
3305 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3306
3307         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
3308         Include <limits.h>, and use its INT_MAX to rewrite the
3309         j loop so that it does not overflow 'int'.  Problem reported by
3310         Ralf Wildenhues in
3311         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
3312         Play it safe by shifting left by 1 rather than multiplying by 2,
3313         as GCC is less likely to optimize this away when the value
3314         is signed (when it assumes overflow leads to undefined behavior).
3315         Also, don't assume time_t uses two's complement.
3316
3317 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3318
3319         * MODULES.html.sh: New module wctype.
3320         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
3321         * lib/fnmatch.c: Don't bother to include <wchar.h> before
3322         <wctype.h>, since the new wctype module should fix this.
3323         * lib/quotearg.c: Include <wctype.h> unconditionally, since
3324         the wctype module should arrange for it.
3325         * lib/regex_internal.h: Likewise.
3326         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
3327         since the wctype module should handle this now.
3328         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
3329         * modules/fnmatch (Depends-on): Add wctype.
3330         * modules/quotearg (Depends-on): Likewise.
3331         * modules/regex (Depends-on): Likewise.
3332
3333 2006-12-19  Bruno Haible  <bruno@clisp.org>
3334
3335         * lib/strdup.h [C++]: Wrap definitions in extern "C".
3336         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
3337
3338 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3339
3340         * modules/savewd (Depends-on): Fix dependency on fcntl.
3341
3342 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3343
3344         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
3345         conforms to C99, rather than relying on the user's environment
3346         setting of STDINT_H.
3347
3348 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3349         and Eric Blake  <ebb9@byu.net>
3350
3351         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
3352         This is more consistent with the other defines here.
3353         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
3354         Port to z/OS.  Problem reported by Paul Gilmartin.
3355         Change local vars to use gl_ prefix rather than ac_.
3356         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
3357         with other defines.
3358         * modules/double-slash-root: New module.
3359         * modules/dirname (Files): Remove m4/double-slash-root.m4.
3360         (Depends-on): Add double-slash-root.
3361         * MODULES.html.sh (File system functions): Mention new module.
3362
3363 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
3364
3365         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
3366         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
3367         This is for the benefit of gzip, which doesn't do i18n.
3368
3369 2006-12-12  Jim Meyering  <jim@meyering.net>
3370
3371         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
3372         Reported by Andreas Schwab <schwab@suse.de>.
3373
3374 2006-12-12  Bruno Haible  <bruno@clisp.org>
3375
3376         Merge these changes.
3377         2006-09-05  Bruno Haible  <bruno@clisp.org>
3378         * lib/iconvme.c (iconv_string): No need to save and restore errno when
3379         iconv_alloc succeeded.
3380         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
3381         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
3382         test for " && dest " at the end - dest is always != NULL there. Call
3383         iconv with 4xNULL arguments initially, to reset the state. Call iconv
3384         with 2xNULL arguments, also to flush the state storage. Handle the
3385         IRIX iconv behaviour. Realloc the final result, to throw away unused
3386         memory.
3387
3388 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
3389
3390         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
3391         and fchmodat unconditionally, since glibc 2.4 has them.
3392         Problem reported by Arkadiusz Miskiewicz.
3393
3394 2006-12-10  Bruno Haible  <bruno@clisp.org>
3395
3396         * gnulib-tool (func_import): Show the include files only for those
3397         modules that are copied and specified.
3398         Reported by Karl Berry.
3399
3400 2006-12-08  Jim Meyering  <jim@meyering.net>
3401
3402         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
3403         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
3404
3405         * build-aux/announce-gen: Add two new options, both optional:
3406         --bootstrap-tools=TOOL_LIST
3407               a comma-separated list of tools, e.g.,
3408               autoconf,automake,bison,gnulib
3409         --gnulib-snapshot-date=DATE
3410               if gnulib is in the bootstrap tool list,
3411               then report this as the snapshot date.
3412               If not specified, use the current date/time.
3413               If you specify a date here, be sure it's UTC.
3414
3415 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3416
3417         * tests/test-argp-2.sh: Fix test to match actual output.
3418         (func_compare): Fix sed script to be portable.
3419
3420 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
3421
3422         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
3423         workaround for this case.  It is not autoconfigured now; offhand
3424         it's hard to see how to autoconfigure it.
3425
3426 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
3427
3428         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
3429         a directory that is about to be chowned.  Such a directory's
3430         initial file permissions should permit the owner only and this
3431         should not be changed until after the chown, since the group and
3432         other bits would be incorrect if they granted permission before
3433         the chown.
3434
3435         Fix porting problem for iswctype reported by Georg Schwarz in:
3436         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
3437         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
3438         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
3439         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
3440         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3441
3442 2006-12-03  Jim Meyering  <jim@meyering.net>
3443
3444         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
3445         p->fts_statp may not yet be defined.
3446         (fts_read): Instead, set it in the caller, once p->fts_statp is
3447         sure to be defined, and corresponds to a top-level directory.
3448         This bug made du -x fail.  Here's the coreutils test case:
3449         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
3450         Reported by Mike Frysinger.
3451
3452 2006-12-01  Jim Meyering  <jim@meyering.net>
3453
3454         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
3455         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
3456         Reported by Simon Josefsson.
3457
3458 2006-11-30  Jim Meyering  <jim@meyering.net>
3459
3460         * m4/warning.m4: Use the all-permissive copyright notice
3461         recommended by RMS (rather than LGPL).
3462         * m4/vararrays.m4: Likewise.
3463         * m4/flexmember.m4: Likewise.
3464
3465 2006-11-29  Bruno Haible  <bruno@clisp.org>
3466
3467         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3468         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
3469         using +=.
3470         Reported by Simon Josefsson <simon@josefsson.org>.
3471
3472 2006-11-28  James Youngman <jay@gnu.org>
3473
3474         * README: Advise users that they might find the bug-gnulib@gnu.org
3475         and autotools-announce@gnu.org mailing lists useful.
3476
3477 2006-11-28  Bruno Haible  <bruno@clisp.org>
3478
3479         * m4/ptrdiff_max.m4: Remove file.
3480
3481 2006-11-21  Bruno Haible  <bruno@clisp.org>
3482
3483         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
3484         _AC_COMPUTE_INT.
3485         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3486         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
3487         _AC_COMPUTE_INT.
3488         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3489         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
3490         _AC_COMPUTE_INT.
3491         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3492
3493 2006-11-28  Jim Meyering  <jim@meyering.net>
3494
3495         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
3496         warning from "gcc -Wshadow" about shadowing the builtin.
3497
3498 2006-11-27  Bruno Haible  <bruno@clisp.org>
3499
3500         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
3501         _AC_COMPUTE_INT.
3502         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3503
3504 2006-11-27  Bruno Haible  <bruno@clisp.org>
3505             Paul Eggert  <eggert@cs.ucla.edu>
3506
3507         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
3508
3509 2006-11-26  Bruno Haible  <bruno@clisp.org>
3510
3511         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3512         noinst_LTLIBRARIES.
3513
3514 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
3515             Bruno Haible  <bruno@clisp.org>
3516
3517         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
3518         if compiling with "gcc -ansi".
3519
3520 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
3521
3522         Fix some incompatibilities with gcc -ansi -pedantic.
3523         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
3524         if compiling pedantically with GCC, unless it's C99 or later.
3525         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
3526         it mishandles gcc -ansi -pedantic as well.
3527         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
3528         if gcc -pedantic.
3529         * lib/regexec.c (check_node_accept_bytes): Don't use auto
3530         initializers for struct if -pedantic, unless it's C99 or later.
3531
3532 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
3533
3534         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
3535         Don't close an fd more than once. Identical atimes indicate
3536         success, not failure.
3537
3538 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
3539
3540         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
3541
3542 2006-11-23  Jim Meyering  <jim@meyering.net>
3543
3544         * build-aux/announce-gen: New file.  From coreutils.
3545
3546 2006-11-22  Jim Meyering  <jim@meyering.net>
3547
3548         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
3549         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
3550         (fts_read): Use a temporary to narrow the overused st_size member
3551         before using it in a switch statement.  Reported by Matthew Woehlke.
3552
3553         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
3554         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
3555
3556 2006-11-20  Bruno Haible  <bruno@clisp.org>
3557
3558         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
3559         changequote instead of pairs of brackets.
3560         Reported by Andreas Schwab <schwab@suse.de>.
3561
3562 2006-11-21  Jim Meyering  <jim@meyering.net>
3563
3564         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
3565         so as to remain compatible with older compilers.
3566         Patch from Michael Deutschmann.
3567
3568 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3569
3570         * MODULES.html.sh (File system functions): Add openat.
3571
3572         * lib/openat.h (rpl_fstatat): New macro, if
3573         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
3574         (fstatat): Define to rpl_fstatat under the same conditions,
3575         unless COMPILING_FSTATAT.
3576         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
3577         seems to have the bug.
3578         * lib/fstatat.c: New file.
3579         * modules/openat (Files): Add it.
3580
3581 2006-11-20  Bruno Haible  <bruno@clisp.org>
3582
3583         * Makefile: New file.
3584
3585 2006-11-20  Jim Meyering  <jim@meyering.net>
3586
3587         The beginnings of syntax-related checks for gnulib.
3588         * lib/Makefile: New file.
3589         * lib/t-idcache: New script.  Ensure that the two halves of
3590         idcache.c stay in sync.
3591
3592         * lib/idcache.c: Adjust comments in user- and group- portions to
3593         be more accurate, and to be consistent with one another.
3594
3595 2006-11-20  Jim Meyering  <jim@meyering.net>
3596
3597         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
3598         continue using the flexible array member (thus, this module performs
3599         half as many malloc calls), with the addition that...
3600         (getgroup, getuser): Consistently record a non-match via an empty
3601         "name" string, and map an empty string match to a NULL return value.
3602         * modules/idcache (Depends-on): Re-add flexmember.
3603
3604         * lib/idcache.c (getuser): Remove all uses of the register keyword.
3605         (getuidbyname, getgroup, getgidbyname): Likewise.
3606
3607         Use cleaner syntax: NULL rather than 0.
3608         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
3609
3610 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3611
3612         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
3613         It mishandled the case where the group was missing.
3614         Problem reported by Greg Schafer.
3615         * modules/idcache: Likewise.
3616
3617 2006-11-18  Jim Meyering  <jim@meyering.net>
3618
3619         * check-module (%exempt_header): Add exception for some
3620         conditionally-included headers.
3621
3622         * modules/i-ring (Depends-on): Add verify.
3623         (License): Change to LGPL.
3624
3625 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
3626
3627         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
3628         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
3629         and inttostr.h.  Use snprintf rather than uinttostr, so that
3630         LGPLed code doesn't depend on GPLed.
3631
3632 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3633
3634         * modules/inline (License): Change from GPL to LGPL.
3635
3636 2006-11-17  Jim Meyering  <jim@meyering.net>
3637
3638         * modules/d-type (License): Switch to LGPL.
3639
3640 2006-11-15  Bruno Haible  <bruno@clisp.org>
3641
3642         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
3643
3644 2006-11-15  Eric Blake  <ebb9@byu.net>
3645
3646         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
3647         the module dependency.
3648
3649 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
3650             Bruno Haible  <bruno@clisp.org>
3651
3652         * gnulib-tool (func_create_testdir): Add license consistency check.
3653
3654 2006-11-15  Eric Blake  <ebb9@byu.net>
3655
3656         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
3657         random "(cached)" in configure output.
3658
3659 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3660
3661         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
3662         test for conforming inttypes.h is both announced and cached.
3663
3664         * MODULES.html.sh (seen_modules, seen_files): New variables.
3665         (func_module): Rewrite to use a few less gnulib-tool and sed
3666         invocations.  Avoid a couple of quadratic algorithms for ...
3667         (missed_modules, missed_files): ... these, with ...
3668         (func_append, func_tmpdir): ... these new functions, from
3669         gnulib-tool.  Analogously, install traps for cleanup.
3670
3671         * tests/test-gc.c (main): Remove unused variables.
3672         * tests/test-read-file.c: Include stdlib.h, for 'free'.
3673
3674 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
3675
3676         * modules/inttostr (License): Change to LGPL.
3677
3678 2006-11-14  Eric Blake  <ebb9@byu.net>
3679
3680         * modules/tempname (License): Change to LGPL.
3681
3682 2006-11-14  Eric Blake  <ebb9@byu.net>
3683
3684         * doc/functions.texi (Function Portability): *printf functions on
3685         Cygwin now understand all POSIX size specifiers.
3686
3687 2006-11-14  Bruno Haible  <bruno@clisp.org>
3688
3689         * modules/c-ctype (License): Change to LGPL.
3690
3691 2006-11-12  Bruno Haible  <bruno@clisp.org>
3692
3693         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
3694         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
3695         for GNOME libraries, for which the include files are installed in
3696         subdirectories of $prefix/include.
3697
3698 2006-11-12  Bruno Haible  <bruno@clisp.org>
3699
3700         * m4/lib-link.m4: Require at least autoconf-2.54.
3701         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
3702         name to underscores for the --with option.
3703
3704 2006-11-13  Bruno Haible  <bruno@clisp.org>
3705
3706         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
3707         the tests directory.
3708         Reported by Ralf Wildenhues.
3709
3710 2006-11-13  Bruno Haible  <bruno@clisp.org>
3711
3712         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
3713         (func_emit_initmacro_end): Undo the override here.
3714         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
3715         Works around the famous automake error in coreutils.
3716
3717 2006-11-13  Eric Blake  <ebb9@byu.net>
3718
3719         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
3720         element, not its node.
3721
3722 2006-11-12  Bruno Haible  <bruno@clisp.org>
3723
3724         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
3725         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
3726
3727 2006-11-12  Bruno Haible  <bruno@clisp.org>
3728
3729         * gnulib-tool: New option --local-symlink.
3730         (func_usage): Document it.
3731         (lsymbolic): New variable.
3732         (func_import, func_create_testdir): If --symlink was not specified,
3733         test whether --local-symlink was specified and the file comes from
3734         the local_gnulib_dir.
3735
3736 2006-11-12  Bruno Haible  <bruno@clisp.org>
3737
3738         * gnulib-tool (func_ln): New function.
3739         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
3740
3741 2006-11-12  Bruno Haible  <bruno@clisp.org>
3742
3743         Finish support for source files in subdirectories.
3744         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
3745         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
3746         AUTOMAKE_OPTIONS.
3747         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
3748
3749 2006-11-12  Bruno Haible  <bruno@clisp.org>
3750
3751         * gnulib-tool (func_get_automake_snippet): Synthesize also an
3752         EXTRA_lib_SOURCES augmentation.
3753         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
3754
3755 2006-11-12  Jim Meyering  <jim@meyering.net>
3756
3757         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
3758         file descriptors.  This also averts a failure on systems with
3759         native openat support when a traversed directory lacks "x" access.
3760         * lib/fts_.h: Include "i-ring.h"
3761         (struct FTS) [fts_fd_ring]: New member.
3762         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
3763         (FCHDIR): Add parentheses.
3764         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
3765         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
3766         When descending, rather than simply closing the previous
3767         fts_cwd_fd value, push that file descriptor onto the ring.
3768         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
3769         (fts_open): Initialize the new fd_ring member.
3770         (fts_close): Clear the ring.
3771         (fts_safe_changedir): When possible, use our new fd_ring to skip
3772         the diropen and fstat and dev/ino comparison that would normally
3773         accompany a virtual `chdir ("..")'.
3774
3775         * modules/fts (Depends-on): Add i-ring.
3776         * modules/i-ring: New module.
3777         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
3778         * m4/i-ring.m4: New file.
3779
3780 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3781
3782         * gnulib-tool (func_create_testdir): Fix replacement of
3783         `build-aux' in configure.ac.  Run autotools in gltests
3784         subdirectory.
3785         (func_create_testdir, func_create_megatestdir, test): There is
3786         no need for '--force' in most autotool invocations in a new
3787         tree.  Actually fail the whole test if any of the tools, or the
3788         configure or make stages fail.
3789
3790         Sync from Automake.
3791         * build-aux/gnupload: Revert last change.  Add pointer to upload
3792         instructions of the GNU Maintenance Instructions.
3793         Suggestion by Karl Berry.
3794
3795 2006-11-10  Jim Meyering  <jim@meyering.net>
3796
3797         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
3798
3799 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3800
3801         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
3802         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
3803         (bind_textdomain_codeset) [! ENABLE_NLS]:
3804         Evaluate all the arguments.  That way, callers get compatible behavior
3805         if the arguments have side effects.  Also, it avoids some GCC
3806         diagnostics in some cases; Joel E. Denny reported problems when Bison
3807         was configured with --enable-gcc-warnigs.
3808
3809 2006-11-10  Jim Meyering  <jim@meyering.net>
3810
3811         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
3812         relevant options in CFLAGS (like -O, -fno-inline) are taken into
3813         account.
3814
3815 2006-11-10  Jim Meyering  <jim@meyering.net>
3816
3817         * modules/inline: New file/module.
3818         * modules/xalloc (Files): Remove m4/inline.m4.
3819         (Depends-on): Add inline, instead.
3820         * modules/oset: Likewise.
3821         * modules/list: Likewise.
3822
3823 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3824
3825         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
3826         Problem reported by Matthew Woehlke.
3827
3828 2006-11-09  Bruno Haible  <bruno@clisp.org>
3829
3830         * lib/tempname.c (gen_tempname): Remove variant that invokes
3831         __gen_tempname.
3832         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
3833         __gen_tempname.
3834
3835 2006-11-08  Bruno Haible  <bruno@clisp.org>
3836
3837         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
3838         to 'yes' instead of 'cross-compiling'.
3839
3840 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
3841
3842         * lib/quotearg.h (quotearg_free): New decl.
3843         * lib/quotearg.c (quotearg_free): New function.
3844         (slot0, nslots, slotvec0, slotvec):
3845         Now file-scope so that quotearg_free can get at them.
3846
3847 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3848
3849         Sync from Automake.
3850         * build-aux/gnupload: Add missing 'gnu' to example URL.
3851         Report by Karl Berry.
3852
3853 2006-11-08  Bruno Haible  <bruno@clisp.org>
3854
3855         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
3856         Suggested by Paul Eggert.
3857
3858 2006-11-08  Jim Meyering  <jim@meyering.net>
3859
3860         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
3861         It's already included if !_LIBC.
3862         (fts_safe_changedir): Add a comment.
3863
3864 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
3865
3866         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
3867         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
3868         Matthew Woehlke.
3869
3870         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
3871         definitions up, to avoid colliding with change below.
3872         (static_inline) [HAVE_INLINE]: New macro.
3873         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
3874         Provide extern decls when !HAVE_INLINE.  Do not define unless
3875         static_inline is defined, either by us or by xmalloc.c.  Use
3876         static_inline rather than static inline.
3877         (XCALLOC): Optimize sizeof(T) = 1 case.
3878         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
3879
3880 2006-11-07  Bruno Haible  <bruno@clisp.org>
3881
3882         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
3883         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
3884         AC_C_INLINE.
3885         * modules/xalloc (Files): Add m4/inline.m4.
3886
3887 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3888
3889         * README: Fix typo.
3890         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
3891         (Miscellanous Notes): ...from this.
3892
3893 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
3894
3895         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3896         Mention that offsetof should be used instead of sizeof.
3897         From Bruno Haible.
3898
3899 2006-11-07  Bruno Haible  <bruno@clisp.org>
3900
3901         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
3902
3903 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3904
3905         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
3906         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
3907         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
3908         (gl_tree_add_before, gl_tree_add_after):
3909         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
3910         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
3911         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
3912         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
3913         (gl_linked_add_after, gl_linked_add_at): Likewise.
3914         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
3915         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
3916         (gl_tree_add_before, gl_tree_add_after): Likewise.
3917         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
3918         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
3919         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
3920
3921 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3922
3923         * lib/gl_oset.h: Use C comment style, not C++ comment style.
3924
3925 2006-11-06  Bruno Haible  <bruno@clisp.org>
3926
3927         * m4/inline.m4: New file.
3928         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
3929         * modules/list (Files): Add m4/inline.m4.
3930         * modules/oset (Files): Likewise.
3931
3932 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3933
3934         * lib/idcache.c: Include <stddef.h>, for offsetof.
3935         (struct userid.name): Change from char * to a flexible array member.
3936         All uses changed.
3937         * modules/idcache (Depends-on): Add flexmember.
3938
3939         * MODULES.html.sh (Core language properties): New module flexmember.
3940         * modules/flexmember, m4/flexmember.m4: New files.
3941
3942         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
3943         inline functions that are identical with the old xnmalloc_inline,
3944         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
3945         that we can avoid some unnecessary integer multiplications and
3946         divisions in the common case where the element size is known at
3947         compile time.
3948         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
3949         needed.
3950         (xnboundedmalloc): Remove.
3951         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
3952         arguments, for consistency with rest of this header.
3953         (xcharalloc): Rewrite using XNMALLOC.
3954         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
3955         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
3956         versions have been moved to lib/xalloc.h and renamed to be the
3957         non-*_inline versions.
3958         (xmalloc, xrealloc): Implement without reference to the xnmalloc
3959         and xnrealloc functions, since those functions are now inline and
3960         now call us.
3961         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
3962         renaming described above.
3963         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
3964         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
3965         captures the dependency in AC_C_INLINE.
3966
3967         New module canonicalize-lgpl, proposed by Charles Wilson in
3968         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
3969         with a few small changes afterwards.
3970         * MODULES.html.sh (File system functions): New module
3971         canonicalize-lgpl.
3972         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
3973         and canonicalize_file_name.
3974         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
3975         * modules/canonicalize-lgpl: New files.
3976
3977 2006-11-05  Bruno Haible  <bruno@clisp.org>
3978
3979         * gnulib-tool (func_import, func_create_testdir): Create directories
3980         also for files in subdirectories of lib/.
3981
3982 2006-11-05  Bruno Haible  <bruno@clisp.org>
3983
3984         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
3985         ANSI C compliant.
3986
3987 2006-11-03  Bruno Haible  <bruno@clisp.org>
3988
3989         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
3990         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
3991         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
3992         (xnboundedmalloc): New inline function.
3993         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
3994         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
3995         xmalloc.
3996         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
3997         xmalloc.
3998         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
3999         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
4000         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
4001         xmalloc.
4002         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
4003         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
4004         xmalloc.
4005         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
4006         gl_tree_add_after): Use XMALLOC instead of xmalloc.
4007         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
4008         xmalloc.
4009         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
4010         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
4011         gl_tree_add_after): Use XMALLOC instead of xmalloc.
4012         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
4013         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
4014         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
4015         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
4016
4017 2006-11-03  Bruno Haible  <bruno@clisp.org>
4018
4019         * lib/c-ctype.h [C++]: Define functions without name mangling.
4020         * lib/fwriteerror.h [C++]: Likewise.
4021         * lib/gcd.h [C++]: Likewise.
4022         * lib/linebreak.h [C++]: Likewise.
4023
4024 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
4025
4026         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
4027         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
4028         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
4029         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
4030         Check for functions and headers just once.
4031         Check for declaration of canonicalize_file_name.
4032         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
4033
4034 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4035
4036         * gnulib-tool (func_import): Fix typo in actioncmd.
4037
4038 2006-11-02  Bruno Haible  <bruno@clisp.org>
4039
4040         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
4041         newline sequence in the Makefile.am snippet as a space, like "make"
4042         does.
4043         Reported by Roger Persson <perrog@gmail.com>.
4044
4045 2006-11-01  Bruno Haible  <bruno@clisp.org>
4046
4047         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
4048         already declared in <string.h>.
4049         * lib/strcase.h (strncasecmp): Don't declare it if yes.
4050
4051 2006-11-01  Bruno Haible  <bruno@clisp.org>
4052
4053         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
4054         * lib/strcase.h: Include <string.h>.
4055         (strcasecmp): Define to rpl_strcasecmp here.
4056
4057 2006-11-01  Bruno Haible  <bruno@clisp.org>
4058
4059         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
4060
4061 2006-11-01  Eric Blake  <ebb9@byu.net>
4062
4063         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
4064
4065         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
4066
4067 2006-10-29  Bruno Haible  <bruno@clisp.org>
4068
4069         Make it compile in C++ mode.
4070         * lib/full-write.c (full_rw): Add a cast.
4071
4072 2006-11-01  Bruno Haible  <bruno@clisp.org>
4073
4074         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
4075         be POSIX compliant.
4076         Reported by Roger Persson <perrog@gmail.com>.
4077
4078 2006-11-01  Eric Blake  <ebb9@byu.net>
4079
4080         * lib/getopt_.h: Fix comments.
4081
4082 2006-10-31  Eric Blake  <ebb9@byu.net>
4083
4084         * modules/tmpdir (Depends-on): Add sys_stat.
4085         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
4086         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
4087         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
4088         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
4089         tempname.
4090
4091 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4092
4093         Avoid some C++ diagnostics reported by Bruno Haible.
4094         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
4095         xmalloc.
4096         (quotearg_alloc): Use xcharalloc rather than xmalloc.
4097         (struct slotvec): Move to top level.
4098         (quotearg_n_options): Rewrite to avoid xmalloc.
4099         * lib/xalloc.h (xcharalloc): New function.
4100         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
4101         [defined __cplusplus]: Add function template that provides result
4102         type propagation.  This part of the change is from Bruno Haible.
4103
4104 2006-10-29  Bruno Haible  <bruno@clisp.org>
4105
4106         Make it compile in C++ mode.
4107         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
4108         * lib/strnlen1.c (strnlen1): Cast memchr result.
4109         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
4110         * lib/clean-temp.c (string_equals, string_hash): Add casts.
4111         (create_temp_dir): Rename local variable 'template'.
4112         (compile_csharp_using_sscli): Add cast.
4113         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
4114         * lib/findprog.c (find_in_path): Likewise.
4115         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
4116         * lib/wait-process.c (register_slave_subprocess): Likewise.
4117
4118 2006-10-22  Bruno Haible  <bruno@clisp.org>
4119
4120         * modules/tsearch: New file.
4121         * lib/tsearch.h: New file.
4122         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
4123         * m4/tsearch.m4: New file.
4124         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
4125
4126 2006-10-29  Eric Blake  <ebb9@byu.net>
4127
4128         * lib/arcfour.c: Assume config.h.
4129         * lib/arctwo.c: Likewise.
4130         * lib/base64.c: Likewise.
4131         * lib/check-version.c: Likewise.
4132         * lib/crc.c: Likewise.
4133         * lib/des.c: Likewise.
4134         * lib/gc-gnulib.c: Likewise.
4135         * lib/gc-libgcrypt.c: Likewise.
4136         * lib/gc-pbkdf2-sha1.c: Likewise.
4137         * lib/getaddrinfo.c: Likewise.
4138         * lib/getdelim.c: Likewise.
4139         * lib/getline.c: Likewise.
4140         * lib/hmac-md5.c: Likewise.
4141         * lib/hmac-sha1.c: Likewise.
4142         * lib/iconvme.c: Likewise.
4143         * lib/md2.c: Likewise.
4144         * lib/md4.c: Likewise.
4145         * lib/memxor.c: Likewise.
4146         * lib/read-file.c: Likewise.
4147         * lib/readline.c: Likewise.
4148         * lib/rijndael-alg-fst.c: Likewise.
4149         * lib/rijndael-api-fst.c: Likewise.
4150         * lib/xgetdomainname.c: Likewise.
4151
4152 2006-10-28  Eric Blake  <ebb9@byu.net>
4153
4154         * lib/xstrndup.c: Assume config.h.
4155
4156 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
4157
4158         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
4159         stat-macros.h is now for our own macros, whereas stat_h is for
4160         macros in the <sys/stat.h> name space.
4161         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
4162         (STAT_MACROS_H): Remove.
4163         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
4164         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
4165         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
4166         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
4167         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
4168         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
4169         Move these macros to ...
4170         * lib/stat_.h: here.  Don't include stat-macros.h.
4171         * lib/canonicalize.c: Don't include stat-macros.h.
4172         * lib/chown.c: Likewise.
4173         * lib/euidaccess.c: Likewise.
4174         * lib/file-type.c: Likewise.
4175         * lib/filemode.c: Likewise.
4176         * lib/glob.c: Likewise.
4177         * lib/isapipe.c: Likewise.
4178         * lib/lchown.c: Likewise.
4179         * lib/lstat.c: Likewise.
4180         * lib/mkdir-p.c: Likewise.
4181         * lib/rmdir.c: Likewise.
4182         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
4183         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
4184         unless mkdir isn't declared, to speed up 'configure'.
4185         Always create sys/stat.h, since it's unlikely any real sys/stat.h
4186         would define all the S_* symbols.
4187         * modules/canonicalize (Depends-on):
4188         Depend on sys_stat, not stat-macros.
4189         * modules/chown: Likewise.
4190         * modules/euidaccess: Likewise.
4191         * modules/filemode: Likewise.
4192         * modules/file-type: Likewise.
4193         * modules/glob: Likewise.
4194         * modules/isapipe: Likewise.
4195         * modules/lchown: Likewise.
4196         * modules/lstat: Likewise.
4197         * modules/mkancesdirs: Likewise.
4198         * modules/rmdir: Likewise.
4199         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
4200         * modules/modechange: Likewise.
4201         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
4202         (configure.ac): Remove gl_STAT_MACROS.
4203         * modules/sys_stat (Depends-on): Remove stat-macros.
4204
4205 2006-10-27  Bruno Haible  <bruno@clisp.org>
4206
4207         * m4/signed.m4: Remove file.
4208         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
4209         invocation.
4210         * modules/vasnprintf (Files): Remove m4/signed.m4.
4211
4212 2006-10-27  Bruno Haible  <bruno@clisp.org>
4213
4214         Update to GNU gettext 0.16.
4215         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
4216         m4/inttypes-h.m4, m4/signed.m4.
4217         * m4/gettext.m4: Update to GNU gettext 0.16.
4218         * m4/intl.m4: New file, from GNU gettext.
4219         * m4/intldir.m4: New file, from GNU gettext.
4220         * config/srclist.txt: Update
4221
4222 2006-10-27  Eric Blake  <ebb9@byu.net>
4223
4224         * MODULES.html.sh: Document tempname.
4225         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
4226         dependencies.
4227         (Files): Move lib/tempname.c...
4228         * modules/tempname: ...to this new module.
4229         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
4230         (gl_PREREQ_TEMPNAME): Move...
4231         * m4/tempname.m4: ...to this new file.
4232         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
4233         * modules/sys_stat (Depends-on): Add stat-macros.
4234         * lib/stat_.h (includes): Pick up stat macros.
4235         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
4236         if stat macros are broken.
4237         * lib/tempname.c (includes): No need to include "stat-macros.h".
4238         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
4239         (direxists, __path_search) [!_LIBC]: Don't compile these in
4240         gnulib; the tmpdir module covers that.
4241         * lib/tempname.h: New file.
4242
4243 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
4244
4245         * COPYING: Explain how gnulib-tool converts licence headers.
4246         Almost all wording by Eric Blake.
4247
4248 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
4249
4250         * lib/mbchar.h (is_basic_table): Make read-only.
4251         * lib/mbchar.c (is_basic_table): Likewise.
4252         Reported by John Darrington.
4253
4254 2006-10-25  Bruno Haible  <bruno@clisp.org>
4255
4256         * lib/progname.h (set_program_name): Undefine before defining.
4257
4258 2006-10-25  Bruno Haible  <bruno@clisp.org>
4259
4260         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
4261         false for non-gcc C++ compilers.
4262         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
4263
4264 2006-10-24  Bruno Haible  <bruno@clisp.org>
4265
4266         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
4267         iconv implementations like Irix iconv.
4268
4269 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4270
4271         * modules/vararrays: New file.
4272         * m4/vararrays.m4: New file, taken from diffutils.
4273         * MODULES.html.sh: New module vararrays.
4274
4275 2006-10-24  Karl Berry  <karl@gnu.org>
4276
4277         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
4278         Don't call GNU Unix.
4279
4280 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4281
4282         * users.txt: Add Libtool.
4283
4284         Sync from Libtool:
4285
4286         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4287
4288         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
4289         to gnulib's policy of including config.h unconditionally.
4290
4291 2006-10-24  Bruno Haible  <bruno@clisp.org>
4292
4293         * modules/wcwidth (Files): Add m4/wint_t.m4.
4294         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
4295         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
4296
4297 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4298
4299         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
4300         to pacify GCC with some -W flags enabled.  Problem reported by
4301         Bruno Haible.
4302
4303 2006-10-24  Jim Meyering  <jim@meyering.net>
4304
4305         * MODULES.html.sh: Remove uinttostr.  It's not a module.
4306         Reported by Karl Berry.
4307
4308 2006-10-23  Bruno Haible  <bruno@clisp.org>
4309
4310         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
4311
4312 2006-10-24  Bruno Haible  <bruno@clisp.org>
4313
4314         * lib/gl_list.h: Use C comment style, not C++ comment style.
4315
4316 2006-10-23  Eric Blake  <ebb9@byu.net>
4317
4318         * lib/getaddrinfo.c (includes): Add missing include.
4319
4320 2006-10-23  Bruno Haible  <bruno@clisp.org>
4321             Paul Eggert  <eggert@cs.ucla.edu>
4322
4323         Ability to rename obstack_free.
4324         * lib/obstack.h (__obstack_free): New macro. Declare instead of
4325         obstack_free.
4326         (obstack_free): Invoke the __obstack_free macro.
4327         * lib/obstack.c (obstack_free): Use __obstack_free macro.
4328
4329 2006-10-23  Bruno Haible  <bruno@clisp.org>
4330             Paul Eggert  <eggert@cs.ucla.edu>
4331
4332         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
4333         __argc, __argv from the declaration. (They are defined as macros on
4334         mingw.)
4335
4336 2006-10-22  Bruno Haible  <bruno@clisp.org>
4337
4338         * doc/gnulib-intro.texi: New file.
4339         * doc/gnulib.texi: Include it.
4340
4341 2006-10-21  Bruno Haible  <bruno@clisp.org>
4342
4343         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
4344         "Introduction", "Miscellanous Notes", "Particular Modules".
4345
4346 2006-10-21  Bruno Haible  <bruno@clisp.org>
4347
4348         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4349         Change mostlyclean-local rule to avoid sh syntax error from bash
4350         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
4351
4352 2006-10-23  Jim Meyering  <jim@meyering.net>
4353
4354         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
4355         in place of snprintf.
4356
4357         * modules/inttostr (Files): Add lib/uinttostr.c.
4358         * lib/uinttostr.c (inttostr): New file/function.
4359         * lib/inttostr.h (uinttostr): Declare.
4360         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
4361         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
4362         Add uinttostr.
4363         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
4364
4365 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4366
4367         * lib/canonicalize.c (ELOOP): Define if not already defined.
4368         Problem reported by Bruno Haible in
4369         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
4370
4371 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4372
4373         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
4374         Problem reported by Perry Smith and Ville Laurikari.
4375
4376         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
4377         uses.
4378
4379 2006-10-19  Bruno Haible  <bruno@clisp.org>
4380
4381         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
4382         for mingw.
4383
4384 2006-10-19  Bruno Haible  <bruno@clisp.org>
4385
4386         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
4387         Needed for mingw.
4388
4389 2006-10-19  Bruno Haible  <bruno@clisp.org>
4390
4391         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
4392
4393 2006-10-19  Bruno Haible  <bruno@clisp.org>
4394
4395         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
4396         it.
4397
4398 2006-10-19  Bruno Haible  <bruno@clisp.org>
4399
4400         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
4401         invocation.
4402
4403 2006-10-19  Bruno Haible  <bruno@clisp.org>
4404
4405         * gnulib-tool (func_create_testdir): Don't include ftruncate and
4406         mountlist by default.
4407
4408 2006-10-16  Bruno Haible  <bruno@clisp.org>
4409
4410         * lib/c-strstr.c: Include c-strstr.h.
4411
4412 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4413
4414         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
4415         in a slash.
4416
4417 2006-10-18  Bruno Haible  <bruno@clisp.org>
4418
4419         * lib/lock.h [C++]: Wrap definitions in extern "C".
4420
4421 2006-10-18  Bruno Haible  <bruno@clisp.org>
4422
4423         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
4424         gl_LIBOBJS list.
4425
4426 2006-10-18  Bruno Haible  <bruno@clisp.org>
4427
4428         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
4429
4430 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4431
4432         * lib/xstrtol.h: Include gettext.h.
4433         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
4434         Problem reported by Eric Blake.
4435         * modules/xstrtol (Depends-on): Add gettext-h.
4436
4437 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
4438
4439         * lib/strftime.c (advance): New macro.
4440         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
4441         incomplete type, so you can't add 0 to it.  Problem and patch
4442         reported by Eelco Dolstra for dietlibc.
4443
4444 2006-10-18  Jim Meyering  <jim@meyering.net>
4445
4446         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
4447         type for a local, and rename it: s/up/user_proc/.
4448
4449 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
4450
4451         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
4452         READ_UTMP_USER_PROCESS.
4453         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
4454
4455 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
4456
4457         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
4458         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
4459
4460 2006-10-17  Eric Blake  <ebb9@byu.net>
4461
4462         * lib/sigprocmask.c (sigprocmask): Fix typo.
4463
4464         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
4465
4466         * modules/clean-temp (Makefile.am): Don't add to make output...
4467         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
4468         config.h.
4469
4470 2006-10-17  Bruno Haible  <bruno@clisp.org>
4471
4472         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
4473         differently if DEFAULT_TEXT_DOMAIN is set.
4474
4475 2006-10-16  Bruno Haible  <bruno@clisp.org>
4476
4477         * lib/clean-temp.c: Include fwriteerror.h.
4478
4479 2006-10-16  Bruno Haible  <bruno@clisp.org>
4480
4481         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
4482
4483 2006-10-16  Bruno Haible  <bruno@clisp.org>
4484
4485         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
4486         * lib/sigprocmask.h: Include <sys/types.h>.
4487         (sigset_t): Use the system's definition if present.
4488
4489 2006-10-17  Eric Blake  <ebb9@byu.net>
4490
4491         * lib/xvasprintf.c (includes): Assume config.h.
4492         * lib/xasprintf.c (includes): Likewise.
4493
4494 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
4495
4496         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
4497         at least as wide as intmax_t.
4498
4499 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
4500
4501         (Imported from Automake.)
4502         * build-aux/gnupload: Update to version 1.1 of directive file.
4503
4504 2006-10-16  Eric Blake  <ebb9@byu.net>
4505
4506         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
4507         match Automake 1.10a.
4508
4509 2006-10-14  Bruno Haible  <bruno@clisp.org>
4510
4511         * modules/sigprocmask: New file.
4512         * lib/sigprocmask.h: New file.
4513         * lib/sigprocmask.c: New file.
4514         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
4515         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
4516         request sigprocmask.o.
4517         (gl_PREREQ_SIGPROCMASK): New macro.
4518         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
4519         (Depends-on): Add sigprocmask.
4520         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
4521         gt_SIGNALBLOCKING. Test for 'raise' only once.
4522         * lib/fatal-signal.c: Include sigprocmask.h.
4523         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
4524         unblock_fatal_signals): Define always.
4525         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
4526         sigprocmask.
4527
4528 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
4529
4530         Sync from Automake.
4531         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
4532         which incorrectly sets the mode of an existing destination
4533         directory.  In some cases the unpatched install-sh could do the
4534         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
4535         system.  We hope this is rare in practice, but it's clearly worth
4536         fixing.  Problem reported by Alex Unleashed in
4537         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
4538         Also, don't bother to check for -m bugs unless we're using -m;
4539         suggested by Stepan Kasal.
4540
4541 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4542
4543         Sync from Automake.
4544         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
4545         `-c' flag, so they appear at the same position as in %FASTDEP%
4546         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
4547         which ignores unknown options only after the first non-option.
4548         Bug report against M4 by Nelson H. F. Beebe.
4549
4550 2006-10-13  Jim Meyering  <jim@meyering.net>
4551
4552         Fix a bug in yesterday's change.
4553         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
4554         p->fts_statp->st_dev would be used uninitialized.
4555         Ensures that we always call fts_stat on the very first entry.
4556         Miklos Szeredi reported that find -xdev stopped working.
4557
4558 2006-10-12  Bruno Haible  <bruno@clisp.org>
4559
4560         * gnulib-tool (func_get_automake_snippet): Append an automatically
4561         computed EXTRA_DIST augmentation.
4562         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
4563         * modules/alloca-opt (Makefile.am): Likewise.
4564         * modules/allocsa (Makefile.am): Likewise.
4565         * modules/arcfour (Makefile.am): Likewise.
4566         * modules/arctwo (Makefile.am): Likewise.
4567         * modules/argmatch (Makefile.am): Likewise.
4568         * modules/argz (Makefile.am): Likewise.
4569         * modules/atexit (Makefile.am): Likewise.
4570         * modules/backupfile (Makefile.am): Likewise.
4571         * modules/byteswap (Makefile.am): Likewise.
4572         * modules/c-strtod (Makefile.am): Likewise.
4573         * modules/c-strtold (Makefile.am): Likewise.
4574         * modules/calloc (Makefile.am): Likewise.
4575         * modules/canon-host (Makefile.am): Likewise.
4576         * modules/canonicalize (Makefile.am): Likewise.
4577         * modules/chdir-long (Makefile.am): Likewise.
4578         * modules/chdir-safer (Makefile.am): Likewise.
4579         * modules/check-version (Makefile.am): Likewise.
4580         * modules/chown (Makefile.am): Likewise.
4581         * modules/cloexec (Makefile.am): Likewise.
4582         * modules/close-stream (Makefile.am): Likewise.
4583         * modules/closeout (Makefile.am): Likewise.
4584         * modules/crc (Makefile.am): Likewise.
4585         * modules/csharpexec (Makefile.am): Likewise.
4586         * modules/cycle-check (Makefile.am): Likewise.
4587         * modules/des (Makefile.am): Likewise.
4588         * modules/dev-ino (Makefile.am): Likewise.
4589         * modules/dirfd (Makefile.am): Likewise.
4590         * modules/dirname (Makefile.am): Likewise.
4591         * modules/dup2 (Makefile.am): Likewise.
4592         * modules/eealloc (Makefile.am): Likewise.
4593         * modules/error (Makefile.am): Likewise.
4594         * modules/euidaccess (Makefile.am): Likewise.
4595         * modules/exclude (Makefile.am): Likewise.
4596         * modules/exitfail (Makefile.am): Likewise.
4597         * modules/fcntl-safer (Makefile.am): Likewise.
4598         * modules/fcntl (Makefile.am): Likewise.
4599         * modules/file-type (Makefile.am): Likewise.
4600         * modules/fileblocks (Makefile.am): Likewise.
4601         * modules/filemode (Makefile.am): Likewise.
4602         * modules/filenamecat (Makefile.am): Likewise.
4603         * modules/fnmatch (Makefile.am): Likewise.
4604         * modules/fopen-safer (Makefile.am): Likewise.
4605         * modules/fpending (Makefile.am): Likewise.
4606         * modules/fprintftime (Makefile.am): Likewise.
4607         * modules/free (Makefile.am): Likewise.
4608         * modules/fsusage (Makefile.am): Likewise.
4609         * modules/ftruncate (Makefile.am): Likewise.
4610         * modules/fts (Makefile.am): Likewise.
4611         * modules/gc-arcfour (Makefile.am): Likewise.
4612         * modules/gc-des (Makefile.am): Likewise.
4613         * modules/gc-hmac-md5 (Makefile.am): Likewise.
4614         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
4615         * modules/gc-md4 (Makefile.am): Likewise.
4616         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4617         * modules/gc-sha1 (Makefile.am): Likewise.
4618         * modules/gc (Makefile.am): Likewise.
4619         * modules/getaddrinfo (Makefile.am): Likewise.
4620         * modules/getcwd (Makefile.am): Likewise.
4621         * modules/getdelim (Makefile.am): Likewise.
4622         * modules/getdomainname (Makefile.am): Likewise.
4623         * modules/getgroups (Makefile.am): Likewise.
4624         * modules/gethostname (Makefile.am): Likewise.
4625         * modules/gethrxtime (Makefile.am): Likewise.
4626         * modules/getline (Makefile.am): Likewise.
4627         * modules/getloadavg (Makefile.am): Likewise.
4628         * modules/getlogin_r (Makefile.am): Likewise.
4629         * modules/getndelim2 (Makefile.am): Likewise.
4630         * modules/getopt (Makefile.am): Likewise.
4631         * modules/getpagesize (Makefile.am): Likewise.
4632         * modules/getpass-gnu (Makefile.am): Likewise.
4633         * modules/getpass (Makefile.am): Likewise.
4634         * modules/getsubopt (Makefile.am): Likewise.
4635         * modules/gettime (Makefile.am): Likewise.
4636         * modules/gettimeofday (Makefile.am): Likewise.
4637         * modules/getugroups (Makefile.am): Likewise.
4638         * modules/getusershell (Makefile.am): Likewise.
4639         * modules/glob (Makefile.am): Likewise.
4640         * modules/group-member (Makefile.am): Likewise.
4641         * modules/hard-locale (Makefile.am): Likewise.
4642         * modules/hash (Makefile.am): Likewise.
4643         * modules/hmac-md5 (Makefile.am): Likewise.
4644         * modules/hmac-sha1 (Makefile.am): Likewise.
4645         * modules/human (Makefile.am): Likewise.
4646         * modules/idcache (Makefile.am): Likewise.
4647         * modules/imaxabs (Makefile.am): Likewise.
4648         * modules/imaxdiv (Makefile.am): Likewise.
4649         * modules/inet_ntop (Makefile.am): Likewise.
4650         * modules/inet_pton (Makefile.am): Likewise.
4651         * modules/intprops (Makefile.am): Likewise.
4652         * modules/inttostr (Makefile.am): Likewise.
4653         * modules/inttypes (Makefile.am): Likewise.
4654         * modules/isapipe (Makefile.am): Likewise.
4655         * modules/javaversion (Makefile.am): Likewise.
4656         * modules/lchmod (Makefile.am): Likewise.
4657         * modules/lchown (Makefile.am): Likewise.
4658         * modules/localcharset (Makefile.am): Likewise.
4659         * modules/long-options (Makefile.am): Likewise.
4660         * modules/lstat (Makefile.am): Likewise.
4661         * modules/malloc (Makefile.am): Likewise.
4662         * modules/mathl (Makefile.am): Likewise.
4663         * modules/mbchar (Makefile.am): Likewise.
4664         * modules/md2 (Makefile.am): Likewise.
4665         * modules/md4 (Makefile.am): Likewise.
4666         * modules/md5 (Makefile.am): Likewise.
4667         * modules/memcasecmp (Makefile.am): Likewise.
4668         * modules/memchr (Makefile.am): Likewise.
4669         * modules/memcmp (Makefile.am): Likewise.
4670         * modules/memcoll (Makefile.am): Likewise.
4671         * modules/memcpy (Makefile.am): Likewise.
4672         * modules/memmem (Makefile.am): Likewise.
4673         * modules/memmove (Makefile.am): Likewise.
4674         * modules/mempcpy (Makefile.am): Likewise.
4675         * modules/memrchr (Makefile.am): Likewise.
4676         * modules/memset (Makefile.am): Likewise.
4677         * modules/memxor (Makefile.am): Likewise.
4678         * modules/mkancesdirs (Makefile.am): Likewise.
4679         * modules/mkdir-p (Makefile.am): Likewise.
4680         * modules/mkdir (Makefile.am): Likewise.
4681         * modules/mkdtemp (Makefile.am): Likewise.
4682         * modules/mkstemp (Makefile.am): Likewise.
4683         * modules/mktime (Makefile.am): Likewise.
4684         * modules/modechange (Makefile.am): Likewise.
4685         * modules/mountlist (Makefile.am): Likewise.
4686         * modules/nanosleep (Makefile.am): Likewise.
4687         * modules/obstack (Makefile.am): Likewise.
4688         * modules/openat (Makefile.am): Likewise.
4689         * modules/pagealign_alloc (Makefile.am): Likewise.
4690         * modules/pathmax (Makefile.am): Likewise.
4691         * modules/physmem (Makefile.am): Likewise.
4692         * modules/poll (Makefile.am): Likewise.
4693         * modules/posixtm (Makefile.am): Likewise.
4694         * modules/posixver (Makefile.am): Likewise.
4695         * modules/putenv (Makefile.am): Likewise.
4696         * modules/quote (Makefile.am): Likewise.
4697         * modules/quotearg (Makefile.am): Likewise.
4698         * modules/raise (Makefile.am): Likewise.
4699         * modules/read-file (Makefile.am): Likewise.
4700         * modules/readline (Makefile.am): Likewise.
4701         * modules/readlink (Makefile.am): Likewise.
4702         * modules/readtokens (Makefile.am): Likewise.
4703         * modules/readutmp (Makefile.am): Likewise.
4704         * modules/realloc (Makefile.am): Likewise.
4705         * modules/regex (Makefile.am): Likewise.
4706         * modules/rename-dest-slash (Makefile.am): Likewise.
4707         * modules/rename (Makefile.am): Likewise.
4708         * modules/rijndael (Makefile.am): Likewise.
4709         * modules/rmdir (Makefile.am): Likewise.
4710         * modules/rpmatch (Makefile.am): Likewise.
4711         * modules/safe-read (Makefile.am): Likewise.
4712         * modules/safe-write (Makefile.am): Likewise.
4713         * modules/same-inode (Makefile.am): Likewise.
4714         * modules/same (Makefile.am): Likewise.
4715         * modules/save-cwd (Makefile.am): Likewise.
4716         * modules/savedir (Makefile.am): Likewise.
4717         * modules/setenv (Makefile.am): Likewise.
4718         * modules/settime (Makefile.am): Likewise.
4719         * modules/sha1 (Makefile.am): Likewise.
4720         * modules/sig2str (Makefile.am): Likewise.
4721         * modules/snprintf (Makefile.am): Likewise.
4722         * modules/stat-macros (Makefile.am): Likewise.
4723         * modules/stat-time (Makefile.am): Likewise.
4724         * modules/stdbool (Makefile.am): Likewise.
4725         * modules/stdint (Makefile.am): Likewise.
4726         * modules/stdlib-safer (Makefile.am): Likewise.
4727         * modules/stpcpy (Makefile.am): Likewise.
4728         * modules/stpncpy (Makefile.am): Likewise.
4729         * modules/strcase (Makefile.am): Likewise.
4730         * modules/strcasestr (Makefile.am): Likewise.
4731         * modules/strchrnul (Makefile.am): Likewise.
4732         * modules/strcspn (Makefile.am): Likewise.
4733         * modules/strdup (Makefile.am): Likewise.
4734         * modules/strerror (Makefile.am): Likewise.
4735         * modules/strftime (Makefile.am): Likewise.
4736         * modules/strndup (Makefile.am): Likewise.
4737         * modules/strnlen (Makefile.am): Likewise.
4738         * modules/strpbrk (Makefile.am): Likewise.
4739         * modules/strsep (Makefile.am): Likewise.
4740         * modules/strstr (Makefile.am): Likewise.
4741         * modules/strtod (Makefile.am): Likewise.
4742         * modules/strtoimax (Makefile.am): Likewise.
4743         * modules/strtok_r (Makefile.am): Likewise.
4744         * modules/strtol (Makefile.am): Likewise.
4745         * modules/strtoll (Makefile.am): Likewise.
4746         * modules/strtoul (Makefile.am): Likewise.
4747         * modules/strtoull (Makefile.am): Likewise.
4748         * modules/strtoumax (Makefile.am): Likewise.
4749         * modules/strverscmp (Makefile.am): Likewise.
4750         * modules/sys_socket (Makefile.am): Likewise.
4751         * modules/sys_stat (Makefile.am): Likewise.
4752         * modules/sysexits (Makefile.am): Likewise.
4753         * modules/time_r (Makefile.am): Likewise.
4754         * modules/timegm (Makefile.am): Likewise.
4755         * modules/timespec (Makefile.am): Likewise.
4756         * modules/tmpfile-safer (Makefile.am): Likewise.
4757         * modules/trim (Makefile.am): Likewise.
4758         * modules/unistd-safer (Makefile.am): Likewise.
4759         * modules/unlinkdir (Makefile.am): Likewise.
4760         * modules/unlocked-io (Makefile.am): Likewise.
4761         * modules/userspec (Makefile.am): Likewise.
4762         * modules/utime (Makefile.am): Likewise.
4763         * modules/utimecmp (Makefile.am): Likewise.
4764         * modules/utimens (Makefile.am): Likewise.
4765         * modules/vasnprintf (Makefile.am): Likewise.
4766         * modules/vasprintf (Makefile.am): Likewise.
4767         * modules/vsnprintf (Makefile.am): Likewise.
4768         * modules/xalloc (Makefile.am): Likewise.
4769         * modules/xgetcwd (Makefile.am): Likewise.
4770         * modules/xnanosleep (Makefile.am): Likewise.
4771         * modules/xreadlink (Makefile.am): Likewise.
4772         * modules/xstrtod (Makefile.am): Likewise.
4773         * modules/xstrtol (Makefile.am): Likewise.
4774         * modules/xstrtold (Makefile.am): Likewise.
4775         * modules/yesno (Makefile.am): Likewise.
4776         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
4777
4778 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4779
4780         * modules/error (Makefile.am): Distribute files through
4781         EXTRA_DIST, not lib_SOURCES.
4782
4783 2006-10-12  Eric Blake  <ebb9@byu.net>
4784
4785         * modules/error (Makefile.am): Distribute files in /lib.
4786         * modules/obstack (Makefile.am): Likewise.
4787
4788 2006-10-12  Bruno Haible  <bruno@clisp.org>
4789
4790         * modules/acl (Makefile.am): Distribute all files in lib/ through
4791         EXTRA_DIST.
4792         * modules/arcfour (Makefile.am): Likewise.
4793         * modules/arctwo (Makefile.am): Likewise.
4794         * modules/argmatch (Makefile.am): Likewise.
4795         * modules/argz (Makefile.am): Likewise.
4796         * modules/atexit (Makefile.am): Likewise.
4797         * modules/backupfile (Makefile.am): Likewise.
4798         * modules/c-strtod (Makefile.am): Likewise.
4799         * modules/c-strtold (Makefile.am): Likewise.
4800         * modules/calloc (Makefile.am): Likewise.
4801         * modules/canon-host (Makefile.am): Likewise.
4802         * modules/canonicalize (Makefile.am): Likewise.
4803         * modules/chdir-long (Makefile.am): Likewise.
4804         * modules/chdir-safer (Makefile.am): Likewise.
4805         * modules/check-version (Makefile.am): Likewise.
4806         * modules/chown (Makefile.am): Likewise.
4807         * modules/cloexec (Makefile.am): Likewise.
4808         * modules/close-stream (Makefile.am): Likewise.
4809         * modules/closeout (Makefile.am): Likewise.
4810         * modules/crc (Makefile.am): Likewise.
4811         * modules/cycle-check (Makefile.am): Likewise.
4812         * modules/des (Makefile.am): Likewise.
4813         * modules/dirfd (Makefile.am): Likewise.
4814         * modules/dirname (Makefile.am): Likewise.
4815         * modules/dup2 (Makefile.am): Likewise.
4816         * modules/euidaccess (Makefile.am): Likewise.
4817         * modules/exclude (Makefile.am): Likewise.
4818         * modules/exitfail (Makefile.am): Likewise.
4819         * modules/fcntl-safer (Makefile.am): Likewise.
4820         * modules/file-type (Makefile.am): Likewise.
4821         * modules/fileblocks (Makefile.am): Likewise.
4822         * modules/filemode (Makefile.am): Likewise.
4823         * modules/filenamecat (Makefile.am): Likewise.
4824         * modules/fnmatch (Makefile.am): Likewise.
4825         * modules/fopen-safer (Makefile.am): Likewise.
4826         * modules/fpending (Makefile.am): Likewise.
4827         * modules/fprintftime (Makefile.am): Likewise.
4828         * modules/free (Makefile.am): Likewise.
4829         * modules/fsusage (Makefile.am): Likewise.
4830         * modules/ftruncate (Makefile.am): Likewise.
4831         * modules/fts (Makefile.am): Likewise.
4832         * modules/gc (Makefile.am): Likewise.
4833         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4834         * modules/getaddrinfo (Makefile.am): Likewise.
4835         * modules/getcwd (Makefile.am): Likewise.
4836         * modules/getdelim (Makefile.am): Likewise.
4837         * modules/getdomainname (Makefile.am): Likewise.
4838         * modules/getgroups (Makefile.am): Likewise.
4839         * modules/gethostname (Makefile.am): Likewise.
4840         * modules/gethrxtime (Makefile.am): Likewise.
4841         * modules/getline (Makefile.am): Likewise.
4842         * modules/getloadavg (Makefile.am): Likewise.
4843         * modules/getlogin_r (Makefile.am): Likewise.
4844         * modules/getopt (Makefile.am): Likewise.
4845         * modules/getpass (Makefile.am): Likewise.
4846         * modules/getpass-gnu (Makefile.am): Likewise.
4847         * modules/getsubopt (Makefile.am): Likewise.
4848         * modules/gettime (Makefile.am): Likewise.
4849         * modules/gettimeofday (Makefile.am): Likewise.
4850         * modules/getugroups (Makefile.am): Likewise.
4851         * modules/getusershell (Makefile.am): Likewise.
4852         * modules/glob (Makefile.am): Likewise.
4853         * modules/group-member (Makefile.am): Likewise.
4854         * modules/hard-locale (Makefile.am): Likewise.
4855         * modules/hash (Makefile.am): Likewise.
4856         * modules/hmac-md5 (Makefile.am): Likewise.
4857         * modules/hmac-sha1 (Makefile.am): Likewise.
4858         * modules/human (Makefile.am): Likewise.
4859         * modules/idcache (Makefile.am): Likewise.
4860         * modules/imaxabs (Makefile.am): Likewise.
4861         * modules/imaxdiv (Makefile.am): Likewise.
4862         * modules/inet_ntop (Makefile.am): Likewise.
4863         * modules/inet_pton (Makefile.am): Likewise.
4864         * modules/inttostr (Makefile.am): Likewise.
4865         * modules/isapipe (Makefile.am): Likewise.
4866         * modules/lchown (Makefile.am): Likewise.
4867         * modules/long-options (Makefile.am): Likewise.
4868         * modules/lstat (Makefile.am): Likewise.
4869         * modules/malloc (Makefile.am): Likewise.
4870         * modules/mathl (Makefile.am): Likewise.
4871         * modules/mbchar (Makefile.am): Likewise.
4872         * modules/md2 (Makefile.am): Likewise.
4873         * modules/md4 (Makefile.am): Likewise.
4874         * modules/md5 (Makefile.am): Likewise.
4875         * modules/memcasecmp (Makefile.am): Likewise.
4876         * modules/memchr (Makefile.am): Likewise.
4877         * modules/memcmp (Makefile.am): Likewise.
4878         * modules/memcoll (Makefile.am): Likewise.
4879         * modules/memcpy (Makefile.am): Likewise.
4880         * modules/memmem (Makefile.am): Likewise.
4881         * modules/memmove (Makefile.am): Likewise.
4882         * modules/mempcpy (Makefile.am): Likewise.
4883         * modules/memrchr (Makefile.am): Likewise.
4884         * modules/memset (Makefile.am): Likewise.
4885         * modules/memxor (Makefile.am): Likewise.
4886         * modules/mkancesdirs (Makefile.am): Likewise.
4887         * modules/mkdir (Makefile.am): Likewise.
4888         * modules/mkdir-p (Makefile.am): Likewise.
4889         * modules/mkdtemp (Makefile.am): Likewise.
4890         * modules/mkstemp (Makefile.am): Likewise.
4891         * modules/mktime (Makefile.am): Likewise.
4892         * modules/modechange (Makefile.am): Likewise.
4893         * modules/mountlist (Makefile.am): Likewise.
4894         * modules/nanosleep (Makefile.am): Likewise.
4895         * modules/openat (Makefile.am): Likewise.
4896         * modules/pagealign_alloc (Makefile.am): Likewise.
4897         * modules/physmem (Makefile.am): Likewise.
4898         * modules/poll (Makefile.am): Likewise.
4899         * modules/posixtm (Makefile.am): Likewise.
4900         * modules/posixver (Makefile.am): Likewise.
4901         * modules/putenv (Makefile.am): Likewise.
4902         * modules/quote (Makefile.am): Likewise.
4903         * modules/quotearg (Makefile.am): Likewise.
4904         * modules/raise (Makefile.am): Likewise.
4905         * modules/read-file (Makefile.am): Likewise.
4906         * modules/readline (Makefile.am): Likewise.
4907         * modules/readlink (Makefile.am): Likewise.
4908         * modules/readtokens (Makefile.am): Likewise.
4909         * modules/readutmp (Makefile.am): Likewise.
4910         * modules/realloc (Makefile.am): Likewise.
4911         * modules/regex (Makefile.am): Likewise.
4912         * modules/rename (Makefile.am): Likewise.
4913         * modules/rename-dest-slash (Makefile.am): Likewise.
4914         * modules/rijndael (Makefile.am): Likewise.
4915         * modules/rmdir (Makefile.am): Likewise.
4916         * modules/rpmatch (Makefile.am): Likewise.
4917         * modules/safe-read (Makefile.am): Likewise.
4918         * modules/safe-write (Makefile.am): Likewise.
4919         * modules/same (Makefile.am): Likewise.
4920         * modules/save-cwd (Makefile.am): Likewise.
4921         * modules/savedir (Makefile.am): Likewise.
4922         * modules/setenv (Makefile.am): Likewise.
4923         * modules/settime (Makefile.am): Likewise.
4924         * modules/sha1 (Makefile.am): Likewise.
4925         * modules/sig2str (Makefile.am): Likewise.
4926         * modules/snprintf (Makefile.am): Likewise.
4927         * modules/stdlib-safer (Makefile.am): Likewise.
4928         * modules/stpcpy (Makefile.am): Likewise.
4929         * modules/stpncpy (Makefile.am): Likewise.
4930         * modules/strcase (Makefile.am): Likewise.
4931         * modules/strcasestr (Makefile.am): Likewise.
4932         * modules/strchrnul (Makefile.am): Likewise.
4933         * modules/strcspn (Makefile.am): Likewise.
4934         * modules/strdup (Makefile.am): Likewise.
4935         * modules/strerror (Makefile.am): Likewise.
4936         * modules/strftime (Makefile.am): Likewise.
4937         * modules/strndup (Makefile.am): Likewise.
4938         * modules/strnlen (Makefile.am): Likewise.
4939         * modules/strpbrk (Makefile.am): Likewise.
4940         * modules/strsep (Makefile.am): Likewise.
4941         * modules/strstr (Makefile.am): Likewise.
4942         * modules/strtod (Makefile.am): Likewise.
4943         * modules/strtoimax (Makefile.am): Likewise.
4944         * modules/strtok_r (Makefile.am): Likewise.
4945         * modules/strtol (Makefile.am): Likewise.
4946         * modules/strtoll (Makefile.am): Likewise.
4947         * modules/strtoul (Makefile.am): Likewise.
4948         * modules/strtoull (Makefile.am): Likewise.
4949         * modules/strtoumax (Makefile.am): Likewise.
4950         * modules/strverscmp (Makefile.am): Likewise.
4951         * modules/time_r (Makefile.am): Likewise.
4952         * modules/timegm (Makefile.am): Likewise.
4953         * modules/tmpfile-safer (Makefile.am): Likewise.
4954         * modules/unistd-safer (Makefile.am): Likewise.
4955         * modules/unlinkdir (Makefile.am): Likewise.
4956         * modules/userspec (Makefile.am): Likewise.
4957         * modules/utime (Makefile.am): Likewise.
4958         * modules/utimecmp (Makefile.am): Likewise.
4959         * modules/utimens (Makefile.am): Likewise.
4960         * modules/vasnprintf (Makefile.am): Likewise.
4961         * modules/vasprintf (Makefile.am): Likewise.
4962         * modules/vsnprintf (Makefile.am): Likewise.
4963         * modules/xalloc (Makefile.am): Likewise.
4964         * modules/xgetcwd (Makefile.am): Likewise.
4965         * modules/xnanosleep (Makefile.am): Likewise.
4966         * modules/xreadlink (Makefile.am): Likewise.
4967         * modules/xstrtod (Makefile.am): Likewise.
4968         * modules/xstrtol (Makefile.am): Likewise.
4969         * modules/xstrtold (Makefile.am): Likewise.
4970         * modules/yesno (Makefile.am): Likewise.
4971
4972 2006-10-12  Jim Meyering  <jim@meyering.net>
4973
4974         * m4/getloadavg.m4: Revert the change below.
4975
4976         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
4977         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
4978         fail with a symlink, which is what coreutils' ./bootstrap now
4979         creates by default.
4980
4981 2006-10-12  Bruno Haible  <bruno@clisp.org>
4982
4983         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
4984         mingw.
4985         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
4986         MSVC and mingw explicitly.
4987
4988 2006-10-11  Simon Josefsson  <jas@extundo.com>
4989             Bruno Haible  <bruno@clisp.org>
4990
4991         Add support for multiple gnulib-tool invocations in the scope of a
4992         single configure.ac file.
4993         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
4994         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
4995         with the same contents as the _LIBADD variable.
4996         (func_emit_initmacro_start, func_emit_initmacro_end,
4997         func_emit_initmacro_done): New functions.
4998         (func_import, func_create_testdir): Invoke them. Allow the identifiers
4999         gl_LIBOBJS and gl_LTLIBOBJS.
5000
5001 2006-10-11  Bruno Haible  <bruno@clisp.org>
5002
5003         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
5004         (func_create_testdir): Don't create po/Makefile.am, don't invoke
5005         autoreconf. Instead, invoke autopoint explicitly but move back the
5006         *.m4 files from gnulib.
5007
5008 2006-10-11  Bruno Haible  <bruno@clisp.org>
5009
5010         * gnulib-tool (func_usage): Make module names after --create-testdir
5011         optional.
5012         (func_create_testdir): If no module was specified, use nearly all
5013         modules.
5014
5015 2006-10-12  Jim Meyering  <jim@meyering.net>
5016
5017         Big performance improvement for fts-based tools that use FTS_NOSTAT.
5018         Avoid spurious inode-mismatch problems on non-POSIX file systems.
5019         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
5020         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
5021         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
5022         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
5023         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
5024         (fts_set_stat_required): New function.
5025         (fts_open): Defer the calls to fts_stat, if possible or requested.
5026         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
5027         into fts_stat itself.
5028         (fts_read): Perform any required (deferred) fts_stat call.
5029         (fts_build): Likewise, for the directory we're about to open and read.
5030         In the readdir loop, carefully decide whether each entry will require
5031         an eventual call to fts_stat, using dirent.d_type info if available.
5032         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
5033         a command line argument into this function.  Update all callers.
5034         Map a return value of FTS_DOT to FTS_D for a command line argument.
5035         * modules/fts (Depends-on): Add d-type.  Alphabetize.
5036         Thanks to Miklos Szeredi for his tenacity and for the initial
5037         bug report about "find" failing on a FUSE-based file system.
5038
5039         * lib/fts.c (fts_open): Use consistent indentation.
5040
5041 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
5042
5043         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
5044         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
5045         reported by Jim Meyering.  All uses of cache variables renamed
5046         to match Autoconf's.
5047         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
5048         the other one.
5049
5050         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
5051         Fix misspelling in diagnostic.
5052
5053 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
5054
5055         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
5056         defined.  Problem reported by Matthew Woehlke.
5057
5058         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
5059         Add support for Tandem NonStop R series.
5060         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
5061         Use new macro.
5062
5063         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
5064         (has_trailing_slash): Omit size arg; all callers changed.
5065         Omit 'inline', since it doesn't help performance and we'd
5066         need to configure it.
5067         Don't count //, ///, etc. as having a trailing slash.
5068         As a side effect, this removes a C99ism reported by Matthew Woehlke.
5069         (rpl_rename_dest_slash): On failure, use rename's errno rather
5070         than (in some cases) an incorrect or junk errno.
5071         Simplify code by removing need to compute length; this does
5072         cause it to make two passes instead of one over the file name,
5073         but it's worth it.
5074
5075         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
5076         change, since Autoconf's version may no longer be appropriate now
5077         that we are using CVS Autoconf's version.  Add support for Tandem.
5078
5079 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
5080             Bruno Haible  <bruno@clisp.org>
5081
5082         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
5083         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
5084         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
5085         gl_AC_TYPE_LONG_LONG.
5086
5087         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
5088         instead of HAVE_LONG_LONG.
5089         * lib/printf-args.c (printf_fetchargs): Likewise.
5090         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
5091         * lib/vasnprintf.c (VASNPRINTF): Likewise.
5092         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
5093         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
5094         gl_AC_TYPE_LONG_LONG.
5095
5096 2006-10-11  Bruno Haible  <bruno@clisp.org>
5097
5098         * m4/longlong.m4: Add comments.
5099         * m4/ulonglong.m4: Likewise.
5100
5101 2006-10-10  Bruno Haible  <bruno@clisp.org>
5102
5103         Make it possible to #define stpcpy, strdup to aliases.
5104         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
5105         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
5106
5107 2006-10-10  Bruno Haible  <bruno@clisp.org>
5108
5109         Make it possible to #define gcd to an alias.
5110         * lib/gcd.c: Include config.h.
5111
5112 2006-10-10  Bruno Haible  <bruno@clisp.org>
5113
5114         Make it possible to #define c_isascii to an alias.
5115         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
5116         defined. Undefine the macros before defining them, to avoid gcc
5117         warnings.
5118         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
5119         define NO_C_CTYPE_MACROS early.
5120
5121 2006-10-10  Bruno Haible  <bruno@clisp.org>
5122
5123         Make it possible to #define set_program_name to an alias.
5124         * lib/progname.c: Don't undefine set_program_name; instead, undefine
5125         ENABLE_RELOCATABLE early.
5126
5127 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
5128
5129         Port to Tandem NSK OSS, which has 64-bit signed int but at most
5130         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
5131         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
5132         More generally, don't assume that 64-bit signed int is available
5133         if unsigned int is, and vice versa.
5134         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
5135         unsigned symbols, not on their signed counterparts.
5136         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
5137         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
5138         (UINT64_C, UINTMAX_C):
5139         Likewise.
5140         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
5141         unsigned counterparts.
5142         (Have_long_long, Unsigned): New macros.
5143         (Int): Renamed from INT.
5144         (strtoimax): Use the new macros.
5145         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
5146         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
5147         * modules/inttypes (inttypes.h): Substitute
5148         HAVE_UNSIGNED_LONG_LONG_INT.
5149         * modules/stdint (stdint.h): Likewise.
5150         (Files): Add m4/ulonglong.m4.
5151
5152 2006-10-10  Bruno Haible  <bruno@clisp.org>
5153
5154         Fix a gcc -Wshadow warning.
5155         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
5156         to 'bucket'.
5157         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
5158         gl_linked_indexof_from_to): Likewise.
5159         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
5160         Likewise.
5161         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
5162         Likewise.
5163         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
5164         Reported by Eric Blake.
5165
5166 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
5167
5168         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
5169         for NetBSD.  Problem reported by Bruno Haible.
5170
5171 2006-10-09  Jim Meyering  <jim@meyering.net>
5172
5173         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
5174         Patch from Bruno Haible.
5175
5176 2006-10-09  Jim Meyering  <jim@meyering.net>
5177
5178         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
5179         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
5180         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
5181
5182 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5183
5184         Don't include <config.h> twice; this doesn't work in some cases,
5185         e.g., when config.h has "#define intmax_t long long int" and
5186         we include <config.h>, <inttypes.h>, <config.h> in that order.
5187         Problem reported by Matthew Woehlke in:
5188         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
5189         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
5190         * lib/fts-cycle.c: Don't include config.h.
5191         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
5192         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
5193         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
5194         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
5195         inttypes.h.
5196         * lib/xstrtoumax.c: Likewise.
5197         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
5198         __strtol and the like, so that this module is more like its siblings.
5199         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
5200         Remove; no longer needed now that we assume gnulib inttypes.h.
5201
5202 2006-10-08  Bruno Haible  <bruno@clisp.org>
5203
5204         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
5205         option.
5206
5207 2006-10-07  Jim Meyering  <jim@meyering.net>
5208
5209         * modules/inttypes (inttypes.h): Revert what seems to have been
5210         an inadvertent part of today's change: use "|", not "/" in the
5211         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
5212
5213 2006-10-07  Bruno Haible  <bruno@clisp.org>
5214
5215         * modules/sublist: New file.
5216
5217 2006-10-07  Bruno Haible  <bruno@clisp.org>
5218
5219         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
5220         * modules/argz (argz.h): Likewise.
5221         * modules/arpa_inet (arpa/inet.h): Likewise.
5222         * modules/byteswap (byteswap.h): Likewise.
5223         * modules/configmake (configmake.h): Likewise.
5224         * modules/fcntl (fcntl.h): Likewise.
5225         * modules/fnmatch (fnmatch.h): Likewise.
5226         * modules/getopt (getopt.h): Likewise.
5227         * modules/glob (glob.h): Likewise.
5228         * modules/inttypes (inttypes.h): Likewise.
5229         * modules/netinet_in (netinet/in.h): Likewise.
5230         * modules/poll (poll.h): Likewise.
5231         * modules/stdbool (stdbool.h): Likewise.
5232         * modules/stdint (stdint.h): Likewise.
5233         * modules/sys_select (sys/select.h): Likewise.
5234         * modules/sys_socket (sys/socket.h): Likewise.
5235         * modules/sys_stat (sys/stat.h): Likewise.
5236         * modules/sysexits (sysexits.h): Likewise.
5237         * modules/unistd (unistd.h): Likewise.
5238         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5239         Add a "DO NOT EDIT" comment to the generated file.
5240         (func_import): Likewise for gnulib-comp.m4.
5241
5242 2006-10-07  Bruno Haible  <bruno@clisp.org>
5243
5244         * lib/gl_sublist.h: New file.
5245         * lib/gl_sublist.c: New file.
5246
5247 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
5248
5249         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
5250         name (relative to the original working directory) and the file
5251         name component (relative to the temporary working directory).  All
5252         callers changed.
5253         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
5254         * lib/mkdir-p.c (make_dir_parents): Likewise.
5255         * lib/mkdir-p.h (make_dir_parents): Likewise.
5256
5257 2006-10-06  Eric Blake  <ebb9@byu.net>
5258
5259         Define several macros for use by the clean-temp module.
5260         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
5261         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
5262         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
5263
5264         * lib/clean-temp.h (close_stream_temp): New declaration.
5265         * lib/clean-temp.c (includes): Pull in headers according to what
5266         other modules are in use.
5267         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
5268
5269 2006-10-06  Bruno Haible  <bruno@clisp.org>
5270
5271         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
5272         instead of fopen, fwriteerror.
5273
5274 2006-10-06  Bruno Haible  <bruno@clisp.org>
5275
5276         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
5277         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
5278         int.
5279         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
5280         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
5281         Return an error indicator.
5282         Suggested by Eric Blake.
5283
5284 2006-10-06  Bruno Haible  <bruno@clisp.org>
5285
5286         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
5287         Reported by Eric Blake.
5288
5289 2006-10-06  Bruno Haible  <bruno@clisp.org>
5290
5291         * modules/closeout (Description): Mention stderr too.
5292
5293 2006-10-06  Bruno Haible  <bruno@clisp.org>
5294         and Paul Eggert  <eggert@cs.ucla.edu>
5295
5296         * lib/closeout.c (close_stdout): Also close stderr.
5297         * lib/closeout.h: Update comment.
5298
5299 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5300
5301         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
5302         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
5303         * lib/dirchownmod.c: Include lchown.h.
5304         * lib/lchown.c: Don't include files that lchown.h now includes.
5305         Don't declare chown, since lchown.h now does that.
5306         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
5307         (lchown): Define to rpl_chown if lchown is declared but
5308         does not exist.  Declare using a prototype if lchown is not
5309         declared.  Add a copyright notice.
5310         * lib/mkstemp.h: Include <unistd.h>.
5311         * lib/openat.c: Include lchown.h.
5312
5313         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
5314         we now test for that separately.
5315         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
5316         rather than O_NOFOLLOW, when testing whether it's possible to
5317         avoid a race condition reliably.
5318         * lib/savewd.c (savewd_chdir): Likewise.
5319
5320         Remove macros that are no longer needed now that stdint.h is
5321         reliable.
5322         * lib/fsusage.c (UINTMAX_MAX): Remove.
5323         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
5324         * lib/utimecmp.c (SIZE_MAX): Remove.
5325
5326         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
5327
5328         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
5329         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
5330         O_NOATIME works.
5331
5332 2006-10-05  Bruno Haible  <bruno@clisp.org>
5333
5334         * lib/gl_list.h (gl_sortedlist_search_from_to,
5335         gl_sortedlist_indexof_from_to): New declarations.
5336         (gl_list_implementation): New fields sortedlist_search_from_to,
5337         sortedlist_indexof_from_to.
5338         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
5339         inline functions.
5340         * lib/gl_list.c (gl_sortedlist_search_from_to,
5341         gl_sortedlist_indexof_from_to): New functions.
5342         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
5343         function.
5344         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
5345         (gl_array_sortedlist_search_from_to): New function.
5346         (gl_array_list_implementation): Update.
5347         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
5348         function.
5349         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
5350         (gl_carray_sortedlist_search_from_to): New function.
5351         (gl_carray_list_implementation): Update.
5352         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
5353         gl_linked_sortedlist_indexof_from_to): New functions.
5354         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5355         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5356         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
5357         gl_tree_sortedlist_indexof_from_to): New functions.
5358         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5359         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5360         Update.
5361         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5362         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
5363         Update.
5364
5365 2006-10-05  Bruno Haible  <bruno@clisp.org>
5366
5367         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
5368         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
5369         (struct gl_list_implementation): Add fields search_from_to,
5370         indexof_from_to. Remove fields search, indexof.
5371         (gl_list_search): Use the search_from_to method.
5372         (gl_list_search_from, gl_list_search_from_to): New functions.
5373         (gl_list_indexof): Use the indexof_from_to method.
5374         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5375         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
5376         (gl_list_search_from, gl_list_search_from_to): New functions.
5377         (gl_list_indexof): Use the indexof_from_to method.
5378         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5379         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
5380         gl_array_indexof. Add start_index, end_index arguments.
5381         (gl_array_search_from_to): Renamed from gl_array_search. Add
5382         start_index, end_index arguments.
5383         (gl_array_remove, gl_array_list_implementation): Update.
5384         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
5385         gl_carray_indexof. Add start_index, end_index arguments.
5386         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
5387         start_index, end_index arguments.
5388         (gl_carray_remove, gl_carray_list_implementation): Update.
5389         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
5390         gl_linked_search. Add start_index, end_index arguments.
5391         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
5392         start_index, end_index arguments.
5393         (gl_linked_remove): Update.
5394         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5395         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5396         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
5397         field to 'size_t'.
5398         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
5399         gl_tree_search. Add start_index, end_index arguments.
5400         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5401         start_index, end_index arguments.
5402         (gl_tree_remove): Update.
5403         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5404         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5405         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
5406         function.
5407         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
5408         gl_tree_search. Add start_index, end_index arguments.
5409         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5410         start_index, end_index arguments.
5411         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5412         Update.
5413         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
5414
5415 2006-10-05  Bruno Haible  <bruno@clisp.org>
5416
5417         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
5418
5419         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5420         fwriteerror_temp): New declarations.
5421         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
5422         (descriptors): New variable.
5423         (cleanup): First, close the descriptors.
5424         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
5425         fclose_temp, fwriteerror_temp): New functions.
5426
5427 2006-10-04  Jim Meyering  <jim@meyering.net>
5428
5429         * lib/fts.c (fts_open): Tiny comment change.
5430
5431 2006-10-04  Bruno Haible  <bruno@clisp.org>
5432
5433         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
5434         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
5435         gl_LOCK_BODY.
5436         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
5437         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
5438         gl_LOCK_EARLY_BODY.
5439         (gl_LOCK): Require gl_LOCK_BODY.
5440
5441 2006-10-04  Bruno Haible  <bruno@clisp.org>
5442
5443         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
5444         (gl_oset_search_atleast): New declaration.
5445         (struct gl_oset_implementation): Add field 'search_atleast'.
5446         (gl_oset_search_atleast): New inline function.
5447         * lib/gl_oset.c (gl_oset_search_atleast): New function.
5448         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
5449         (gl_array_oset_implementation): Update.
5450         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
5451         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
5452         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
5453
5454 2006-10-04  Bruno Haible  <bruno@clisp.org>
5455
5456         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
5457
5458 2006-10-03  Bruno Haible  <bruno@clisp.org>
5459
5460         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
5461         from gl_avltreehash_list_implementation.
5462
5463 2006-10-03  Bruno Haible  <bruno@clisp.org>
5464
5465         * lib/gl_oset.c (gl_oset_add): Fix return type.
5466
5467 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
5468
5469         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
5470
5471 2006-10-02  Eric Blake  <ebb9@byu.net>
5472
5473         * modules/strnlen (Depends-on): Add extensions.
5474
5475 2006-10-02  Eric Blake  <ebb9@byu.net>
5476
5477         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
5478         definition in 2.60+.
5479
5480 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
5481
5482         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
5483         checks.
5484
5485 2006-10-02  Bruno Haible  <bruno@clisp.org>
5486
5487         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
5488         to the AUTOMAKE_OPTIONS.
5489         Reported by Jim Meyering.
5490
5491 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
5492
5493         Work around bug in Solaris 10 /proc file system:
5494         /proc/self/fd/NNN/.. isn't the parent directory of
5495         the directory whose file descriptor is NNN.  This needs to
5496         be worked around at run time, not compile time, since a
5497         program might be built on Solaris 8, where things work, and
5498         run on Solaris 10.
5499         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
5500         to use the following interface instead:
5501         (OPENAT_BUFFER_SIZE): New macro.
5502         (openat_proc_name): New function.
5503         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
5504         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
5505         Likewise.
5506         * lib/openat-proc.c: New file.
5507         * modules/openat (Files): Add lib/openat-proc.c.
5508         (Depends-on): Add same-inode, stdbool.
5509         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
5510
5511 2006-09-29  Bruno Haible  <bruno@clisp.org>
5512
5513         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
5514         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
5515         argument. Set stdout_closed before testing for ferror, not after.
5516         (fwriteerror, fwriteerror_no_ebadf): New functions.
5517
5518 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5519
5520         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
5521
5522 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
5523
5524         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
5525         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
5526
5527 2006-09-28  Jim Meyering  <jim@meyering.net>
5528
5529         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
5530         Include <unistd.h>.
5531
5532 2006-09-28  Bruno Haible  <bruno@clisp.org>
5533
5534         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
5535         * modules/linkedhash-list (Depends-on): Likewise.
5536         * modules/rbtreehash-list (Depends-on): Likewise.
5537
5538 2006-09-28  Bruno Haible  <bruno@clisp.org>
5539
5540         * lib/strndup.h: Simplify the redefinition of strndup.
5541         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
5542         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
5543
5544 2006-09-28  Bruno Haible  <bruno@clisp.org>
5545
5546         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
5547         * lib/gl_linkedhash_list.c: Likewise.
5548         * lib/gl_rbtreehash_list.c: Likewise.
5549
5550 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
5551
5552         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
5553         getaddrinfo.
5554
5555         * lib/__fpending.h: Don't include <stdio_ext.h> unless
5556         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
5557         it causes <stdio_ext.h> to cause a compile-time error.
5558         Problem reported by Nelson H. F. Beebe.
5559         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
5560         of HAVE_DECL___PENDING.
5561
5562         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
5563         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
5564         declaration.
5565
5566 2006-09-27  Jim Meyering  <jim@meyering.net>
5567
5568         This file could end up with a definition for a function
5569         named __strndup, rather than rpl_strndup on a system with
5570         incomplete weak_alias support.
5571         * lib/strndup.c (strndup): Rename from __strndup.
5572         Remove #defines that used to map __strndup to strndup.
5573         Don't use K&R prototypes.
5574         Remove LIBC-related code, since this file is not sync'd with glibc.
5575         * lib/strndup.h: Revamp, accordingly.
5576         * m4/strndup.m4: Modernize.
5577
5578 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5579
5580         * modules/savewd (Depends-on): Add 'raise'.
5581         * lib/savewd.c: Include <signal.h>, for 'raise'.
5582
5583 2006-09-26  Jim Meyering  <jim@meyering.net>
5584
5585         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
5586         when we detect Darwin 8.7.0's acl_get_file bug.
5587         Rearrange to perform the new (below) run-test while $LIBS
5588         contains any acl-related library.  Set USE_ACL at the end.
5589         (gl_ACL_GET_FILE): New function.
5590
5591 2006-09-26  Eric Blake  <ebb9@byu.net>
5592
5593         * lib/verror.c: Include <config.h> unconditionally.
5594
5595 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
5596
5597         * modules/clock-time (Maintainer): Add self.
5598         * modules/getlogin_r (Depends-on): Add extensions.
5599
5600 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5601
5602         * modules/clock-time: New module.
5603         * modules/nanosleep (Depends-on): Add clock-time.
5604         * modules/gethrxtime (Depends-on): Likewise.
5605         * modules/gettime (Depends-on): Likewise.
5606         * modules/settime (Depends-on): Likewise.
5607
5608         * modules/fts-lgpl: Depend on openat.
5609         * modules/mkancesdirs: Depend on savewd.
5610         * modules/mkdir-p: Likewise.
5611
5612 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5613
5614         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
5615
5616         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
5617         `gl_have_arbitrary_file_name_length_limit' to
5618         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
5619         actually works between configure runs.
5620
5621 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5622             Bruno Haible  <bruno@clisp.org>
5623
5624         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
5625
5626 2006-09-25  Jim Meyering  <jim@meyering.net>
5627
5628         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
5629         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
5630
5631 2006-09-25  Eric Blake  <ebb9@byu.net>
5632
5633         * gnulib-tool (func_import, func_create_testdir): Fix typos in
5634         exec's in 2006-09-18 patch when shuffling fds.
5635
5636 2006-09-25  Bruno Haible  <bruno@clisp.org>
5637
5638         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
5639         Reported by Jim Meyering.
5640
5641 2006-09-24  Jim Meyering  <jim@meyering.net>
5642
5643         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
5644         compare a pointer against a literal "0".  That caused failures with
5645         at least HP-UX's hpcc.
5646
5647 2006-09-22  Simon Josefsson  <jas@extundo.com>
5648
5649         * modules/gc-sha1:
5650         * modules/gc-md4:
5651         * modules/gc-hmac-sha1:
5652         * modules/gc-hmac-md5:
5653         * modules/gc-des:
5654         * modules/gc-arcfour: Distribute more files.
5655
5656 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5657
5658         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
5659         (gl_linked_iterator_from_to): Initialize struct completely.
5660         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
5661         (gl_tree_iterator_from_to): Likewise
5662         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
5663         * lib/gl_array_list.c [lint] (gl_array_iterator)
5664         (gl_array_iterator_from_to): Likewise.
5665         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
5666         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
5667         (gl_carray_iterator_from_to): Likewise.
5668
5669         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
5670         * lib/md4.c (md4_process_block): Remove unused variable.
5671         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
5672         parentheses for clarity.
5673
5674 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5675
5676         * modules/bison-i18n (Depends-on): Add gettext.
5677
5678 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5679
5680         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
5681         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
5682         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
5683         also add missing comma that caused broken test.
5684         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
5685         stdlib.h, for `abort'.
5686         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
5687         variables.
5688         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
5689         include unistd.h if present, for `rmdir'.
5690         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
5691         variables.
5692         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
5693         in the process include standard headers for prototypes.
5694         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
5695         gets declared on GNU/Linux.
5696         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
5697         unistd.h, for `rmdir'.
5698         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
5699
5700         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
5701         always true.
5702         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
5703
5704         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
5705
5706 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5707
5708         * gnulib-tool (func_version): Create output all at once.  This
5709         may help avoid triggering unnecessary SIGPIPEs, and at any
5710         rate it doesn't hurt.
5711
5712 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5713             Bruno Haible  <bruno@clisp.org>
5714
5715         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
5716         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
5717         * m4/signed.m4 (bh_C_SIGNED): Likewise.
5718
5719         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
5720         (gl_FUNC_VASPRINTF): Invoke it.
5721
5722 2006-09-22  Bruno Haible  <bruno@clisp.org>
5723
5724         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
5725         getloadavg.c as first argument.
5726
5727 2006-09-22  Bruno Haible  <bruno@clisp.org>
5728
5729         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
5730         at the beginning of the gl_INIT macro.
5731         * modules/getloadavg (configure.ac): Pass $gl_source_base to
5732         gl_GETLOADAVG.
5733
5734 2006-09-22  Bruno Haible  <bruno@clisp.org>
5735
5736         * gnulib-tool (func_create_megatestdir): Don't include the config-h
5737         module.
5738         Suggested by Ralf Wildenhues.
5739
5740 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
5741
5742         Import this patch from libc:
5743
5744         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
5745
5746         * lib/regex_internal.c (re_string_reconstruct): Handle
5747         offset < pstr->valid_raw_len && pstr->offsets_needed case.
5748         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
5749         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
5750         re_string_context_at.
5751
5752         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
5753         now requires it.
5754         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
5755         gl_REGEX now does it for us.
5756         (gl_REGEX): Add test taken from
5757         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
5758
5759         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
5760         Check that large offsets work.  Modernize Autoconf usages.
5761         Prefer "yes" to mean a good thing rather than a bad.
5762         Don't put "#define mkstemp" in config.h, as this might interfere
5763         with standard system headers that "#define mkstemp mkstemp64".
5764
5765         * modules/mkstemp (Depends-on): Add extensions, so that
5766         mkstemp is visible on some platforms.
5767         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
5768         (Include): Change to "mkstemp.h" from <stdlib.h>.
5769         (Files): Add mkstemp.h.
5770
5771         * lib/mkstemp.h: New file, since some standard headers
5772         #define mkstemp.
5773         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
5774         Include "mkstemp.h".
5775         Make the _LIBC code resemble glibc original more,
5776         e.g., use K&R style.
5777         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
5778         (mkstemp): Remove, since mkstemp.h does this for us.
5779         * lib/stdlib--.h: Include mkstemp.h.
5780
5781         Import this patch from libc:
5782
5783         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5784
5785         * lib/tempname.c (__gen_tempname): Change attempts_min
5786         into a macro.  Use preprocessor to decide how to initialize
5787         attempts [Coverity CID 67].
5788
5789 2006-09-20  Bruno Haible  <bruno@clisp.org>
5790
5791         * lib/mkdtemp.c: Import from libc.
5792         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5793                 * sysdeps/posix/tempname.c (__gen_tempname): Change
5794                 attempts_min into a macro.  Use preprocessor to decide how to
5795                 initialize attempts [Coverity CID 67].
5796         2001-11-27  Paul Eggert  <eggert@twinsun.com>
5797                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
5798                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
5799
5800 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5801
5802         * gnulib-tool (func_exit): New function, to allow to pass the
5803         exit status portably through the trap.  Use everywhere.
5804         (--help, --version): Signal a write error.
5805         (trap): catch SIGPIPE, for write errors.
5806         Exit at the end of the trap, with the correct exit status.
5807
5808 2006-09-19  Karl Berry  <karl@gnu.org>
5809
5810         * doc/gnulib.texi: note about the license texinfo files.
5811
5812 2006-09-19  Eric Blake  <ebb9@byu.net>
5813
5814         * gnulib-tool: Avoid space-tab.
5815
5816 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5817
5818         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
5819         that prevented coreutils 6.1 from building.  Problem reported
5820         by Petter Reinholdtsen.
5821
5822 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5823
5824         * gnulib-tool (avoidlist): Fix typo that broke options like
5825         --avoid=lock that are used by coreutils bootstrap.
5826
5827 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
5828
5829         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
5830         more systematically.
5831
5832 2006-09-18  Jim Meyering  <jim@meyering.net>
5833
5834         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
5835
5836 2006-09-18  Bruno Haible  <bruno@clisp.org>
5837
5838         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
5839
5840 2006-09-18  Bruno Haible  <bruno@clisp.org>
5841
5842         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
5843         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
5844         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
5845         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
5846         * m4/gettext.m4: Require autoconf >= 2.52.
5847         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
5848         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
5849         of gl_cv_header_inttypes_h.
5850
5851 2006-09-18  Bruno Haible  <bruno@clisp.org>
5852
5853         * lib/javaversion.c: Include configmake.h.
5854
5855 2006-09-18  Bruno Haible  <bruno@clisp.org>
5856
5857         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
5858         avoid that the while loops be executed in a subshell.
5859
5860 2006-09-18  Bruno Haible  <bruno@clisp.org>
5861
5862         * MODULES.html.sh (func_module): Break long lines.
5863         Suggested by Bruce Korb <bkorb@gnu.org>.
5864
5865 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5866
5867         Speed up by a factor of 1.12.
5868         * gnulib-tool (nl): New variable.
5869         (func_import): Rewrite include directive extraction to only read each
5870         directive once.
5871
5872 2006-09-17  Bruno Haible  <bruno@clisp.org>
5873
5874         * modules/javaversion (Makefile.am): Remove DEFS setting.
5875         (Depends-on): Add configmake, for PKGDATADIR definition.
5876
5877 2006-09-17  Bruno Haible  <bruno@clisp.org>
5878
5879         * gnulib-tool (func_create_testdir): Rewrite all files at once.
5880
5881 2006-09-17  Bruno Haible  <bruno@clisp.org>
5882
5883         * gnulib-tool (func_append): New function, stolen from libtool.m4.
5884         (func_modules_transitive_closure, func_modules_add_dummy,
5885         func_modules_to_filelist, func_import, func_create_testdir,
5886         func_create_megatestdir, ...): Use it wherever possible.
5887         Suggested by Ralf Wildenhues.
5888
5889 2006-09-16  Karl Berry  <karl@gnu.org>
5890
5891         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
5892         to avoid sectioning errors.
5893         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
5894         [ifinfo]: blank line after @center-ed titles.
5895         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
5896         Spell FSF address consistently with others.
5897         (These changes approved by rms.)
5898
5899 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5900
5901         Speed up by a factor of 1.61.
5902         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
5903         already checked module names again.
5904
5905 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5906
5907         Speed up by a factor of 1.13.
5908         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
5909         for new_files, and the input to func_add_or_update.
5910
5911 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5912
5913         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
5914         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
5915
5916 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5917
5918         * modules/mkancesdirs (Depends-on): Add fcntl.
5919         * modules/savewd: New file.
5920         * MODULES.html.sh (File system functions): Add savewd.
5921
5922         * modules/configmake (Makefile.am): Add support for the
5923         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
5924
5925 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5926
5927         * m4/savewd.m4: New file.
5928
5929 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5930
5931         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
5932         (dirchownmod): New arg FD.  All callers changed.
5933         Use FD rather than opening the directory ourself, as opening is
5934         now the caller's responsibility.
5935         * lib/dirchownmod.h: Likewise.
5936         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
5937         hosts that require <sys/types.h> before <sys/stat.h>.  Include
5938         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
5939         (test_dir): Remove.
5940         (mkancesdirs): Return length of prefix of FILE that has already
5941         been made, or -2 if there is a child doing the work.  Redo
5942         algorithm so that it is O(N) rather than O(N**2).  Optimize away
5943         ".", and treat ".." specially since it might stray back into
5944         already-created areas.  Use a subprocess if necessary.  New arg
5945         WD; all users changed.  MAKE_DIR function should now return 1
5946         if it creates a directory that is not readable.  Return -2 if
5947         a child process is spun off.
5948         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
5949         Adjust signature to match code.
5950         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
5951         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
5952         all users changed.
5953         * lib/savewd.c, lib/savewd.h: New files.
5954
5955 2006-09-15  Jim Meyering  <jim@meyering.net>
5956
5957         * modules/rename-dest-slash: New module.
5958         * MODULES.html.sh (posix_compat): Add it here.
5959
5960         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
5961
5962 2006-09-15  Jim Meyering  <jim@meyering.net>
5963
5964         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
5965         file.
5966
5967         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
5968
5969 2006-09-15  Jim Meyering  <jim@meyering.net>
5970
5971         * lib/rename-dest-slash.c (has_trailing_slash): Use
5972         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
5973         (rpl_rename_dest_slash): Perform the cheaper trailing slash
5974         test before testing whether SRC is a directory.
5975         Suggestions from Bruno Haible.
5976
5977         Avoid a warning about an unused variable.
5978         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
5979         into the #ifdef block where it's used.
5980
5981         * lib/rename-dest-slash.c: New file.
5982
5983 2006-09-14  Bruno Haible  <bruno@clisp.org>
5984
5985         * lib/allocsa.c: Include <config.h> unconditionally.
5986         * lib/asnprintf.c: Likewise.
5987         * lib/asprintf.c: Likewise.
5988         * lib/c-strcasecmp.c: Likewise.
5989         * lib/c-strcasestr.c: Likewise.
5990         * lib/c-strncasecmp.c: Likewise.
5991         * lib/c-strstr.c: Likewise.
5992         * lib/classpath.c: Likewise.
5993         * lib/clean-temp.c: Likewise.
5994         * lib/concatpath.c: Likewise.
5995         * lib/copy-file.c: Likewise.
5996         * lib/csharpcomp.c: Likewise.
5997         * lib/csharpexec.c: Likewise.
5998         * lib/execute.c: Likewise.
5999         * lib/fatal-signal.c: Likewise.
6000         * lib/findprog.c: Likewise.
6001         * lib/fwriteerror.c: Likewise.
6002         * lib/gl_array_list.c: Likewise.
6003         * lib/gl_array_oset.c: Likewise.
6004         * lib/gl_avltree_list.c: Likewise.
6005         * lib/gl_avltree_oset.c: Likewise.
6006         * lib/gl_avltreehash_list.c: Likewise.
6007         * lib/gl_carray_list.c: Likewise.
6008         * lib/gl_linked_list.c: Likewise.
6009         * lib/gl_linkedhash_list.c: Likewise.
6010         * lib/gl_list.c: Likewise.
6011         * lib/gl_oset.c: Likewise.
6012         * lib/gl_rbtree_list.c: Likewise.
6013         * lib/gl_rbtree_oset.c: Likewise.
6014         * lib/gl_rbtreehash_list.c: Likewise.
6015         * lib/imaxabs.c: Likewise.
6016         * lib/imaxdiv.c: Likewise.
6017         * lib/javacomp.c: Likewise.
6018         * lib/javaexec.c: Likewise.
6019         * lib/javaversion.c: Likewise.
6020         * lib/linebreak.c: Likewise.
6021         * lib/localcharset.c: Likewise.
6022         * lib/lock.c: Likewise.
6023         * lib/mbchar.c: Likewise.
6024         * lib/mbswidth.c: Likewise.
6025         * lib/mkdtemp.c: Likewise.
6026         * lib/pipe.c: Likewise.
6027         * lib/printf-args.c: Likewise.
6028         * lib/printf-parse.c: Likewise.
6029         * lib/progname.c: Likewise.
6030         * lib/progreloc.c: Likewise.
6031         * lib/readlink.c: Likewise.
6032         * lib/sh-quote.c: Likewise.
6033         * lib/stpcpy.c: Likewise.
6034         * lib/stpncpy.c: Likewise.
6035         * lib/strcasecmp.c: Likewise.
6036         * lib/strcasestr.c: Likewise.
6037         * lib/strcspn.c: Likewise.
6038         * lib/striconv.c: Likewise.
6039         * lib/strncasecmp.c: Likewise.
6040         * lib/strnlen1.c: Likewise.
6041         * lib/strstr.c: Likewise.
6042         * lib/strtok_r.c: Likewise.
6043         * lib/tls.c: Likewise.
6044         * lib/tmpdir.c: Likewise.
6045         * lib/unicodeio.c: Likewise.
6046         * lib/unsetenv.c: Likewise.
6047         * lib/vasnprintf.c: Likewise.
6048         * lib/vasprintf.c: Likewise.
6049         * lib/wait-process.c: Likewise.
6050         * lib/xallocsa.c: Likewise.
6051         * lib/xsetenv.c: Likewise.
6052         * lib/xstriconv.c: Likewise.
6053
6054 2006-09-13  Simon Josefsson  <jas@extundo.com>
6055
6056         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
6057         that internally, suggested by Ralf Wildenhues
6058         <Ralf.Wildenhues@gmx.de>.
6059
6060 2006-09-13  Simon Josefsson  <jas@extundo.com>
6061
6062         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
6063         @LIBOBJS@.
6064         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6065
6066 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
6067
6068         * lib/_fpending.c: Include <config.h> unconditionally, since we no
6069         longer worry about uses that don't define HAVE_CONFIG_H.
6070         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
6071         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
6072         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
6073         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
6074         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
6075         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
6076         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
6077         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
6078         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
6079         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
6080         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
6081         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
6082         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
6083         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
6084         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
6085         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
6086         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
6087         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
6088         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
6089         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
6090         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
6091         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
6092         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
6093         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
6094         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
6095         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
6096         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
6097         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
6098         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
6099         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
6100         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
6101         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
6102         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
6103         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
6104         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
6105         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
6106         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
6107         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
6108         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
6109         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
6110         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
6111         Likewise.
6112
6113 2006-09-13  Eric Blake  <ebb9@byu.net>
6114
6115         * lib/getopt.c: Fix typo in last commit.
6116
6117 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
6118
6119         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
6120         dgettext.
6121
6122 2006-09-12  Jim Meyering  <jim@meyering.net>
6123
6124         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
6125         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
6126         Reported by Nelson H. F. Beebe.
6127
6128 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
6129
6130         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
6131         program_invocation_name and program_invocation_short_name are
6132         initialized.
6133         * lib/argp-namefrob.h: Move declarations of program_invocation_name
6134         and program_invocation_short_name to argp.h, so they are visible
6135         to user programs.
6136         * lib/argp.h: Likewise
6137
6138 2006-09-10  Bruno Haible  <bruno@clisp.org>
6139
6140         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
6141         m4/inttypes_h.m4, m4/uintmax_t.m4.
6142
6143 2006-09-10  Bruno Haible  <bruno@clisp.org>
6144
6145         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
6146         gl_AC_TYPE_UINTMAX_T.
6147
6148 2006-09-10  Bruno Haible  <bruno@clisp.org>
6149
6150         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
6151
6152 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6153
6154         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
6155         convention.  Text proposed by Bruno Haible.
6156         (struct argp_option): Document the use of N_() wrappers.
6157
6158         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
6159         '\v', and translate the two parts separately, instead of feeding
6160         the whole string to gettext.  This allows to exclude
6161         '\v' from the strings visible to the translator by writing doc
6162         strings as N_("..") "\v" N_("..").
6163
6164 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
6165
6166         * config/srclist.txt: Undo latest change; the bug was fixed.
6167
6168 2006-09-09  Bruno Haible  <bruno@clisp.org>
6169
6170         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
6171         assignments if building a library without libtool.
6172         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
6173         in func_emit_lib_Makefile_am.
6174         (func_import): When building a static library libfoo.a, arrange to
6175         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
6176         (func_create_testdir): Likewise.
6177         * modules/gc (configure.ac, Makefile.am): If building statically,
6178         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
6179         * modules/iconvme (configure.ac, Makefile.am): Likewise.
6180         * modules/striconv (configure.ac, Makefile.am): Likewise.
6181         Based on a suggestion by Ralf Wildenhues.
6182
6183 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6184
6185         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
6186         Check for unistd.h too, since Autoconf doesn't assume POSIX.
6187         Also:
6188
6189         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6190         Add year_2050_test to catch glibc bug 2821
6191         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6192
6193         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6194         Prefer #ifdef to #if.
6195
6196         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
6197         Return from 'main' instead of calling 'exit'.
6198
6199 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6200
6201         * lib/mktime.c (guess_time_tm): Fix bug where mktime
6202         returned the maximum time_t value rather than (time_t) -1.
6203         Problem originally reported by William Bardwell
6204         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6205
6206         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6207         Moved to here ...
6208         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6209         ... from here.
6210
6211 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6212
6213         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
6214         2821 is fixed.
6215
6216 2006-09-08  Jim Meyering  <jim@meyering.net>
6217
6218         Don't make generated files read-only.  That would bother too many
6219         people.  However, do retain the ability to work when targets are
6220         read-only: remove the destination and temporary files before writing
6221         them (when generated via sed or echo), or by using the -f option for
6222         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
6223         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6224         * modules/byteswap, modules/configmake, modules/fcntl:
6225         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6226         * modules/localcharset, modules/netinet_in, modules/poll:
6227         * modules/stdbool, modules/stdint, modules/sys_select:
6228         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6229
6230 2006-09-08  Jim Meyering  <jim@meyering.net>
6231
6232         Avoid new build failure on FreeBSD 6.0.
6233         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
6234         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
6235         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
6236
6237 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6238
6239         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
6240
6241 2006-09-07  Jim Meyering  <jim@meyering.net>
6242
6243         Fix global typo in last change: use chmod u-w, not chmod u-x.
6244         Spotted by Paul Eggert and Bruce Korb.
6245         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6246         * modules/byteswap, modules/configmake, modules/fcntl:
6247         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6248         * modules/localcharset, modules/netinet_in, modules/poll:
6249         * modules/stdbool, modules/stdint, modules/sys_select:
6250         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6251
6252 2006-09-06  Jim Meyering  <jim@meyering.net>
6253
6254         Make generated files be read-only.
6255         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
6256         Ensure that each generated file is now read-only.
6257         * modules/argz: Likewise.
6258         * modules/arpa_inet: Likewise.
6259         * modules/byteswap: Likewise.
6260         * modules/configmake: Likewise.
6261         * modules/fcntl: Likewise.
6262         * modules/fnmatch: Likewise.
6263         * modules/getopt: Likewise.
6264         * modules/glob: Likewise.
6265         * modules/inttypes: Likewise.
6266         * modules/netinet_in: Likewise.
6267         * modules/poll: Likewise.
6268         * modules/stdbool: Likewise.
6269         * modules/stdint: Likewise.
6270         * modules/sys_select: Likewise.
6271         * modules/sys_socket: Likewise.
6272         * modules/sys_stat: Likewise.
6273         * modules/sysexits: Likewise.
6274         * modules/localcharset: Same as above, but continue using temporary
6275         file named "t-$@" (why different?) rather than the "$@-t" used
6276         everywhere else.
6277
6278         * modules/sysexits (Makefile.am): Replace literal occurrences
6279         of "sysexit.h" more readable, and more consistent, "$@".
6280
6281 2006-09-06  Bruno Haible  <bruno@clisp.org>
6282
6283         * modules/striconv: New file.
6284         * modules/xstriconv: New file.
6285         * MODULES.html.sh (Internationalization functions): Add striconv,
6286         xstriconv.
6287
6288 2006-09-06  Bruno Haible  <bruno@clisp.org>
6289
6290         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
6291         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
6292         not using libtool correctly.
6293
6294 2006-09-06  Bruno Haible  <bruno@clisp.org>
6295
6296         * lib/striconv.h: New file.
6297         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
6298         iconvstring.c.
6299         * lib/xstriconv.h: New file.
6300         * lib/xstriconv.c: New file.
6301
6302 2006-09-06  Bruno Haible  <bruno@clisp.org>
6303
6304         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
6305         lib_..._LDFLAGS.
6306
6307 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6308
6309         * lib/argz_.h: Sync from Libtool.
6310
6311         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
6312                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6313
6314         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
6315
6316 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6317
6318         * modules/trim: New file.
6319
6320 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6321
6322         * lib/trim.h: New file.
6323         * lib/trim.c: New file.
6324
6325 2006-09-05  Bruno Haible  <bruno@clisp.org>
6326
6327         * MODULES.html.sh (String handling): Add trim.
6328
6329 2006-09-04  Karl Berry  <karl@gnu.org>
6330
6331         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
6332         until next release.
6333
6334 2006-09-03  Bruno Haible  <bruno@clisp.org>
6335
6336         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
6337         correctly.
6338
6339 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6340
6341         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
6342         not gl_GETLOADAVG.  Omit unneeded semicolons.
6343         Problems reported by Ralf Wildenhues in
6344         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6345         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
6346         at the end, which is the usual gnulib style.
6347
6348         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
6349         of doing all the work ourselves.
6350         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
6351         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
6352
6353 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6354
6355         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
6356         Problem reported by Ralf Wildenhues in
6357         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6358
6359         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
6360         HAVE_STRUCT_STATFS_F_FSTYPENAME.
6361
6362 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6363
6364         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
6365         yesterday's patch by changing test -n to test -z.
6366
6367 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6368
6369         * modules/getloadavg (Files): Add m4/getloadavg.m4.
6370         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
6371         the former is now obsolescent.
6372
6373         * modules/chdir-long (Depends-on): Add fcntl.
6374
6375 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6376
6377         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
6378         obsolescent, and programs should use gnulib instead.
6379         * m4/getloadavg.m4: New file, with contents taken from Autoconf
6380         but with prefixes changed.
6381
6382 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6383
6384         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
6385         or stdbool.h, because they might not exist while configuring.
6386
6387         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
6388         Don't include unistd.h or limits.h; not needed, since chdir-long.h
6389         does that for us.
6390         (O_DIRECTORY): Remove.
6391
6392 2006-08-31  Eric Blake  <ebb9@byu.net>
6393
6394         * gnulib-tool: Don't let emacs change spaces to TAB.
6395
6396 2006-08-31  Bruno Haible  <bruno@clisp.org>
6397
6398         * gnulib-tool: When calling func_import more than once, do it in a
6399         subshell.
6400         Reported by Eric Blake <ebb9@byu.net>.
6401
6402 2006-08-31  Bruno Haible  <bruno@clisp.org>
6403
6404         * gnulib-tool (nl): Remove variable.
6405         (sed_transform_lib_file): Use more robust test for config-h module.
6406         (func_import): Fix typo in 2006-08-25 patch.
6407
6408 2006-08-31  Bruno Haible  <bruno@clisp.org>
6409
6410         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
6411         specified, augment Makefile.am variables instead of assigning them.
6412
6413 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6414
6415         Work around a bug in both the Linux and SunOS 64-bit kernels:
6416         nanosleep mishandles sleeps for longer than 2**31 seconds.
6417         Problem reported by Frank v Waveren in
6418         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6419         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
6420         Check for nanosleep bug.
6421         (LIB_NANOSLEEP): Append clock_gettime library if needed.
6422
6423 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6424
6425         Work around a bug in both the Linux and SunOS 64-bit kernels:
6426         nanosleep mishandles sleeps for longer than 2**31 seconds.
6427         Problem reported by Frank v Waveren in
6428         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6429         * lib/nanosleep.c (BILLION): New constant.
6430         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
6431         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
6432         implementation.
6433
6434 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6435
6436         * modules/nanosleep (Depends-on): Add gettime.
6437
6438 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6439         and Simon Josefsson  <jas@extundo.com>
6440         and Oskar Liljeblad  <oskar@osk.mine.nu>
6441
6442         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
6443         * gnulib-tool (func_import): New license type 'unmodifiable license
6444         text'.
6445         * modules/fdl: Use it.  Longer description.
6446         * module/gpl, module/lgpl: New files.
6447
6448 2006-08-30  Jim Meyering  <jim@meyering.net>
6449
6450         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
6451         shadowing the parameter.
6452
6453 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6454
6455         Sync from Libtool:
6456
6457         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6458
6459         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
6460         sharing with gnulib.  Report by Eric Blake.
6461
6462 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6463
6464         * modules/isapipe: New file.
6465         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
6466
6467 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6468
6469         * modules/configmake (Makefile.am): Add a comment, and omit
6470         the CONFIGMAKE_ prefix from generated macro names.  Suggested
6471         by Bruno Haible.
6472
6473 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6474
6475         * m4/isapipe.m4: New file.
6476
6477 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6478
6479         * lib/isapipe.c, lib/isapipe.h: New files.
6480
6481 2006-08-29  Jim Meyering  <jim@meyering.net>
6482
6483         * modules/configmake (Makefile.am): Make configmake.h depend on
6484         Makefile.  Otherwise, a stale configmake.h could hang around.
6485
6486 2006-08-29  Eric Blake  <ebb9@byu.net>
6487
6488         * lib/error.c (error_at_line, print_errno_message): Match libc, after
6489         resolution of upstream bug 3044.
6490
6491 2006-08-29  Bruno Haible  <bruno@clisp.org>
6492
6493         * modules/localcharset (Depends-on): Add configmake.
6494         (Makefile.am): Remove setting of LIBDIR through DEFS.
6495
6496 2006-08-29  Bruno Haible  <bruno@clisp.org>
6497
6498         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
6499         defined.
6500
6501 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6502
6503         * modules/fcntl: New file.
6504         * modules/chdir-safer (Depends-on): Add fcntl.
6505         * modules/fts: Likewise.
6506         * modules/mkdir-p: Likewise.
6507
6508         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
6509         This undoes the most recent change, since we're now addressing the
6510         problem in a different way.
6511
6512         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
6513         into output, since the output might be called Makefile.am even
6514         if $makefile_name is something different.
6515         (func_import): Use $makefile_am rather than
6516         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
6517         empty.
6518
6519         * modules/inttypes (Files): Add m4/inttypes-h.m4.
6520
6521 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6522
6523         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
6524         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
6525         recent change to stdint.m4, since we're now addressing the problem in a
6526         different way.
6527
6528 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6529
6530         * m4/fcntl_h.m4: New file.
6531
6532 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6533
6534         * lib/fcntl_.h: New file.
6535         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
6536         the fcntl module.
6537         * lib/dirchownmod.c: Likewise.
6538         * lib/fts.c: Likewise.
6539
6540         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
6541         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
6542         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
6543         just before including <inttypes.h>, to avoid circular inclusion.
6544
6545 2006-08-28  Jim Meyering  <jim@meyering.net>
6546
6547         * doc/visibility.texi: Actually read and correct the grammar of the
6548         sentence affected by yesterday's change.
6549
6550 2006-08-28  Eric Blake  <ebb9@byu.net>
6551
6552         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
6553         needs wrapper.
6554
6555 2006-08-28  Eric Blake  <ebb9@byu.net>
6556
6557         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
6558
6559 2006-08-28  Eric Blake  <ebb9@byu.net>
6560
6561         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
6562
6563 2006-08-28  Bruno Haible  <bruno@clisp.org>
6564
6565         * modules/c-strstr: New file, from GNU gettext.
6566         * MODULES.html.sh (String handling): Add c-strstr.
6567
6568 2006-08-28  Bruno Haible  <bruno@clisp.org>
6569
6570         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
6571         macros.
6572         Reported by Eric Blake.
6573
6574 2006-08-28  Bruno Haible  <bruno@clisp.org>
6575
6576         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
6577         (VASNPRINTF): Return a string of length > INT_MAX without failing.
6578         * lib/vasprintf.c: Include errno.h, limits.h.
6579         (EOVERFLOW): New fallback definition.
6580         (vasprintf): Test here whether the string length is > INT_MAX.
6581         * lib/vsnprintf.c: Include errno.h, limits.h.
6582         (EOVERFLOW): New fallback definition.
6583         (vsnprintf): Fix bug when generated string was too long for the buffer.
6584         Test here whether the string length is > INT_MAX.
6585
6586 2006-08-28  Bruno Haible  <bruno@clisp.org>
6587
6588         * lib/inttypes_.h (SCNX*): Remove definitions.
6589         Reported by Eric Blake.
6590
6591 2006-08-28  Bruno Haible  <bruno@clisp.org>
6592
6593         * lib/c-strstr.h: New file, from GNU gettext.
6594         * lib/c-strstr.c: New file, from GNU gettext.
6595
6596 2006-08-28  Bruno Haible  <bruno@clisp.org>
6597
6598         * gnulib-tool: Reorder some statements.
6599
6600 2006-08-28  Bruno Haible  <bruno@clisp.org>
6601
6602         * gnulib-tool: New option --makefile-name.
6603         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
6604         $makefile_name.
6605         (func_import): Write $makefile_name to the cache file, and read it from
6606         there unless explicitly specified. Use $makefile_name as file name
6607         instead of Makefile.am. Adjust the recommendations accordingly.
6608
6609 2006-08-28  Bruno Haible  <bruno@clisp.org>
6610
6611         * gnulib-tool (func_verify_module): Check against misapplying patch.
6612
6613 2006-08-28  Bruno Haible  <bruno@clisp.org>
6614
6615         * gnulib-tool (func_relativize, func_relconcat): New functions.
6616         Give an error if --local-dir is given with --update.
6617         Remove trailing slashes from $local_gnulib_dir.
6618         (func_import): Store the relativized $local_gnulib_dir in
6619         gnulib-cache.m4, and read it from there if not specified explicitly.
6620
6621 2006-08-28  Bruno Haible  <bruno@clisp.org>
6622
6623         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
6624         is the current directory. Respect also $local_gnulib_dir.
6625
6626 2006-08-28  Bruno Haible  <bruno@clisp.org>
6627             Simon Josefsson  <jas@extundo.com>
6628
6629         BeOS portability.
6630         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
6631
6632 2006-08-27  Jim Meyering  <jim@meyering.net>
6633
6634         * doc/visibility.texi: Remove duplicate word: "pointer".
6635
6636 2006-08-26  Bruno Haible  <bruno@clisp.org>
6637
6638         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
6639         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
6640         (Makefile.am): Create inttypes.h from inttypes_.h.
6641         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
6642
6643         * modules/imaxabs: New file.
6644
6645         * modules/imaxdiv: New file.
6646
6647 2006-08-26  Bruno Haible  <bruno@clisp.org>
6648
6649         * m4/inttypes.m4: New file.
6650         * m4/_inttypes_h.m4: Remove file.
6651         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
6652         PRI_MACROS_BROKEN.
6653         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
6654
6655         * m4/imaxabs.m4: New file.
6656
6657         * m4/imaxdiv.m4: New file.
6658
6659 2006-08-26  Bruno Haible  <bruno@clisp.org>
6660
6661         * lib/inttypes_.h: New file.
6662         * lib/inttypes.h: Remove file.
6663         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
6664
6665         * lib/imaxabs.c: New file.
6666
6667         * lib/imaxdiv.c: New file.
6668
6669 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6670
6671         New config-h module, so that "make" output needn't be cluttered
6672         by -DHAVE_CONFIG_H.
6673         * MODULES.html.sh (Support for building libraries and executables):
6674         Add config-h.
6675         * modules/config-h: New file.
6676         * gnulib-tool (nl, sed_transform_lib_file): New vars.
6677         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
6678         the config-h module is used.
6679
6680         New configmake module, so that "make" output needn't be cluttered
6681         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
6682         * MODULES.html.sh (Support for building libraries and executables):
6683         Add configmake.
6684         * modules/configmake: New file.
6685
6686 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6687
6688         * m4/config-h.m4: New file.
6689
6690 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6691
6692         * config/srclist.txt: Add elisp-comp.
6693
6694 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6695
6696         * MODULES.html.sh (Support for building libraries and executables):
6697         Add elisp-comp.
6698         * build-aux/elisp-comp: New file.
6699         * modules/elisp-comp: New file.
6700
6701 2006-08-24  Bruno Haible  <bruno@clisp.org>
6702
6703         * gnulib-tool (func_create_testdir): Use non-default values of
6704         sourcebase and m4base.
6705
6706 2006-08-24  Bruno Haible  <bruno@clisp.org>
6707
6708         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
6709         HTML structure.
6710
6711 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
6712
6713         * modules/openat (Depends-on): Add lchown.
6714
6715 2006-08-23  Bruno Haible  <bruno@clisp.org>
6716
6717         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
6718         of gl_LOCK_EARLY instead of gl_LOCK.
6719
6720 2006-08-23  Bruno Haible  <bruno@clisp.org>
6721
6722         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
6723         on OSF/1 to no.
6724         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
6725
6726 2006-08-23  Bruno Haible  <bruno@clisp.org>
6727
6728         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
6729         as unusable.
6730
6731         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
6732         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
6733         (gl_LOCK): New macro.
6734
6735 2006-08-22  Simon Josefsson  <jas@extundo.com>
6736
6737         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
6738         to md5 module.
6739
6740 2006-08-22  Simon Josefsson  <jas@extundo.com>
6741
6742         * MODULES.html.sh: Add "Support for maintaining and release
6743         projects".
6744
6745         * build-aux/gnupload: New file, from coreutils.
6746
6747 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6748
6749         Avoid the need for AC_LIBSOURCES in m4 macros.
6750         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
6751         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
6752         * modules/check-version (EXTRA_DIST): Add check-version.h.
6753         * modules/crc (EXTRA_DIST): Add crc.h.
6754         * modules/des (EXTRA_DIST): Add des.h.
6755         * modules/gc (EXTRA_DIST): Add gc.h.
6756         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
6757         * modules/getline (EXTRA_DIST): Add getline.h.
6758         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
6759         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
6760         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
6761         * modules/md2 (EXTRA_DIST): Add md2.h.
6762         * modules/md4 (EXTRA_DIST): Add md4.h.
6763         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
6764         * modules/read-file (EXTRA_DIST): Add read-file.h.
6765         * modules/readline (EXTRA_DIST): Add readline.h.
6766         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
6767         rijndael-api-fst.h.
6768
6769 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6770
6771         * m4/rijndael.m4 (gl_ARCFOUR):
6772         * m4/arctwo.m4 (gl_ARCTWO):
6773         * m4/check-version.m4 (gl_CHECK_VERSION):
6774         * m4/crc.m4 (gl_CRC):
6775         * m4/des.m4 (gl_DES):
6776         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
6777         * m4/gc.m4 (gl_GC):
6778         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
6779         * m4/getline.m4 (gl_FUNC_GETLINE):
6780         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
6781         * m4/hmac-md5.m4 (gl_HMAC_MD5):
6782         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
6783         * m4/md2.m4 (gl_MD2):
6784         * m4/md4.m4 (gl_MD4):
6785         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
6786         * m4/read-file.m4 (gl_FUNC_READ_FILE):
6787         * m4/readline.m4 (gl_FUNC_READLINE):
6788         * m4/rijndael.m4 (gl_RIJNDAEL):
6789         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
6790         to get the necessary .h files and whatnot.
6791
6792 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6793
6794         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
6795         gnulib rather than the other way around.
6796         * config/srclistvars.sh (COREUTILS): Remove.
6797
6798 2006-08-22  Jim Meyering  <jim@meyering.net>
6799
6800         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
6801
6802         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
6803
6804 2006-08-22  Eric Blake  <ebb9@byu.net>
6805
6806         * modules/regexprops-generic: New file.
6807         * MODULES.html.sh (Support for building documentation): List it.
6808
6809 2006-08-22  Eric Blake  <ebb9@byu.net>
6810
6811         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
6812         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
6813         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
6814         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
6815
6816 2006-08-22  Bruno Haible  <bruno@clisp.org>
6817
6818         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
6819         and lib_LTLIBRARIES like the other lib_* variables.
6820
6821 2006-08-22  Bruno Haible  <bruno@clisp.org>
6822
6823         * build-aux/x-to-1.in: New file, from GNU gettext.
6824
6825 2006-08-22  Bruno Haible  <bruno@clisp.org>
6826
6827         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
6828         <utmpx.h> exists.
6829
6830 2006-08-22  Bruno Haible  <bruno@clisp.org>
6831
6832         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
6833         <utmpx.h> exists.
6834
6835 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6836
6837         BeOS portability.
6838         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
6839         exist.
6840         Problem reported by Bruno Haible.
6841
6842 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6843
6844         Avoid the need for AC_LIBSOURCES in m4 macros.
6845         * modules/acl (EXTRA_DIST): Add acl.h.
6846         * modules/argmatch (Files): Add m4/argmatch.m4.
6847         (configure.ac): Add gl_ARGMATCH.
6848         (EXTRA_DIST): Renamed from lib_SOURCES, for
6849         consistency with the other modules.  Remove argmatch.c.
6850         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
6851         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
6852         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
6853         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
6854         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
6855         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
6856         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
6857         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
6858         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
6859         * modules/closeout (EXTRA_DIST): Add closeout.h.
6860         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
6861         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
6862         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
6863         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
6864         dirname.h; remove basename.c and stripslash.c.
6865         * modules/exclude (EXTRA_DIST): Add exclude.h.
6866         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
6867         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
6868         * modules/file-type (EXTRA_DIST): Add file-type.h.
6869         * modules/filemode (EXTRA_DIST): Add filemode.h.
6870         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
6871         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
6872         * modules/fpending (EXTRA_DIST): Add __fpending.h.
6873         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
6874         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
6875         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
6876         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
6877         * modules/getdate (EXTRA_DIST): Add getdate.c.
6878         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
6879         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
6880         * modules/getpass (EXTRA_DIST): Add getpass.h.
6881         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
6882         * modules/group-member (EXTRA_DIST): Add group-member.h.
6883         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
6884         * modules/hash (EXTRA_DIST): Add hash.h.
6885         * modules/human (EXTRA_DIST): Add human.h.
6886         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
6887         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
6888         * modules/lchown (EXTRA_DIST): Add lchown.h.
6889         * modules/long-options (EXTRA_DIST): Add long-options.h.
6890         * modules/lstat (EXTRA_DIST): Add lstat.h.
6891         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
6892         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
6893         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
6894         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
6895         * modules/memxor (EXTRA_DIST): Add memxor.h.
6896         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
6897         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
6898         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
6899         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
6900         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
6901         * modules/physmem (EXTRA_DIST): Add physmem.h.
6902         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
6903         * modules/posixver (EXTRA_DIST): Add posixver.h.
6904         * modules/quote (EXTRA_DIST): Add quote.h.
6905         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
6906         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
6907         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
6908         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
6909         regex_internal.h regexec.c.
6910         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
6911         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
6912         * modules/same (EXTRA_DIST): Add same.h.
6913         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
6914         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
6915         * modules/savedir (EXTRA_DIST): Add savedir.h.
6916         * modules/sha1 (EXTRA_DIST): Add sha1.h.
6917         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
6918         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
6919         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
6920         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
6921         * modules/strdup (EXTRA_DIST): Add strdup.h.
6922         * modules/strftime (EXTRA_DIST): Add strftime.h.
6923         * modules/strndup (EXTRA_DIST): Add strndup.h.
6924         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
6925         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
6926         * modules/time_r (EXTRA_DIST): Add time_r.h.
6927         * modules/timespec (EXTRA_DIST): Add timespec.h.
6928         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
6929         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
6930         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
6931         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
6932         * modules/userspec (EXTRA_DIST): Add userspec.h.
6933         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
6934         * modules/utimens (EXTRA_DIST): Add utimens.h.
6935         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
6936         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
6937         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
6938         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
6939         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
6940         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
6941         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
6942         * modules/yesno (EXTRA_DIST): Add yesno.h.
6943
6944 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6945
6946         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
6947
6948         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
6949         * m4/dev-ino.m4, same-inode.m4: Remove.
6950
6951         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
6952         * m4/acl.m4 (AC_FUNC_ACL):
6953         * m4/backupfile.m4 (gl_BACKUPFILE):
6954         * m4/c-strtod.m4 (gl_C99_STRTOLD):
6955         * m4/canon-host.m4 (gl_CANON_HOST):
6956         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
6957         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
6958         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
6959         * m4/cloexec.m4 (gl_CLOEXEC):
6960         * m4/close-stream.m4 (gl_CLOSE_STREAM):
6961         * m4/closeout.m4 (gl_CLOSEOUT):
6962         * m4/dirfd.m4 (gl_FUNC_DIRFD):
6963         * m4/dirname.m4 (gl_DIRNAME):
6964         * m4/exclude.m4 (gl_EXCLUDE):
6965         * m4/exitfail.m4 (gl_EXITFAIL):
6966         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
6967         * m4/file-type.m4 (gl_FILE_TYPE):
6968         * m4/filemode.m4 (gl_FILEMODE):
6969         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
6970         * m4/fpending.m4 (gl_FUNC_FPENDING):
6971         * m4/fprintftime.m4 (gl_FPRINTFTIME):
6972         * m4/fts.m4 (gl_FUNC_FTS):
6973         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
6974         * m4/getdate.m4 (gl_GETDATE):
6975         * m4/gethrxtime.m4 (gl_GETHRXTIME):
6976         * m4/getpagesize.m4 (gl_GETPAGESIZE):
6977         * m4/getpass.m4 (gl_FUNC_GETPASS):
6978         * m4/gettime.m4 (gl_GETTIME):
6979         * m4/getugroups.m4 (gl_GETUGROUPS):
6980         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
6981         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
6982         * m4/hard-locale.m4 (gl_HARD_LOCALE):
6983         * m4/hash.m4 (gl_HASH):
6984         * m4/idcache.m4 (gl_IDCACHE):
6985         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
6986         * m4/lchown.m4 (gl_FUNC_LCHOWN):
6987         * m4/long-options.m4 (gl_LONG_OPTIONS):
6988         * m4/lstat.m4 (gl_FUNC_LSTAT):
6989         * m4/md5.m4 (gl_MD5):
6990         * m4/memcasecmp.m4 (gl_MEMCASECMP):
6991         * m4/memcoll.m4 (gl_MEMCOLL):
6992         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
6993         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
6994         * m4/memxor.m4 (gl_MEMXOR):
6995         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
6996         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
6997         * m4/modechange.m4 (gl_MODECHANGE):
6998         * m4/mountlist.m4 (gl_MOUNTLIST):
6999         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
7000         * m4/openat.m4 (gl_FUNC_OPENAT):
7001         * m4/pathmax.m4 (gl_PATHMAX):
7002         * m4/physmem.m4 (gl_PHYSMEM):
7003         * m4/posixtm.m4 (gl_POSIXTM):
7004         * m4/posixver.m4 (gl_POSIXVER):
7005         * m4/quote.m4 (gl_QUOTE):
7006         * m4/quotearg.m4 (gl_QUOTEARG):
7007         * m4/readtokens.m4 (gl_READTOKENS):
7008         * m4/readutmp.m4 (gl_READUTMP):
7009         * m4/regex.m4 (gl_REGEX):
7010         * m4/safe-read.m4 (gl_SAFE_READ):
7011         * m4/safe-write.m4 (gl_SAFE_WRITE):
7012         * m4/same.m4 (gl_SAME):
7013         * m4/save-cwd.m4 (gl_SAVE_CWD):
7014         * m4/savedir.m4 (gl_SAVEDIR):
7015         * m4/settime.m4 (gl_SETTIME):
7016         * m4/sha1.m4 (gl_SHA1):
7017         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
7018         * m4/stat-macros.m4 (gl_STAT_MACROS):
7019         * m4/stat-time.m4 (gl_STAT_TIME):
7020         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
7021         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
7022         * m4/strdup.m4 (gl_FUNC_STRDUP):
7023         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
7024         * m4/strndup.m4 (gl_FUNC_STRNDUP):
7025         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
7026         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
7027         * m4/time_r.m4 (gl_TIME_R):
7028         * m4/timespec.m4 (gl_TIMESPEC):
7029         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
7030         * m4/unlinkdir.m4 (gl_UNLINKDIR):
7031         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
7032         * m4/userspec.m4 (gl_USERSPEC):
7033         * m4/utimecmp.m4 (gl_UTIMECMP):
7034         * m4/utimens.m4 (gl_UTIMENS):
7035         * m4/xalloc.m4 (gl_XALLOC):
7036         * m4/xgetcwd.m4 (gl_XGETCWD):
7037         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
7038         * m4/xreadlink.m4 (gl_XREADLINK):
7039         * m4/xstrtod.m4 (gl_XSTRTOD):
7040         * m4/yesno.m4 (gl_YESNO):
7041         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
7042         to get the necessary .h files and whatnot.
7043
7044 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
7045             Bruno Haible  <bruno@clisp.org>
7046
7047         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
7048         /bin/sh understanding of '!' conditional negation.
7049
7050 2006-08-21  Jim Meyering  <jim@meyering.net>
7051
7052         * modules/openat (Depends-on): Really alphabetize.
7053
7054         * modules/acl (Depends-on): Add error and quote.
7055
7056         * check-module (find_included_lib_files): Add at-func.c to the
7057         ok-to-include-more-than-once white list.
7058
7059         * modules/openat (Depends-on): Add lstat.  Alphabetize.
7060
7061 2006-08-21  Bruno Haible  <bruno@clisp.org>
7062
7063         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7064         Emit a pkgdata_DATA variable only if some snippets add contents to it.
7065         Reported by Martin Lambers <marlam@marlam.de>.
7066
7067 2006-08-21  Bruno Haible  <bruno@clisp.org>
7068
7069         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
7070         specify an installation location, don't emit a noinst_LIBRARIES or
7071         noinst_LTLIBRARIES assignment.
7072
7073 2006-08-21  Bruno Haible  <bruno@clisp.org>
7074
7075         BeOS portability.
7076         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
7077         BeOS has mbrtowc() but no <wctype.h>.
7078
7079 2006-08-21  Bruno Haible  <bruno@clisp.org>
7080
7081         BeOS portability.
7082         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
7083         exist.
7084
7085 2006-08-21  Bruno Haible  <bruno@clisp.org>
7086
7087         BeOS portability.
7088         * lib/mbchar.h: Include <wctype.h> only if it exists.
7089
7090 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7091
7092         Remove files that are no longer needed by their respective modules.
7093         * m4/obstack.m4: Remove.
7094         * m4/strerror_r.m4: Remove.
7095         * m4/uint32_t.m4: Remove.
7096         * m4/uintptr_t.m4: Remove.
7097         * m4/ullong_max.m4: Remove.
7098         * m4/xstrtoimax.m4: Remove.
7099         * m4/xstrtoumax.m4: Remove.
7100
7101         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
7102         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
7103         dependencies now capture this.
7104
7105         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
7106         Do not use AC_LIBSOURCES, since gnulib modules now do this.
7107         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
7108         * m4/human.m4 (gl_HUMAN): Likewise.
7109         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
7110         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
7111
7112         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
7113
7114         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
7115         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
7116         stdint.
7117         * m4/human.m4 (gl_HUMAN): Likewise.
7118         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
7119         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
7120         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
7121         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
7122         * m4/xstrtol (gl_XSTRTOL): Likewise.
7123
7124         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
7125         AC_TYPE_LONG_LONG_INT.
7126         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
7127         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
7128         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
7129         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
7130
7131         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
7132         on stdbool.
7133
7134         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
7135         (gl_PREREQ_XSTRTOUL): Remove.
7136
7137         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
7138
7139         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
7140         mode.
7141
7142 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7143
7144         Add and change modules to make it easier for coreutils to use
7145         gnulib-tool.
7146         * modules/backupfile (Files): Remove m4/d-ino.m4.
7147         (Depends-on): Add d-ino.
7148         * modules/cycle-check (Depends-on): Add stdint.
7149         (lib_SOURCES): Add cycle-check.h.
7150         * modules/d-ino: New module.
7151         * modules/d-type: New module.
7152         * modules/error (Files): Remove m4/strerror_r.m4.
7153         * modules/filemode (Files): Add m4/st_dm_mode.m4.
7154         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
7155         m4/inttypes_h.m4, m4/uintmax_t.m4.
7156         (Depends-on): Add stdint.
7157         (lib_SOURCES): Add fsusage.h.
7158         * modules/getcwd (Files): Remove d-ino.m4.
7159         (Depends-on): Add d-ino.
7160         * modules/getndelim2 (Depends-on): Add stdint.
7161         * modules/glob (Files): Remove m4/d-type.m4.
7162         (Depends-on): Add d-type.
7163         * modules/host-os: New module.
7164         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
7165         m4/inttypes_h.m4, m4/uintmax_t.m4.
7166         * Depends-on: Add stdint.
7167         (lib_SOURCES): Add human.h.
7168         * modules/inttostr (Files): Remove m4/intmax_t.m4,
7169         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
7170         m4/uintmax_t.m4, m4/ulonglong.m4.
7171         (Depends-on): Add stdint.
7172         (EXTRA_DIST): Add inttostr.h.
7173         * modules/lchmod: New module.
7174         * modules/link-follow: New module.
7175         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
7176         (Depends-on): Add lchmod.
7177         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
7178         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
7179         (Depends-on): Add stdint.
7180         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
7181         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
7182         (Depends-on): Add stdint.
7183         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
7184         * modules/perl: New module.
7185         * modules/regex (Depends-on): Add stdint.
7186         * modules/rmdir-errno: New module.
7187         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7188         m4/intmax_t.m4.
7189         (Depends-on): Add stdint.
7190         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7191         m4/uintmax_t.m4.
7192         (Depends-on): Add stdint.
7193         * modules/unlink-busy: New module.
7194         * modules/utimecmp (Depends-on): Add stdint.
7195         * modules/uptime: New module.
7196         * modules/winsz-ioctl: New module.
7197         * modules/winsz-termios: New module.
7198         * modules/xnanosleep (Depends-on): Add nanosleep.
7199         * modules/ullong_max: Remove.
7200         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
7201         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
7202         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
7203         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
7204         (Depends-on): Add inttypes.
7205         (lib_SOURCES): Add xstrtol.h.
7206         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
7207         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
7208         * MODULES.html.sh: Move 'assert' into the assert section.
7209         Move 'dummy' into the linking section.
7210         Remove ullong_max.
7211         Add section for compatibility checks for POSIX:2001 functions,
7212         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
7213         winsz-ioctl, and winsz-termios into it.
7214         Add lchmod.
7215         Add top-level Misc section and put host-os, perl, and uptime
7216         into it.
7217
7218 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7219
7220         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
7221         now assume the stdint module.  Do not include inttypes.h.
7222         * lib/fsusage.h: Likewise.
7223         * lib/getndelim2.c: Likewise.
7224         * lib/human.h: Likewise.
7225         * lib/inttostr.h: Likewise.
7226         * lib/obstack.c: Likewise.
7227         * lib/regex_internal.h: Likewise.
7228         * lib/tempname.c: Likewise.
7229         * lib/utimecmp.c: Likewise.
7230         * lib/xstrtol.h: Likewise.
7231
7232         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
7233
7234         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
7235         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
7236         * lib/xtime.h: Likewise.
7237
7238 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7239
7240         * modules/openat (Files): Add lib/fchmodat.c.
7241         Fixes problem reported by Jay Youngman.
7242
7243 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7244
7245         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
7246         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
7247
7248 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7249             Bruno Haible  <bruno@clisp.org>
7250
7251         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
7252         and is a script that invokes bison. Tighten the code. Add comments.
7253
7254 2006-08-18  Jim Meyering  <jim@meyering.net>
7255
7256         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
7257         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
7258         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
7259         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
7260
7261 2006-08-18  Bruno Haible  <bruno@clisp.org>
7262
7263         * modules/bison-i18n: New file.
7264         * MODULES.html.sh (Internationalization functions): Add it.
7265
7266 2006-08-18  Bruno Haible  <bruno@clisp.org>
7267
7268         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
7269         sys/statvfs.h. When getmntinfo was found, check its declaration and
7270         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
7271
7272 2006-08-18  Bruno Haible  <bruno@clisp.org>
7273
7274         * m4/bison-i18n.m4: New file, from bison.
7275
7276 2006-08-18  Bruno Haible  <bruno@clisp.org>
7277
7278         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
7279         (ME_DUMMY): Treat "kernfs" as a dummy.
7280         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
7281
7282 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7283
7284         Update from coreutils.
7285
7286         2006-08-15  Jim Meyering  <jim@meyering.net>
7287
7288         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
7289
7290         2006-01-17  Jim Meyering  <jim@meyering.net>
7291
7292         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
7293
7294         2006-01-11  Jim Meyering  <jim@meyering.net>
7295
7296         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
7297         Check for the lchmod function.
7298
7299 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7300
7301         Update from coreutils.
7302
7303         * lib/__fpending.h: Add copyright notice.
7304         * lib/fprintftime.h: Likewise.
7305         * lib/savedir.c: Use (C) in copyright notice.
7306         * lib/savedir.h: Likewise.
7307
7308         2006-08-15  Jim Meyering  <jim@meyering.net>
7309
7310         * lib/at-func.c: New file, with the logic of all emulated at-functions.
7311         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
7312         in support of the EXPECTED_ERRNO macro.
7313         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
7314         definitions.  Instead, define the appropriate symbols and include
7315         "at-func.c".
7316         * lib/mkdirat.c (mkdirat): Likewise.
7317         * lib/fchmodat.c (fchmodat): Likewise.
7318         (ENOSYS): Remove definition.
7319         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
7320         it.  Don't include "unistd--.h" -- it wasn't ever used.
7321
7322         2006-01-17  Jim Meyering  <jim@meyering.net>
7323
7324         Rewrite fts.c not to change the current working directory,
7325         by using openat, fstatat, fdopendir, etc..
7326
7327         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
7328         (HAVE_OPENAT_SUPPORT): Define.
7329         [_LIBC] (fchdir): Don't undef or define; no longer used.
7330         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
7331         Now, this `function' always succeeds, and consumes its file descriptor
7332         parameter -- so callers must not close such FDs.  Update callers.
7333         (diropen_fd, opendirat, cwd_advance_fd): New functions.
7334         (diropen): Add parameter, SP.  Adjust all callers.
7335         Implement using diropen_fd, rather than open.
7336         (fts_open): Initialize new member, fts_cwd_fd.
7337         Remove fts_rft-setting code.
7338         (fts_close): Close fts_cwd_fd, if necessary.
7339         (__opendir2): Define in terms of opendir or opendirat,
7340         depending on whether the FST_NOCHDIR flag is set.
7341         (fts_build): Since fts_safe_changedir consumes its FD, and since
7342         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
7343         and close the dup'd file descriptor upon failure.
7344         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
7345         (fts_safe_changedir): Tweak semantics to reflect that this function
7346         now calls cwd_advance_fd and hence consumes its FD argument.
7347         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
7348         [struct FTS] (fts_rft): Remove now-unused member.
7349         [struct FTS] (fts_cycle.state): Improve comment.
7350
7351         * lib/openat.c (openat_needs_fchdir): New function.
7352         * lib/openat.h (openat_needs_fchdir): Declare it.
7353
7354 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
7355
7356         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
7357         Problem and fix reported by Pádraig Brady in
7358         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
7359
7360 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7361
7362         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
7363
7364 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7365
7366         * lib/memcoll.c (memcoll): Optimize for the common case where the
7367         arguments are bytewise equal.
7368
7369 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7370
7371         * doc/regexprops-generic.texi: Add a copyright notice.
7372
7373 2006-08-15  Bruno Haible  <bruno@clisp.org>
7374
7375         * modules/tmpdir (License): Change to LGPL.
7376
7377 2006-08-15  Bruno Haible  <bruno@clisp.org>
7378
7379         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
7380         module.
7381
7382 2006-08-14  Simon Josefsson  <jas@extundo.com>
7383
7384         * config/srclist.txt: Add gnupload.
7385
7386 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7387
7388         Change copyright notice from LGPL 2 to GPL 2, since that's the
7389         standard form used in the gnulib repository.
7390         * tests/test-lock.c: Likewise.
7391         * tests/test-stdint.c: Likewise.
7392         * tests/test-tls.c: Likewise.
7393
7394         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
7395         prelude-manager.  User shorter URLs for GNU projects, without '?'.
7396         Add copyright notice.
7397
7398         * check-module: Add copyright notice.  Output a copyright
7399         notice if "--version" is specified.
7400         * modules/COPYING: New file.
7401         * tests/test-getaddrinfo.c: Add copyright notice.
7402         * tests/test-verify.c: Likewise.
7403
7404 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7405
7406         Change copyright notice from LGPL 2 to GPL 2, since that's the
7407         standard form used in the gnulib repository.
7408         * lib/lock.c: LGPL -> GPL.
7409         * lib/lock.h: Likewise.
7410         * lib/strnlen1.c: Likewise.
7411         * lib/strnlen1.h: Likewise.
7412         * lib/tls.c: Likewise.
7413         * lib/tls.h: Likewise.
7414         * lib/tmpdir.c: Likewise.
7415
7416         * lib/TODO: Remove; this belongs only in coreutils.
7417
7418 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7419
7420         Add copyright notices to long-enough files that lack them, since
7421         otherwise the files aren't clearly free.  Use the same notice that
7422         getdate.texi already uses.
7423         * doc/alloca-opt.texi: Add copyright notice.
7424         * doc/alloca.texi: Likewise.
7425         * doc/ctime.texi: Likewise.
7426         * doc/functions.texi: Likewise.
7427         * doc/gcd.texi: Likewise.
7428         * doc/gnulib-tool.texi: Likewise.
7429         * doc/inet_ntoa.texi: Likewise.
7430         * doc/visibility.texi: Likewise.
7431
7432         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
7433         * doc/quote.texi: Add copyright notice.
7434
7435         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
7436         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
7437         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
7438         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
7439         is now obsolete, and give a pointer to the Sun list.
7440         Add copyright notice.
7441
7442 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7443
7444         * config/srclistvars.sh: Add copyright notice.
7445
7446 2006-08-14  Eric Blake  <ebb9@byu.net>
7447
7448         Import the following change from libc:
7449
7450         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
7451
7452         Upstream bug 2997.
7453         * lib/misc/error.c: Add space between program name and message if file
7454         name is missing.
7455
7456 2006-08-12  Karl Berry  <karl@gnu.org>
7457
7458         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
7459         remove, these originate in gnulib now.
7460
7461 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7462
7463         * doc/Makefile (standards.info standards.html standards.dvi):
7464         Also depend on make-stds.texi.
7465
7466 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7467
7468         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
7469         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
7470
7471         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
7472         in wchar_t.  Problem reported by Eric Blake.
7473
7474         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
7475         LEN is smaller than SIZE.  Suggested by Bruno Haible.
7476         Also, help the compiler to keep LEN in a register.
7477
7478 2006-08-11  Eric Blake  <ebb9@byu.net>
7479
7480         * users.txt: Sort.  Add tar.
7481
7482 2006-08-11  Bruno Haible  <bruno@clisp.org>
7483
7484         * users.txt: New file.
7485
7486 2006-08-11  Bruno Haible  <bruno@clisp.org>
7487
7488         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
7489         before <wchar.h>. Needed for OSF/1 and BSD/OS.
7490
7491 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7492
7493         * modules/snprintf (Depends-on): Remove minmax.
7494         (Maintainer): Add self and Bruno.
7495
7496 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7497
7498         * lib/.cppi-disable: Add snprintf.h, socket_.h.
7499         * lib/snprintf.c: Include <errno.h> and <limits.h>.
7500         (EOVERFLOW): Define if the system does not.
7501         Do not include "minmax.h"; it wasn't used.
7502         (snprintf): Don't assume size_t promotes to an unsigned type.
7503         Fix bug when generated string was too long for the buffer: the
7504         buffer's contents are supposed to be the initial prefix of the
7505         output.  Don't assume vasnprintf returns EOVERFLOW if the size
7506         exceeds INT_MAX; do the check ourselves.
7507
7508         Import the following changes from libc:
7509
7510         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
7511
7512         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
7513         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
7514         set wc to the byte which couldn't be converted.
7515         (re_string_reconstruct): Don't clear valid_raw_len before calling
7516         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
7517         tip_context using re_string_context_at.
7518
7519         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
7520
7521         * lib/posix/regex.h: g++ still cannot handled [restrict].
7522
7523         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
7524
7525         * lib/posix/regex.h: Remove special handling for VMS.
7526
7527 2006-08-10  Jim Meyering  <jim@meyering.net>
7528
7529         * modules/same-inode: New module.
7530         * modules/dev-ino: New module.
7531         * modules/cycle-check: Depend on these modules, rather than simply
7532         including their .h files.
7533         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
7534         required via m4/cycle-check.m4.
7535         * modules/same: Depend on new same-inode module, rather than
7536         including same-inode.h.
7537         * modules/chdir-safer: New file.
7538
7539         * modules/chown (Depends-on): Add stat-macros.
7540
7541 2006-08-10  Jim Meyering  <jim@meyering.net>
7542
7543         * m4/cycle-check.m4: New file.
7544         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
7545         * m4/dev-ino.m4, m4/same-inode.m4: New files.
7546
7547 2006-08-10  Eric Blake  <ebb9@byu.net>
7548
7549         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
7550         in from original proposal.
7551
7552 2006-08-10  Eric Blake  <ebb9@byu.net>
7553         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7554
7555         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
7556         namespace.
7557
7558 2006-08-10  Bruno Haible  <bruno@clisp.org>
7559
7560         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
7561         as well.
7562
7563 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7564
7565         Sync from coreutils.
7566
7567         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
7568
7569         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
7570         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
7571
7572 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7573
7574         * modules/restrict: Remove; no longer needed now that we assume
7575         Autoconf 2.59 or later.
7576         * MODULES.html.sh: Remove 'restrict'.
7577         * modules/argp (Depends-on): Remove 'restrict'.
7578         * modules/base64 (Depends-on): Likewise.
7579         * modules/gc (Depends-on): Likewise.
7580         * modules/getaddrinfo (Depends-on): Likewise.
7581         * modules/glob (Depends-on): Likewise.
7582         * modules/inet_ntop (Depends-on): Likewise.
7583         * modules/inet_pton (Depends-on): Likewise.
7584         * modules/memxor (Depends-on): Likewise.
7585         * modules/regex (Depends-on): Likewise.
7586         * modules/strtok_r (Depends-on): Likewise.
7587         * modules/time_r (Depends-on): Likewise.
7588
7589 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7590
7591         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
7592         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
7593         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
7594         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
7595         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
7596         * m4/memxor.m4 (gl_MEMXOR): Likewise.
7597         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
7598         gl_C_RESTRICT replaced by AC_C_RESTRICT.
7599
7600         Merge from coreutils.
7601         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
7602         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
7603         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
7604         * m4/time_r.m4 (gl_TIME_R): Likewise.
7605
7606 2006-08-09  Karl Berry  <karl@gnu.org>
7607
7608         * config/srclist.txt: no more gettext-tools, per Bruno.
7609
7610 2006-08-08  Eric Blake  <ebb9@byu.net>
7611
7612         * modules/verror: New module.
7613         * MODULES.html.sh: Document it.
7614
7615 2006-08-08  Eric Blake  <ebb9@byu.net>
7616
7617         * lib/verror.h, lib/verror.c: New files.
7618
7619 2006-08-08  Eric Blake  <ebb9@byu.net>
7620
7621         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
7622         verror_at_line output complies with GNU Coding Standards even when
7623         file is NULL.
7624
7625 2006-08-07  Bruno Haible  <bruno@clisp.org>
7626
7627         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
7628         versions of AIX.
7629         Reported by Ralf Wildenhues.
7630
7631 2006-08-07  Bruno Haible  <bruno@clisp.org>
7632
7633         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
7634         in an AC_DEFUN. Needed so that the autoconf snippets can use
7635         AC_REQUIRE.
7636
7637 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7638
7639         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7640         Initialize pkgdata_DATA.
7641         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
7642         overriding it.
7643
7644 2006-08-06  Eric Blake  <ebb9@byu.net>
7645
7646         * lib/error.h: Fold in some upstream changes from glibc.
7647         * lib/error.c: Likewise.
7648
7649 2006-08-04  Bruno Haible  <bruno@clisp.org>
7650
7651         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7652         Make the mostlyclean-local rule depend on mostlyclean-generic.
7653         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
7654
7655 2006-07-31  Bruno Haible  <bruno@clisp.org>
7656
7657         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
7658         <stdlib.h>, <string.h>.
7659
7660 2006-07-30  Bruno Haible  <bruno@clisp.org>
7661
7662         * modules/readlink (License): Change to LGPL.
7663
7664 2006-07-30  Bruno Haible  <bruno@clisp.org>
7665
7666         * modules/javaversion (Makefile.am): Distribute javaversion.java and
7667         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
7668         set PKGDATADIR to point to it.
7669
7670 2006-07-30  Bruno Haible  <bruno@clisp.org>
7671
7672         * modules/csharpexec (configure.ac): Comment out macro invocation.
7673         * modules/javaexec (configure.ac): Likewise.
7674         * modules/javacomp-script (configure.ac): Likewise.
7675
7676         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
7677
7678 2006-07-30  Bruno Haible  <bruno@clisp.org>
7679
7680         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
7681         linked-list.
7682
7683 2006-07-30  Bruno Haible  <bruno@clisp.org>
7684
7685         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
7686
7687 2006-07-30  Bruno Haible  <bruno@clisp.org>
7688
7689         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7690         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
7691         get removed.
7692
7693 2006-07-29  Bruno Haible  <bruno@clisp.org>
7694
7695         Make it possible for gnulib-tool to work with locally modified or
7696         augmented gnulib repositories.
7697         * gnulib-tool (func_usage): Document --local-dir option.
7698         (local_gnulib_dir): New variable.
7699         Handle --local-dir option.
7700         (func_lookup_file): New function.
7701         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
7702         (func_get_description, func_get_filelist, func_get_description,
7703         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
7704         func_get_automake_snippet, func_get_include_directive,
7705         func_get_license, func_get_maintainer): Use func_lookup_file.
7706         (func_import, func_create_testdir): Use func_lookup_file.
7707
7708 2006-07-29  Bruno Haible  <bruno@clisp.org>
7709
7710         * modules/setenv (Depends-on): Add unistd.
7711
7712 2006-07-29  Bruno Haible  <bruno@clisp.org>
7713
7714         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
7715
7716 2006-07-29  Bruno Haible  <bruno@clisp.org>
7717
7718         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
7719
7720 2006-07-29  Bruno Haible  <bruno@clisp.org>
7721
7722         * gnulib-tool (import, update): If there is no Makefile.am, look at
7723         aclocal.m4, instead of bailing out.
7724
7725 2006-07-29  Bruno Haible  <bruno@clisp.org>
7726
7727         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
7728         Categorize the options by when they are useful.
7729
7730 2006-07-29  Bruno Haible  <bruno@clisp.org>
7731
7732         * gnulib-tool (func_usage): Document option --no-libtool.
7733         Handle option --no-libtool.
7734         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
7735         for changed semantics of $libtool variable.
7736         (func_import): Likewise. If libtool is not used, show this through
7737         an option --no-libtool.
7738         (func_create_testdir): Update.
7739
7740 2006-07-29  Bruno Haible  <bruno@clisp.org>
7741
7742         * gnulib-tool (func_import): Extend error message about missing
7743         --doc-base.
7744
7745 2006-07-29  Bruno Haible  <bruno@clisp.org>
7746
7747         * gnulib-tool (func_import): Don't create the $docbase directory if
7748         there is no file to store there.
7749
7750 2006-07-29  Bruno Haible  <bruno@clisp.org>
7751
7752         * gnulib-tool (autoconf_minversion): If a --dir option is given and
7753         relevant, look for configure.ac there, not in the current directory.
7754         Also use a simple search for AC_PREREQ, not "autoconf --trace".
7755
7756 2006-07-29  Bruno Haible  <bruno@clisp.org>
7757
7758         * gnulib-tool (SORT): New variable.
7759         (func_usage): Undocument --assume-autoconf option.
7760         Remove --assume-autoconf option handling.
7761         (autoconf_minversion): Determine from the contents of configure.ac.
7762         (func_import): Remove autoconf_minversion handling.
7763         Suggested by Eric Blake.
7764
7765 2006-07-29  Bruno Haible  <bruno@clisp.org>
7766
7767         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
7768
7769 2006-07-29  Bruno Haible  <bruno@clisp.org>
7770
7771         * config/srclist.txt (*setenv.[ch]): Remove rules.
7772
7773 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7774
7775         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
7776
7777 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7778
7779         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
7780         arpa/inet.h.
7781
7782 2006-07-28  Simon Josefsson  <jas@extundo.com>
7783
7784         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
7785         * modules/inet_pton (Depends-on): Likewise.
7786
7787 2006-07-28  Simon Josefsson  <jas@extundo.com>
7788
7789         * m4/netinet_in_h.m4: New file.
7790
7791 2006-07-28  Simon Josefsson  <jas@extundo.com>
7792
7793         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
7794         #include's.
7795
7796 2006-07-28  Simon Josefsson  <jas@extundo.com>
7797
7798         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
7799         #include's.
7800
7801 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
7802
7803         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
7804         setgid on directories only if they set these bits.
7805         * lib/modechange.h: Remove obsolete comment about masks.
7806
7807 2006-07-28  Eric Blake  <ebb9@byu.net>
7808
7809         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
7810         macro expansion.
7811
7812 2006-07-28  Bruno Haible  <bruno@clisp.org>
7813
7814         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
7815
7816 2006-07-28  Bruno Haible  <bruno@clisp.org>
7817
7818         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
7819
7820 2006-07-28  Bruno Haible  <bruno@clisp.org>
7821
7822         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
7823         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
7824         Define fallbacks.
7825         Avoids link error on FreeBSD 4.x.
7826         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
7827
7828         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
7829         encoding.
7830         * lib/mbswidth.c (iswcntrl): Likewise.
7831
7832 2006-07-27  Bruno Haible  <bruno@clisp.org>
7833
7834         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
7835         test.
7836
7837 2006-07-27  Bruno Haible  <bruno@clisp.org>
7838
7839         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
7840         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
7841         defined.
7842
7843 2006-07-26  Eric Blake  <ebb9@byu.net>
7844
7845         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
7846
7847 2006-07-26  Eric Blake  <ebb9@byu.net>
7848
7849         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
7850         like mingw that lack mkstemp.
7851         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
7852         avoid compilation warning on mingw.
7853
7854 2006-07-26  Bruno Haible  <bruno@clisp.org>
7855
7856         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
7857         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
7858         INT_FAST*_MIN, INTPTR_MIN.
7859
7860 2006-07-25  Bruno Haible  <bruno@clisp.org>
7861
7862         * modules/version-etc (Depends-on): Add stdarg.
7863
7864 2006-07-25  Bruno Haible  <bruno@clisp.org>
7865
7866         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
7867         complex commands.
7868
7869 2006-07-25  Bruno Haible  <bruno@clisp.org>
7870
7871         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
7872         defined in <stdarg.h> or config.h.
7873
7874 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7875
7876         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
7877         (gl_STDIO_SAFER): Remove.
7878
7879 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7880
7881         * MODULES.html.sh (File stream based Input/Output):
7882         Add fopen-safer, tmpfile-safer; remove stdio-safer.
7883         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
7884         * modules/fopen-safer, modules/tmpfile-safer: New files.
7885         * modules/stdio-safer: Remove.
7886
7887 2006-07-24  Bruno Haible  <bruno@clisp.org>
7888
7889         * modules/tmpdir: New file.
7890         * MODULES.html.sh (File system functions): Add it.
7891
7892 2006-07-24  Bruno Haible  <bruno@clisp.org>
7893
7894         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
7895         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
7896
7897 2006-07-24  Bruno Haible  <bruno@clisp.org>
7898
7899         * modules/clean-temp: New file.
7900
7901 2006-07-24  Bruno Haible  <bruno@clisp.org>
7902
7903         * m4/tmpdir.m4: New file, from GNU gettext.
7904
7905 2006-07-24  Bruno Haible  <bruno@clisp.org>
7906
7907         * lib/tmpdir.h: New file, from GNU gettext.
7908         * lib/tmpdir.c: New file, from GNU gettext.
7909
7910 2006-07-24  Bruno Haible  <bruno@clisp.org>
7911
7912         * lib/clean-temp.h: New file, from GNU gettext.
7913         * lib/clean-temp.c: New file, from GNU gettext.
7914
7915 2006-07-23  Eric Blake  <ebb9@byu.net>
7916
7917         * modules/stdio-safer (Files): Add tmpfile-safer.c.
7918         (Depends-on): Add binary-io.
7919
7920 2006-07-23  Eric Blake  <ebb9@byu.net>
7921
7922         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
7923
7924 2006-07-23  Eric Blake  <ebb9@byu.net>
7925
7926         * lib/tmpfile-safer.c: New file.
7927         * lib/stdio-safer.h (fopen_safer): Add prototype.
7928         * lib/stdio--.h (tmpfile): Make safer.
7929
7930 2006-07-23  Bruno Haible  <bruno@clisp.org>
7931
7932         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
7933         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
7934         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
7935         gl_linked_remove_at): Use it.
7936
7937 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7938         and Simon Josefsson <jas@extundo.com>
7939
7940         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
7941
7942         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
7943
7944 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7945
7946         * modules/close-stream: New file.
7947         * modules/closeout (Description): Make it clear that it exits
7948         with a diagnostic on error.
7949         (Depends-on): Add close-stream.  Remove fpending, stdbool.
7950         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
7951
7952 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7953
7954         * m4/close-stream.m4: New file.
7955
7956 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7957
7958         * lib/close-stream.c, lib/close-stream.h: New files.
7959
7960 2006-07-22  Bruno Haible  <bruno@clisp.org>
7961
7962         Merge from GNU gettext 0.15.
7963
7964         2006-05-01  Bruno Haible  <bruno@clisp.org>
7965
7966                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
7967
7968         2006-07-22  Bruno Haible  <bruno@clisp.org>
7969
7970                 * modules/javaversion: New file.
7971                 * MODULES.html.sh (Java): Add javaversion.
7972
7973         2006-03-12  Bruno Haible  <bruno@clisp.org>
7974
7975                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
7976
7977         2005-12-04  Bruno Haible  <bruno@clisp.org>
7978
7979                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
7980                 (untested).
7981
7982         2006-06-21  Bruno Haible  <bruno@clisp.org>
7983
7984                 Avoid warnings from recent versions of mcs.
7985                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
7986                 -o, -L, -r any more. Use options documented since mcs-1.0
7987                 instead. Similarly for -g.
7988
7989         2005-12-04  Bruno Haible  <bruno@clisp.org>
7990
7991                 * build-aux/csharpcomp.sh.in: Suffix for resources is
7992                 .resources, not .resource.
7993
7994         2005-07-09  Bruno Haible  <bruno@clisp.org>
7995
7996                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
7997                 add a .dll suffix.
7998                 Reported by Mark Junker <mjscod@gmx.de>.
7999
8000         2006-07-22  Bruno Haible  <bruno@clisp.org>
8001
8002                 * modules/gettext: Upgrade to gettext-0.15.
8003                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
8004                 m4/visibility.m4.
8005                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
8006
8007 2006-07-22  Bruno Haible  <bruno@clisp.org>
8008
8009         Merge from GNU gettext 0.15.
8010
8011         2006-03-25  Bruno Haible  <bruno@clisp.org>
8012
8013                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
8014
8015         2006-07-21  Bruno Haible  <bruno@clisp.org>
8016
8017                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
8018                 "1.1".
8019
8020         2006-05-09  Bruno Haible  <bruno@clisp.org>
8021
8022                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
8023                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
8024                 for the conftestver execution.
8025
8026         2006-05-01  Bruno Haible  <bruno@clisp.org>
8027
8028                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
8029                 optional target-version argument. Verify that the compiler
8030                 groks source of the specified source-version, or add -source
8031                 option as necessary. Verify that the compiler produces
8032                 bytecode in the specified target-version, or add -target and
8033                 -source options as necessary. Make the result of the test
8034                 available as variable CONF_JAVAC. Also log error output in
8035                 config.log.
8036
8037         2006-03-11  Bruno Haible  <bruno@clisp.org>
8038
8039                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
8040
8041         2006-05-09  Bruno Haible  <bruno@clisp.org>
8042
8043                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
8044                 CLASSPATH_SEPARATOR to a semicolon.
8045
8046         2006-03-12  Bruno Haible  <bruno@clisp.org>
8047
8048                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
8049                 available as variable CONF_JAVA, for subsequent autoconf
8050                 tests. Also log error output in config.log.
8051
8052         2006-07-19  Bruno Haible  <bruno@clisp.org>
8053
8054                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
8055                 that getline works on glibc2 systems. Needed to avoid trouble
8056                 in relocatable.c.
8057                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
8058
8059         2005-12-04  Bruno Haible  <bruno@clisp.org>
8060
8061                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
8062                 launcher (untested).
8063
8064         2005-12-04  Bruno Haible  <bruno@clisp.org>
8065
8066                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
8067
8068         2006-07-22  Bruno Haible  <bruno@clisp.org>
8069
8070                 * gettext.m4: Update from GNU gettext-0.15.
8071                 * nls.m4: Likewise.
8072                 * po.m4: Likewise.
8073                 * inttypes-pri.m4: Likewise.
8074                 * inttypes-h.m4: Renamed from inttypes.m4.
8075                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
8076
8077 2006-07-22  Bruno Haible  <bruno@clisp.org>
8078
8079         Merge from GNU gettext 0.15.
8080
8081         2005-07-05  Bruno Haible  <bruno@clisp.org>
8082
8083                 * printf-args.c (printf_fetchargs): Work around broken
8084                 definition of wint_t on mingw.
8085
8086         2005-02-12  Bruno Haible  <bruno@clisp.org>
8087
8088                 * xallocsa.h: Add extern "C" for C++.
8089
8090         2006-05-17  Bruno Haible  <bruno@clisp.org>
8091
8092                 Cygwin portability.
8093                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
8094
8095         2006-04-30  Bruno Haible  <bruno@clisp.org>
8096
8097                 * progreloc.c: Include <mach-o/dyld.h> if available.
8098                 (find_executable): Use _NSGetExecutablePath when possible.
8099
8100         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
8101
8102                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
8103                 function.
8104
8105         2005-12-29  Bruno Haible  <bruno@clisp.org>
8106
8107                 * progreloc.c (set_program_name_and_installdir): Fix
8108                 compilation error.
8109
8110         2005-12-04  Bruno Haible  <bruno@clisp.org>
8111
8112                 Cygwin portability.
8113                 * progreloc.c: Include <windows.h> also on Cygwin.
8114                 (find_executable): Add support for Cygwin.
8115                 (set_program_name_and_installdir): Handle also platforms with
8116                 nonempty EXEEXT.
8117
8118         2006-07-11  Bruno Haible  <bruno@clisp.org>
8119
8120                 * javacomp.c: Fix a comment.
8121                 Reported by Jim Meyering.
8122
8123         2006-04-30  Bruno Haible  <bruno@clisp.org>
8124
8125                 * javacomp.h (compile_java_class): Add source_version,
8126                 target_version arguments.
8127                 * javacomp.c: Rewritten to choose only a compiler that
8128                 respects the specified source_version and target_version.
8129
8130         2006-06-27  Bruno Haible  <bruno@clisp.org>
8131
8132                 Assume correct S_ISDIR macro.
8133                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
8134
8135         2006-07-22  Bruno Haible  <bruno@clisp.org>
8136
8137                 * javaversion.h: New file, from GNU gettext.
8138                 * javaversion.c: New file, from GNU gettext.
8139                 * javaversion.java: New file, from GNU gettext.
8140                 * javaversion.class: New file, from GNU gettext.
8141
8142         2006-05-17  Bruno Haible  <bruno@clisp.org>
8143
8144                 Cygwin portability.
8145                 * javaexec.c (execute_java_class): Test for jview program
8146                 also on Cygwin.
8147
8148         2006-04-09  Bruno Haible  <bruno@clisp.org>
8149
8150                 * fatal-signal.c: Don't include string.h.
8151                 (at_fatal_signal): Use a copying loop instead of memcpy.
8152
8153         2005-12-04  Bruno Haible  <bruno@clisp.org>
8154
8155                 * csharpexec.c: Add support for 'clix' launcher (untested).
8156                 (execute_csharp_using_sscli): New function.
8157                 (execute_csharp_program): Call it.
8158
8159         2006-06-21  Bruno Haible  <bruno@clisp.org>
8160
8161                 Avoid warnings from recent versions of mcs.
8162                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
8163                 -o, -L, -r any more. Use options documented since mcs-1.0
8164                 instead. Similarly for -g.
8165
8166         2005-07-09  Bruno Haible  <bruno@clisp.org>
8167
8168                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
8169                 add a .dll suffix.
8170                 Reported by Mark Junker <mjscod@gmx.de>.
8171
8172         2006-06-17  Bruno Haible  <bruno@clisp.org>
8173
8174                 * config.charset: Update for NetBSD 3.0.
8175
8176         2006-05-17  Bruno Haible  <bruno@clisp.org>
8177
8178                 Cygwin portability.
8179                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
8180
8181         2006-05-16  Bruno Haible  <bruno@clisp.org>
8182
8183                 * localcharset.c [CYGWIN]: Include <windows.h>.
8184                 (get_charset_aliases): For Cygwin, return the same CPxxx
8185                 aliases list as under WIN32.
8186                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
8187                 the environment variables. Fall back to GetACP().
8188
8189         2006-04-05  Bruno Haible  <bruno@clisp.org>
8190
8191                 * config.charset: Update Juan Manuel Guerrero's address.
8192
8193         2005-02-12  Bruno Haible  <bruno@clisp.org>
8194
8195                 * allocsa.h: Add extern "C" for C++.
8196
8197         2005-02-10  Bruno Haible  <bruno@clisp.org>
8198
8199                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
8200                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
8201
8202         2006-07-22  Bruno Haible  <bruno@clisp.org>
8203
8204                 * gettext.h: Update to GNU gettext-0.15.
8205
8206 2006-07-22  Bruno Haible  <bruno@clisp.org>
8207
8208         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
8209         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
8210         lib-prefix.m4, longdouble.m4, ssize_t.m4.
8211
8212 2006-07-21  Eric Blake  <ebb9@byu.net>
8213
8214         * modules/stdlib-safer: New file.
8215         * MODULES.html.sh (File stream based Input/Output): Add
8216         stdlib-safer.
8217
8218 2006-07-21  Eric Blake  <ebb9@byu.net>
8219
8220         * lib/stdlib-safer.h: New file from coreutils, required by
8221         stdlib--.h.
8222
8223 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
8224
8225         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
8226
8227 2006-07-20  Bruno Haible  <bruno@clisp.org>
8228
8229         * gnulib-tool: Recognize new option --assume-autoconf.
8230         (autoconf_minversion): New variable.
8231         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
8232
8233 2006-07-20  Bruno Haible  <bruno@clisp.org>
8234
8235         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
8236
8237 2006-07-19  Derek R. Price  <derek@ximbiot.com>
8238
8239         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
8240         Reindent and repaginate.
8241
8242 2006-07-19  Derek Price  <derek@ximbiot.com>
8243
8244         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
8245         Correct grammar.
8246
8247 2006-07-17  Bruno Haible  <bruno@clisp.org>
8248
8249         * modules/list: New file.
8250         * modules/array-list: New file.
8251         * modules/carray-list, modules/carray-list-tests: New files.
8252         * modules/linked-list, modules/linked-list-tests: New files.
8253         * modules/avltree-list, modules/avltree-list-tests: New files.
8254         * modules/rbtree-list, modules/rbtree-list-tests: New files.
8255         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
8256         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
8257         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
8258         * modules/oset: New file.
8259         * modules/array-oset: New file.
8260         * modules/avltree-oset, modules/avltree-oset-tests: New files.
8261         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
8262         * tests/test-carray_list.c: New file.
8263         * tests/test-linked_list.c: New file.
8264         * tests/test-avltree_list.c: New file.
8265         * tests/test-rbtree_list.c: New file.
8266         * tests/test-linkedhash_list.c: New file.
8267         * tests/test-avltreehash_list.c: New file.
8268         * tests/test-rbtreehash_list.c: New file.
8269         * tests/test-avltree_oset.c: New file.
8270         * tests/test-rbtree_oset.c: New file.
8271         * MODULES.html.sh (Container data structures): New section.
8272
8273 2006-07-17  Bruno Haible  <bruno@clisp.org>
8274
8275         * m4/gl_list.m4: New file.
8276
8277 2006-07-17  Bruno Haible  <bruno@clisp.org>
8278
8279         * lib/gl_list.h: New file.
8280         * lib/gl_list.c: New file.
8281         * lib/gl_array_list.h: New file.
8282         * lib/gl_array_list.c: New file.
8283         * lib/gl_carray_list.h: New file.
8284         * lib/gl_carray_list.c: New file.
8285         * lib/gl_linked_list.h: New file.
8286         * lib/gl_linked_list.c: New file.
8287         * lib/gl_anylinked_list1.h: New file.
8288         * lib/gl_anylinked_list2.h: New file.
8289         * lib/gl_avltree_list.h: New file.
8290         * lib/gl_avltree_list.c: New file.
8291         * lib/gl_anyavltree_list1.h: New file.
8292         * lib/gl_anyavltree_list2.h: New file.
8293         * lib/gl_rbtree_list.h: New file.
8294         * lib/gl_rbtree_list.c: New file.
8295         * lib/gl_anyrbtree_list1.h: New file.
8296         * lib/gl_anyrbtree_list2.h: New file.
8297         * lib/gl_anytree_list1.h: New file.
8298         * lib/gl_anytree_list2.h: New file.
8299         * lib/gl_linkedhash_list.h: New file.
8300         * lib/gl_linkedhash_list.c: New file.
8301         * lib/gl_anyhash_list1.h: New file.
8302         * lib/gl_anyhash_list2.h: New file.
8303         * lib/gl_avltreehash_list.h: New file.
8304         * lib/gl_avltreehash_list.c: New file.
8305         * lib/gl_rbtreehash_list.h: New file.
8306         * lib/gl_rbtreehash_list.c: New file.
8307         * lib/gl_anytreehash_list1.h: New file.
8308         * lib/gl_anytreehash_list2.h: New file.
8309
8310         * lib/gl_oset.h: New file.
8311         * lib/gl_oset.c: New file.
8312         * lib/gl_array_oset.h: New file.
8313         * lib/gl_array_oset.c: New file.
8314         * lib/gl_avltree_oset.h: New file.
8315         * lib/gl_avltree_oset.c: New file.
8316         * lib/gl_rbtree_oset.h: New file.
8317         * lib/gl_rbtree_oset.c: New file.
8318         * lib/gl_anytree_oset.h: New file.
8319
8320 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8321
8322         * m4/mkancesdirs.m4: New file.
8323         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
8324         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
8325         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
8326         it.
8327
8328 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8329
8330         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
8331         * lib/mkancesdirs.h: New files.
8332         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
8333         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
8334         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
8335         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
8336         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
8337         callers changed.  Revamp internals significantly, by not
8338         attempting to create directories that are temporarily more
8339         permissive than the final results.  Do not attempt to use
8340         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
8341         This removes some race conditions, fixes some bugs, and simplifies
8342         things.  Use new dirchownmod function to do owner and mode changes.
8343         * lib/mkdir-p.h: Likewise.
8344         * lib/modechange.c (octal_to_mode): New function.
8345         (struct mode_change): New member mentioned.
8346         (make_node_op_equals): New arg mentioned.  All callers changed.
8347         (mode_compile): Keep track of which mode bits the user has explicitly
8348         mentioned.
8349         (mode_adjust): New arg DIR, so that we implement the X op correctly.
8350         New arg PMODE_BITS, to keep track of which mode bits the user
8351         mentioned; it treats S_ISUID and S_ISGID speciall.
8352         All callers changed.
8353         * lib/modechange.h: Likewise.
8354
8355 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8356
8357         * MODULES.html.sh: Add mkancestors.
8358         * modules/mkancesdirs: New module.
8359         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
8360         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
8361         The chdir-safer and afs files are now orphans; I'll remove them
8362         unless someone speaks up.
8363         Add lib/dirchownmod.c, lib/dirchownmod.h.
8364         (Depends-on): Remove alloca, chown, save-cwd, dirname.
8365         Add lchown, mkancesdirs.
8366         (Maintainer): Add self.
8367
8368 2006-07-15  Karl Berry  <karl@gnu.org>
8369
8370         * gnulib-tool: help message wording/arrangement.
8371
8372 2006-07-14  Simon Josefsson  <jas@extundo.com>
8373
8374         * doc/gnulib.texi (Libtool and Windows): New section.
8375
8376 2006-07-12  Simon Josefsson  <jas@extundo.com>
8377
8378         * modules/gendocs (License): Fix license, approved by Karl.
8379
8380 2006-07-12  Eric Blake  <ebb9@byu.net>
8381
8382         * MODULES.html.sh: Add gendocs.
8383
8384 2006-07-11  Eric Blake  <ebb9@byu.net>
8385
8386         * modules/fdl: New module, to install doc/fdl.texi.
8387         * MODULES.html.sh: Add new section for documentation modules.
8388         * gnulib-tool: Avoid space-tab.
8389         (--doc-base): New option, to manage files from doc.
8390
8391 2006-07-11  Eric Blake  <ebb9@byu.net>
8392
8393         * m4/absolute-header.m4: Fix comments to match recent change.
8394
8395 2006-07-11  Eric Blake  <ebb9@byu.net>
8396
8397         * gnulib-tool: List --doc-base before --tests-base.
8398
8399 2006-07-11  Derek R. Price  <derek@ximbiot.com>
8400
8401         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
8402
8403 2006-07-11  Bruno Haible  <bruno@clisp.org>
8404
8405         * README: Mention where to put documentation.
8406
8407 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8408
8409         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
8410
8411 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8412
8413         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
8414         to stdint.m4.
8415
8416 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8417
8418         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
8419         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
8420         "no/such/file/stdint.h" when there is no such file, so that
8421         the resulting C code can be parsed by dodgy compilers.
8422         Problems reported by Bob Proulx.
8423
8424 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8425
8426         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
8427         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8428         macros into the GNU _D_EXACT_NAMLEN.
8429         * lib/savedir.c:  Likewise.
8430         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
8431
8432 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8433         and Paul Eggert  <eggert@cs.ucla.edu>
8434
8435         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
8436         * m4/savedir.m4:
8437         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8438         macros into the GNU _D_EXACT_NAMLEN.
8439
8440 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8441
8442         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
8443         around the absolute name, to work around a problem with the HP-UX
8444         11.23 native C compiler, reported by Bob Proulx.
8445
8446 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8447
8448         * doc/maintain.texi, make-stds.texi: Sync from
8449         <http://savannah.gnu.org/projects/gnustandards>.
8450
8451 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8452
8453         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
8454
8455 2006-07-09  Jim Meyering  <jim@meyering.net>
8456
8457         * m4/glob.m4: Remove a doubled word in a comment.
8458
8459 2006-07-09  Jim Meyering  <jim@meyering.net>
8460
8461         * lib/argp-pv.c: Remove a doubled word in a comment.
8462         * lib/check-version.c (check_version): Likewise.
8463         * lib/javacomp.c (compile_java_class): Likewise.
8464
8465 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8466
8467         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
8468         for the benefit of people using Autoconf 2.60.  If you want to
8469         support older Autoconf versions you can copy m4/onceonly_2_57.m4
8470         (or m4/onceonly.m4, if pre-2.57) manually.
8471
8472 2006-07-08  Jim Meyering  <jim@meyering.net>
8473
8474         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
8475         comment.
8476         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
8477         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
8478         comment.
8479
8480 2006-07-08  Jim Meyering  <jim@meyering.net>
8481
8482         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
8483
8484 2006-07-07  Simon Josefsson  <jas@extundo.com>
8485
8486         * tests/test-crc.c: Change expected crc value, the test vector
8487         were probably computed using the old broken crc.c?
8488
8489 2006-07-06  Simon Josefsson  <jas@extundo.com>
8490
8491         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
8492         now the canonical place for the M4 file).
8493
8494         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
8495         from the sys_socket dependency now.
8496
8497         * modules/inet_pton (Files): Ditto.
8498
8499         * modules/inet_ntop (Files): Ditto.
8500
8501 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8502
8503         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
8504         not gl_PREREQ_GETUSERSHELL.
8505
8506 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8507
8508         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
8509         with only one argument, for Autoconf 2.60.
8510         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
8511         expand to nothing, so add a shell command to avoid syntax error.
8512         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8513
8514 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8515
8516         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
8517
8518 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8519
8520         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
8521         no longer needed.  Check for isblank decl.
8522         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
8523         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
8524         of existence.
8525
8526 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8527
8528         * lib/getloadavg.c: Use __VMS, not VMS.
8529         * lib/getopt.c: Likewise.
8530         * lib/getpagesize.h: Likewise.
8531         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
8532         and probably does not work.
8533
8534 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8535
8536         * lib/.cppi-disable: Add wcwidth.
8537         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
8538         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
8539         (ISGRAPH): Remove.  All uses changed to isgraph.
8540         (FOLD) [!defined _LIBC]: Remove special case.
8541         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
8542         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
8543         HAVE_ISBLANK.
8544         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
8545         case.
8546
8547 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
8548
8549         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
8550         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
8551         brackets.  Other minor changes to suppress some compiler
8552         warnings.
8553
8554 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8555         and Paul Eggert  <eggert@cs.ucla.edu>
8556
8557         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
8558         of invoking obsolescent AC_HEADER_DIRENT macro.
8559         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8560         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
8561         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8562         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
8563         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
8564         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
8565         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
8566         * m4/readdir.m4: Remove; no longer needed.
8567
8568 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8569         and Paul Eggert  <eggert@cs.ucla.edu>
8570
8571         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
8572         Don't worry about this obsolete case any more.
8573         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
8574         directories.
8575         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
8576         worry about this obsolete case any more.
8577         * lib/fts.c: Likewise.
8578         * lib/getcwd.c: Likewise.
8579         * lib/glob.h: Likewise.
8580         * lib/savedir.c: Likewise.
8581
8582 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8583
8584         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
8585         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
8586         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
8587         needed.
8588         All uses removed.
8589         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8590         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8591         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
8592         needed.
8593         * m4/getdate.m4 (gl_GETDATE): Likewise.
8594         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8595         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8596         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8597         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8598         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8599         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8600         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
8601         needed.
8602
8603 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8604
8605         * lib/memcasecmp.c: Include <limits.h>.
8606         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
8607         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
8608         Don't assume isdigit succeeds only on '0' through '9'.
8609
8610 2006-07-05  Eric Blake  <ebb9@byu.net>
8611
8612         * modules/getaddrinfo (Depends-on): Add snprintf.
8613
8614 2006-07-05  Eric Blake  <ebb9@byu.net>
8615
8616         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
8617         to avoid 'header present but could not be compiled' on cygwin.
8618
8619 2006-07-05  Eric Blake  <ebb9@byu.net>
8620
8621         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
8622         missing from netdb.h.
8623         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
8624
8625 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8626
8627         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
8628         no longer needed.
8629         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
8630         * m4/getdate.m4 (gl_GETDATE): Likewise.
8631         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8632         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8633         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8634         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8635         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8636
8637 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8638
8639         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
8640         All uses of is_space replaced by isspace.
8641         * lib/exit.h: Don't talk about STDC_HEADERS.
8642         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
8643         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
8644         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
8645         replaced by isprint etc.
8646         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
8647         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8648         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
8649         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
8650         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
8651         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8652
8653 2006-07-05  Bruno Haible  <bruno@clisp.org>
8654
8655         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
8656         the function exists, before testing against AIX.
8657         Reported by Martin Lambers <marlam@marlam.de>.
8658
8659 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8660
8661         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
8662         From Mark D. Baushke.
8663
8664 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8665
8666         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
8667         to the absolute name, not just one, to bypass Sun C 5.8's
8668         "warning: #include of /usr/include/... may be non-portable".
8669
8670 2006-07-04  Eric Blake  <ebb9@byu.net>
8671
8672         * modules/dirname-tests: New test module.
8673         * tests/test-dirname.c: New file, replacing dirname.c
8674         TEST_DIRNAME section that was recently deleted.
8675
8676 2006-07-04  Bruno Haible  <bruno@clisp.org>
8677
8678         Assume ANSI C header files and <ctype.h> functions.
8679         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
8680         (mbsnwidth): Use isprint, iscntrl instead.
8681
8682 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8683
8684         Merge from coreutils.
8685         * MODULES.html.sh: Add xstrtold.
8686         * modules/xstrtold: New file.
8687         * modules/cycle-check (Files): Add lib/same-inode.h.
8688         * modules/dirname (Files): Add m4/double-slash-root.m4.
8689         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
8690         * modules/mkdir-p (Files): Add lib/same-inode.h.
8691         * modules/same (Files): Add lib/same-inode.h.
8692
8693 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8694
8695         * m4/absolute-header.m4: Renamed from full-header-path.m4.
8696         This is to keep the terminology clean; POSIX talks about
8697         "absolute pathnames", not "full pathnames", but the GNU
8698         Coding Standards say to use "path" for something else;
8699         so use "absolute" to keep both sides happy.
8700         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
8701         Set gl_absolute_header, not gl_full_header_path.
8702         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
8703         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
8704         All uses changed.
8705
8706         Merge from coreutils.
8707
8708         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8709
8710         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
8711         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
8712         want to require the building of c-strtod.o.
8713         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
8714         needs -lm directly.
8715         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
8716
8717         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8718
8719         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
8720         --as-needed option if available.  Problem reported by Albert Chin in
8721         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
8722         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
8723         cc merely issues a bunch of annoying warnings for --as-needed
8724         (this problem was reported by Bob Proulx).  Also, try linking with
8725         -lm to detect a bug in binutils 2.16 (this problem was reported
8726         by Ralf Wildenhues).
8727
8728         2006-06-18  Jim Meyering  <jim@meyering.net>
8729
8730         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
8731         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
8732         macro.
8733         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
8734         also check for glibc-2.4's abort-inducing bug.
8735
8736         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
8737         Low-probability clean-up should be to use rmdir to get rid of
8738         the just-created directory, not unlink.
8739
8740         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
8741         configure fail, and request a bug report to inform us about it.
8742         Add a comment that, barring reports to the contrary, in 2007 we'll
8743         assume ftruncate is universally available.
8744
8745         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8746
8747         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
8748
8749         2006-03-12  Jim Meyering  <jim@meyering.net>
8750
8751         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
8752         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
8753         * m4/same.m4 (gl_SAME): Likewise.
8754         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
8755
8756         2006-03-11  Eric Blake  <ebb9@byu.net>
8757
8758         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
8759         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
8760         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
8761         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
8762
8763 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8764
8765         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
8766         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
8767         reported by Mark D. Baushke, one in
8768         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
8769
8770         Merge from coreutils.
8771
8772         * lib/.cppi-disable: Add stdint_.h.
8773         * lib/.cvsignore: Add stdint.h.
8774
8775         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8776
8777         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
8778         both double and long double versions.
8779         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
8780         * lib/xstrtold.c: New file.
8781         * lib/xstrtod.h (xstrtold): New decl.
8782
8783         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
8784
8785         * lib/filemode.c (setst): Remove.
8786         (strmode): Rewrite to avoid setst.  This makes the code shorter,
8787         (arguably) clearer, and the generated code is a bit smaller on my
8788         Debian GNU/Linux stable x86 host.
8789
8790         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8791
8792         * lib/filemode.c: Include "filemode.h" first, to test the interface.
8793         Assume that filemode.h includes sys/types.h and sys/stat.h.
8794         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
8795         (ftypelet): Reorder to put common cases first, for efficiency.
8796         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
8797         to do 'M'.
8798         (strmode): Renamed from mode_string, and now stores 12 bytes instead
8799         of 10, for compatibility with FreeBSD.  All callers changed.
8800         (filemodestring): Now stores 12 bytes instead of 10, and sets file
8801         types that can't be deduced solely from st_mode.  First arg is now a
8802         const pointer.
8803         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
8804         (strmode): Renamed from mode_string.
8805         (filemodestring): New decl.
8806         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
8807         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
8808         needed.
8809         (S_ISPORT, S_ISWHT): New macros, if not already defined.
8810
8811         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8812
8813         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
8814         fsusage.h now does that.  Include fsusage.h first, to test interface.
8815         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
8816         at most one method (the old code could have generated decls that
8817         didn't conform to C89, not that this was ever exercised).
8818         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
8819
8820         2006-03-19  Jim Meyering  <jim@meyering.net>
8821
8822         Work even in a chroot where d_ino values for entries in "/"
8823         don't match the stat.st_ino values for the same names.
8824         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
8825         number, iterate through all entries again, using lstat instead.
8826         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
8827         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
8828
8829         * lib/getcwd.c (__getcwd): Clarify a comment.
8830         Use memcpy in place of a call to strcpy.
8831
8832         2006-03-12  Jim Meyering  <jim@meyering.net>
8833
8834         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
8835         matches that of the current directory (which we're about to chdir ".."
8836         out of), then save the dev-ino of the parent, instead.
8837
8838         * lib/same-inode.h (SAME_INODE): New file/macro.
8839         * lib/chdir-safer.c (SAME_INODE): Remove definition.
8840         Include "same-inode.h", instead.
8841         * lib/same.c: Likewise.
8842         * lib/cycle-check.h: Include "same-inode.h".
8843         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
8844         * lib/cycle-check.c (SAME_INODE): Remove definition.
8845         * lib/root-dev-ino.h: Include "same-inode.h".
8846
8847         2006-03-11  Eric Blake  <ebb9@byu.net>
8848
8849         * lib/same.c (same_name): s/base_name/last_component/
8850         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
8851         * lib/filenamecat.c (file_name_concat): Likewise.
8852
8853         2006-03-11  Eric Blake  <ebb9@byu.net>,
8854                     Paul Eggert  <eggert@cs.ucla.edu>
8855
8856         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
8857         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
8858         drive prefix.
8859         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
8860         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
8861         (last_component): New method.
8862         * lib/dirname.c (dir_len): Determine when drive letters need a
8863         subsequent slash.  Preserve // when it is special.
8864         (dir_name): Don't append dot when drive letter is absolute.
8865         [TEST_DIRNAME]: Move into a full-blown gnulib test.
8866         * lib/basename.c (base_name): New semantics - malloc the result.
8867         Preserve // when it is special.  Preserve relative files that look
8868         like drive letters.
8869         (base_len): Preserve // when it is special.
8870         (last_component): New method, similar to old base_name semantics.
8871         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
8872         base_name.  Strip redundant slashes from ///.
8873
8874 2006-07-03  Jim Meyering  <jim@meyering.net>
8875
8876         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
8877         macro is used before the first cycle_check call.
8878
8879 2006-07-03  Eric Blake  <ebb9@byu.net>
8880
8881         * modules/dirname (Depends-on): Add xstrndup.
8882
8883 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
8884
8885         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
8886         test cases, so that config.log is a bit easier to follow.
8887
8888 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
8889
8890         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
8891         both are 64 bits, since this seems to be the tradition, and this
8892         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
8893         we ever run into a host that prefers long long to long in this
8894         case, we'll need another configure-time test.  Problem reported by
8895         Jim Meyering.
8896
8897 2006-07-02  Eric Blake  <ebb9@byu.net>
8898
8899         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
8900
8901 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8902
8903         * modules/inttypes (Depends-on): No longer depends on stdint.
8904         * modules/stdint (Description): Say more about assumptions.
8905         Say that the fast types might differ.  Say macros are used.
8906         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
8907         (Makefile.am): Revise list of substituted symbols to match
8908         new stdint.m4.
8909         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
8910         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
8911         * tests/test-stdint.c (verify_same_types)
8912         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
8913         the code conforms to C99/C89.
8914         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
8915         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
8916
8917 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8918
8919         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
8920         but fix a bug, by requiring at least 64 bits.
8921         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
8922         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
8923         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
8924         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
8925
8926         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
8927         changes.  Make 2.59 a prerequisite.  Check and substitute for
8928         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
8929         inttypes.h.  Do not use special include files; just use the
8930         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
8931         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
8932         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
8933         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
8934         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
8935         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
8936         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
8937         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
8938         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
8939         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
8940         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
8941         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
8942         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
8943         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
8944         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
8945         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
8946         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
8947         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
8948         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
8949         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
8950         WINT_MAX.  Check for C99 conformance more strictly, by detecting
8951         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
8952         not check for things that C99 does not require, e.g., int8_t.  If
8953         a test isn't needed unless <stdint.h> isn't working, and is
8954         unlikely to be needed for any other reason, then don't do it
8955         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
8956         size_t, since we assume C89 freestanding at least.  Do not check
8957         for sig_atomic_t, wchar_t, or wint_t, since the code now does
8958         the right thing even if the types are not defined.  Instead use:
8959         (gl_STDINT_TYPE_PROPERTIES): New macro.
8960         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
8961         testing whether <sys/types.h> clashes, as Autoconf does this for
8962         us now.  All uses removed.
8963         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
8964         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
8965         (gl_CHECK_TYPE_SAME):
8966         Remove; no longer needed.
8967         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
8968         exists, since we'll return 0 anyway in that case.
8969         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
8970
8971 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8972
8973         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
8974         possible collision with system files.
8975         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
8976         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
8977         WCHAR_MIN and WCHAR_MAX in this case.
8978         (<stddef.h>): Do not include; no longer needed.
8979         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
8980         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
8981         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
8982         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
8983         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
8984         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
8985         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
8986         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
8987         !defined(__c99))]: Include in this case too, since it's harmless
8988         now.
8989         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
8990         dangerous to do so.
8991         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
8992         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
8993         (_STDINT_MIN, _STDINT_MAX): New macros.
8994         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
8995         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
8996         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
8997         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
8998         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
8999         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
9000         macros, not typedefs; this simplifies things quite a bit.
9001         Use long int for all types narrower than int64_t.
9002         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
9003         Define in terms of long long int or int64_t or long int,
9004         not int64_t or int32_t.  This saves some compile-time testing.
9005         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
9006         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
9007         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
9008         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
9009         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
9010         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
9011         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
9012         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
9013         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
9014         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
9015         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
9016         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
9017         undef any previous version and define our own version, for
9018         simplicity and consistency with the new macros for types.
9019         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
9020         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
9021         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
9022         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
9023         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
9024         @WINT_T_SUFFIX@ to keep things simple here.
9025         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
9026         Simplify by assuming typical 8/16/32/64 host, since we're
9027         already doing that elsewhere anyway.
9028         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
9029         and assume long long int is 64 bits if available.  This
9030         speeds up 'configure'.
9031
9032 2006-07-01  Eric Blake  <ebb9@byu.net>
9033
9034         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
9035         Reported by Andreas Buening.
9036
9037 2006-07-01  Eric Blake  <ebb9@byu.net>
9038
9039         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
9040
9041 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
9042
9043         * lib/getaddrinfo.c: fixed typo
9044
9045 2006-06-29  Jim Meyering  <jim@meyering.net>
9046
9047         * modules/strftime (Maintainer): Add my name, since with the
9048         FPRINTFTIME changes strftime.c has forked from glibc.
9049
9050 2006-06-29  Eric Blake  <ebb9@byu.net>
9051
9052         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
9053
9054 2006-06-29  Eric Blake  <ebb9@byu.net>
9055
9056         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
9057
9058 2006-06-29  Eric Blake  <ebb9@byu.net>
9059
9060         * lib/stat_.h: New file.
9061
9062 2006-06-29  Eric Blake  <ebb9@byu.net>
9063
9064         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
9065         unused static function.
9066
9067 2006-06-29  Eric Blake  <ebb9@byu.net>
9068
9069         * doc/functions.texi (Function Portability): Document missing lstat
9070         on mingw.
9071
9072 2006-06-29  Eric Blake  <ebb9@byu.net>
9073
9074         * MODULES.html.sh: Add sys_stat.
9075         * modules/sys_stat: New module.
9076         * modules/mkstemp (Depends-on): Add sys_stat.
9077
9078 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9079
9080         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
9081
9082 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9083
9084         * m4/c-bs-a.m4: Removed.
9085
9086 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9087
9088         * lib/strftime.c: Assume strftime() exists.
9089
9090 2006-06-29  Derek Price  <derek@ximbiot.com>
9091
9092         * modules/c-bs-a: Removed - \a is C89.
9093         * MODULES.html.sh: Remove c-bs-a.
9094
9095 2006-06-29  Bruno Haible  <bruno@clisp.org>
9096
9097         * modules/wcwidth (License): Change to LGPL.
9098
9099 2006-06-28  Simon Josefsson  <jas@extundo.com>
9100
9101         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
9102         on _WIN32.
9103
9104         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
9105         getnameinfo.
9106
9107 2006-06-28  Simon Josefsson  <jas@extundo.com>
9108
9109         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
9110
9111 2006-06-28  Simon Josefsson  <jas@extundo.com>
9112
9113         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
9114         functions there.  It will succeed on Windows XP, but on Windows
9115         2000 and (presumably) earlier, it will fail, and use the internal
9116         re-implementation.
9117         (use_win32_p): New function.
9118         (getaddrinfo): Use strtoul on servname, to support numeric ports.
9119         Support AI_NUMERICSERV to disable getservbyname.
9120         (getnameinfo): New function, only supports
9121         NI_NUMERICHOST|NI_NUMERICSERV for now.
9122
9123         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
9124         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
9125         getnameinfo.
9126
9127 2006-06-28  Eric Blake  <ebb9@byu.net>
9128
9129         * modules/wcwidth: New file.
9130         * modules/mbchar (Depends-on): Add wcwidth.
9131         * modules/mbswidth (Depends-on): Add wcwidth.
9132         * MODULES.html.sh: Add wcwidth.
9133
9134 2006-06-28  Eric Blake  <ebb9@byu.net>
9135
9136         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
9137         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
9138
9139 2006-06-28  Eric Blake  <ebb9@byu.net>
9140
9141         * lib/xvasprintf.h: Fix comments.
9142
9143 2006-06-28  Eric Blake  <ebb9@byu.net>
9144
9145         * lib/mbchar.h (wcwidth): Include wcwidth.h.
9146         * lib/mbswidth.c (wcwidth): Move from here...
9147         * lib/wcwidth.h: ...to this new file.
9148
9149 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9150
9151         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
9152
9153         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
9154         it's obsolete.
9155         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
9156
9157 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9158
9159         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
9160         Autoconf 2.60 says this stuff was obsolete.
9161
9162 2006-06-28  Bruno Haible  <bruno@clisp.org>
9163
9164         * modules/wcwidth (Files): Add m4/wchar_t.m4.
9165
9166 2006-06-28  Bruno Haible  <bruno@clisp.org>
9167
9168         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
9169         gt_TYPE_WCHAR_T.
9170
9171 2006-06-28  Bruno Haible  <bruno@clisp.org>
9172
9173         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
9174         declaration for wcwidth.
9175         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
9176
9177 2006-06-28  Bruno Haible  <bruno@clisp.org>
9178
9179         * lib/mkdtemp.c [MINGW]: Include <io.h>.
9180         (mkdir): Define using _mkdir.
9181
9182 2006-06-28  Bruno Haible  <bruno@clisp.org>
9183
9184         * lib/getaddrinfo.h: Fix POSIX URL.
9185         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
9186         _WIN32.
9187         (use_win32_p): Make static.
9188         (getaddrinfo): Reject service name if it is empty or does not consist
9189         solely of decimal digits, or if its value is > 65535.
9190         (getnameinfo): Remove useless casts.
9191
9192 2006-06-27  Simon Josefsson  <jas@extundo.com>
9193
9194         * modules/sys_select: New file, suggested by Bruno Haible, Paul
9195         Eggert and Martin Lambers.
9196
9197 2006-06-27  Simon Josefsson  <jas@extundo.com>
9198
9199         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
9200         Eggert and Martin Lambers.
9201
9202 2006-06-27  Bruno Haible  <bruno@clisp.org>
9203
9204         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
9205         result to 0, not to empty.
9206         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
9207
9208 2006-06-27  Bruno Haible  <bruno@clisp.org>
9209
9210         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
9211
9212 2006-06-26  Simon Josefsson  <jas@extundo.com>
9213
9214         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
9215         present.
9216
9217 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
9218
9219         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
9220         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
9221         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
9222
9223 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
9224
9225         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
9226
9227 2006-06-26  Bruno Haible  <bruno@clisp.org>
9228
9229         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
9230
9231 2006-06-26  Bruno Haible  <bruno@clisp.org>
9232
9233         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
9234
9235 2006-06-26  Bruno Haible  <bruno@clisp.org>
9236
9237         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
9238         SGI C compiler in pre-C99 mode.
9239         Suggested by Mark D. Baushke and Larry Jones.
9240
9241 2006-06-26  Bruno Haible  <bruno@clisp.org>
9242
9243         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
9244         WCHAR_MAX.
9245         Reported by Mark D. Baushke and Larry Jones.
9246
9247 2006-06-26  Bruno Haible  <bruno@clisp.org>
9248
9249         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
9250         in pre-C99 mode.
9251         Suggested by Mark D. Baushke and Larry Jones.
9252
9253 2006-06-23  Simon Josefsson  <jas@extundo.com>
9254             Bruno Haible  <bruno@clisp.org>
9255
9256         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
9257         Emit mostlyclean-local rule.
9258         (func_emit_tests_Makefile_am): Likewise.
9259         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
9260
9261 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
9262
9263         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
9264
9265 2006-06-23  Bruno Haible  <bruno@clisp.org>
9266
9267         * tests/test-stdint.c: Update to match ISO C 99 Technical
9268         Corrigendum 1.
9269
9270 2006-06-23  Bruno Haible  <bruno@clisp.org>
9271
9272         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
9273
9274 2006-06-23  Bruno Haible  <bruno@clisp.org>
9275
9276         * lib/stdint_.h: Treat IRIX like OpenBSD.
9277
9278 2006-06-23  Bruno Haible  <bruno@clisp.org>
9279
9280         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
9281         ISO C 99 Technical Corrigendum 1.
9282
9283 2006-06-22  Simon Josefsson  <jas@extundo.com>
9284
9285         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
9286         MinGW.
9287
9288 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
9289
9290         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
9291         needed.  Some compiler complained about some of them.  Problem reported
9292         by Larry Jones in
9293         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
9294
9295 2006-06-21  Simon Josefsson  <jas@extundo.com>
9296
9297         * tests/test-getaddrinfo.c: New file.
9298
9299         * modules/getaddrinfo-tests: New file.
9300
9301         * MODULES.html.sh: Add inet_pton.
9302
9303         * modules/inet_pton: New file.
9304
9305 2006-06-21  Simon Josefsson  <jas@extundo.com>
9306
9307         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
9308         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
9309         of using the (limited) gnulib implementation on Windows XP.
9310
9311         * m4/inet_pton.m4: New file.
9312
9313 2006-06-21  Simon Josefsson  <jas@extundo.com>
9314
9315         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
9316         variable.
9317
9318         * lib/socket_.h: Don't define WINVER.
9319
9320         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
9321         slightly modified to work in gnulib.
9322
9323 2006-06-21  Simon Josefsson  <jas@extundo.com>
9324
9325         * doc/gnulib.texi (Windows sockets): Add.
9326
9327 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
9328
9329         * lib/read-file.c (fread_file): Start with buffer allocation of
9330         0 bytes rather than 1 byte; this simplifies the code.
9331         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
9332         code to free buffer and save/restore errno.
9333         (internal_read_file): Remove unused local.
9334
9335 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9336
9337         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
9338         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
9339         Problem reported by Denis Excoffier in
9340         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
9341
9342 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9343
9344         * modules/sys_socket, modules/socklen: Include sys/types since
9345         FreeBSD 4.x's sys/socket.h needs it.
9346
9347 2006-06-19  Simon Josefsson  <jas@extundo.com>
9348
9349         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
9350
9351 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
9352
9353         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
9354
9355 2006-06-19  Bruno Haible  <bruno@clisp.org>
9356
9357         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
9358         and FULL_PATH_INTTYPES_H in angle brackets.
9359         Reported by Mark D. Baushke <mdb@gnu.org>.
9360
9361 2006-06-17  Eric Blake  <ebb9@byu.net>
9362
9363         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
9364         errno.
9365
9366 2006-06-17  Bruno Haible  <bruno@clisp.org>
9367
9368         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
9369         <sys/inttypes.h>.
9370
9371 2006-06-17  Bruno Haible  <bruno@clisp.org>
9372
9373         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
9374         whether errno is declared. Assume <errno.h> declares errno.
9375
9376 2006-06-17  Bruno Haible  <bruno@clisp.org>
9377
9378         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
9379
9380 2006-06-17  Bruno Haible  <bruno@clisp.org>
9381
9382         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
9383         problem on Solaris 2.5.1.
9384
9385 2006-06-16  Eric Blake  <ebb9@byu.net>
9386
9387         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
9388         * lib/unicodeio.c [!defined errno]: Likewise.
9389         * lib/strtol.c [!defined errno]: Likewise.
9390         * lib/strtod.c [!defined errno]: Likewise.
9391
9392 2006-06-15  Eric Blake  <ebb9@byu.net>
9393
9394         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
9395
9396 2006-06-15  Eric Blake  <ebb9@byu.net>
9397
9398         * config/srclist.txt (ssize_t.m4): Lose sync.
9399
9400 2006-06-15  Bruno Haible  <bruno@clisp.org>
9401
9402         * modules/stdint (Files): Include m4/full-header-path.m4,
9403         m4/size_max.m4, m4/wchar_t.m4.
9404         (Makefile.am): Many more substitutions.
9405         * modules/stdint-tests: New file.
9406         * tests/test-stdint.c: New file.
9407
9408 2006-06-15  Bruno Haible  <bruno@clisp.org>
9409
9410         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
9411         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
9412         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
9413         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
9414         gl_CHECK_TYPE_SAME): New macros.
9415
9416 2006-06-15  Bruno Haible  <bruno@clisp.org>
9417
9418         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
9419
9420 2006-06-15  Bruno Haible  <bruno@clisp.org>
9421
9422         * lib/stdint_.h: Rewritten to be fully auto-configured.
9423         Fixes bug on HP-UX/IA64.
9424
9425 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
9426
9427         * lib/getdate.y (__attribute__): Don't define if already defined.
9428         Problem reported by Larry Jones.
9429         * lib/utimens.c (__attribute__): Likewise.
9430
9431 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
9432
9433         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
9434         reported by Andreas Schwab.
9435
9436 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9437             Bruno Haible  <bruno@clisp.org>
9438
9439         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
9440         check for the declaration of strnlen and a run test that exposes the
9441         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
9442         rpl_strndup.
9443
9444 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9445             Bruno Haible  <bruno@clisp.org>
9446
9447         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
9448
9449 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9450
9451         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
9452         compile test, for Tru64 4.0D.
9453
9454 2006-05-28  Karl Berry  <karl@gnu.org>
9455
9456         * config/srclist.txt (printf-args.c): lose sync.
9457
9458 2006-05-26  Martin Lambers  <marlam@marlam.de>
9459
9460         * lib/getpass.c: Updates the test for the native W32 API, and adds
9461         missing includes, thus fixing compilation warnings.
9462
9463 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9464
9465         * lib/exclude.c (exclude_fnmatch): New function.
9466         (excluded_file_name): Call exclude_fnmatch.
9467         * lib/exclude.h (excluded_file_name): New prototype
9468
9469 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
9470
9471         * lib/tempname.c (small_open, large_open): New macros.
9472         (__open, __open64) [!_LIBC]: Remove.
9473         (__gen_tempname): Use small_open and large_open instead of __open
9474         and __open64.  This fixes a portability bug on HP-UX 11.11i
9475         reported by Simon Wing-Tang in
9476         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
9477
9478 2006-05-24  Bruno Haible  <bruno@clisp.org>
9479
9480         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
9481         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
9482         Reported by Thorsten Maerz <torte@netztorte.de> via
9483         Aaron Stone <aaron@serendipity.cx>.
9484
9485 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9486
9487         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
9488         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
9489         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
9490         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
9491         not really conditional on the cache.
9492         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
9493
9494 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9495
9496         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
9497         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
9498         (my_usleep): Don't mishandle maximum value.
9499
9500 2006-05-19  Jim Meyering  <jim@meyering.net>
9501
9502         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
9503
9504 2006-05-17  Bruno Haible  <bruno@clisp.org>
9505
9506         Cygwin portability.
9507         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
9508
9509 2006-05-17  Bruno Haible  <bruno@clisp.org>
9510
9511         * lib/stdint_.h: Fix recognition of Cygwin.
9512
9513 2006-05-15  Bruno Haible  <bruno@clisp.org>
9514
9515         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
9516         on libtool patch by Ralf Wildenhues.
9517
9518 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9519
9520         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
9521         test for C99 conformance; (bool) 0.5 is an integer constant
9522         expression, but (bool) -0.5 is not.  Problem reported by Fedor
9523         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
9524
9525 2006-05-11  Simon Josefsson  <jas@extundo.com>
9526
9527         * m4/xvasprintf.m4: Fix obvious typo.
9528
9529 2006-05-11  Jim Meyering  <jim@meyering.net>
9530
9531         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
9532         James Lemley.
9533
9534 2006-05-10  Simon Josefsson  <jas@extundo.com>
9535
9536         * lib/md4.c: Typo fix, update copyright years.
9537         (K1, K2): Don't use L because it turn computations into 64-bit on
9538         64-bit platforms.
9539
9540 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
9541
9542         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
9543         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
9544         unwanted sign propagation, e.g., on hosts with 64-bit int.
9545         There still are some problems with reeelly weird theoretical hosts
9546         (e.g., 33-bit int) but it's not worth worrying about now.
9547         * lib/sha1.c (rol): Likewise.
9548         (K1, K2, K3, K4): Remove unnecessary L suffix.
9549
9550 2006-05-10  Bruno Haible  <bruno@clisp.org>
9551
9552         * lib/des.c: Cast to avoid warnings.
9553
9554 2006-05-09  Bruno Haible  <bruno@clisp.org>
9555
9556         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
9557         (Depends-on): Depend also on xsize, stdarg.
9558         (configure.ac): Add gl_XVASPRINTF.
9559
9560 2006-05-09  Bruno Haible  <bruno@clisp.org>
9561
9562         * m4/xvasprintf.m4: New file.
9563
9564 2006-05-09  Bruno Haible  <bruno@clisp.org>
9565
9566         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
9567         (EOVERFLOW): Define fallback value.
9568         (xstrcat): New function.
9569         (xvasprintf): Recognize the special case of a string concatenation.
9570
9571 2006-05-08  Eric Blake  <ebb9@byu.net>
9572
9573         * gnulib-tool (func_version): Base copyright year on CVS date.
9574         (func_emit_copyright_notice): New function.
9575         (func_emit_lib_Makefile_am): Use it.
9576         (func_emit_tests_Makefile_am): Likewise.
9577         (func_import): Likewise.
9578
9579 2006-05-08  Bruno Haible  <bruno@clisp.org>
9580
9581         * modules/stdarg: New file.
9582         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
9583
9584 2006-05-08  Bruno Haible  <bruno@clisp.org>
9585
9586         * m4/stdarg.m4: New file, from GNU gettext.
9587
9588 2006-05-08  Bruno Haible  <bruno@clisp.org>
9589
9590         * config/srclist.txt (build-aux/config.rpath): different from latest
9591         release.
9592
9593 2006-05-08  Bruno Haible  <bruno@clisp.org>
9594
9595         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
9596
9597 2006-05-05  Jim Meyering  <jim@meyering.net>
9598
9599         * m4/warning.m4: New file, derived from bison's file by the same name.
9600
9601 2006-05-03  Bruno Haible  <bruno@clisp.org>
9602
9603         * lib/stdint_.h: Shorter URL.
9604         * lib/inttypes.h: Likewise.
9605
9606 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9607
9608         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
9609
9610 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9611
9612         * lib/verify.h: Document the internals better.  Most of this change
9613         was written by Bruno Haible.
9614
9615 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9616
9617         * doc/verify.texi: New file, partly based on a proposal by
9618         Bruno Haible.
9619
9620 2006-05-02  Bruno Haible  <bruno@clisp.org>
9621
9622         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
9623         test from here...
9624         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
9625
9626 2006-04-29  Bruno Haible  <bruno@clisp.org>
9627
9628         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
9629         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
9630
9631 2006-04-29  Bruno Haible  <bruno@clisp.org>
9632
9633         * gnulib-tool: Make --update option actually work.
9634
9635 2006-04-29  Bruno Haible  <bruno@clisp.org>
9636
9637         * doc/gcd.texi: New file.
9638         * doc/gnulib.texi: Include it.
9639
9640 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
9641
9642         * lib/getdate.y (get_date): When adding relative date, start with the
9643         initial time, not with the result of the first mktime call.
9644
9645 2006-04-25  Bruno Haible  <bruno@clisp.org>
9646
9647         * gnulib-tool (func_import): Output the include directives in three
9648         blocks, sorted separately.
9649         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9650
9651 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9652
9653         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
9654         to define main with arguments, for C++.  Reported by Eric Blake.
9655         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
9656         Prefer 'int main ()' to 'int main (void)', for C++.
9657         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9658         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
9659         for 'main', for C99 and C++.
9660
9661 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9662
9663         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
9664         Don't assume that exit status -1 is valid.
9665         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9666         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
9667         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
9668         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
9669         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
9670         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
9671         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
9672         functions can be used without declaring them, or that you can
9673         exit with status -1.
9674         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
9675
9676 2006-04-24  Karl Berry  <karl@gnu.org>
9677
9678         * config/srclist.txt (longdouble.m4): sync lost.
9679
9680 2006-04-24  Eric Blake  <ebb9@byu.net>
9681
9682         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
9683
9684 2006-04-24  Bruno Haible  <bruno@clisp.org>
9685
9686         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
9687         poll() implementation in AIX.
9688         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9689
9690 2006-04-24  Bruno Haible  <bruno@clisp.org>
9691
9692         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
9693         assigned exactly once.
9694
9695 2006-04-23  Claudio Fontana  <claudio@gnu.org>
9696             Bruno Haible  <bruno@clisp.org>
9697
9698         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
9699         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
9700         for AM_CPPFLAGS.
9701
9702 2006-04-23  Bruno Haible  <bruno@clisp.org>
9703
9704         * modules/copy-file: Depend on unistd.
9705         * modules/execute: Likewise.
9706         * modules/fatal-signal: Likewise.
9707         * modules/findprog: Likewise.
9708         * modules/mkdtemp : Likewise.
9709         * modules/pipe: Likewise.
9710         * modules/wait-process: Likewise.
9711
9712 2006-04-23  Bruno Haible  <bruno@clisp.org>
9713
9714         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
9715         condition was already detected.
9716         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9717
9718 2006-04-23  Bruno Haible  <bruno@clisp.org>
9719
9720         * lib/copy-file.c: Include <unistd.h> unconditionally.
9721         * lib/execute.c: Likewise.
9722         * lib/fatal-signal.c: Likewise.
9723         * lib/findprog.c: Likewise.
9724         * lib/mkdtemp.c: Likewise.
9725         * lib/pipe.h: Likewise.
9726         * lib/pipe.c: Likewise.
9727         * lib/wait-process.h: Likewise.
9728
9729 2006-04-23  Bruno Haible  <bruno@clisp.org>
9730
9731         * gnulib-tool (func_usage): Fix --import description. Document
9732         --update.
9733         (func_import): Create temporary file in a temporary directory, if
9734         --dry-run is specified. Silence errors from 'grep' when there are no
9735         m4 files in $m4dir.
9736         (func_create_testdir): Silence errors from 'grep' when there are no
9737         m4 files in $m4dir.
9738         Reported by Karl Berry <karl@freefriends.org>.
9739
9740 2006-04-20  Bruno Haible  <bruno@clisp.org>
9741
9742         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
9743         one argument, so that the code will be portable to Autoconf 2.60.
9744         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
9745         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9746         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
9747
9748 2006-04-19  Derek Price  <derek@ximbiot.com>
9749             Eric Blake  <ebb9@byu.net>
9750
9751         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
9752         rather than "/full/path.h".  Update comment to match.  Shorten &
9753         generalize m4_translit call via AS_TR_CPP.
9754
9755 2006-04-19  Derek Price  <derek@ximbiot.com>
9756             Eric Blake  <ebb9@byu.net>
9757
9758         * lib/inttypes.h: Correct grammar in comment.
9759
9760 2006-04-18  Derek Price  <derek@ximbiot.com>
9761             Paul Eggert  <eggert@cs.ucla.edu>
9762
9763         * modules/inttypes: New file.
9764         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
9765
9766 2006-04-18  Derek Price  <derek@ximbiot.com>
9767             Paul Eggert  <eggert@cs.ucla.edu>
9768
9769         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
9770         New files.
9771
9772 2006-04-18  Derek Price  <derek@ximbiot.com>
9773             Paul Eggert  <eggert@cs.ucla.edu>
9774
9775         * lib/inttypes.h: New file.
9776         * lib/strtoimax.c: Assume <inttypes.h>.
9777
9778 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
9779
9780         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
9781         isn't mounted.  Problem reported by Kir Kolyshkin.
9782
9783 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
9784
9785         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
9786         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
9787         Derek R. Price.
9788         * lib/regex.h (RE_DUP_MAX): Update comment to match current
9789         implementation.
9790
9791 2006-04-12  Eric Blake  <ebb9@byu.net>
9792
9793         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
9794         is now done automatically by the corresponding Autoconf macro.
9795
9796 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
9797
9798         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
9799         time_r.h.
9800
9801 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9802
9803         Merge regex changes from libc, removing some of our
9804         POSIX-conformance changes that were rejected and redoing them in a
9805         less-intrusive way.
9806
9807         * lib/regcomp.c (re_compile_internal, init_dfa):
9808         Length arg is now size_t, not Idx.  All uses changed.
9809         (peek_token): Forward decl now says internal_function.
9810         (__re_error_msgid, __re_error_msgid_idx):
9811         Now static rather than extern with attribute_hidden.
9812         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
9813         For some reason libc prefers K&R style defns for external functions.
9814         (regerror) [!defined _LIBC]: Likewise.
9815         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
9816         (seek_collating_symbol_entry, lookup_collation_sequence_value):
9817         (build_range_exp, build_collating_symbol):
9818         Use K&R-style defn.
9819         (re_compile_fastmap): Use '\0' to memset, not 0.
9820         (utf8_sb_map): Make the calculations more obvious.
9821         (init_dfa, parse_bracket_exp, build_charclass_op):
9822         Call calloc and cast result, as glibc does.
9823         (init_word_char, fetch_token, peek_token, peek_token_bracket):
9824         (build_range_exp, build_collating_symbol):
9825         Now internal functions.
9826
9827         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
9828
9829         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
9830         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
9831         Don't depend on VMS; depend on __VMS instead, for POSIX
9832         namespace cleanness.
9833         (regoff_t): Define to ssize_t, not long int.
9834
9835         Remove the REG_ macros named below.  Instead, make the old names
9836         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
9837         __USE_GNU_REGEX.
9838         (REG_BACKSLASH_ESCAPE_IN_LISTS):
9839         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
9840         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
9841         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
9842         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
9843         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
9844         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
9845         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
9846         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
9847         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
9848         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
9849         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
9850         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
9851         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
9852         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
9853         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
9854         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
9855         (REG_NREGS):
9856         Remove.  All uses replaced by the old RE_* names.
9857         (RE_BACKSLASH_ESCAPE_IN_LISTS):
9858         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
9859         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
9860         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
9861         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
9862         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
9863         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
9864         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
9865         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
9866         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
9867         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
9868         Don't bother having these macros be independent of each others'
9869         values, since they no longer exist in the POSIX name space.
9870
9871         Rename the following member names back to their old names,
9872         unless !__USE_GNU_REGEX.  All uses changed back.
9873         (buffer): Renamed from re_buffer.
9874         (allocated): Renamed from re_allocated.
9875         (used): Renamed from re_used.
9876         (syntax): Renamed from re_syntax.
9877         (fastmap): Renamed from re_fastmap.
9878         (translate): Renamed from re_translate.
9879         (can_be_null): Renamed from re_can_be_null.
9880         (regs_allocated): Renamed from re_regs_allocated.
9881         (fastmap_accurate): Renamed from re_fastmap_accurate.
9882         (no_sub): Renamed from re_no_sub.
9883         (not_bol): Renamed from re_not_bol.
9884         (not_eol): Renamed from re_not_eol.
9885         (newline_anchor): Renamed from re_newline_anchor.
9886         (num_regs): Renamed from rm_num_regs.
9887         (start): Renamed from rm_start.
9888         (end): Renamed from rm_end.
9889
9890         (free_state): Move up a bit.
9891
9892         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
9893         #define to be empty.
9894         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
9895         when that is what is intended.
9896         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
9897         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
9898         (MAX): New macro.
9899         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
9900         All uses changed back to re_malloc, etc.  It's now the caller's
9901         responsibility to check for overflow; all callers changed.
9902         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
9903         (re_x2nrealloc): Remove.
9904         (free_state): Remove decl.
9905
9906         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
9907         (re_set_registers, re_exec):
9908         Use K&R-style defn.
9909
9910         2006-01-31  Roland McGrath  <roland@redhat.com>
9911
9912         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
9913         Reported by Mike Frysinger <vapier@gentoo.org>.
9914
9915         2006-01-15  Andreas Jaeger  <aj@suse.de>
9916
9917         [BZ #1950]
9918         * lib/regex_internal.c (re_string_reconstruct): Adjust for
9919         build_wcs_upper_buffer change.
9920         (build_wcs_upper_buffer): Change return type.
9921
9922         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
9923
9924         * lib/regex_internal.h: Include <stdint.h> if available.
9925
9926         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
9927
9928         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
9929
9930         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
9931
9932         * lib/regcomp.c: Adjust for changed secondary hash function.
9933
9934         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
9935
9936         * lib/regex.h: Pretty printing.
9937         Clean up namespace a bit.
9938
9939         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
9940
9941         * lib/regexec.c (update_cur_sifted_state, check_arrival,
9942         check_arrival_add_next_nodes): Avoid using uninitialized variable.
9943
9944         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9945                     Ulrich Drepper  <drepper@redhat.com>
9946
9947         [BZ #1302]
9948         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
9949         changed.
9950         (bitset_word_t): Renamed from bitset_word.  All uses changed.
9951
9952         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
9953
9954         [BZ #281]
9955         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
9956         * lib/regcomp.c: Remove unnecessary uses of
9957         unsigned RE_TRANSLATE_TYPE.
9958         * lib/regex_internal.h: Likewise.
9959         * lib/regex_internal.c: Likewise.
9960         * lib/regexec.c: Likewise.
9961         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
9962
9963         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
9964
9965         * lib/regexec.c (find_recover_state): Remove unnecessary
9966         initialization.
9967         (transit_state_bkref): Make DFA a const pointer.
9968         (get_subexp): Likewise.
9969         (check_arrival): Likewise.
9970         (update_cur_sifted_state): Likewise.
9971         (re_search_internal): Likewise.
9972         (prune_impossible_nodes): Likewise.
9973         (acquire_init_state_context): Likewise.
9974         (proceed_next_node): Likewise.
9975         (set_regs): Likewise.
9976         (free_fail_stack_return): Likewise.
9977         (check_arrival_expand_ecl): Mark DFA parameter as const.
9978         (check_arrival_expand_ecl_sub): Likewise.
9979         (check_subexp_limits): Likewise.
9980         (sub_epsilon_src_nodes):  Likewise.
9981         (add_epsilon_src_nodes):  Likewise.
9982         (merge_state_array): Likewise.
9983         (update_regs): Likewise.
9984         (build_trtable): Likewise.
9985         (sift_states_backward): Mark MCTX parameter as const.
9986         (build_sifted_states): Likewise.
9987         (update_cur_sifted_state): Likewise.
9988         (sift_states_mkref): Likewise.
9989         (check_arrival_expand_ecl): Mark eclosure as const.
9990         (check_dst_limits_calc_pos_1): Likewise.
9991         * lib/regex_internal.h (re_match_context_t): Make dfa a const
9992         pointer.
9993
9994         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
9995
9996         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
9997         (transit_state_sb): Likewise.
9998         (transit_state_mb): Likewise.
9999         (sift_states_iter_mb): Likewise.
10000         (check_arrival_add_next_nodes): Likewise.
10001         (check_node_accept_bytes): Change first parameter to pointer-to-const.
10002         [_LIBC] (re_search_2_stub): Use mempcpy.
10003
10004         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
10005         mbrtowc for very simple UTF-8 case.
10006
10007         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
10008         a pointer-to-const.
10009         (re_acquire_state_context): Likewise.
10010         * lib/regex_internal.h: Adjust prototypes.
10011
10012         * lib/regex.c: Prevent using C++ compilers.
10013
10014         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
10015         (re_acquire_state_context): Likewise.
10016
10017 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10018
10019         * modules/regex (Depends-on): Add ssize_t.
10020
10021 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10022
10023         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
10024         translation table.
10025
10026 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10027
10028         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
10029
10030 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
10031             Bruno Haible  <bruno@clisp.org>
10032
10033         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
10034         <sys/types.h> and <inttypes.h>.
10035
10036 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10037
10038         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
10039         `__error_t_defined', so argp.h will not typedef the former.
10040
10041 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
10042
10043         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
10044         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
10045         glibc names.  Even if glibc is changed to conform to POSIX, the
10046         traditional names will be available anyway, since regex depends on
10047         the extensions module.  Also, fix a longstanding typo in the
10048         implementation of Spencer ERE test #75 from grep 2.3.  Problems
10049         reported by Emanuele Giaquinta.  Also, change sense of cached
10050         variable, so that the message makes sense.
10051
10052 2006-03-24  Simon Josefsson  <jas@extundo.com>
10053
10054         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
10055         including some doc fixes.
10056         (base64_encode_alloc): Fix +1 bug on allocation failures.
10057
10058 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10059
10060         * lib/base64.c (base64_encode): Do not read past end of array with
10061         unsanitized input on systems with CHAR_BIT > 8.
10062
10063 2006-03-24  Eric Blake  <ebb9@byu.net>
10064
10065         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
10066
10067 2006-03-22  Karl Berry  <karl@gnu.org>
10068
10069         * config/srclist.txt (*setenv.[ch]): get from coreutils.
10070         * config/srclistvars.sh (COREUTILS): new var.
10071
10072 2006-03-17  Jim Meyering  <jim@meyering.net>
10073
10074         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
10075         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
10076
10077 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
10078
10079         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
10080         no longer needs it.  Instead, check that regoff_t is as least
10081         as wide as ptrdiff_t.
10082
10083         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
10084         so that our regex.h stays compatible with the installed regex.
10085         This is helpful for installers who configure --without-included-regex.
10086         Problem reported by Emanuele Giaquinta.
10087
10088 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
10089
10090         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
10091         Typedef to long int, not to off_, as POSIX will likely change
10092         in that direction.
10093
10094 2006-03-15  Eric Blake  <ebb9@byu.net>
10095
10096         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
10097
10098 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10099
10100         * lib/argp-help.c (validate_uparams): Fix typo
10101         * lib/argp-parse.c (argp_default_options): Consistently begin help
10102         messages with a lowercase letter.
10103
10104 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
10105
10106         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
10107         overrun buffers and shouldn't be used (much as gets shouldn't be
10108         used).
10109         * lib/time_r.c (asctime_r, ctime_r): Likewise.
10110
10111 2006-03-08  Simon Josefsson  <jas@extundo.com>
10112
10113         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
10114         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10115
10116 2006-03-08  Simon Josefsson  <jas@extundo.com>
10117
10118         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
10119         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10120
10121 2006-03-08  Simon Josefsson  <jas@extundo.com>
10122
10123         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
10124         signal that configure disabled the device.
10125
10126 2006-03-08  Simon Josefsson  <jas@extundo.com>
10127
10128         * build-aux/maint.mk: Fix refresh-po, to handle no translated
10129         languages.
10130
10131 2006-03-07  Simon Josefsson  <jas@extundo.com>
10132
10133         * modules/getopt (Depends-on): Add unistd.
10134
10135         * modules/unistd: New file.
10136
10137 2006-03-07  Simon Josefsson  <jas@extundo.com>
10138
10139         * modules/gc-random: New file.
10140
10141 2006-03-07  Simon Josefsson  <jas@extundo.com>
10142
10143         * m4/unistd_h.m4: New file.
10144
10145 2006-03-07  Simon Josefsson  <jas@extundo.com>
10146
10147         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
10148         test to be side-effect free by storing the result in the cache
10149         variable gl_cv_lib_readline, and moving the assignment of
10150         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
10151         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10152
10153 2006-03-07  Simon Josefsson  <jas@extundo.com>
10154
10155         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
10156         error on missing devices (the functions will return an error).
10157
10158         * m4/gc.m4: Move random stuff to gc-random.m4
10159
10160 2006-03-07  Simon Josefsson  <jas@extundo.com>
10161
10162         * lib/unistd_.h: New file.
10163
10164 2006-03-07  Simon Josefsson  <jas@extundo.com>
10165
10166         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
10167
10168 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10169
10170         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
10171         Problem reported by Juan Manuel Guerrero.
10172
10173 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10174
10175         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
10176         the unistd module.
10177         * lib/getlogin_r.c: Likewise.
10178         * lib/getlogin_r.h: Likewise.
10179         * lib/glob.c: Likewise.
10180         * lib/pagealign_alloc.c: Likewise.
10181         * lib/unistd_.h: Remove; no longer needed.
10182
10183 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10184
10185         * MODULES.html.sh (Support for systems lacking POSIX:2001):
10186         Add unistd.
10187         * modules/c-stack (Depends-on): Add unistd.
10188         * modules/getlogin_r: Likewise.
10189         * modules/glob: Likewise.
10190         * modules/pagealign_alloc: Likewise.
10191         * modules/unistd (Files): Remove lib/unistd_.h.
10192         (EXTRA_DIST): Remove.
10193         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
10194         need unistd_.h.
10195         (MOSTLYCLEANFILES): Remove unistd.h-t.
10196
10197 2006-03-03  Simon Josefsson  <jas@extundo.com>
10198
10199         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
10200
10201 2006-03-03  Simon Josefsson  <jas@extundo.com>
10202
10203         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
10204         libidn and bison.
10205
10206 2006-03-03  Simon Josefsson  <jas@extundo.com>
10207
10208         * build-aux/maint.mk: Add indent target.
10209
10210 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
10211
10212         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
10213         our replacement poll.h in any case, to avoid a differing
10214         declaration from a system header.  Seen on AIX.
10215
10216 2006-03-01  Simon Josefsson  <jas@extundo.com>
10217
10218         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
10219         <kasal@ucw.cz>.
10220
10221 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10222
10223         * modules/gettime (Depends-on): Add extensions module.
10224         * modules/nanosleep (Depends-on): Likewise.
10225         * modules/settime (Depends-on): Likewise.
10226
10227 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10228
10229         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
10230         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
10231         pedantically.
10232         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10233         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
10234
10235         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
10236         not "==".  Reported by Ralf Wildenhues.
10237
10238 2006-03-01  Karl Berry  <karl@gnu.org>
10239
10240         * doc/Copyright/request-*: new files, synced from gnuorg.
10241
10242 2006-03-01  Karl Berry  <karl@gnu.org>
10243
10244         * config/srclist.txt (Copyright/*): new entries.
10245
10246 2006-02-28  Simon Josefsson  <jas@extundo.com>
10247
10248         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
10249
10250 2006-02-27  Simon Josefsson  <jas@extundo.com>
10251
10252         * lib/base64.h: Indent #define's.  From Jim Meyering
10253         <jim@meyering.net>.
10254
10255 2006-02-27  Jim Meyering  <jim@meyering.net>
10256
10257         Revert the change of 2006-02-24, so these files can continue
10258         to be sync'd from gettext.
10259         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
10260         of `config.h'.
10261
10262 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
10263
10264         * modules/intprops: New file.
10265         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
10266         Add intprops.
10267         * modules/getloadavg (Files): Remove lib/intprops.h.
10268         (Depends-on): Add intprops.
10269         * modules/human: Likewise.
10270         * modules/inttostr: Likewise.
10271         * modules/openat: Likewise.
10272         * modules/sig2str: Likewise.
10273         * modules/userspec: Likewise.
10274         * modules/utimecmp: Likewise.
10275         * modules/xnanosleep: Likewise.
10276         * modules/xstrtol: Likewise.
10277
10278 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
10279
10280         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
10281         * modules/lock-tests (TESTS): Use $(EXEEXT).
10282         * modules/tls-tests: Likewise.
10283         * modules/argp-tests: Likewise.
10284         (check_PROGRAMS): New var, replacing...
10285         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
10286
10287 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10288
10289         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
10290         `config.h'.
10291
10292 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
10293
10294         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
10295
10296 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10297
10298         Sync from coreutils.
10299         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
10300         gl_CHDIR_SAFER.
10301
10302 2006-02-22  Jim Meyering  <jim@meyering.net>
10303
10304         Sync from coreutils.
10305         * m4/chdir-safer.m4: New file.
10306
10307 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10308
10309         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
10310         AT_FDCWD exceeds INT_MAX.
10311         * lib/openat.h (AT_FDCWD): Likewise.
10312
10313 2006-02-17  Eric Blake  <address@hidden>
10314
10315         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
10316
10317 2006-02-16  Simon Josefsson  <jas@extundo.com>
10318
10319         * modules/getaddrinfo (Depends-on): Add sys_socket.
10320
10321 2006-02-15  Simon Josefsson  <jas@extundo.com>
10322
10323         * build-aux/maint.mk: Add dsyntax-check rule.
10324
10325 2006-02-15  Eric Blake  <ebb9@byu.net>
10326
10327         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
10328         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
10329         'present but cannot compile' warnings on cygwin.
10330         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
10331         use ws2tcpip.h if sys/socket.h works.
10332         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
10333         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
10334
10335 2006-02-14  Simon Josefsson  <jas@extundo.com>
10336
10337         * modules/maintainer-makefile (Files): Rename.
10338
10339         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
10340         and (the local) Makefile.cfg to maint-cfg.mk.
10341
10342         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
10343         to the latter.
10344
10345         * modules/maintainer-makefile: New module.
10346
10347         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
10348         severaly stripped to make it possible to build it up from scratch
10349         with reliable tests.
10350
10351         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
10352         fixes to permit overriding the default actions when configure and
10353         makefile are not available.
10354
10355 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
10356
10357         Sync from coreutils.
10358         * modules/lstat (Depends-on): Don't depend on xalloc.
10359         (License): Change from GPL to LGPL, since this is now simply a
10360         replacement for a libc function.
10361
10362 2006-02-14  Jim Meyering  <jim@meyering.net>
10363
10364         Sync from coreutils.
10365
10366         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
10367         failure on deficient systems, and simplify gnulib lgpl dependencies.
10368         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
10369         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
10370
10371         * lib/xalloc-die.c: Remove unused definition of N_.
10372
10373 2006-02-14  Jim Meyering  <jim@meyering.net>
10374
10375         Sync from coreutils.
10376         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
10377         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
10378         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
10379         double-quote uses of that variable, to accommodate the rare case in
10380         which getmntent is available in none of the libraries checked.  This
10381         happens at least on FreeBSD 5.0.
10382
10383 2006-02-13  Simon Josefsson  <jas@extundo.com>
10384
10385         * gnulib-tool (Usage): Fix --import, from
10386         karl@freefriends.org (Karl Berry).
10387
10388 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10389
10390         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
10391
10392 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
10393
10394         * lib/argp-namefrob.h: Restore changes accidentally lost during the
10395         "autoupdate" on 2005-12-12.
10396
10397 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10398
10399         * modules/closeout (Depends-on): Remove atexit.
10400
10401 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10402
10403         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
10404         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
10405
10406 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
10407
10408         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
10409         __EXTENSIONS__ if this causes compilation to fail.  Problem
10410         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
10411         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
10412
10413 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
10414
10415         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
10416         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
10417         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
10418         All uses changed.
10419
10420 2006-01-26  Simon Josefsson  <jas@extundo.com>
10421
10422         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
10423         prototype is visible on mingw32.
10424
10425         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
10426         for mingw32.
10427
10428         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
10429         mingw32).
10430
10431 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
10432
10433         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
10434         attempt to open for write; this always fails, at least on POSIX
10435         hosts.  This reinstates the 2006-01-09 change, which was
10436         inadvertently removed.
10437
10438 2006-01-26  Bruno Haible  <bruno@clisp.org>
10439
10440         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
10441         Reported by Paul Eggert.
10442
10443 2006-01-26  Bruno Haible  <bruno@clisp.org>
10444             Paul Eggert  <eggert@cs.ucla.edu>
10445
10446         * lib/stdbool_.h (_Bool)
10447         [(! (defined __cplusplus || defined __BEOS__)
10448           && !defined __GNUC__
10449           && !(defined __HP_cc || defined __xlc__
10450                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
10451                || defined __sgi))]:
10452         #define to signed char in these cases too; this simplifies
10453         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
10454         etc., separately) and makes it more conservative.
10455
10456 2006-01-25  Simon Josefsson  <jas@extundo.com>
10457
10458         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
10459         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
10460         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
10461
10462 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10463
10464         * lib/argp-namefrob.h: Bugfix. Remove stray #
10465
10466 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
10467
10468         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
10469         so that we test the test.
10470         Check for yet another HP-UX cc bug involving *bool |= bool.
10471
10472 2006-01-25  Karl Berry  <karl@gnu.org>
10473
10474         * config/srclist.txt (vasnprintf.c): sync lost.
10475
10476 2006-01-25  Jim Meyering  <jim@meyering.net>
10477
10478         Sync from the stable (b5) branch of coreutils:
10479
10480         * lib/fts.c (fts_children): Don't let close() clobber errno from
10481         failed fchdir().
10482
10483         * lib/fts.c (fts_stat): When following a symlink-to-directory,
10484         don't necessarily interpret stat-fails+lstat-succeeds as indicating
10485         a dangling symlink.  That can also happen at least for ELOOP.
10486         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
10487         FYI, this bug predates the inclusion of fts.c in coreutils.
10488
10489         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
10490         in their own block, so pre-c99 compilers don't object.
10491
10492         Avoid the double-free (first in fts_read, second in fts_close) that
10493         would occur when an `active' directory is made inaccessible (e.g.,
10494         via chmod a-x) during a traversal.
10495         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10496         before returning.  Reproduce this failure by
10497         mkdir -p a/b; cd a; chmod a-x . b
10498         Reported by Stavros Passas.
10499
10500 2006-01-25  Jim Meyering  <jim@meyering.net>
10501
10502         * lib/fileblocks.c: Remove more useless parentheses.
10503         * lib/readutmp.h: Likewise.
10504
10505 2006-01-25  Bruno Haible  <bruno@clisp.org>
10506
10507         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
10508         warnings.
10509         Reported by Paul Eggert.
10510
10511 2006-01-25  Bruno Haible  <bruno@clisp.org>
10512
10513         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
10514         rid of a trap command. For Solaris sh.
10515         Reported by Mark D. Baushke <mdb@gnu.org>.
10516
10517 2006-01-24  Simon Josefsson  <jas@extundo.com>
10518
10519         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
10520         Bruno.
10521
10522 2006-01-24  Karl Berry  <karl@gnu.org>
10523
10524         * config/srclist.txt (argp-namefrob.h): sync lost.
10525
10526 2006-01-24  Jim Meyering  <jim@meyering.net>
10527
10528         * modules/openat (Files): Add lib/intprops.h.
10529         From Mark D. Baushke.
10530
10531 2006-01-24  Jim Meyering  <jim@meyering.net>
10532
10533         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
10534         Reported by Mark D. Baushke.
10535
10536 2006-01-24  Jim Meyering  <jim@meyering.net>
10537
10538         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
10539
10540 2006-01-24  Bruno Haible  <bruno@clisp.org>
10541
10542         * modules/strnlen (Maintainer): Change from glibc to all.
10543
10544 2006-01-24  Bruno Haible  <bruno@clisp.org>
10545
10546         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
10547         Patch by Paul Eggert.
10548
10549 2006-01-24  Bruno Haible  <bruno@clisp.org>
10550
10551         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
10552         already has it.
10553         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
10554         2005-11-26.
10555
10556         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
10557         'signed char' to avoid problems with the built-in _Bool type.
10558         Reported by Paul Eggert on 2005-11-26.
10559
10560 2006-01-24  Bruno Haible  <bruno@clisp.org>
10561
10562         * gnulib-tool (func_import): Avoid constructing complicated sed
10563         expressions inside backquote.
10564         Report and solution by Mark D. Baushke <mdb@gnu.org>.
10565
10566 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
10567
10568         These changes imported from libc.
10569         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
10570         test and two separate function calls.
10571         * lib/strndup.c (__strndup): Add libc_hidden_def.
10572
10573 2006-01-23  Simon Josefsson  <jas@extundo.com>
10574
10575         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
10576         Remove the test_*_SOURCES variable: automake infers it by default.
10577         * modules/tls-tests: Likewise.
10578
10579 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10580
10581         Work around porting bugs reported by Dieter in
10582         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
10583         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
10584         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
10585         Include "getopt.h" first, to check interface.
10586         (getenv): Declare only if defined HAVE_DECL_GETENV &&
10587         !HAVE_DECL_GETENV.
10588         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
10589         (__strndup): Revert to K&R-style function dfns, the glibc style.
10590         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
10591         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
10592         Include strnlen.h first, to get prototype properly.
10593         (strnlen): Renamed from __strnlen.
10594         Remove weak alias.
10595
10596 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10597
10598         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
10599
10600 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10601
10602         * config/srclist.txt: Adjust to reflect glibc reorganization.
10603         This affects only comments.
10604
10605 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10606
10607          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
10608          Reported by Bruce Korb <bkorb@gnu.org>.
10609
10610 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
10611
10612         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
10613         to pacify gcc -Wswitch-default.
10614
10615 2006-01-22  Bruno Haible  <bruno@clisp.org>
10616
10617         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
10618         temporary buffer for sprintf, take into account the precision also
10619         for 'd', 'i', 'u', 'o', 'x', 'X'.
10620
10621 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10622
10623         * modules/argp-tests: New module
10624         * tests/test-argp.c: New file
10625         * tests/test-argp-2.sh: New file
10626
10627 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10628
10629         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
10630         (__argp_base_name): Removed
10631         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
10632         typo.
10633         (__argp_base_name): Provide macro definition or extern declaration
10634         depending on the configuration
10635
10636 2006-01-20  Simon Josefsson  <jas@extundo.com>
10637
10638         * modules/inet_ntop (Depends-on): Depend on sys_socket.
10639
10640 2006-01-20  Simon Josefsson  <jas@extundo.com>
10641
10642         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
10643
10644 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
10645
10646         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
10647         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
10648         Suggested by Bruno Haible.
10649
10650 2006-01-20  Karl Berry  <karl@gnu.org>
10651
10652         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
10653         until changes propagate, I guess.
10654
10655 2006-01-19  Simon Josefsson  <jas@extundo.com>
10656
10657         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
10658
10659 2006-01-19  Simon Josefsson  <jas@extundo.com>
10660
10661         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
10662
10663 2006-01-19  Simon Josefsson  <jas@extundo.com>
10664
10665         * gnulib-tool: Set check_PROGRAMS.
10666
10667         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10668         modules/des-tests, modules/gc-arcfour-tests,
10669         modules/gc-arctwo-tests, modules/gc-des-tests,
10670         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10671         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10672         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10673         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10674         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10675         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
10676         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
10677         test_*_SOURCES.
10678
10679 2006-01-18  Simon Josefsson  <jas@extundo.com>
10680
10681         * modules/socklen (Depends-on): Depend on sys_socket.
10682
10683 2006-01-18  Simon Josefsson  <jas@extundo.com>
10684
10685         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10686         modules/des-tests, modules/gc-arcfour-tests,
10687         modules/gc-arctwo-tests, modules/gc-des-tests,
10688         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10689         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10690         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10691         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10692         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10693         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
10694         $(EXEEXT) to automake TESTS variable, for mingw32.
10695
10696 2006-01-17  Simon Josefsson  <jas@extundo.com>
10697
10698         * modules/socklen (Include): Need sys/socket.h.
10699
10700 2006-01-17  Bruno Haible  <bruno@clisp.org>
10701
10702         * modules/ssize_t (Include): Add <sys/types.h>.
10703
10704 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
10705
10706         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
10707         it's not portable and it doesn't work with cross-compiles.
10708         Problem reported by Bruno Haible.  Fix missing-$ typo in
10709         'test "gl_cv_ignore_unused_libraries" ...' that prevented
10710         -zignore from being used with Sun's C compiler.
10711
10712 2006-01-12  Simon Josefsson  <jas@extundo.com>
10713
10714         * lib/base64.c: Fix warning, reported by Bruno Haible
10715         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
10716
10717 2006-01-12  Bruno Haible  <bruno@clisp.org>
10718
10719         * modules/ldd: New file.
10720         * build-aux/ldd.sh.in: New file.
10721         * MODULES.html.sh (Support for building libraries and executables): Add
10722         ldd.
10723
10724 2006-01-12  Bruno Haible  <bruno@clisp.org>
10725
10726         * m4/ldd.m4: New file.
10727
10728 2006-01-12  Bruno Haible  <bruno@clisp.org>
10729
10730         * gnulib-tool (func_import, func_create_testdir): Don't go into an
10731         endless loop while replacing $auxdir with build-aux.
10732
10733 2006-01-11  Simon Josefsson  <jas@extundo.com>
10734
10735         * lib/stdint_.h (SIZE_MAX): Add missing (.
10736
10737 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10738
10739         Sync from coreutils.
10740         * lib/md5.c: Fix commentary typos.
10741         (alignof, UNALIGNED_P): No need for a GCC-specific version.
10742         * lib/md5.h (__attribute__): Remove; unused.
10743         * lib/sha1.c: Fix commentary to match md5 better.
10744         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
10745         so that we don't need to worry about alignment.  All uses changed.
10746         This merges the 2005-10-28 md5 change into sha1.
10747
10748 2006-01-11  Jim Meyering  <jim@meyering.net>
10749
10750         Sync from coreutils.
10751         * lib/md5.c (OP): Fix spacing.
10752
10753 2006-01-11  Bruno Haible  <bruno@clisp.org>
10754
10755         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10756         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
10757         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
10758
10759 2006-01-11  Bruno Haible  <bruno@clisp.org>
10760
10761         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10762         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
10763         the "early" section as well.
10764
10765 2006-01-11  Bruno Haible  <bruno@clisp.org>
10766
10767         Avoid "ar: no archive members specified" error on MacOS X.
10768         * gnulib-tool (func_modules_add_dummy): New function.
10769         (func_import, func_create_testdir): Invoke it.
10770
10771 2006-01-11  Bruno Haible  <bruno@clisp.org>
10772
10773         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
10774         with $auxdir in AC_CONFIG_FILES statements.
10775
10776 2006-01-11  Bruno Haible  <bruno@clisp.org>
10777
10778         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
10779         Initialize also noinst_HEADERS to empty.
10780
10781 2006-01-11  Bruno Haible  <bruno@clisp.org>
10782
10783         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
10784         variables.
10785         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
10786         autoreconf.
10787
10788 2006-01-11  Bruno Haible  <bruno@clisp.org>
10789
10790         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
10791         overridable by the user.
10792         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10793
10794 2006-01-10  Simon Josefsson  <jas@extundo.com>
10795
10796         * modules/sys_socket: New file.
10797
10798 2006-01-10  Simon Josefsson  <jas@extundo.com>
10799
10800         * m4/sys_socket_h.m4: New file.
10801
10802 2006-01-10  Simon Josefsson  <jas@extundo.com>
10803
10804         * lib/socket_.h: New file.
10805
10806 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10807
10808         * modules/readutmp (Maintainer): Add myself.
10809
10810 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10811
10812         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
10813         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
10814         People who are still concerned with buggy memcmp implementations
10815         can invoke gl_FUNC_MEMCMP themselves.
10816
10817 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10818
10819         * lib/regex_internal.h (BITSET_WORD_BITS):
10820         Work around a bug in 64-bit PGC (before version 6.1-2), where the
10821         preprocessor mishandles large unsigned values as if they were signed.
10822         Problem reported by Claudio Fontana in
10823         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
10824
10825 2006-01-10  Jim Meyering  <jim@meyering.net>
10826
10827         Avoid the double-free (first in fts_read, second in fts_close) that
10828         would occur when an `active' directory is made inaccessible (e.g.,
10829         via chmod a-x) during a traversal.
10830         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10831         before returning.  Reproduce this failure by
10832         mkdir -p a/b; cd a; chmod a-x . b
10833         Reported by Stavros Passas.
10834
10835         Sync from coreutils.
10836         * lib/sha1.c: Tweak grammar in a comment.
10837
10838 2006-01-10  Jim Meyering  <jim@meyering.net>
10839
10840         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
10841         Patch by Joerg Sonnenberger.
10842
10843 2006-01-10  Bruno Haible  <bruno@clisp.org>
10844
10845         * modules/readutmp: Depend on module free.
10846         * modules/strtok_r: Depend on module restrict.
10847
10848 2006-01-10  Bruno Haible  <bruno@clisp.org>
10849
10850         * modules/gettext (configure.ac): Add an invocation of
10851         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
10852
10853 2006-01-10  Bruno Haible  <bruno@clisp.org>
10854
10855         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
10856         Reported by Werner Lemberg <wl@gnu.org>.
10857
10858 2006-01-10  Bruno Haible  <bruno@clisp.org>
10859
10860         * lib/localcharset.c: Update from GNU gettext.
10861
10862 2006-01-10  Bruno Haible  <bruno@clisp.org>
10863
10864         * lib/argp.h (__const): Remove macro. Use const instead.
10865         * lib/argp-fmtstream.h (__const): Likewise.
10866         * lib/glob_.h (__const): Remove macro.
10867         * lib/glob-libc.h: Use const instead of __const.
10868
10869 2006-01-10  Bruno Haible  <bruno@clisp.org>
10870
10871         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
10872         variable.
10873         Needed to avoid an automake error regarding the 'gettext' module.
10874
10875 2006-01-09  Simon Josefsson  <jas@extundo.com>
10876
10877         * modules/inet_ntop (Depends-on): Add restrict.
10878
10879 2006-01-09  Simon Josefsson  <jas@extundo.com>
10880
10881         * modules/gc-rijndael-tests (License): Put under LGPL.
10882
10883         * modules/gc-des-tests (License): Likewise.
10884
10885         * modules/gc-arcfour-tests (License): Likewise.
10886
10887         * modules/gc-arctwo-tests (License): Likewise.
10888
10889         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
10890
10891         * modules/gc-hmac-sha1-tests (Files): Likewise.
10892
10893         * modules/gc-hmac-md5-tests (License): Likewise.
10894
10895         * modules/gc-sha1-tests (License): Likewise.
10896
10897         * modules/gc-md5-tests (License): Likewise.
10898
10899         * modules/gc-md4-tests (License): Likewise.
10900
10901         * modules/gc-md2-tests (License): Likewise.
10902
10903         * modules/gc-tests (License): Likewise.
10904
10905         * modules/des-tests (License): Likewise.
10906
10907         * modules/md4-tests (License): Likewise.
10908
10909         * modules/md2-tests (License): Likewise.
10910
10911 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10912
10913         Sync from coreutils:
10914
10915         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
10916         * modules/lib-ignore: New file.
10917         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
10918         chdir-safer.m4, lchmod.m4.
10919         * modules/openat: Add mkdirat.c, openat-priv.h.
10920
10921 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10922
10923         Sync from coreutils.
10924         * m4/lib-ignore.m4: New file.
10925         * m4/lchmod.m4: New file.
10926
10927 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10928
10929         Sync from coreutils.
10930         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
10931         for write access: POSIX says that must fail.
10932         * lib/fts.c (diropen): Likewise.
10933         * lib/save-cwd.c (save_cwd): Likewise.
10934         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
10935         well, for minor improvements on hosts that lack O_DIRECTORY.
10936         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
10937         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
10938         Fall back on chown if open failed with EACCES.
10939
10940         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
10941         Report an error at compile-time if only a 1-second nominal clock
10942         resolution is found.
10943
10944         * lib/lchmod.h: New file.
10945         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
10946         (make_dir_parents): Use lchown rather than chown, and
10947         lchmod rather than chmod.
10948
10949         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
10950         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
10951         "proc" reported by n0dalus.
10952
10953         * lib/mountlist.c: Include <limits.h>.
10954         (dev_from_mount_options)
10955         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
10956         New function.  It no longer assumes "dev=" has the System V meaning
10957         on Linux (since it doesn't).  It also parses "dev=" more carefully.
10958         (read_file_system_list)
10959         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
10960         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
10961         dev= in that case.
10962
10963         * lib/posixtm.h (PDS_PRE_2000): New macro.
10964         * lib/posixtm.c (year): Arg is now syntax_bits rather than
10965         allow_century.  All usages changed.  Reject dates outside the range
10966         1969-1999 if PDS_PRE_2000 is used.
10967
10968 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10969
10970         Sync from coreutils.
10971         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
10972         (Time of day items): Mention the possibility of leap seconds.
10973         Problem reported by Dr. David Alan Gilbert.
10974
10975 2006-01-09  Jim Meyering  <jim@meyering.net>
10976
10977         Sync from coreutils.
10978
10979         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
10980
10981         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
10982
10983         * lib/modechange.c (mode_compile): Reject an invalid mode string
10984         that starts with an octal digit.  From Andreas Gruenbacher.
10985
10986         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
10987         and dup to open_safer and dup_safer, respectively.
10988         (openat_permissive): Fix typo in comment.
10989
10990         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
10991         "gettext.h"; either no longer needed or are guaranteed by openat.h.
10992         (_): Remove; no longer needed.
10993         (openat): Renamed from rpl_openat; no need for rpl_openat
10994         since openat.h renames openat for us.
10995         Replace most of the body with a call to openat_permissive,
10996         to avoid duplicate code.
10997         Port to (probably hypothetical) environments were mode_t is
10998         wider than int.
10999         (openat_permissive): Require mode arg, so that we can check
11000         types better.  Put it just after flags.  Change cwd failure
11001         indicator from pointer-to-bool to pointer-to-errno-value.
11002         All callers changed.
11003         Invoke openat_save_fail and/or openat_restore_fail if
11004         cwd_errno is null, so that openat can call us.
11005         (openat_permissive, fdopendir, fstatat, unlinkat):
11006         Simplify errno handling to avoid some duplicate code,
11007         as it's OK to set errno on success.
11008         * lib/openat.h: Revamp code so that function macros depend on
11009         __OPENAT_PREFIX only, not also on AT_FDCWD.
11010         (openat_ro): Remove.  Caller changed to use openat_permissive.
11011         (openat_permissive): Now a macro, if not a function.
11012         (openat_restore_fail, openat_save_fail): Now always functions,
11013         since mkdirat needs them even if __OPENAT_PREFIX is defined.
11014
11015         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
11016         and openat.c.
11017         * lib/mkdirat.c: Include openat-priv.h.
11018         Remove definitions of macros defined therein.
11019         * lib/openat.c: Likewise.
11020
11021         * lib/mkdirat.c (mkdirat): New file and function.
11022         * lib/openat.h (mkdirat): Declare.
11023
11024         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
11025
11026         * lib/openat.h (openat_permissive): Declare.
11027         (openat_ro): Define.
11028
11029         * lib/openat.c (EXPECTED_ERRNO): New macro.
11030         (openat_permissive): New function -- used in remove.c rewrite.
11031         (all functions): Set errno just before returning, only if there
11032         was an actual failure.
11033         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
11034
11035         Emulate openat-family functions using Linux's procfs, if possible.
11036         Idea and some code based on Ulrich Drepper's glibc changes.
11037
11038         * lib/openat.c: (BUILD_PROC_NAME): New macro.
11039         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
11040         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
11041         before falling back on save_cwd and restore_cwd.
11042         (fdopendir, fstatat, unlinkat): Likewise.
11043
11044         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
11045         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
11046
11047         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
11048         as second argument to va_arg.  Otherwise, some versions of gcc
11049         warn that `if this code is reached, the program will abort'.
11050
11051 2006-01-09  Jim Meyering  <jim@meyering.net>
11052
11053         Sync from coreutils.
11054         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
11055         Require openat-priv.h.
11056
11057 2006-01-09  Bruno Haible  <bruno@clisp.org>
11058
11059         * modules/strnlen (Include): Use strnlen.h.
11060
11061 2006-01-09  Bruno Haible  <bruno@clisp.org>
11062
11063         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
11064
11065 2006-01-09  Bruno Haible  <bruno@clisp.org>
11066
11067         * lib/sysexit_.h (EX_OK): New macro.
11068         Suggested by Martin Lambers <marlam@marlam.de>.
11069
11070 2006-01-09  Bruno Haible  <bruno@clisp.org>
11071
11072         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
11073         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
11074
11075 2006-01-09  Bruno Haible  <bruno@clisp.org>
11076
11077         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
11078         numbers.
11079
11080 2006-01-09  Bruno Haible  <bruno@clisp.org>
11081
11082         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
11083         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
11084         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
11085         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
11086
11087 2006-01-09  Bruno Haible  <bruno@clisp.org>
11088
11089         * build-aux/javacomp.sh.in: New file, moved from lib/.
11090         * modules/javacomp-script (Files): Update.
11091         (configure.ac): Add AC_CONFIG_FILES invocation.
11092         (EXTRA_DIST): Remove variable.
11093
11094         * build-aux/javaexec.sh.in: New file, moved from lib/.
11095         * modules/javaexec (Files): Update.
11096         (configure.ac): Add AC_CONFIG_FILES invocation.
11097         (EXTRA_DIST): Remove javaexec.sh.in.
11098
11099         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
11100         * modules/csharpcomp-script (Files): Update.
11101         (configure.ac): Add AC_CONFIG_FILES invocation.
11102         (EXTRA_DIST): Remove variable.
11103
11104         * build-aux/csharpexec.sh.in: New file, moved from lib/.
11105         * modules/csharpexec (Files): Update.
11106         (configure.ac): Add AC_CONFIG_FILES invocation.
11107         (EXTRA_DIST): Remove csharpexec.sh.in.
11108
11109 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
11110
11111         Sync from coreutils.
11112
11113         Add POSIX ACL support
11114         * lib/acl.h (copy_acl, set_acl): Add declarations.
11115         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
11116         systems other than Linux.
11117         (chmod_or_fchmod): New function: use fchmod when possible,
11118         and chmod otherwise.
11119         (file_has_acl): Add a POSIX ACL implementation, with a
11120         Linux-specific subcase.
11121         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
11122         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
11123         acls are unsupported.
11124         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
11125         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
11126         are unsupported.
11127
11128 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
11129
11130         Sync from coreutils.
11131         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
11132
11133 2006-01-07  Bruno Haible  <bruno@clisp.org>
11134
11135         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
11136         gl_EARLY.
11137
11138 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11139
11140         * lib/strftime.c (tzname): Don't declare if it is already #defined.
11141         Problem reported for Mingw by Mark Junker.
11142
11143 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11144
11145         * README: Gnulib normally doesn't generate a tarball.
11146
11147 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
11148
11149         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
11150         long int, not int, for nanosecond counts, so that people who are
11151         used to POSIX struct timespec won't be surprised.  Reported by Jim
11152         Meyering.
11153
11154 2005-12-28  Bruno Haible  <bruno@clisp.org>
11155
11156         * build-aux/config.rpath: Update from GNU gettext.
11157
11158 2005-12-16  Jim Meyering  <jim@meyering.net>
11159
11160         * modules/fprintftime: New module.
11161         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
11162
11163 2005-12-16  Jim Meyering  <jim@meyering.net>
11164
11165         * m4/fprintftime.m4: New file.
11166
11167 2005-12-16  Jim Meyering  <jim@meyering.net>
11168
11169         * lib/fprintftime.c, lib/fprintftime.h: New files.
11170
11171 2005-12-15  Simon Josefsson  <jas@extundo.com>
11172
11173         * modules/socklen (configure.ac): Fix M4 macro name, to align with
11174         new m4/socklen.m4.
11175
11176 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11177
11178         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
11179         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
11180
11181 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11182
11183         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
11184         * lib/argp-help.c (fill_in_uparams): Check if the constructed
11185         struct uparams is valid. Fall back to the default values if it is
11186         not.
11187
11188 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11189
11190         * modules/argp (Files): Add argp-pin.c
11191         (Depends-on): dirname
11192         (lib_SOURCES): Add argp-pin.c
11193
11194 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11195
11196         * m4/argp.m4:  Check if program_invocation_name and
11197         program_invocation_short_name are declared and define appropriate
11198         macros if they are not.
11199
11200 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11201
11202         * lib/argp-help.c (__argp_base_name): New function
11203         (__argp_short_program_name): Rewrite using __argp_base_name
11204         * lib/argp-namefrob.h: Define program_invocation_name and
11205         program_invocation_short_name if requested
11206         (__argp_base_name): Add prototype
11207         * lib/argp-parse.c (argp_def): Use gettext wrappers
11208         (argp_default_parser): Use __argp_base_name
11209         * lib/argp-pin.c: New file. Defines program_invocation_name and
11210         program_invocation_short_name on systems that lack them.
11211
11212 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11213
11214         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
11215         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11216         porting problem reported by Georg Schwarz in
11217         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11218
11219 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11220
11221         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
11222         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11223         porting problem reported by Georg Schwarz in
11224         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11225
11226 2005-12-05  Bruno Haible  <bruno@clisp.org>
11227
11228         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
11229         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
11230         Reported by Mark Junker <mjscod@gmx.de>.
11231
11232 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
11233
11234         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
11235         Use implementation from Albert Chin, with some
11236         comments/corrections by Stepan Kasal and myself.
11237
11238 2005-12-02  Bruno Haible  <bruno@clisp.org>
11239
11240         * gnulib-tool (func_import): Accept GPLed build tool modules when
11241         --lgpl is given.
11242         * modules/csharpcomp-script: New file.
11243         * modules/csharpcomp: Depend on it.
11244         * modules/javacomp-script: New file.
11245         * modules/javacomp: Depend on it.
11246         Suggested by Simon Josefsson.
11247
11248 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
11249
11250         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
11251         statement, to work around an HP-UX 10.20 compiler bug reported by
11252         Peter O'Gorman.
11253
11254 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11255
11256         * modules/savedir (Depends-on): Add openat.
11257
11258 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11259
11260         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
11261         (uintmax_t) [defined uintmax_t]: Do not declare.
11262         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
11263         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
11264         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
11265         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
11266         sake of portability to weird hosts that C allows (though we don't
11267         know of any practical examples).
11268
11269         * lib/savedir.h (fdsavedir): New decl.
11270         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
11271         contains most of the former guts of savedir.
11272         (savedir): Use savedirstream.
11273         Include "openat.h".
11274
11275 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11276
11277         * modules/obstack (Files): Add m4/ulonglong.m4.
11278         Problem reported by Davide Angelocola.
11279
11280 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
11281
11282         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
11283         coreutils no longer futzes with rounding modes.
11284
11285 2005-11-14  Jim Meyering  <jim@meyering.net>
11286
11287         * lib/mkstemp-safer.c: Include <config.h>, required for possible
11288         replacement of mkstemp.
11289
11290 2005-11-10  Simon Josefsson  <jas@extundo.com>
11291
11292         * lib/readline.c: Remove EOL.
11293
11294 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11295
11296         * modules/gethrxtime (Depends-on): Add gettime.
11297
11298 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11299
11300         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
11301         or gettimeofday; no longer needed.
11302
11303 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11304
11305         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
11306         time business.
11307         (gethrxtime) [! (HAVE_NANOUPTIME
11308         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
11309         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
11310         our own approximation.
11311
11312 2005-11-08  Eric Blake  <ebb9@byu.net>
11313
11314         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11315
11316 2005-11-08  Eric Blake  <ebb9@byu.net>
11317
11318         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11319
11320 2005-11-04  Bruno Haible  <bruno@clisp.org>
11321
11322         * gnulib-tool: Implement --update mode.
11323
11324 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11325
11326         Fix porting problem reported by Theodoros V. Kalamatianos.
11327         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
11328         Don't assume that futimes failing means we must fail.
11329
11330 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11331
11332         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
11333         variables to suggest the intended function of the PATH_MAX check.
11334
11335 2005-10-30  Kean Johnston  <jkj@sco.com>
11336
11337         Trivial changes to support SCO systems.
11338         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
11339         as PATH_MAX.
11340         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
11341         where __ptr is null when no I/O is pending.
11342
11343 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11344
11345         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
11346         leave errno alone.  Problem reported by Dmitry V. Levin.
11347
11348 2005-10-28  Simon Josefsson  <jas@extundo.com>
11349
11350         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
11351         Test more.
11352
11353         * tests/test-gc-md2.c, tests/test-md2.c: New files.
11354
11355         * modules/md2, modules/md2-tests: New files.
11356
11357 2005-10-28  Simon Josefsson  <jas@extundo.com>
11358
11359         * m4/inet_ntop.m4: More tests.
11360
11361         * m4/gc-md2.m4, md2.m4: New file.
11362
11363 2005-10-28  Simon Josefsson  <jas@extundo.com>
11364
11365         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
11366         "restrict" keywords, as per POSIX.  Protect the function
11367         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
11368         Don't use K&R prototypes.  Check the sprintf return values.
11369         Re-define EAFNOSUPPORT if not present.  Indent.
11370
11371         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
11372         suggested by Bruno Haible <bruno@clisp.org>.
11373
11374         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
11375
11376         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
11377
11378         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
11379         libgcrypt).
11380
11381         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
11382
11383         * lib/md2.h, lib/md2.c: New files.
11384
11385 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
11386
11387         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
11388         errno alone.  Problem reported by Frederic Jolliton.
11389
11390 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11391
11392         * modules/verify (License): Change from GPL to LGPL.  This is a
11393         tiny module and there are apparently near-equivalents that are
11394         under the BSD license.
11395
11396 2005-10-24  Simon Josefsson  <jas@extundo.com>
11397
11398         * modules/sha1: Relicense to LGPL.
11399
11400 2005-10-24  Simon Josefsson  <jas@extundo.com>
11401
11402         * lib/md4.h: Shrink buffer size, now that we changed the type.
11403
11404 2005-10-23  Simon Josefsson  <jas@extundo.com>
11405
11406         * gnulib-tool (func_import): Fix --tests-base.
11407
11408 2005-10-22  Simon Josefsson  <jas@extundo.com>
11409
11410         * modules/arcfour (Depends-on): Need stdint.
11411
11412 2005-10-22  Simon Josefsson  <jas@extundo.com>
11413
11414         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
11415         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
11416
11417 2005-10-22  Simon Josefsson  <jas@extundo.com>
11418
11419         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
11420         suggested by Bruno Haible <bruno@clisp.org>.
11421
11422 2005-10-22  Simon Josefsson  <jas@extundo.com>
11423
11424         * lib/crc.h: Include stddef.h, for size_t.
11425
11426 2005-10-22  Simon Josefsson  <jas@extundo.com>
11427
11428         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
11429         arcfour_context struct (simplify test vector testing in GNU
11430         Shishi).
11431
11432 2005-10-21  Simon Josefsson  <jas@extundo.com>
11433
11434         * modules/des, modules/des-tests: New files.
11435
11436         * modules/gc-des, modules/gc-des-tests: New files.
11437
11438         * tests/test-des.c, tests/test-gc-des.c: New file.
11439
11440 2005-10-21  Simon Josefsson  <jas@extundo.com>
11441
11442         * modules/arctwo, modules/arctwo-tests: New files.
11443
11444         * tests/test-arctwo.c: New file.
11445
11446         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
11447
11448         * tests/test-gc-arctwo.c: New file.
11449
11450 2005-10-21  Simon Josefsson  <jas@extundo.com>
11451
11452         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
11453         Bruno Haible <bruno@clisp.org>.
11454
11455         * m4/gc-des.m4: New file.
11456
11457 2005-10-21  Simon Josefsson  <jas@extundo.com>
11458
11459         * m4/arctwo.m4: New file.
11460
11461         * m4/gc-arctwo.m4: New file.
11462
11463 2005-10-21  Simon Josefsson  <jas@extundo.com>
11464
11465         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
11466         block.
11467
11468 2005-10-21  Simon Josefsson  <jas@extundo.com>
11469
11470         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
11471         <bruno@clisp.org>.
11472
11473         * lib/hmac-sha1.c (hmac_sha1): Likewise.
11474
11475         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
11476         Bruno Haible <bruno@clisp.org>.
11477
11478         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
11479         <bruno@clisp.org>.
11480
11481 2005-10-21  Simon Josefsson  <jas@extundo.com>
11482
11483         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
11484
11485 2005-10-21  Simon Josefsson  <jas@extundo.com>
11486
11487         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
11488
11489 2005-10-21  Simon Josefsson  <jas@extundo.com>
11490
11491         * lib/des.h, lib/des.c: New files.
11492
11493         * lib/gc-gnulib.c: Support DES.c
11494
11495 2005-10-21  Simon Josefsson  <jas@extundo.com>
11496
11497         * lib/arctwo.h, lib/arctwo.c: New files.
11498
11499         * lib/gc-gnulib.c: Support ARCTWO.
11500
11501 2005-10-21  Simon Josefsson  <jas@extundo.com>
11502
11503         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
11504         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11505
11506 2005-10-21  Simon Josefsson  <jas@extundo.com>
11507
11508         * gnulib-tool (func_import, func_create_testdir): Define automake
11509         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
11510         Makefile.am snippet),
11511         suggested by Bruno Haible <bruno@clisp.org>.
11512
11513         * modules/gc (Makefile.am): Use it.
11514
11515 2005-10-21  Bruno Haible  <bruno@clisp.org>
11516
11517         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
11518         patch.
11519
11520 2005-10-19  Simon Josefsson  <jas@extundo.com>
11521
11522         * tests/test-gc-rijndael.c: New file.
11523
11524         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
11525
11526 2005-10-19  Simon Josefsson  <jas@extundo.com>
11527
11528         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
11529         interface too.
11530
11531 2005-10-19  Simon Josefsson  <jas@extundo.com>
11532
11533         * tests/test-gc-arcfour.c: New file.
11534
11535         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
11536
11537 2005-10-19  Simon Josefsson  <jas@extundo.com>
11538
11539         * modules/gc-md4, modules/gc-md4-tests: New file.
11540
11541         * tests/test-gc-md4.c: New file.
11542
11543 2005-10-19  Simon Josefsson  <jas@extundo.com>
11544
11545         * m4/gc-md4.m4: New file.
11546
11547 2005-10-19  Simon Josefsson  <jas@extundo.com>
11548
11549         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
11550         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
11551         <kasal@ucw.cz>.
11552
11553 2005-10-19  Simon Josefsson  <jas@extundo.com>
11554
11555         * m4/gc-arcfour.m4: New file.
11556
11557         * m4/gc-rijndael.m4: New file.
11558
11559 2005-10-19  Simon Josefsson  <jas@extundo.com>
11560
11561         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
11562
11563 2005-10-19  Simon Josefsson  <jas@extundo.com>
11564
11565         * lib/gc-gnulib.c: Support ARCFOUR.
11566
11567 2005-10-19  Simon Josefsson  <jas@extundo.com>
11568
11569         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
11570         support.
11571
11572         * lib/gc.h: Add ECB enum type.
11573
11574         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
11575
11576 2005-10-18  Simon Josefsson  <jas@extundo.com>
11577
11578         * tests/test-md5.c: New file.
11579
11580         * modules/md5-tests: New file.
11581
11582 2005-10-18  Simon Josefsson  <jas@extundo.com>
11583
11584         * tests/test-md4.c: New file.
11585
11586         * modules/md4, modules/md4-tests: New files.
11587
11588 2005-10-18  Simon Josefsson  <jas@extundo.com>
11589
11590         * m4/md4.m4: New file.
11591
11592 2005-10-18  Simon Josefsson  <jas@extundo.com>
11593
11594         * lib/md4.h, lib/md4.c: New files, based on md5.?.
11595
11596 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
11597
11598         * gnulib-tool (func_create_testdir): Omit the second check whether
11599         BUILT_SOURCES in nonempty.
11600
11601 2005-10-17  Simon Josefsson  <jas@extundo.com>
11602
11603         * tests/test-rijndael.c: New file.
11604
11605 2005-10-17  Simon Josefsson  <jas@extundo.com>
11606
11607         * modules/sha1: Depend on stdint instead of md5.
11608
11609         * modules/md5: Depend on stdint, remove uint32_t.
11610
11611 2005-10-17  Simon Josefsson  <jas@extundo.com>
11612
11613         * modules/gc-sha1-tests: New file.
11614
11615         * tests/test-gc-sha1.c: New file.
11616
11617 2005-10-17  Simon Josefsson  <jas@extundo.com>
11618
11619         * m4/md5.m4: Remove call to uint32_t.m4.
11620
11621 2005-10-17  Simon Josefsson  <jas@extundo.com>
11622
11623         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
11624
11625         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
11626         md5.h.
11627
11628         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
11629
11630         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
11631
11632 2005-10-17  Simon Josefsson  <jas@extundo.com>
11633
11634         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
11635
11636 2005-10-17  Simon Josefsson  <jas@extundo.com>
11637
11638         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
11639
11640 2005-10-17  Simon Josefsson  <jas@extundo.com>
11641
11642         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
11643
11644         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
11645
11646 2005-10-17  Bruno Haible  <bruno@clisp.org>
11647
11648         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
11649         that it can also be used in a test.
11650
11651 2005-10-16  Bruno Haible  <bruno@clisp.org>
11652
11653         * gnulib-tool (func_emit_tests_Makefile_am): Also define
11654         TESTS_ENVIRONMENT, so that individual tests can augment it.
11655
11656         * gnulib-tool (func_create_testdir): Use an intermediate target for
11657         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
11658         macros, like $(ALLOCA_H), which cannot be passed through the command
11659         line.
11660
11661 2005-10-15  Simon Josefsson  <jas@extundo.com>
11662
11663         * modules/rijndael-tests: New file.
11664
11665         * modules/rijndael: New file.
11666
11667 2005-10-15  Simon Josefsson  <jas@extundo.com>
11668
11669         * m4/rijndael.m4: New file.
11670
11671 2005-10-15  Simon Josefsson  <jas@extundo.com>
11672
11673         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
11674
11675         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
11676
11677 2005-10-14  Simon Josefsson  <jas@extundo.com>
11678
11679         * tests/test-arcfour.c: New file.
11680
11681         * modules/arcfour, modules/arcfour-tests: New files.
11682
11683 2005-10-14  Simon Josefsson  <jas@extundo.com>
11684
11685         * m4/arcfour.m4: New file.
11686
11687 2005-10-14  Simon Josefsson  <jas@extundo.com>
11688
11689         * lib/arcfour.h, lib/arcfour.c: New files.
11690
11691 2005-10-14  Roland McGrath  <roland@redhat.com>
11692
11693         Import from libc.  [BZ #1331]
11694         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
11695         macro argument.
11696         Reported by Matej Vela <vela@debian.org>.
11697
11698 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11699
11700         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
11701         include <wchar.h>; no longer needed.
11702
11703 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11704
11705         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
11706
11707 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
11708         and  Ulrich Drepper  <drepper@redhat.com>
11709
11710         Import from libc.
11711         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
11712         instead of inline stream orientation test and two separate
11713         function calls.  Pay no attention to USE_IN_LIBIO.
11714
11715 2005-10-13  Simon Josefsson  <jas@extundo.com>
11716
11717         * modules/gc-hmac-md5-tests: New file.
11718
11719         * tests/test-gc-hmac-sha1.c: New file.
11720
11721         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
11722
11723         * modules/gc-hmac-md5-tests: New file.
11724
11725         * tests/test-gc-md5.c: New file.
11726
11727         * modules/gc-md5-tests: New file.
11728
11729 2005-10-13  Simon Josefsson  <jas@extundo.com>
11730
11731         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
11732         Move memory allocation outside of loop.
11733
11734 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11735
11736         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
11737         intermediate directory is in a read-only file system.  Problem
11738         reported by Eric Blake.
11739
11740 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
11741
11742         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
11743
11744 2005-10-12  Simon Josefsson  <jas@extundo.com>
11745
11746         * tests/test-hmac-sha1.c: New file.
11747
11748         * modules/hmac-sha1-tests: New file.
11749
11750         * modules/hmac-sha1: New file.
11751
11752 2005-10-12  Simon Josefsson  <jas@extundo.com>
11753
11754         * modules/gc-sha1: New file.
11755
11756 2005-10-12  Simon Josefsson  <jas@extundo.com>
11757
11758         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
11759
11760         * tests/test-gc-pbkdf2-sha1.c: New file.
11761
11762 2005-10-12  Simon Josefsson  <jas@extundo.com>
11763
11764         * modules/gc-md5, modules/gc-hmac-md5: New files.
11765
11766         * modules/gc (Files): Remove md5, memxor and hmac files.
11767
11768 2005-10-12  Simon Josefsson  <jas@extundo.com>
11769
11770         * m4/gc-pbkdf2-sha1.m4: New file.
11771
11772         * m4/gc-hmac-sha1.m4: New file.
11773
11774         * m4/gc-sha1: New file.
11775
11776         * m4/hmac-sha1.m4: New file.
11777
11778 2005-10-12  Simon Josefsson  <jas@extundo.com>
11779
11780         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
11781
11782         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
11783
11784 2005-10-12  Simon Josefsson  <jas@extundo.com>
11785
11786         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
11787         suggested by Bruno Haible <bruno@clisp.org>.
11788
11789 2005-10-12  Simon Josefsson  <jas@extundo.com>
11790
11791         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
11792
11793 2005-10-12  Simon Josefsson  <jas@extundo.com>
11794
11795         * lib/gc-pbkdf2-sha1.c: New file.
11796
11797         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
11798
11799 2005-10-12  Simon Josefsson  <jas@extundo.com>
11800
11801         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
11802
11803         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
11804
11805 2005-10-12  Simon Josefsson  <jas@extundo.com>
11806
11807         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
11808         GC_USE_HMAC_MD5, respectively.
11809
11810         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
11811         (gc_md5): Fix typo.
11812
11813         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
11814
11815         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
11816
11817         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
11818
11819 2005-10-12  Bruno Haible  <bruno@clisp.org>
11820
11821         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
11822         Reported by Stepan Kasal <kasal@ucw.cz>.
11823
11824 2005-10-11  Simon Josefsson  <jas@extundo.com>
11825
11826         * tests/test-crc.c: New file.
11827
11828         * modules/crc, modules/crc-tests: New files.
11829
11830 2005-10-11  Simon Josefsson  <jas@extundo.com>
11831
11832         * m4/crc.m4: New file.
11833
11834 2005-10-11  Simon Josefsson  <jas@extundo.com>
11835
11836         * lib/gc.h: Add gc_hash and gc_hash_buffer.
11837
11838         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
11839
11840         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
11841
11842 2005-10-11  Simon Josefsson  <jas@extundo.com>
11843
11844         * lib/crc.h, lib/crc.c: New files.
11845
11846         * lib/gc.h (gc_hash_buffer): Add doc.
11847
11848 2005-10-11  Bruno Haible  <bruno@clisp.org>
11849
11850         * modules/c-strcasestr: New file.
11851         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
11852
11853 2005-10-11  Bruno Haible  <bruno@clisp.org>
11854
11855         * modules/c-strcase: New file.
11856         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
11857
11858 2005-10-11  Bruno Haible  <bruno@clisp.org>
11859
11860         * lib/strcasecmp.c: Include limits.h.
11861         (strcasecmp): Avoid integer overflow on exotic platforms.
11862         * lib/strncasecmp.c: Include limits.h.
11863         (strncasecmp): Avoid integer overflow on exotic platforms.
11864         Reported by Paul Eggert.
11865
11866 2005-10-11  Bruno Haible  <bruno@clisp.org>
11867
11868         * lib/c-strcasestr.h: New file, from GNU gettext.
11869         * lib/c-strcasestr.c: New file, from GNU gettext.
11870
11871 2005-10-11  Bruno Haible  <bruno@clisp.org>
11872
11873         * lib/c-strcase.h: New file, from GNU gettext.
11874         * lib/c-strcasecmp.c: New file, from GNU gettext.
11875         * lib/c-strncasecmp.c: New file, from GNU gettext.
11876
11877 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11878
11879         * modules/mempcpy (License): GPL -> LGPL.
11880         * modules/strchrnul (License): Likewise.
11881         * modules/sysexits (License): Likewise.
11882
11883 2005-10-08  Simon Josefsson  <jas@extundo.com>
11884
11885         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
11886
11887 2005-10-07  Simon Josefsson  <jas@extundo.com>
11888
11889         * m4/memxor.m4: Remove gl_C_RESTRICT call.
11890
11891 2005-10-06  Simon Josefsson  <jas@extundo.com>
11892
11893         * tests/test-hmac-md5.c: New file.
11894
11895         * modules/hmac-md5-tests: New file.
11896
11897         * modules/hmac-md5: New file.
11898
11899 2005-10-06  Simon Josefsson  <jas@extundo.com>
11900
11901         * m4/hmac-md5.m4: New file.
11902
11903         * m4/memxor.m4: Require gl_C_RESTRICT.
11904
11905 2005-10-06  Simon Josefsson  <jas@extundo.com>
11906
11907         * lib/memxor.c (memxor): Avoid casts and warnings.
11908
11909 2005-10-06  Simon Josefsson  <jas@extundo.com>
11910
11911         * lib/hmac-md5.c: New file.
11912
11913         * lib/hmac.h: New file.
11914
11915 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
11916
11917         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
11918         promotes to int, not unsigned int, to catch the AIX 5.3
11919         compiler bug.
11920
11921 2005-10-05  Simon Josefsson  <jas@extundo.com>
11922
11923         * modules/memxor: New file.
11924
11925         * modules/iconv (Files): Move config.rpath to havelib, it is used
11926         there.
11927
11928         * modules/havelib (Files): Add config.rpath.
11929
11930 2005-10-05  Simon Josefsson  <jas@extundo.com>
11931
11932         * m4/memxor.m4: New file.
11933
11934 2005-10-05  Simon Josefsson  <jas@extundo.com>
11935
11936         * lib/memxor.c (memxor): Fix compiler error.
11937
11938         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
11939         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
11940
11941         * lib/memxor.h, lib/memxor.c: New files.
11942
11943         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
11944         we assume all systems have it, suggested by Jim Meyering
11945         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
11946         any systems lack sys/socket.h; mingw32 is known to lack it, but we
11947         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
11948         same reasons.
11949
11950 2005-10-05  Simon Josefsson  <jas@extundo.com>
11951
11952         * config/srclist.txt: Add glibc bug 1423 for md5.h.
11953
11954 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11955
11956         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
11957         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
11958         needed, since the source code now assumes these .h files.
11959
11960 2005-10-05  Derek Price  <derek@ximbiot.com>
11961
11962         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
11963
11964 2005-10-05  Bruno Haible  <bruno@clisp.org>
11965
11966         * modules/stdint (License): Change to LGPL.
11967
11968 2005-10-04  Simon Josefsson  <jas@extundo.com>
11969
11970         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
11971         D. Baushke" <mdb@gnu.org>.
11972
11973 2005-10-04  Bruno Haible  <bruno@clisp.org>
11974
11975         * lib/verify.h (verify_true): Provide alternative definition for C++.
11976
11977 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
11978
11979         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
11980         (SSIZE_MAX): New macro, if not already defined.
11981         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
11982         than 2 GiB.
11983
11984 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11985
11986         Sync from coreutils.
11987         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
11988         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
11989         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
11990         ULLONG_MAX doesn't work with 2.7.2.1.
11991
11992 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11993
11994         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
11995         From Ben Pfaff.
11996
11997         * modules/exclude (Depends-on): Depend on verify.
11998         * modules/strtoimax (Depends-on): Likewise.
11999         * modules/utimecmp (Depends-on): Likewise.
12000
12001 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12002
12003         * lib/exclude.c: Include verify.h.
12004         (verify): Remove.  All callers changed to use verify.h's version.
12005         * lib/strtoimax.c: Likewise.
12006         * lib/utimecmp.c: Likewis.e
12007
12008         Sync from coreutils.
12009         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
12010         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
12011         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
12012         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
12013         bother returning ENOSYS if settimeofday or stime fails; just let
12014         them return whatever errno they want to return.
12015         * lib/utimens.c: Include unistd.h, for dup2.
12016         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
12017         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
12018
12019 2005-10-02  Jim Meyering  <jim@meyering.net>
12020
12021         Sync from coreutils.
12022         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
12023         from glibc-2.2.5 that fails for read-only files.
12024
12025 2005-10-02  Jim Meyering  <jim@meyering.net>
12026
12027         Sync from coreutils.
12028         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
12029         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
12030         `#if HAVE_CONFIG_H'.
12031         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
12032         Remove AT_FDCWD test.
12033         Do not consume the fd unless successful.
12034         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
12035         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
12036         block, so that we don't even try to compile it if settimeofday is
12037         available.  This works around a compilation failure on OSF1 V5.1,
12038         due to stime requiring a `long int*' while tv_sec is `int'.
12039
12040 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
12041
12042         Sync from coreutils.
12043         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
12044         against `yes', rather than just testing for nonempty.
12045
12046 2005-10-01  Simon Josefsson  <jas@extundo.com>
12047
12048         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
12049         and Darwin.
12050
12051         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
12052         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
12053         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
12054         freeaddrinfo and gai_strerror are declared by the POSIX headers.
12055         Check if struct addrinfo is declared.
12056
12057 2005-10-01  Simon Josefsson  <jas@extundo.com>
12058
12059         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
12060         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
12061         AI_* and EAI_* definitions.  Protect function declarations.
12062
12063 2005-10-01  Jim Meyering  <jim@meyering.net>
12064
12065         Sync from coreutils.
12066
12067         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
12068         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
12069         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
12070         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
12071         in the inet and nsl libraries.  Required on Solaris 5.7.
12072
12073 2005-10-01  Jim Meyering  <jim@meyering.net>
12074
12075         Sync from coreutils.
12076         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
12077         in the inet and nsl libraries.  Required on Solaris 5.7.
12078
12079 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
12080
12081         * lib/getdelim.c (getdelim): Remove unused variables.
12082
12083 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
12084
12085         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
12086         so that the code works even with ancient cpp.  Portability problem
12087         with GCC 2.7.2.1 reported by Thomas M.Ott.
12088
12089 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
12090
12091         * modules/regex (Depends-on): Add strcase.
12092
12093         * modules/gethostname (Licence): Change from GPL to LGPL, since
12094         gethostname.c is a trivial implementation of a standard library
12095         function.
12096         * modules/poll (License): Change from GPL to LGPL, since it's
12097         derived from LGPL code.
12098
12099 2005-09-27  Jim Meyering  <jim@meyering.net>
12100
12101         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
12102         HAVE_CONFIG_H.
12103
12104         * lib/intprops.h (signed_type_or_expr__): Define.
12105         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
12106         for unsigned types.
12107
12108 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12109
12110         * lib/verify.h (verify_expr): Remove, replacing with:
12111         (verify_true): New macro that returns true instead of void.
12112         (verify_type__): Remove.
12113         (verify): Use verify_true rather than verify_type__.
12114
12115 2005-09-26  Bruno Haible  <bruno@clisp.org>
12116
12117         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
12118         is necessary.
12119         (lib_SOURCES): Remove mbchar.c.
12120         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
12121         (Files): Add m4/mbrtowc.m4.
12122         * modules/mbiter: Likewise.
12123         * modules/mbuiter: Likewise.
12124
12125 2005-09-26  Bruno Haible  <bruno@clisp.org>
12126
12127         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
12128         compile mbchar.c if they are not both present.
12129         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
12130         * m4/mbiter.m4 (gl_MBITER): Likewise.
12131         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
12132         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
12133         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
12134
12135 2005-09-25  Jim Meyering  <jim@meyering.net>
12136
12137         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
12138         also uses socklen_t.
12139
12140 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12141
12142         * lib/utimens.c (ENOSYS): Define if not already defined.
12143         (futimens): Support having a null PATH if the file descriptor
12144         is nonnegative.
12145
12146         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
12147         Remove.
12148         (__attribute): Define to empty unless GCC 3.1 or later.
12149         This works around a core dump on OpenBSD 3.4, which has GCC
12150         2.95.3, which dumps core when given __attribute__(()).  It also
12151         simplifies other tests, since we really don't want to bother with
12152         worrying about which ancient version of GCC supported what.
12153         Original problem reported by Yoann Vandoorselaere, with part of
12154         the fix suggested by Derek Price.
12155
12156 2005-09-24  Jim Meyering  <jim@meyering.net>
12157
12158         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
12159         so we can once again use a positive bitfield width of 1 -- now we
12160         don't have to explain why we were using a bitfield width of 2.
12161
12162 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12163
12164         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
12165         and similarly for the other external symbols.  Problem reported
12166         by James Gallager.
12167
12168         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
12169         bug reported by Jim Meyering.
12170
12171         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
12172         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
12173         not needed, since socklen is a prerequisite module.
12174
12175 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12176
12177         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
12178         Problem reported by Eric Blake.
12179         (getaddrinfo): Initialize se so that it's not garbage.
12180         Redo internal storage allocation so that it doesn't make unportable
12181         assumptions about alignment.
12182         Fix a memory leak.
12183
12184         * lib/utimens.c (futimens): Use futimesat if available.
12185         Prefer it to futimes since it doesn't have the futimes bug.
12186
12187         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
12188         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
12189         Instead, declare a function that returns a pointer to an array,
12190         and use verify_type__ to declare the size of the array.
12191         Problem and germ of a solution reported by Bruno Haible.
12192         (verify_type__): Use 2, not 1, for bitfield size, to avoid
12193         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
12194
12195 2005-09-23  Jim Meyering  <jim@meyering.net>
12196
12197         Sync from coreutils.
12198         Correct build failure (socklen_t not defined) on at least
12199         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
12200         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
12201
12202 2005-09-23  Jim Meyering  <jim@meyering.net>
12203
12204         * modules/getaddrinfo (Depends-on): Add socklen.
12205
12206 2005-09-23  Bruno Haible  <bruno@clisp.org>
12207
12208         * tests/test-verify.c: New file.
12209
12210 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12211
12212         Sync from coreutils.
12213
12214         * modules/argmatch (Depends-on): Add verify.
12215         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
12216         unistd-safer.
12217         * modules/save-cwd (Depends-on): Likewise.
12218
12219         * modules/openat (Files): Add lib/openat-die.c.
12220         (Depends-on): Remove error, exitfail.
12221         Add dirname.
12222
12223         * modules/verify: New file.
12224         * MODULES.html.sh (Diagnostics <assert.h>): New section,
12225         with "verify" module.
12226
12227 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12228
12229         Sync from coreutils.
12230
12231         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
12232         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
12233         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
12234         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
12235         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
12236         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
12237         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
12238         Don't bother checking for string.h, stdlib.h, unistd.h.
12239         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
12240         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
12241         module's job.
12242         * m4/jm-macros.m4 (gl_MACROS): Likewise.
12243         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
12244
12245         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
12246         (gl_GETDATE): Use it.
12247
12248         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
12249
12250 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12251
12252         Sync from coreutils.
12253
12254         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
12255         stat-time.h.
12256         * lib/argmatch.h: Include verify.h
12257         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
12258         (ARGMATCH_ASSERT): Remove; unused.
12259         * lib/canonicalize.c: Assume STDC_HEADERS.
12260         * lib/exclude.c: Include "strcase.h".
12261         * lib/regex_internal.h [!defined _LIBC]: Likewise.
12262         * lib/getusershell.c: Include stdio--.h rather than stdio.h
12263         and stdio-safer.h.
12264         (getusershell): Call fopen, not fopen_safer.
12265         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
12266         Do not include unistd-safer.h.
12267         (save_cwd): Don't call fd_safer; no longer needed
12268         now that we include fcntl--.h.
12269
12270         * lib/getdate.y (relative_time): New type.
12271         (RELATIVE_TIME_0): New constant.
12272         (parser_control): Use relative_time instead of doing it ourselves.
12273         (%union): Add new relative_time rel member.
12274         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
12275         Now typeless.
12276         (relunit, relunit_snumber): Now of type rel.
12277         (zone, rel, relunit, get_date): Adjust to above changes.
12278
12279         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
12280         Do not include unistd-safer.h.
12281         (getloadavg): Don't call fd_safer; no longer needed
12282         now that we include fcntl--.h.
12283
12284         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
12285         (make_dir_parents): Treat ENOSYS like EEXIST.
12286
12287         Improve quality of diagnostics on restore_cwd failure.
12288         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
12289         (make_dir_parents): Last arg is now int * (for errno), not bool *.
12290         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
12291         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
12292         each time through the loop.  Do not diagnose restore_cwd failure;
12293         that is the caller's job (and perhaps the caller does not care).
12294
12295         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
12296         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
12297         If the file already exists but is not a directory, don't bother
12298         to try to make its parents.
12299         Close potential file descriptor leak if we can't chdir("/") (!).
12300         Don't always return true if chdir($PWD) fails; return true only
12301         if the requested action was done successfully (except for the
12302         chdir($PWD)).
12303         Don't log final directory unless we actually made it.
12304         Refactor to avoid duplicate code to fix up permissions.
12305         Don't attempt to fix up parent permissions if chdir($PWD) fails.
12306
12307         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
12308         to make it a bit faster and (I hope) clearer.
12309         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
12310         Fix bug in formats like %2N.
12311
12312         * lib/verify.h: New file.
12313
12314 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12315
12316         Sync from coreutils.
12317         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
12318
12319 2005-09-22  Jim Meyering  <jim@meyering.net>
12320
12321         Sync from coreutils.
12322
12323         * m4/lstat.m4 (gl_FUNC_LSTAT):
12324         Use AC_LIBSOURCES to require lstat.c and lstat.h.
12325         Remove obsolete comment.
12326         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
12327         * m4/xstrtod.m4: Likewise.
12328
12329         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
12330
12331 2005-09-22  Jim Meyering  <jim@meyering.net>
12332
12333         Sync from coreutils.
12334
12335         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
12336
12337         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
12338         the .tm_year member, since otherwise gcc-4.0 would now warn about
12339         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
12340
12341         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
12342         order to avoid an unsuppressible warning from gcc on 64-bit systems.
12343
12344         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
12345         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
12346         when run in a time zone for which daylight savings time is in effect
12347         for the starting date.
12348
12349         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
12350         stop us from restricting permissions of just-created absolute-named
12351         directories.
12352         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
12353         to restore initial working directory.
12354         * lib/mkdir-p.c (make_dir_parents): New parameter:
12355         different_working_dir, to tell caller if/when we change the working
12356         directory and are unable to return to the initial one.
12357         * lib/mkdir-p.h (make_dir_parents): Update prototype.
12358         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
12359         `return false'.  This fixes a bug introduced on 2004-07-30.
12360
12361         * lib/openat.c (fdopendir): Be sure to close the supplied
12362         file descriptor before returning.  This makes our replacement
12363         implementation a little closer to Solaris's, where fdopendir
12364         ties the file descriptor to the returned DIR* pointer.
12365         * lib/openat.c (unlinkat): New function.
12366         * lib/openat.h (unlinkat): Add prototype.
12367         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
12368         (openat_restore_fail): Rename from openat_restore_die.
12369         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
12370
12371         Provide an alternative to exiting immediately upon save_cwd or
12372         restore_cwd failure.  Now, an application can arrange e.g.,
12373         to perform a longjump in that case.
12374         * lib/openat.c: Include dirname.h.
12375         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
12376         (rpl_openat, fdopendir, fstatat): Call openat_save_die
12377         and openat_restore_die rather than calling error directly.
12378         Don't include "error.h" or "exitfail.h"; they're no longer needed.
12379
12380         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
12381         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
12382         define.
12383
12384         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
12385         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
12386                             int utc, int nanoseconds);
12387         Background:
12388         date should not have to allocate a megabyte of virtual memory to
12389         handle a format argument like +%1048575T.  When implemented with
12390         strftime, it must allocate such a buffer, use strftime to fill it
12391         in, print it, then free it.
12392         With fprintftime, it simply prints everything and exits.
12393         With no need for memory allocation, that's one fewer way to fail.
12394         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
12395         optional field width, not before, so we accept %9:z, not %:9z.
12396         (my_strftime): Be sure to use L_('x') for literals.
12397
12398         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
12399         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
12400         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
12401         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
12402         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
12403         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
12404         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
12405         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
12406         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
12407         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
12408         * lib/xgethostname.c, lib/xreadlink.c:
12409         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
12410
12411         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
12412         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
12413         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
12414         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
12415         and don't include <sys/file.h>).
12416
12417 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
12418
12419         Sync from coreutils.
12420
12421         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
12422         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
12423         [!LDAV_DONE]: Avoid unused variable warning.
12424
12425 2005-09-21  Bruno Haible  <bruno@clisp.org>
12426
12427         * lib/unicodeio.h (unicode_to_mb): New declaration.
12428
12429 2005-09-20  Derek Price  <derek@ximbiot.com>
12430
12431         * lib/getaddrinfo.c: Don't include <netdb.h> included from
12432         getaddrinfo.h.
12433
12434 2005-09-20  Bruno Haible  <bruno@clisp.org>
12435
12436         * gnulib-tool: Remove trailing slashes from the values specified for
12437         --source-base, --m4-base, --tests-base, --aux-dir.
12438         Suggested by Simon Josefsson <jas@extundo.com>.
12439
12440 2005-09-20  Bruno Haible  <bruno@clisp.org>
12441
12442         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
12443         func_modules_to_filelist, func_import, func_create_testdir): Make all
12444         sorting results locale-independent, so that gnulib-cache.m4 doesn't
12445         change when gnulib-tool is invoked in a different locale.
12446
12447 2005-09-19  Simon Josefsson  <jas@extundo.com>
12448
12449         * m4/socklen.m4: Fix typo.
12450
12451 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12452
12453         Use a consistent style for including <config.h>.
12454         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
12455         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
12456         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
12457         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
12458         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
12459         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
12460         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
12461         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
12462         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
12463         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
12464         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
12465         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
12466         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
12467         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
12468         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
12469         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
12470         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
12471         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
12472         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
12473         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
12474         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
12475         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
12476         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
12477         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
12478         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
12479         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
12480         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
12481         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
12482         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
12483         lib/xstrtoumax.c, lib/yesno.c:
12484         Standardize inclusion of config.h.
12485         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
12486         lib/inttostr.h:  Removed inclusion of config.h from header files.
12487         * lib/inttostr.c:  Adjusted in-tree users.
12488         * lib/timespec.h: Remove superfluous warning to include config.h.
12489         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
12490         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
12491         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
12492         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
12493         config.h with HAVE_CONFIG_H.
12494
12495 2005-09-19  Jim Meyering  <jim@meyering.net>
12496
12497         * modules/pathmax (License): Change to LGPL.
12498
12499 2005-09-19  Derek Price  <derek@ximbiot.com>
12500
12501         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
12502
12503 2005-09-19  Bruno Haible  <bruno@clisp.org>
12504
12505         * gnulib-tool (import): Provide default for --tests-base.
12506
12507 2005-09-19  Bruno Haible  <bruno@clisp.org>
12508
12509         * doc/quote.texi: New file, extracted from gnulib.texi.
12510         * doc/ctime.texi: New file, extracted from gnulib.texi.
12511         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
12512         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
12513         * doc/gnulib.texi: Include them.
12514
12515 2005-09-18  Bruno Haible  <bruno@clisp.org>
12516
12517         Portability fix.
12518         * gnulib-tool (func_readlink): New function.
12519         (func_ln_if_changed): Use it.
12520
12521 2005-09-18  Bruno Haible  <bruno@clisp.org>
12522
12523         * gnulib-tool: Support --with-tests also with --import.
12524         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
12525         (func_import): Use variables $testsbase and $inctests. Emit a
12526         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
12527         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
12528         SUBDIRS += $testsdir.
12529         (func_create_testdir): Update.
12530
12531 2005-09-18  Bruno Haible  <bruno@clisp.org>
12532
12533         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
12534         instead of $dry_run.
12535         (func_cp_if_changed, func_mv_if_changed): Remove functions.
12536         (func_ln_if_changed): Don't handle dry-run here.
12537         (func_import): In dry-run mode, detect more precisely which actions
12538         would be performed, and don't use "...ing" verbs.
12539
12540 2005-09-18  Bruno Haible  <bruno@clisp.org>
12541
12542         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
12543         (func_import): Use join on two temporary files instead of three nested
12544         loops, in order to determine which files are new or old.
12545
12546 2005-09-18  Bruno Haible  <bruno@clisp.org>
12547
12548         * gnulib-tool (func_import): Comment out code that spits out the
12549         new files with --dry-run.
12550
12551 2005-09-18  Bruno Haible  <bruno@clisp.org>
12552
12553         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
12554
12555 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12556
12557         * lib/stat-time.h: New file.
12558         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
12559         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
12560         in a different way.
12561         (timespec_cmp): New function.
12562         * lib/utimecmp.c: Include stat-time.h.
12563         (SYSCALL_RESOLUTION): Depend on whether various struct stat
12564         members exist, not on the obsolescent ST_MTIM_NSEC.
12565         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
12566
12567 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12568
12569         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
12570
12571 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12572
12573         * MODULES.html.sh (File system functions): Add stat-time.
12574         * modules/stat-time: New file.
12575         * modules/timespec (Files): Remove m4/st_mtim.m4; this
12576         is now done in a different way, by the stat-time module.
12577         * modules/utimecmp (Depends-on): Add stat-time.
12578
12579 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12580
12581         * m4/st_mtim.m4: Remove.  Superseded by...
12582         * m4/stat-time.m4: New file.
12583         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
12584         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
12585
12586 2005-09-15  Derek Price  <derek@ximbiot.com>
12587
12588         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
12589
12590 2005-09-15  Derek Price  <derek@ximbiot.com>
12591
12592         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
12593         * lib/regex_internal.c: Ditto, using this...
12594         (__GNUC_PREREQ): ...new macro.
12595         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
12596         using...
12597         (__GNUC_PREREQ): ...this new macro.
12598
12599         * lib/strstr.h: Include string.h. Define strstr as a macro here.
12600
12601 2005-09-15  Derek Price  <derek@ximbiot.com>
12602             Paul Eggert  <eggert@cs.ucla.edu>
12603
12604         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
12605         changes, consolidating in...
12606         * lib/regex_internal.h: ...this file.
12607
12608 2005-09-13  Jim Meyering  <jim@meyering.net>
12609
12610         * lib/canon-host.c: Filter through gnu indent and reword comments
12611         slightly.
12612         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
12613
12614 2005-09-13  Derek Price  <derek@ximbiot.com>
12615
12616         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
12617         failure.
12618         Reported by Jim Meyering  <jim@meyering.net>.
12619
12620 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12621
12622         * lib/base64.c: Typo.
12623         (base64_encode): Put b64str in initialized data section.
12624
12625 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
12626
12627         Merge glibc and coreutils changes into gnulib, plus a few
12628         extra fixes.
12629         * lib/md5.c: Use #error rather than a string.
12630         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
12631         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
12632         (__attribute__): Define to empty for non recent-GCC.
12633         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
12634         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
12635         Renamed from their non-__ counterparts, with new macros replacing
12636         them if not _LIBC.  Add __THROW attribute.
12637         (rol): Remove.
12638         (struct md5_ctx): Align buffer if using GCC.
12639         * lib/sha1.h (struct sha1_ctx): Likewise.
12640         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
12641         The old name was backwards.
12642         (NOTSWAP): Remove; not used.
12643         (rol): New macro, moved here from md5.h.
12644         (sha1_process_block): Remove a FIXME that doesn't make sense.
12645
12646 2005-09-12  Derek Price  <derek@ximbiot.com>
12647
12648         Return usable errors from canon-host.
12649         * lib/canon-host.h: New file.
12650         * lib/canon-host.c (canon_host): Wrap...
12651         (canon_host_r): ...this new function, which now relies exclusively on
12652         getaddrinfo.
12653         (ch_strerror): New function.
12654         (last_cherror): New global.
12655         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
12656         interface.
12657         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
12658         void *.
12659         (freeaddrinfo): Free ai->ai_canonname when set.
12660
12661 2005-09-12  Derek Price  <derek@ximbiot.com>
12662
12663         Make canon-host require getaddrinfo.
12664         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
12665         AC_LIBSOURCE canon-host.h.  Call...
12666         (gl_PREREQ_CANON_HOST): ...this new function, which requires
12667         gl_GETADDRINFO.
12668         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
12669
12670 2005-09-12  Derek Price  <derek@ximbiot.com>
12671
12672         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
12673         LGPL.
12674         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
12675
12676 2005-09-12  Derek Price  <derek@ximbiot.com>
12677
12678         * lib/gai_strerror.c: Include config.h when available.  Include
12679         getaddrinfo.h before other headers to test interface.
12680         Reported by Larry Jones <lawrence.jones@ugs.com>.
12681
12682 2005-09-12  Derek Price  <derek@ximbiot.com>
12683             Paul Eggert  <eggert@cs.ucla.edu>
12684
12685         * modules/glob (Files): Add glob-libc.h.
12686
12687 2005-09-12  Derek Price  <derek@ximbiot.com>
12688             Paul Eggert  <eggert@cs.ucla.edu>
12689
12690         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
12691         glob_.h, glob-libc.h.
12692         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
12693
12694 2005-09-12  Derek Price  <derek@ximbiot.com>
12695             Paul Eggert  <eggert@cs.ucla.edu>
12696
12697         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
12698         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
12699         protecting things that should be done only in gnulib contexts.
12700         * lib/glob_.h: New file, containing only the glob things needed for
12701         gnulib.
12702         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
12703         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
12704         (glob, globfree, glob_pattern_p): Now defined simply in terms of
12705         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
12706         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
12707         and to respect the namespace rules better.
12708
12709 2005-09-08  Simon Josefsson  <jas@extundo.com>
12710
12711         * modules/socklen: New file.
12712
12713 2005-09-08  Simon Josefsson  <jas@extundo.com>
12714
12715         * m4/socklen.m4: New file.
12716
12717 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12718
12719         * modules/utimens (Files): Add m4/utimbuf.m4, since
12720         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
12721         Reported by Sergey Poznyakoff.
12722
12723 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12724
12725         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
12726         definitions, since that's the preferred style in glibc.
12727         Fix a minor spacing issue, and update copyright notice to match
12728         glibc's.
12729
12730 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12731
12732         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
12733
12734 2005-09-06  Simon Josefsson  <jas@extundo.com>
12735
12736         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
12737         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
12738
12739 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12740
12741         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
12742         warning.
12743
12744 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12745
12746         * config/srclist.txt: Add glibc bug 1302.
12747
12748 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12749
12750         Change bitset word type from unsigned int to unsigned long int,
12751         as this has better performance on typical 64-bit hosts.
12752         Port bitset code to hosts with unusual word sizes.
12753         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
12754         (build_collating_symbol):
12755         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
12756         argument is a bitset.  This is merely a style issue, but it makes
12757         it clearer that an entire array is expected.
12758         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
12759         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
12760         Port to the case where bitset_word is not the same as unsigned int.
12761         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
12762         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
12763         Likewise.
12764         * lib/regexec.c (check_dst_limits_calc_pos_1,
12765         check_subexp_matching_top):
12766         (build_trtable, group_nodes_into_DFAstates):
12767         Likewise.
12768         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
12769         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
12770         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
12771         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
12772         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
12773         * lib/regcomp.c (optimize_subexps, lower_subexp):
12774         Work even if bitset_word has holes in its bitwise representation.
12775         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
12776         * lib/regexec.c (check_dst_limits_calc_pos_1,
12777         check_subexp_matching_top):
12778         Likewise.
12779         * lib/regex_internal.c (re_string_reconstruct):
12780         Don't assume UCHAR_MAX == 255.
12781         * lib/regex_internal.h (bitset_set_all): Likewise.
12782         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
12783         All uses changed.
12784         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
12785         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
12786         All uses changed.
12787         (BITSET_WORD_MAX): New macro.
12788         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
12789         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
12790         (bitset_empty, bitset_copy):
12791         Prefer sizeof (bitset) to multiplying it out ourselves.
12792         (bitset_not_merge): Remove; unused.
12793         (bitset_contain): Return bool, not unsigned int with one bit on.
12794         All callers changed.
12795         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
12796         alignment than re_node_set; do this by defining a new internal
12797         type struct dests_alloc and using it to allocate memory.
12798
12799 2005-09-05  Bruno Haible  <bruno@clisp.org>
12800
12801         * gnulib-tool (func_import): Fix comparison in handling of symbolic
12802         links.
12803
12804 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
12805
12806         * modules/size_max (Makefile.am): Add size_max.h
12807
12808 2005-09-04  Derek Price  <derek@ximbiot.com>
12809
12810         * gnulib-tool (func_import): Fix reversed $symbolic logic.
12811
12812 2005-09-03  Simon Josefsson  <jas@extundo.com>
12813
12814         * gnulib-tool: Fix typo.
12815
12816 2005-09-03  Simon Josefsson  <jas@extundo.com>
12817
12818         * config/srclist.txt: Add glibc bug 1293.
12819
12820 2005-09-03  Derek Price  <derek@ximbiot.com>
12821
12822         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
12823         From Larry Jones <lawrence.jones@ugs.com>.
12824
12825 2005-09-02  Simon Josefsson  <jas@extundo.com>
12826
12827         * modules/socklen: New file.
12828
12829 2005-09-02  Simon Josefsson  <jas@extundo.com>
12830
12831         * modules/havelib: New module.
12832
12833         * modules/gettext, modules/iconv, modules/lock, modules/readline:
12834         Use havelib.
12835
12836 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12837
12838         Check for arithmetic overflow when calculating sizes, to prevent
12839         some buffer-overflow issues.  These patches are conservative, in the
12840         sense that when I couldn't determine whether an overflow was possible,
12841         I inserted a run-time check.
12842         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
12843         macros.
12844         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
12845         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
12846         (re_xnrealloc, re_x2nrealloc): New inline functions.
12847         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
12848         parse_bracket_exp):
12849         (build_equiv_class, build_charclass): Check for arithmetic overflow
12850         in size expression calculations.
12851         * lib/regex_internal.c (re_string_realloc_buffers):
12852         (build_wcs_upper_buffer, re_node_set_add_intersect):
12853         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
12854         (re_dfa_add_node, register_state): Likewise.
12855         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
12856         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
12857         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
12858         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
12859
12860 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12861
12862         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
12863         m4/ulonglong.m4.  Problem reported by Martin Lambers.
12864
12865 2005-09-02  Bruno Haible  <bruno@clisp.org>
12866
12867         Support for lib vs. lib64 distinction on biarch platforms.
12868         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
12869         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
12870         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
12871
12872 2005-09-02  Bruno Haible  <bruno@clisp.org>
12873
12874         * gnulib-tool (import): In the other first-use case, provide defaults
12875         as well.
12876
12877 2005-09-02  Bruno Haible  <bruno@clisp.org>
12878
12879         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
12880         patches not yet found in the latest gettext release.
12881
12882 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12883
12884         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
12885         to avoid a collision with bits/local_lim.h in glibc.
12886         All uses changed.  Problem reported by Dmitry V. Levin in
12887         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
12888
12889         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
12890         bugs in int versus size_t comparisons.
12891         (re_string_context_at): Fix bug where the code assumed that
12892         Idx is signed.
12893
12894         Use bool where appropriate.
12895         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
12896         All callers changed.
12897         (calc_eclosure_iter): Likewise, for ROOT arg.
12898         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
12899         (build_charclass_op): Likewise, for NON_MATCH arg.
12900         * lib/regex_internal.c (re_string_allocate, re_string_construct):
12901         (re_string_construct_common): Likewise, for ICASE arg.
12902         * lib/regexec.c (re_search_2_stub, re_search_stub):
12903         Likewise, for RET_LEN arg.
12904         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
12905         (set_regs): Likewise, for FL_BACKTRACK arg.
12906         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
12907         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
12908         (calc_eclosure_iter, parse_bracket_exp):
12909         Use bool for internal variables that are booleans.
12910         * lib/regexec.c (re_search_internal, check_matching,
12911         proceed_next_node):
12912         (set_regs, build_sifted_states, sift_states_bkref):
12913         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
12914         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
12915         (find_collation_sequence_value):
12916         Likewise.
12917         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
12918         (re_node_set_compare):
12919         Return bool, not int. All callers changed.
12920         * lib/regexec.c (check_halt_node_context, check_dst_limits):
12921         (build_trtable, check_node_accept): Likewise.
12922         * lib/regex_internal.h: Include stdbool.h.
12923
12924         Fix bugs uncovered when converting to bool.
12925         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
12926         failure instead of charging ahead blindly.
12927         * lib/regex_internal.c (register_state): Likewise.
12928         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
12929         for freeing internal storage.
12930         (group_nodes_into_DFA_states): Use unsigned int, not int, for
12931         bitset pieces used as boolean, to avoid undefined behavior
12932         on hosts that do int overflow checking.
12933
12934 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12935
12936         * config/srclist.txt: Add glibc bugs 1285-1287.
12937
12938 2005-09-01  Jim Meyering  <jim@meyering.net>
12939
12940         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
12941         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
12942         Require gl_STAT_MACROS, too.
12943
12944 2005-09-01  Bruno Haible  <bruno@clisp.org>
12945
12946         * gnulib-tool (import): In the first-use case, provide defaults.
12947
12948 2005-09-01  Bruno Haible  <bruno@clisp.org>
12949
12950         * gnulib-tool (func_import): Remove the .tmp files.
12951
12952 2005-09-01  Bruno Haible  <bruno@clisp.org>
12953
12954         * gnulib-tool (func_import): Fix handling of symbolic links.
12955
12956 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12957
12958         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
12959         old glibc regex code mishandles strings longer than 2**31 bytes.
12960         This patch fixes this when the regex code is used in gnulib
12961         (i.e., outside glibc).
12962
12963         This patch should not affect the use of the regex code inside
12964         glibc.  No doubt this problem also needs to be handled for glibc
12965         as well, but the result will be an incompatible change to the
12966         glibc ABI, and the old ABI will have to be supported too.  That
12967         can be the the subject for another patch.
12968
12969         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
12970         governing whether the rest of this patch is active.  By default,
12971         the macro is disabled and the patch has no effect.
12972         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
12973         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
12974         (struct re_pattern_buffer, re_search, re_search_2, re_match):
12975         (re_match_2, re_set_registers): Use the new types.
12976         * lib/regex_internal.h (Idx, re_hashval_t): New types.
12977         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
12978         New macros.
12979         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
12980         (re_string_context_at, bin_tree_t, re_dfastate_t):
12981         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
12982         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
12983         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
12984         (re_string_char_size_at, re_string_wchar_at):
12985         (re_string_elem_size_at):
12986         Use the new types and macros to port to 64-bit hosts.
12987         Use unsigned types for internal values, so that the code
12988         mostly works even for arrays larger than SSIZE_MAX.
12989         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
12990         (search_duplicated_node, calc_eclosure_iter, fetch_number):
12991         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
12992         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
12993         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
12994         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
12995         (calc_inveclosure, parse_dup_op, build_range_exp):
12996         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
12997         (fetch_number, create_token_tree, mark_opt_subexp):
12998         Likewise.
12999         * lib/regex_internal.c (re_string_construct_common,
13000         create_ci_newstate):
13001         (create_cd_newstate, re_string_allocate, re_string_construct):
13002         (re_string_realloc_buffers, build_wcs_upper_buffer):
13003         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
13004         (re_string_reconstruct, re_string_peek_byte_case):
13005         (re_string_fetch_byte_case, re_string_context_at):
13006         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
13007         (re_node_set_init_copy, re_node_set_add_intersect):
13008         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13009         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13010         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
13011         (re_acquire_state, re_acquire_state_context, register_state):
13012         Likewise.
13013         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
13014         search_cur_bkref_entry):
13015         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
13016         (re_search_internal, re_search_2_stub, re_search_stub)
13017         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
13018         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
13019         (update_cur_sifted_state, check_dst_limits):
13020         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
13021         (check_subexp_limits, sift_states_bkref, merge_state_array):
13022         (check_subexp_matching_top, get_subexp, get_subexp_sub):
13023         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
13024         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
13025         (expand_bkref_cache, check_node_accept_bytes):
13026         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
13027         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
13028         (acquire_init_state_context, check_halt_node_context):
13029         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
13030         (sift_states_backward, clean_state_log_if_needed):
13031         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
13032         (find_recover_state, transit_state_sb, transit_state_mb):
13033         (transit_state_bkref, build_trtable, match_ctx_clean):
13034         Likewise.
13035         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
13036         to work around an assumption that REG_MISSING is negative.
13037
13038         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
13039         (seek_collating_symbol_entry) [defined _LIBC]:
13040         (lookup_collation_sequence_value) [defined _LIBC]:
13041         (build_range_exp, build_collating_symbol) [defined _LIBC]:
13042         Use prototypes rather than old-style function definitions.
13043         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
13044         (transit_state_sb) [0]:
13045         (find_collation_sequence_value) [defined _LIBC]: Likewise.
13046
13047         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
13048         rm_eo.
13049
13050         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
13051         (optimize_subexps, lower_subexp):
13052         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
13053         since the signed shift might overflow.  Use 1u<<31 instead.
13054         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
13055         Likewise.
13056         * lib/regexec.c (check_dst_limits_calc_pos_1,
13057         check_subexp_matching_top): Likewise.
13058
13059         * lib/regcomp.c (optimize_subexps, lower_subexp):
13060         Use CHAR_BIT rather than 8, for clarity.
13061         * lib/regexec.c (check_dst_limits_calc_pos_1):
13062         (check_subexp_matching_top): Likewise.
13063         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
13064         have to worry about portability issues when shifting it left.
13065         Remove no-longer-needed test for table_size > 0.
13066         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
13067         in a word, as the resulting behavior is undefined.
13068         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
13069         in one case, a <= should have been an <, and in another case the
13070         whole test was missing.
13071         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
13072         the standard name CHAR_BIT.
13073         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
13074         this is not true on one's complement and signed-magnitude hosts.
13075
13076         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
13077         next_last_offset.
13078         (struct re_dfa_t): Remove unused member states_alloc.
13079         * lib/regcomp.c (init_dfa): Don't initialize unused members.
13080
13081 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13082
13083         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
13084         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
13085         and large-file glibc and in 32-bit large-file Solaris.
13086
13087 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13088
13089         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
13090         lengths fit in regoff_t; this isn't true if regoff_t is the same
13091         width as size_t.
13092         * lib/regex.c (re_search_internal): 5th arg is LAST_START
13093         (= START + RANGE) instead of RANGE.  This avoids overflow
13094         problems when regoff_t is the same width as size_t.
13095         All callers changed.
13096         (re_search_2_stub): Check for overflow when adding the
13097         sizes of the two strings.
13098         (re_search_stub): Check for overflow when adding START
13099         to RANGE; if it occurs, substitute the extreme value.
13100
13101 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13102
13103         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
13104
13105 2005-08-31  Jim Meyering  <jim@meyering.net>
13106
13107         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
13108         a pointer-to-const.
13109         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
13110         (register_state): Likewise.
13111         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
13112         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
13113         (group_nodes_into_DFAstates): Likewise.
13114
13115 2005-08-31  Jim Meyering  <jim@meyering.net>
13116
13117         * check-module: Add a FIXME comment.
13118
13119 2005-08-31  Eric Blake  <ebb9@byu.net>
13120
13121         * modules/unistd-safer (Files): Add unistd--.h.
13122         * modules/stdio-safer (Files): Add stdio--.h.
13123
13124 2005-08-31  Derek Price  <derek@ximbiot.com>
13125
13126         * lib/getdelim.c (getdelim): Return EOF on EOF.
13127         Reported by Larry Jones <lawrence.jones@ugs.com>.
13128
13129 2005-08-31  Bruno Haible  <bruno@clisp.org>
13130
13131         Avoid unnecessary diffs in the generated lib/Makefile.am.
13132         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
13133         the generated files.
13134         (func_import): Don't set cmd.
13135
13136 2005-08-31  Bruno Haible  <bruno@clisp.org>
13137
13138         * lib/strstr.c: Include <stddef.h>, for NULL.
13139         * lib/strcasestr.c: Likewise.
13140         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13141
13142 2005-08-31  Bruno Haible  <bruno@clisp.org>
13143
13144         * gnulib-tool: New option --macro-prefix.
13145         (func_import): Use macro_prefix.
13146         (import): Handle option --macro-prefix.
13147
13148 2005-08-31  Bruno Haible  <bruno@clisp.org>
13149
13150         * gnulib-tool (import): Rename most ac_* variables to cached_*.
13151         Also use new variables cached_lgpl, cached_libtool.
13152
13153 2005-08-31  Bruno Haible  <bruno@clisp.org>
13154
13155         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
13156         always instantiating them.
13157
13158 2005-08-31  Bruno Haible  <bruno@clisp.org>
13159
13160         * gnulib-tool (func_import): Read the previous cached settings
13161         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
13162         earlier added by gnulib but are now dropped. Warn when a gnulib file
13163         overwrites a non-gnulib file.
13164
13165 2005-08-31  Bruno Haible  <bruno@clisp.org>
13166
13167         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
13168         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
13169         projects that don't keep autogenerated files in CVS. Put into
13170         actioncmd only the specified modules, not the transitive closure.
13171
13172 2005-08-31  Bruno Haible  <bruno@clisp.org>
13173
13174         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
13175         Create directories that shall be filled.
13176         (import): Don't look for gl_* macros in configure.ac. Recurse across
13177         all directories containing a gnulib-cache.m4 files, if meaningful.
13178
13179 2005-08-31  Bruno Haible  <bruno@clisp.org>
13180
13181         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
13182         (import): Set seen_libtool when we see gl_LIBTOOL.
13183
13184 2005-08-31  Bruno Haible  <bruno@clisp.org>
13185
13186         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
13187         declaration macro definitions from generated gnulib.m4.
13188
13189 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
13190
13191         * lib/iconvme.h: Add prototype for iconv_alloc.
13192
13193 2005-08-29  Simon Josefsson  <jas@extundo.com>
13194
13195         * lib/iconvme.c: Fix errno.
13196
13197 2005-08-29  Bruno Haible  <bruno@clisp.org>
13198
13199         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
13200         that it works when the directory contains spaces.
13201
13202 2005-08-29  Bruno Haible  <bruno@clisp.org>
13203
13204         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
13205
13206 2005-08-29  Bruno Haible  <bruno@clisp.org>
13207
13208         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
13209         Emit more advice.
13210
13211 2005-08-29  Bruno Haible  <bruno@clisp.org>
13212         and Stepan Kasal  <kasal@ucw.cz>
13213
13214         * check-module: If more parameters are given, check each of them
13215         separately; add more exceptions, as noted by Jim Meyering.
13216         (check_module): New procedure.
13217         (%exempt_header): Now contains all exceptions.
13218
13219 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
13220
13221         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
13222
13223 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
13224
13225         * lib/iconvme.c: Split iconv_string into iconv_alloc.
13226
13227 2005-08-28  Bruno Haible  <bruno@clisp.org>
13228
13229         * m4/gnulib-tool.m4: New file.
13230
13231 2005-08-27  Jim Meyering  <jim@meyering.net>
13232
13233         * modules/unistd-safer (Files): Add pipe-safer.c.
13234         * modules/fcntl-safer (Files): Add creat-safer.c.
13235
13236 2005-08-27  Jim Meyering  <jim@meyering.net>
13237
13238         * m4/stdlib-safer.m4: New file.  From coreutils.
13239         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
13240         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
13241         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
13242         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
13243         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
13244
13245 2005-08-27  Jim Meyering  <jim@meyering.net>
13246
13247         * lib/fopen-safer.c: Merge minor changes from coreutils.
13248         * lib/dup-safer.c: Likewise.
13249         * lib/fd-safer.c: Likewise.
13250
13251         Merge from coreutils.
13252         * lib/stdio--.h: New file.
13253         * lib/stdlib--.h: New file.
13254         * lib/mkstemp-safer.c: New file.
13255
13256         GNU tar needs these.
13257         * lib/pipe-safer.c: New file.
13258         * lib/creat-safer.c: New file.
13259         * lib/fcntl--.h (creat): Define to creat_safer.
13260         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
13261         * lib/unistd--.h (pipe): Define to pipe_safer.
13262         * lib/unistd-safer.h: Declare pipe_safer.
13263
13264 2005-08-26  Simon Josefsson  <jas@extundo.com>
13265
13266         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
13267         Haible <bruno@clisp.org>.
13268
13269 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13270
13271         * lib/regex_internal.h: Remove all references to
13272         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
13273         or better.
13274         (bitset_not, bitset_merge, bitset_not_merge):
13275         (bitset_mask, re_string_allocate, re_string_construct):
13276         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
13277         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
13278         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
13279         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
13280         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13281         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13282         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
13283         (re_acquire_state_context):
13284         Remove unnecessary forward decls.
13285         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
13286         Put __attribute at function definition,
13287         now that the function decl has been removed.
13288         * lib/regex_internal.c (re_string_peek_byte_case):
13289         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
13290         Likewise.
13291
13292 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
13293
13294         * m4/regex.m4: Add AC_PREREQ(2.50).
13295         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
13296
13297 2005-08-25  Simon Josefsson  <jas@extundo.com>
13298
13299         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
13300         __fsetlocking.
13301
13302 2005-08-25  Simon Josefsson  <jas@extundo.com>
13303
13304         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
13305         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
13306         GLIBC specific code.
13307
13308 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13309
13310         Make regex safe for g++.  This fixes one real bug (an "err"
13311         that should have been "*err").  g++ problem reported by
13312         Sam Steingold.
13313         * lib/regex_internal.h (re_calloc): New macro, consistent with
13314         re_malloc etc.  All callers of calloc changed to use re_calloc.
13315         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
13316         not int.  All callers changed.
13317         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
13318         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
13319         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
13320         (find_recover_state): Change "err" to "*err"; this fixes what
13321         appears to be a real bug.
13322         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
13323         versus int.
13324
13325 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13326
13327         * modules/regex (Depends-on): Add malloc, since the code
13328         assumes that !malloc(0) means failure.
13329
13330 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13331
13332         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
13333
13334         alloca modernization/simplification for regex.
13335         * lib/regex.c: Remove portability cruft for alloca.  This no longer
13336         needs to be at the start of the file, and can be moved into
13337         regex_internal.h and simplified.
13338         * lib/regex_internal.h: Include <alloca.h>.
13339         (__libc_use_alloca) [!defined _LIBC]: New macro.
13340         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
13341         now works outside glibc.
13342
13343 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13344
13345         * config/srclist.txt: Add glibc bugs 1241, 1245.
13346
13347 2005-08-25  Jim Meyering  <jim@meyering.net>
13348
13349         * lib/open-safer.c: Include <config.h>.
13350         Otherwise, we'd lose LARGEFILE support in any file using
13351         e.g. "fcntl--.h"
13352
13353 2005-08-25  Bruno Haible  <bruno@clisp.org>
13354
13355         * m4/minmax.m4: Require autoconf 2.52.
13356         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
13357         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
13358         alternatives of translit over the alphabet.
13359         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
13360
13361 2005-08-24  Simon Josefsson  <jas@extundo.com>
13362
13363         * tests/test-getpass.c: New file.
13364
13365 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13366
13367         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
13368         for GNU regex features.
13369
13370 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13371
13372         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
13373         * lib/regex.h (regerror): Likewise.
13374
13375         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
13376         requires this.  (The code never needed it.)
13377
13378         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
13379         All uses of recently-renamed identifiers changed to use the new,
13380         POSIX-compliant names.  The code will build and run just fine
13381         without these changes, but it's better to eat our own dog food
13382         and use the standard-conforming names.
13383
13384         * lib/regex.h: Fix a multitude of POSIX name space violations.
13385         These changes have an effect only for programs that define
13386         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
13387         do not change anything for programs compiled in the normal way.
13388         Also, there is no effect on the ABI.
13389
13390         (_REGEX_SOURCE): New macro.
13391         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
13392         defined and _GNU_SOURCE is not; this fixes a name space violation.
13393
13394         Rename the following macros to obey POSIX requirements.
13395         The old names are still visible as macros if _REGEX_SOURCE is defined.
13396         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
13397         RE_BACKSLASH_ESCAPE_IN_LISTS.
13398         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
13399         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
13400         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
13401         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
13402         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
13403         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
13404         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
13405         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
13406         (REG_INTERVALS): renamed from RE_INTERVALS.
13407         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
13408         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
13409         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
13410         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
13411         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
13412         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
13413         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
13414         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
13415         RE_UNMATCHED_RIGHT_PAREN_ORD.
13416         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
13417         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
13418         (REG_DEBUG): renamed from RE_DEBUG.
13419         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
13420         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
13421         unusual, since we can't clash with the POSIX REG_ICASE.
13422         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
13423         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
13424         (REG_NO_SUB): renamed from RE_NO_SUB.
13425         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
13426         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
13427         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
13428         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
13429         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
13430         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
13431         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
13432         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
13433         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
13434         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
13435         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
13436         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
13437         RE_SYNTAX_POSIX_MINIMAL_BASIC.
13438         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
13439         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
13440         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
13441         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
13442         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
13443         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
13444         (REG_FIXED): Renamed from REGS_FIXED.
13445         (REG_NREGS): Renamed from RE_NREGS.
13446
13447         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
13448         of other REG_* macros, since POSIX says the user is allowed to
13449         #undef these macros selectively.
13450
13451         (reg_errcode_t): Update comment stating what other tables need
13452         to be consistent.
13453
13454         Rename the following enum values to obey POSIX requirements.
13455         The old names are still visible as macros.
13456         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
13457         is not defined, since GNU is supposed to be a superset of POSIX as
13458         much as possible, and since we want reg_errcode_t to be a signed
13459         type for implementation consistency.
13460         (_REG_NOERROR): Renamed from REG_NOERROR.
13461         (_REG_NOMATCH): Renamed from REG_NOMATCH.
13462         (_REG_BADPAT): Renamed from REG_BADPAT.
13463         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
13464         (_REG_ECTYPE): Renamed from REG_ECTYPE.
13465         (_REG_EESCAPE): Renamed from REG_EESCAPE.
13466         (_REG_ESUBREG): Renamed from REG_ESUBREG.
13467         (_REG_EBRACK): Renamed from REG_EBRACK.
13468         (_REG_EPAREN): Renamed from REG_EPAREN.
13469         (_REG_EBRACE): Renamed from REG_EBRACE.
13470         (_REG_BADBR): Renamed from REG_BADBR.
13471         (_REG_ERANGE): Renamed from REG_ERANGE.
13472         (_REG_ESPACE): Renamed from REG_ESPACE.
13473         (_REG_BADRPT): Renamed from REG_BADRPT.
13474         (_REG_EEND): Renamed from REG_EEND.
13475         (_REG_ESIZE): Renamed from REG_ESIZE.
13476         (_REG_ERPAREN): Renamed from REG_ERPAREN.
13477         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
13478         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
13479         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
13480         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
13481
13482         (_REG_RE_NAME, _REG_RM_NAME): New macros.
13483         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
13484         changed.  But support the old name if the new one is not defined
13485         and if _REGEX_SOURCE.
13486
13487         Change the following member names in struct re_pattern_buffer.
13488         The old names are still supported if !_REGEX_SOURCE.
13489         The new names are always supported, regardless of _REGEX_SOURCE.
13490         (re_buffer): Renamed from buffer.
13491         (re_allocated): Renamed from allocated.
13492         (re_used): Renamed from used.
13493         (re_syntax): Renamed from syntax.
13494         (re_fastmap): Renamed from fastmap.
13495         (re_translate): Renamed from translate.
13496         (re_can_be_null): Renamed from can_be_null.
13497         (re_regs_allocated): Renamed from regs_allocated.
13498         (re_fastmap_accurate): Renamed from fastmap_accurate.
13499         (re_no_sub): Renamed from no_sub.
13500         (re_not_bol): Renamed from not_bol.
13501         (re_not_eol): Renamed from not_eol.
13502         (re_newline_anchor): Renamed from newline_anchor.
13503
13504         Change the following member names in struct re_registers.
13505         The old names are still supported if !_REGEX_SOURCE.
13506         The new names are always supported, regardless of _REGEX_SOURCE.
13507         (rm_num_regs): Renamed from num_regs.
13508         (rm_start): Renamed from start.
13509         (rm_end): Renamed from end.
13510
13511         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
13512         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
13513         Prepend __ to parameter names.
13514
13515         Undo yesterday's changes.
13516
13517 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13518
13519         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
13520         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
13521         lib/regex.c.
13522
13523 2005-08-24  Jim Meyering  <jim@meyering.net>
13524
13525         Sync from coreutils.
13526         * m4/fcntl-safer.m4: New file.
13527
13528         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
13529         and object files for this module.
13530
13531 2005-08-24  Jim Meyering  <jim@meyering.net>
13532
13533         Sync from coreutils.
13534         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
13535
13536 2005-08-24  Jim Meyering  <jim@meyering.net>
13537
13538         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
13539         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
13540
13541 2005-08-24  Jim Meyering  <jim@meyering.net>
13542
13543         * modules/fcntl-safer: New module.
13544         * modules/fts (Depends-on): Add fcntl-safer.
13545         * MODULES.html.sh (File descriptor based Input/Output):
13546         Add fcntl-safer.
13547
13548 2005-08-24  Bruno Haible  <bruno@clisp.org>
13549
13550         Support for unit test modules.
13551         * modules/README: Mention tests modules.
13552         * modules/TEMPLATE-TESTS: New file.
13553         * gnulib-tool: New options --extract-tests-module, --with-tests and
13554         --tests-base (unused for the moment).
13555         (testsbase, inctests): New variables.
13556         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
13557         (func_verify_module): Exclude TEMPLATE-TESTS.
13558         (func_verify_nontests_module, func_verify_tests_module): New functions.
13559         (func_get_dependencies): Add implicit dependency for tests modules.
13560         (func_get_tests_module): New function.
13561         (func_modules_transitive_closure): When --with-tests was specified,
13562         include the unit tests as well, unless explicitly avoided.
13563         (func_emit_lib_Makefile_am): Ignore the tests modules here.
13564         (func_emit_tests_Makefile_am): New function.
13565         (func_create_testdir): When --with-tests was specified, emit a
13566         tests/ directory.
13567         * MODULES.html.sh (Future developments): Update.
13568
13569 2005-08-24  Bruno Haible  <bruno@clisp.org>
13570
13571         * modules/tls-tests: New file.
13572         * tests/test-tls.c: New file, from GNU gettext.
13573
13574 2005-08-24  Bruno Haible  <bruno@clisp.org>
13575
13576         * modules/lock-tests: New file.
13577         * tests/test-lock.c: New file, from GNU gettext.
13578
13579 2005-08-24  Bruno Haible  <bruno@clisp.org>
13580
13581         * lib/lock.h: Add multiple inclusion guard.
13582         * lib/tls.h: Add multiple inclusion guard.
13583
13584 2005-08-24  Bruno Haible  <bruno@clisp.org>
13585
13586         * gnulib-tool: Add support for the --aux-dir option to
13587         --create-testdir, --create-megatestdir, --test, --megatest.
13588         (func_create_testdir, func_create_megatestdir): Optionally emit a
13589         AC_CONFIG_AUX_DIR directive.
13590         (create-testdir, create-megatestdir, test, megatest): Provide a
13591         default value for $auxdir.
13592
13593 2005-08-24  Bruno Haible  <bruno@clisp.org>
13594
13595         * gnulib-tool (import): Use compound statement instead of subshell
13596         where possible.
13597
13598 2005-08-24  Bruno Haible  <bruno@clisp.org>
13599
13600         * gnulib-tool (import): Change --aux-dir default to "build-aux".
13601
13602 2005-08-24  Bruno Haible  <bruno@clisp.org>
13603
13604         * gnulib-tool (func_version): Update.
13605
13606 2005-08-24  Bruno Haible  <bruno@clisp.org>
13607
13608         * gnulib-tool (func_import, func_create_testdir,
13609         func_create_megatestdir): Quote all autoconf macro arguments.
13610
13611 2005-08-24  Bruno Haible  <bruno@clisp.org>
13612
13613         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
13614         option --force, because --force causes the aclocal.m4 of each
13615         subdirectory to be newer than the corresponding config.h.in.
13616
13617 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13618
13619         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
13620         All contents moved to gl_REGEX.
13621         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
13622         assume that it does.
13623
13624 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13625
13626         * lib/regex.h (REG_NOSYS)
13627         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
13628         Define, since POSIX requires it as of 2001.
13629         (_REG_ENOSYS)
13630         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
13631         New private symbol, used to keep the enum signed in all cases.
13632         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
13633         Youngman in
13634         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
13635
13636         * lib/regex_internal.c (re_string_skip_chars, register_state):
13637         (calc_state_hash):
13638         Remove forward decls; no longer needed now that we use prototypes.
13639         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
13640         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
13641         (clean_state_log_if_needed): Likewise.
13642
13643 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13644
13645         * config/srclist.txt: Add glibc bugs 1231-1233.
13646
13647 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13648
13649         Fix problems reported by Sam Steingold in
13650         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
13651         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
13652         assumed that reg_errcode_t is a signed type, which is not
13653         necessarily true if _XOPEN_SOURCE is not defined.
13654         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
13655         since some compilers warn about it otherwise.
13656
13657 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13658
13659         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
13660         (init_word_char, create_initial_state, duplicate_node_closure):
13661         (fetch_token, peek_token_bracket, build_range_exp):
13662         (build_collating_symbol): Remove forward decls; no longer needed
13663         now that we use prototypes.
13664
13665         * lib/regcomp.c:
13666         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
13667         (re_compile_fastmap_iter, regcomp, regerror, regfree):
13668         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
13669         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
13670         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
13671         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
13672         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
13673         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
13674         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
13675         (build_range_exp, build_collating_symbol, parse_bracket_exp):
13676         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
13677         (build_charclass, build_charclass_op, fetch_number, create_tree):
13678         (create_token_tree, mark_opt_subexp, duplicate_tree):
13679         Use prototypes rather than old-style definitions.
13680
13681         * lib/regex_internal.c:
13682         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
13683         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
13684         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
13685         (re_string_reconstruct, re_string_peek_byte_case):
13686         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
13687         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
13688         (re_node_set_init_copy, re_node_set_add_intersect):
13689         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13690         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13691         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
13692         (re_acquire_state, re_acquire_state_context, register_state):
13693         (create_ci_newstate, create_cd_newstate, free_state):
13694         Likewise.
13695         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
13696         re_search_2):
13697         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
13698         (re_search_internal, prune_impossible_nodes):
13699         (acquire_init_state_context, check_matching, static):
13700         (check_halt_node_context, check_halt_state_context, proceed_next_node):
13701         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
13702         (update_regs, sift_states_backward, build_sifted_states):
13703         (clean_state_log_if_needed, merge_state_array):
13704         (update_cur_sifted_state, add_epsilon_src_nodes):
13705         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
13706         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
13707         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
13708         (find_recover_state, check_subexp_matching_top, transit_state_mb):
13709         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
13710         (check_arrival, check_arrival_add_next_nodes):
13711         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
13712         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
13713         (check_node_accept_bytes, check_node_accept, extend_buffers):
13714         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
13715         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
13716         (sift_ctx_init):
13717         Likewise.
13718
13719         * lib/regex_internal.h:
13720         (re_string_allocate, re_string_construct, re_string_reconstruct):
13721         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
13722         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
13723         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
13724         (re_string_context_at, re_string_peek_byte_case):
13725         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
13726         is defined, since we now use prototypes always.
13727
13728         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
13729         C89 or better.  All uses removed.
13730
13731 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13732
13733         * config/srclist.txt: Add glibc bugs 1220-1227.
13734
13735 2005-08-20  Jim Meyering  <jim@meyering.net>
13736
13737         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
13738         of unused local, dfa.
13739
13740 2005-08-20  Bruno Haible  <bruno@clisp.org>
13741
13742         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
13743
13744 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13745
13746         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
13747         (re_node_set_insert_last, re_dfa_add_node):
13748         Rename local variables to avoid GCC shadowing warnings.
13749
13750 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13751
13752         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
13753         [defined lint]: Suppress bogus uninitialized-variable warnings.
13754
13755         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
13756         and let the caller return REG_ESPACE if out of space.  This
13757         removes an uninitialied-variable warning with GCC 4.0.1, and also
13758         avoids taking the address of a local variable.  All callers
13759         changed.
13760
13761 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13762
13763         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
13764         $LIBCSRC/posix/regexec.c.
13765         Add glibc bug 1217 for regcomp.c.
13766
13767 2005-08-19  Jim Meyering  <jim@meyering.net>
13768
13769         * lib/regexec.c (proceed_next_node): Redo local variables to
13770         avoid GCC shadowing warnings.
13771
13772 2005-08-18  Bruno Haible  <bruno@clisp.org>
13773
13774         * lib/strstr.c (strstr): Fix return value in multibyte case.
13775         * lib/strcasestr.c (strcasestr): Likewise.
13776
13777 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13778
13779         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
13780
13781 2005-08-17  Jim Meyering  <jim@meyering.net>
13782
13783         Make the %s format (seconds since the epoch) work for a negative
13784         number and when used with a zero-padded field width, e.g. %015s.
13785
13786         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
13787         label so that it precedes the code to set `digits'.  Otherwise,
13788         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
13789         print `00-22'.  Now, it prints `-0022', as it should.
13790
13791 2005-08-17  Bruno Haible  <bruno@clisp.org>
13792
13793         * modules/strstr (Files): Add m4/mbrtowc.m4.
13794         (Depends-on): Add mbuiter.
13795
13796 2005-08-17  Bruno Haible  <bruno@clisp.org>
13797
13798         * modules/strcasestr: New file.
13799         * MODULES.html.sh (String handling, based on ANSI C 89): Add
13800         strcasestr.
13801
13802 2005-08-17  Bruno Haible  <bruno@clisp.org>
13803
13804         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
13805
13806 2005-08-17  Bruno Haible  <bruno@clisp.org>
13807
13808         * modules/mbuiter: New file.
13809         * MODULES.html.sh (Extended multibyte and wide character utilities):
13810         Add mbuiter.
13811
13812 2005-08-17  Bruno Haible  <bruno@clisp.org>
13813
13814         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
13815         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
13816
13817 2005-08-17  Bruno Haible  <bruno@clisp.org>
13818
13819         * m4/strcasestr.m4: New file.
13820
13821 2005-08-17  Bruno Haible  <bruno@clisp.org>
13822
13823         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
13824         * lib/strstr.c: Completely rewritten, with multibyte locale support.
13825
13826 2005-08-17  Bruno Haible  <bruno@clisp.org>
13827
13828         * lib/strcasestr.h: New file.
13829         * lib/strcasestr.c: New file.
13830
13831 2005-08-17  Bruno Haible  <bruno@clisp.org>
13832
13833         * lib/strcasecmp.c: Use mbuiter.h.
13834
13835 2005-08-17  Bruno Haible  <bruno@clisp.org>
13836
13837         * lib/mbuiter.h: New file.
13838
13839 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
13840
13841         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
13842         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
13843         and gl_GETOPT are both invoked via different paths (as happens
13844         with GNU tar CVS because it uses both argp and getopt), the former
13845         wins.
13846
13847 2005-08-16  Bruno Haible  <bruno@clisp.org>
13848
13849         * modules/tls: New file.
13850         * MODULES.html.sh (Multithreading): Add tls.
13851
13852 2005-08-16  Bruno Haible  <bruno@clisp.org>
13853
13854         * modules/strnlen1: New file.
13855         * MODULES.html.sh (String handling): Add strnlen1.
13856
13857 2005-08-16  Bruno Haible  <bruno@clisp.org>
13858
13859         * modules/strcase (Files): Add m4/mbrtowc.m4.
13860         (Depends-on): Add strnlen1, mbchar.
13861
13862 2005-08-16  Bruno Haible  <bruno@clisp.org>
13863
13864         * modules/mbiter: New file.
13865         * MODULES.html.sh (Extended multibyte and wide character utilities):
13866         Add mbiter.
13867
13868 2005-08-16  Bruno Haible  <bruno@clisp.org>
13869
13870         * modules/mbfile: New file.
13871         * MODULES.html.sh (Extended multibyte and wide character utilities):
13872         Add mbfile.
13873
13874 2005-08-16  Bruno Haible  <bruno@clisp.org>
13875
13876         * modules/mbchar: New file.
13877         * MODULES.html.sh (Extended multibyte and wide character utilities):
13878         New section.
13879
13880 2005-08-16  Bruno Haible  <bruno@clisp.org>
13881
13882         * m4/tls.m4: New file, from GNU gettext.
13883
13884 2005-08-16  Bruno Haible  <bruno@clisp.org>
13885
13886         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
13887         always.
13888         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
13889
13890 2005-08-16  Bruno Haible  <bruno@clisp.org>
13891
13892         * m4/mbiter.m4: New file.
13893
13894 2005-08-16  Bruno Haible  <bruno@clisp.org>
13895
13896         * m4/mbfile.m4: New file.
13897
13898 2005-08-16  Bruno Haible  <bruno@clisp.org>
13899
13900         * m4/mbchar.m4: New file.
13901
13902 2005-08-16  Bruno Haible  <bruno@clisp.org>
13903
13904         * lib/tls.h: New file, from GNU gettext.
13905         * lib/tls.c: New file, from GNU gettext.
13906
13907 2005-08-16  Bruno Haible  <bruno@clisp.org>
13908
13909         * lib/strnlen1.h: New file.
13910         * lib/strnlen1.c: New file.
13911
13912 2005-08-16  Bruno Haible  <bruno@clisp.org>
13913
13914         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
13915         (mbi_init): Update.
13916         (mbi_avail, mbi_advance): Let the iteration end before the terminating
13917         NUL byte, not after it.
13918
13919 2005-08-16  Bruno Haible  <bruno@clisp.org>
13920
13921         * lib/strcase.h (strcasecmp): Add note in comments.
13922         * lib/strncasecmp.c: Use code from strcasecmp.c.
13923         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
13924         (strcasecmp): Work correctly in multibyte locales.
13925
13926 2005-08-16  Bruno Haible  <bruno@clisp.org>
13927
13928         * lib/mbiter.h: New file.
13929
13930 2005-08-16  Bruno Haible  <bruno@clisp.org>
13931
13932         * lib/mbfile.h: New file.
13933
13934 2005-08-16  Bruno Haible  <bruno@clisp.org>
13935
13936         * lib/mbchar.h: New file.
13937         * lib/mbchar.c: New file.
13938
13939 2005-08-16  Bruno Haible  <bruno@clisp.org>
13940
13941         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
13942         the valid ones. Makes the comparison operations transitive:
13943         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
13944         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
13945
13946 2005-08-15  Simon Josefsson  <jas@extundo.com>
13947
13948         * modules/ssize_t (License): Change to 'unlimited'.
13949
13950         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
13951
13952 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13953
13954         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
13955         Add comments for each pending glibc patch.
13956
13957 2005-08-15  Bruno Haible  <bruno@clisp.org>
13958
13959         * lib/regex.h (__restrict_arr): Don't define to __restrict if
13960         __cplusplus is defined.
13961
13962 2005-08-14  Jim Meyering  <jim@meyering.net>
13963
13964         Sync from coreutils.
13965
13966         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
13967         Use the hash-table-based cycle-detection code not just when
13968         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
13969         Reported by James Youngman in
13970         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
13971         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
13972         FTS_TIGHT_CYCLE_CHECK.
13973         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
13974         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
13975         once again.
13976         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
13977         * lib/fts.c (fd_safer): Remove decl.
13978         Include fcntl--.h rather than unistd-safer.h
13979         (fts_safe_changedir): Don't call fd_safer; no longer needed
13980         now that we include fcntl--.h.
13981
13982 2005-08-12  Simon Josefsson  <jas@extundo.com>
13983
13984         * modules/getndelim2: Use ssize_t module.
13985         * modules/getnline: Likewise.
13986         * modules/safe-read: Likewise.
13987         * modules/xreadlink: Likewise.
13988
13989         * modules/ssize_t: New file.
13990
13991 2005-08-12  Simon Josefsson  <jas@extundo.com>
13992
13993         * m4/readline.m4: Look for termcap, curses or ncurses if required.
13994
13995 2005-08-12  Simon Josefsson  <jas@extundo.com>
13996
13997         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13998         ssize_t.
13999
14000 2005-08-12  Simon Josefsson  <jas@extundo.com>
14001
14002         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
14003         readline, getdelim and check_version.
14004         (Support for systems lacking ISO C 99: Sizes of integer types):
14005         Add size_max.
14006
14007 2005-08-12  Bruno Haible  <bruno@clisp.org>
14008
14009         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
14010
14011 2005-08-11  Simon Josefsson  <jas@extundo.com>
14012
14013         * modules/readline: New file.
14014
14015         * modules/strnlen (Files): Add strnlen.h.
14016
14017 2005-08-11  Simon Josefsson  <jas@extundo.com>
14018
14019         * m4/readline.m4: New file.
14020
14021 2005-08-11  Simon Josefsson  <jas@extundo.com>
14022
14023         * lib/readline.h, readline.c: New file.
14024
14025 2005-08-11  Simon Josefsson  <jas@extundo.com>
14026
14027         * doc/gnulib.texi (Initial import, Finishing touches): Mention
14028         gl_AVOID.
14029
14030 2005-08-11  Bruno Haible  <bruno@clisp.org>
14031
14032         * lib/strnlen.h (strnlen): Change parameter name to match comment.
14033
14034 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
14035
14036         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
14037
14038 2005-08-10  Simon Josefsson  <jas@extundo.com>
14039
14040         * tests/test-iconvme.c: New file.
14041
14042 2005-08-10  Simon Josefsson  <jas@extundo.com>
14043
14044         * m4/strnlen.m4: New file.
14045
14046         * m4/strndup.m4: Don't check for strnlen declaration, done in
14047         strnlen.m4.
14048
14049 2005-08-10  Simon Josefsson  <jas@extundo.com>
14050
14051         * lib/strndup.c: Use strnlen.h.
14052
14053         * lib/strnlen.h: New file.
14054
14055 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
14056
14057         * README: Typos.
14058
14059 2005-08-02  Simon Josefsson  <jas@extundo.com>
14060
14061         * modules/readline: New file.
14062
14063 2005-08-02  Simon Josefsson  <jas@extundo.com>
14064
14065         * modules/getdelim: New file.
14066
14067         * modules/getline: Rewrite, don't use getndelim2.
14068
14069 2005-08-02  Simon Josefsson  <jas@extundo.com>
14070
14071         * m4/getline.m4: Separate out getdelim stuff into separate module.
14072
14073         * m4/getdelim.m4: New file.
14074
14075 2005-08-02  Simon Josefsson  <jas@extundo.com>
14076
14077         * lib/getline.h, getline.c: Rewrite.
14078
14079         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
14080
14081 2005-07-31  Bruno Haible  <bruno@clisp.org>
14082
14083         * lib/lock.h (gl_lock_initializer): New macro.
14084         (gl_lock_define_initialized): Use it.
14085         (gl_rwlock_initializer): New macro.
14086         (gl_rwlock_define_initialized): Use it.
14087         (gl_recursive_lock_initializer): New macro.
14088         (gl_recursive_lock_define_initialized): Use it.
14089
14090 2005-07-30  Karl Berry  <karl@gnu.org>
14091
14092         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
14093         Report from Ben Pfaff, regarding getopt.
14094
14095 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
14096
14097         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
14098         normal way.
14099         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
14100         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
14101         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
14102         (gl_GETOPT): Use the new macros.  Most of the implementation
14103         is moved to the new macros.  This is for programs like Emacs
14104         that don't want all the functionality of gl_GETOPT.
14105
14106 2005-07-26  Bruno Haible  <bruno@clisp.org>
14107
14108         * m4/lock.m4: Update from GNU gettext.
14109
14110 2005-07-26  Bruno Haible  <bruno@clisp.org>
14111
14112         * lib/lock.h: Update from GNU gettext.
14113         * lib/lock.c: Update from GNU gettext.
14114
14115 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14116
14117         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
14118         obsolescent AC_TRY_RUN.  Include the default includes files, for
14119         'exit'.
14120
14121 2005-07-24  Bruno Haible  <bruno@clisp.org>
14122
14123         * modules/visibility: New file.
14124         * MODULES.html.sh (Misc): Add visibility.
14125
14126 2005-07-24  Bruno Haible  <bruno@clisp.org>
14127
14128         * m4/visibility.m4: New file.
14129
14130 2005-07-24  Bruno Haible  <bruno@clisp.org>
14131
14132         * doc/visibility.texi: New file.
14133
14134 2005-07-22  Bruno Haible  <bruno@clisp.org>
14135
14136         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
14137         $(ALLOCA_H), redundant through BUILT_SOURCES.
14138         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
14139         redundant through BUILT_SOURCES.
14140         * modules/byteswap (Makefile.am): Remove explicit dependency on
14141         $(BYTESWAP_H), redundant through BUILT_SOURCES.
14142         * modules/fnmatch (Makefile.am): Remove explicit dependency on
14143         $(FNMATCH_H), redundant through BUILT_SOURCES.
14144         * modules/getopt (Makefile.am): Remove explicit dependency on
14145         $(GETOPT_H), redundant through BUILT_SOURCES.
14146         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
14147         redundant through BUILT_SOURCES.
14148         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
14149         redundant through BUILT_SOURCES.
14150         * modules/stdbool (Makefile.am): Remove explicit dependency on
14151         $(STDBOOL_H), redundant through BUILT_SOURCES.
14152         * modules/stdint (Makefile.am): Remove explicit dependency on
14153         $(STDINT_H), redundant through BUILT_SOURCES.
14154         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
14155         Remove explicit dependency on $(SYSEXITS_H).
14156         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
14157
14158 2005-07-18  Simon Josefsson  <jas@extundo.com>
14159
14160         * lib/check-version.c (check_version): Accept identical versions too.
14161
14162 2005-07-18  Bruno Haible  <bruno@clisp.org>
14163
14164         * modules/lock: New file.
14165         * MODULES.html.sh (Multithreading): New section.
14166
14167 2005-07-18  Bruno Haible  <bruno@clisp.org>
14168
14169         * m4/lock.m4: New file, from GNU gettext.
14170
14171 2005-07-18  Bruno Haible  <bruno@clisp.org>
14172
14173         * lib/lock.h: New file, from GNU gettext.
14174         * lib/lock.c: New file, from GNU gettext.
14175
14176 2005-07-18  Bruno Haible  <bruno@clisp.org>
14177
14178         * lib/lock.h (gl_once_t): New type.
14179         (gl_once_define, gl_once): New macros.
14180         * lib/lock.c (fresh_once): New variable.
14181         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
14182         functions.
14183
14184 2005-07-16  Simon Josefsson  <jas@extundo.com>
14185
14186         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
14187         workaround, suggested by Bruno.
14188
14189 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14190
14191         * modules/xalloc (Depends-on): Add xalloc-die.
14192         * modules/xvasprintf (Depends-on): Add xalloc-die.
14193
14194 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14195
14196         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
14197         with a minor change.
14198
14199 2005-07-15  Bruno Haible  <bruno@clisp.org>
14200
14201         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
14202         When using lib/poll.c, define poll as rpl_poll.
14203
14204 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
14205
14206         * modules/argp (Depends-on): Remove unlocked-io.
14207
14208 2005-07-14  Derek Price  <derek@ximbiot.com>
14209
14210         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
14211         for glob symlink bug.
14212
14213 2005-07-14  Bruno Haible  <bruno@clisp.org>
14214
14215         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
14216         Instead, test for *_unlocked function declarations directly.
14217
14218 2005-07-11  Simon Josefsson  <jas@extundo.com>
14219
14220         * modules/size_max: New file.
14221
14222         * modules/xsize: Depend on size_max module for size_max.m4.
14223
14224 2005-07-11  Simon Josefsson  <jas@extundo.com>
14225
14226         * lib/size_max.h: New file.
14227
14228 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
14229
14230         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
14231         copyright symbol and the year.
14232         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
14233         (version_etc_va): Use parameterized copyright notice.
14234         Reword to conform to the current GNU coding standards.
14235
14236 2005-07-11  Karl Berry  <karl@gnu.org>
14237
14238         * doc/gnulib.texi (Quoting): new node.
14239         (Initial import): more info, from Patrice.
14240
14241 2005-07-11  Bruno Haible  <bruno@clisp.org>
14242
14243         * gnulib-tool (func_usage): Document option --avoid.
14244         (Command line options): Handle --avoid.
14245         (func_acceptable): New function.
14246         (func_modules_transitive_closure): Use it.
14247
14248 2005-07-11  Bruno Haible  <bruno@clisp.org>
14249
14250         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
14251         Reported by Jim Meyering.
14252
14253 2005-07-10  Bruno Haible  <bruno@clisp.org>
14254
14255         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
14256         Needed when size_t is smaller than 'unsigned int'.
14257         Reported by Paul Eggert.
14258
14259 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14260
14261         * modules/argp (Depends-on): Add unlocked-io
14262
14263 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14264
14265         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
14266         block of defines.
14267
14268 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14269
14270         * config/srclist.txt: Comment out regcomp.c, since we have a porting
14271         fix now.
14272
14273 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
14274         and Paul Eggert  <eggert@cs.ucla.edu>
14275
14276         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
14277         in wint_t, not wchar_t.  Remove now-unnecessary cast.
14278
14279 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14280
14281         * modules/regex (Files): Add lib/regex_internal.c,
14282         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
14283         (Depends-on): Add extensions.
14284         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
14285
14286 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14287
14288         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
14289         pathconf.
14290         * m4/same.m4 (gl_SAME): Likewise.
14291         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
14292
14293         * m4/regex.m4: Adjust to new libc regex implementation.
14294         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
14295         all the .c and .h parts of (the new) regex.
14296         Quote the m4 stuff better.
14297         Check for RE_ICASE bug of old gnulib.
14298         Check for REG_STARTEND of recent libc.
14299         Rename local variables from jm_* to gl_*.
14300         Quote operand of "test -f".
14301         Say "recent enough" version of libc, not "version 2".
14302         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
14303         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
14304         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
14305         Remove check for btowc, isascii.
14306         Require AM_LANGINFO_CODESET.
14307
14308 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14309
14310         * lib/regex.c, regex.h: Sync from libc.
14311         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
14312         * lib/regexec.c:
14313         New files, synced from libc, except that regex_internal.h
14314         currently has a small porting fix.
14315
14316 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14317
14318         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
14319         regex_internal.c, regexec.c.
14320         Add regex_internal.h too, but as a comment, since the libc version
14321         is currently broken in gnulib mode.
14322
14323 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14324
14325         Support programs like Emacs that use gnulib but not gettext.
14326         * MODULES.html.sh (Internationalization functions): Add gettext-h.
14327         * modules/gettext-h: New file.
14328         * modules/gettext (Files): Remove lib/gettext.h.
14329         (Depends-on): Add gettext-h.
14330         (Makefile.am): Remove lib_SOURCES.
14331         * modules/argmatch, modules/c-stack, modules/closeout:
14332         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
14333         * modules/execute, modules/file-type, modules/getaddrinfo:
14334         * modules/getopt, modules/human, modules/javacomp:
14335         * modules/javaexec, modules/mkdir-p, modules/obstack:
14336         * modules/openat, modules/pagealign_alloc, modules/pipe:
14337         * modules/quotearg, modules/regex, modules/rpmatch:
14338         * modules/unicodeio, modules/userspec, modules/version-etc:
14339         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
14340         * modules/xsetenv:
14341         Depend on gettext-h, not gettext.
14342
14343 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14344
14345         * gnulib-tool (func_import): Add support for 'public domain' license.
14346         * modules/alloca, modules/atexit, modules/memmove:
14347         Now public domain, not GPL.
14348         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
14349         * modules/realloc, modules/strerror, modules/strtod:
14350         Now LGPL, not GPL.
14351
14352 2005-07-05  Bruno Haible  <bruno@clisp.org>
14353
14354         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
14355         autoconf CVS. Needed for mingw.
14356
14357 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14358
14359         Remove the dependency of the strftime module on the tzset module.
14360         * modules/strftime (Depends-on): Remove dependency on tzset.
14361
14362 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14363
14364         Remove the dependency of the strftime module on the tzset module.
14365         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
14366         gl_FUNC_TZSET_CLOBBER.
14367
14368 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14369
14370         Remove the dependency of the strftime module on the tzset module.
14371         * lib/strftime.c (my_strftime)
14372         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
14373         Copy the input structure, to work around some of the bug with
14374         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
14375         Solaris releases, you should also use the tzset module, but we won't
14376         require it as a dependency any more since we don't want LGPLed code
14377         to depend on GPLed code.
14378
14379 2005-07-02  Jim Meyering  <jim@meyering.net>
14380
14381         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
14382         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
14383         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
14384         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
14385
14386 2005-07-02  Jim Meyering  <jim@meyering.net>
14387
14388         * lib/backupfile.c (backup_args): Change a `0' to NULL.
14389
14390 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
14391
14392         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
14393         declares only 'struct timespec;' (!).
14394
14395 2005-07-01  Jim Meyering  <jim@meyering.net>
14396
14397         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
14398         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
14399         * lib/save-cwd.c, tempname.c:
14400         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
14401         and don't include <sys/file.h>).
14402
14403 2005-06-29  Jim Meyering  <jim@meyering.net>
14404
14405         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
14406         type name.  Use the variable name instead.
14407         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
14408         Likewise.
14409
14410 2005-06-28  Simon Josefsson  <jas@extundo.com>
14411
14412         * modules/check-version (Files): Add check-version.m4.
14413
14414 2005-06-28  Simon Josefsson  <jas@extundo.com>
14415
14416         * m4/check-version.m4: New file, suggested by Jim Meyering
14417         <jim@meyering.net>.
14418
14419 2005-06-28  Simon Josefsson  <jas@extundo.com>
14420
14421         * lib/check-version.h, lib/check-version.c: New files.
14422
14423 2005-06-28  Simon Josefsson  <jas@extundo.com>
14424
14425         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
14426         collision with global variable.  Better indentation.  Don't
14427         increment buffer pointer beyond buffer end.  Based on comments
14428         from Paul Eggert <eggert@cs.ucla.edu>.
14429
14430         * lib/base64.h: Indent.
14431
14432 2005-06-28  Simon Josefsson  <jas@extundo.com>
14433
14434         * doc/gnulib.texi (Library version handling): New section.
14435
14436 2005-06-28  Jim Meyering  <jim@meyering.net>
14437
14438         * check-module (find_included_lib_files): Hard-code another
14439         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
14440         but modules/fts-lgpl (correctly) does not list those files.
14441
14442         * modules/canonicalize (Files): Add lib/pathmax.h.
14443
14444 2005-06-25  Simon Josefsson  <jas@extundo.com>
14445
14446         * modules/check-version: New file.
14447
14448 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14449
14450         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
14451         initializer of struct addrinfo, as an indication that we don't
14452         care how many members the structure has.
14453
14454 2005-06-24  Derek Price  <derek@ximbiot.com>
14455         and Bruno Haible  <bruno@clisp.org>
14456
14457         Remove stat module & update lstat.
14458         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
14459         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14460         * m4/stat.m4: Remove this file.
14461
14462 2005-06-24  Derek Price  <derek@ximbiot.com>
14463         and Bruno Haible  <bruno@clisp.org>
14464
14465         Remove stat module & update lstat.
14466         * lib/stat.c: Remove this file...
14467         (slash_aware_lstat): ...moving this content and its support...
14468         * lib/lstat.c (rpl_lstat): ...into here.
14469         * lib/lstat.h: New file.
14470
14471 2005-06-24  Derek Price  <derek@ximbiot.com>
14472         and Bruno Haible  <bruno@clisp.org>
14473
14474         Remove stat module & update lstat.
14475         * config/srclist.txt (libc sources): Remove stat.
14476
14477 2005-06-24  Derek Price  <derek@ximbiot.com>
14478         and Bruno Haible  <bruno@clisp.org>
14479
14480         Remove stat module & update lstat.
14481         * MODULES.html.sh (stat): Remove.
14482         * MODULES.html: Regenerated.
14483         * modules/lstat (Description): Correct function name.
14484         (Files): Add "lstat.h".
14485         (Depends-on): Remove stat, add xalloc, stat-macros.
14486         * modules/stat: Remove this file.
14487         (Include): Add "lstat.h", remove <sys/stat.h>.
14488
14489 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14490
14491         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
14492         (ranged_convert): Don't save conversion in a temporary struct.
14493         This causes a warning with GCC 4.0.0, and anyway in the typical
14494         case it's not worth the extra 100 bytes or so of code.
14495         (ranged_convert, __mktime_internal): When calling a function via a
14496         pointer P, use P () rather than (*P) (), as we now assume C89 or
14497         better.
14498
14499 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14500
14501         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
14502         "who -r" failed to give output.  Problem reported by Tim Waugh.
14503
14504         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
14505         (xcalloc): Use it to avoid needless tests.
14506         Problem reported by Jim Meyering.
14507
14508 2005-06-20  Derek Price  <derek@ximbiot.com>
14509
14510         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
14511         unnecessary for Autoconfs > 2.59c.
14512
14513 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14514
14515         * lib/argp.h (__option_is_short): Check upper limit of
14516         __key. Isprint() requires its argument to have the value
14517         of an unsigned char or EOF.
14518
14519 2005-06-16  Jim Meyering  <jim@meyering.net>
14520
14521         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
14522         when either N or S is zero.
14523
14524 2005-06-16  Derek Price  <derek@ximbiot.com>
14525
14526         * m4/bison.m4: Declare YACC & YFLAGS precious.
14527
14528 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
14529
14530         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
14531         multibyte string or pattern, fall back on unibyte matching.
14532         Problem reported by James Youngman.
14533
14534 2005-06-08  Bruno Haible  <bruno@clisp.org>
14535
14536         * modules/csharpcomp: New file.
14537         * MODULES.html.sh (C#): Add csharpcomp.
14538
14539 2005-06-08  Bruno Haible  <bruno@clisp.org>
14540
14541         * m4/csharpcomp.m4: New file, from GNU gettext.
14542
14543 2005-06-08  Bruno Haible  <bruno@clisp.org>
14544
14545         * lib/csharpcomp.h: New file, from GNU gettext.
14546         * lib/csharpcomp.c: New file, from GNU gettext.
14547         * lib/csharpcomp.sh.in: New file, from GNU gettext.
14548
14549 2005-06-08  Bruno Haible  <bruno@clisp.org>
14550
14551         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
14552         warning on mingw.
14553
14554 2005-06-07  Derek Price  <derek@ximbiot.com>
14555
14556         Sync from CVS.
14557         * lib/glob_.h: Indent nested #ifdef.
14558
14559 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14560
14561         Sync from coreutils.
14562         Use "file name" when talking about file names, instead of "filename"
14563         or "path", as per the GNU coding standards.
14564         * lib/mkdir-p.c: Renamed from makepath.c.
14565         (make_dir_parents): Renamed from make_path.  All callers changed.
14566         * lib/mkdir-p.h: Likewise.  All includers changed.
14567         * lib/filenamecat.c: Renamed from path-concat.c.
14568         (file_name_concat): Renamed from path_concat.  All callers changed.
14569         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
14570         * lib/filenamecat.h: Likewise.  All includers changed.
14571         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
14572         in comments or local variable names.
14573         * lib/basename.c: Likewise.
14574         * lib/canonicalize.c, canonicalize.h: Likewise.
14575         * lib/dirname.c, dirname.h: Likewise.
14576         * lib/euidaccess.c: Likewise.
14577         * lib/exclude.c: Likewise
14578         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
14579         * lib/fsusage.c, fsuage.h: Likewise.
14580         * lib/fts.c, fts_.h: Likewise.
14581         * lib/getcwd.c: Likewise.
14582         * lib/getloadavg.c: Likewise.
14583         * lib/mkstemp.c: Likewise.
14584         * lib/mountlist.c, mountlist.h: Likewise.
14585         * lib/openat.c, openat.h: Likewise.
14586         * lib/readlink-stub.c: Likewise.
14587         * lib/readutmp.c, readutmp.h: Likewise.
14588         * lib/rename.c: Likewise.
14589         * lib/rmdir.c: Likewise.
14590         * lib/same.c: Likewise.
14591         * lib/savedir.c: Likewise.
14592         * lib/stripslash.c: Likewise.
14593         * lib/tempname.c: Likewise.
14594         * lib/xreadlink.c: Likewise.
14595         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
14596         All uses changed.
14597         * lib/exclude.h: Likewise.
14598
14599         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
14600         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14601         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
14602         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14603         * lib/pathmax.h: Include <limits.h> unconditionally, since other
14604         files have been getting away with it for years (MORE/BSD 4.3
14605         is extinct now).
14606         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
14607         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14608
14609         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
14610         Define to 256, not 255, as per modern POSIX.
14611
14612 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14613
14614         Sync from coreutils.
14615         Use "file name" when talking about file names, instead of "filename"
14616         or "path", as per the GNU coding standards.
14617         * MODULES.html.sh: mkdir-p renamed from makepath.
14618         filenamecat renamed from path-concat.
14619         * modules/filenamecat: Renamed from modules/path-concat.
14620         (Files): filenamecat.h and filenamecat.c renamed from
14621         path-concat.h and path-concat.c.
14622         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
14623         (Include): filenamecat.h, not path-concat.h.
14624         * modules/mkdir-p: Renamed from modules/makepath.
14625         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
14626         makepath.c.
14627         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
14628         (Include): mkdir-p.h, not makepath.h.
14629
14630 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14631
14632         Sync from coreutils.
14633         * m4/mkdir-p.m4: Renamed from makepath.m4.
14634         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
14635         Rename files from makepath.c to mkdir-p.c, and from
14636         makepath.h to mkdir-p.h.
14637         * m4/filenamecat.m4: Renamed from path-concat.m4.
14638         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
14639         Rename files from path-concat.c to filenamecat.c,
14640         and from path-concat.h to filenamecat.h.
14641         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
14642         "file name" in local variables or comments.
14643         * m4/rename.m4: Likewise.
14644
14645 2005-06-01  Bruno Haible  <bruno@clisp.org>
14646
14647         * modules/csharpexec: New file.
14648         * MODULES.html.sh (C#): New section.
14649
14650 2005-06-01  Bruno Haible  <bruno@clisp.org>
14651
14652         * m4/csharp.m4: New file, from GNU gettext.
14653         * m4/csharpexec.m4: New file, from GNU gettext.
14654
14655 2005-06-01  Bruno Haible  <bruno@clisp.org>
14656
14657         * lib/csharpexec.h: New file, from GNU gettext.
14658         * lib/csharpexec.c: New file, from GNU gettext.
14659         * lib/csharpexec.sh.in: New file, from GNU gettext.
14660
14661 2005-05-31  Derek Price  <derek@ximbiot.com>
14662             Paul Eggert  <eggert@cs.ucla.edu>
14663
14664         Sync from cvs.
14665         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14666
14667 2005-05-31  Derek Price  <derek@ximbiot.com>
14668             Paul Eggert  <eggert@cs.ucla.edu>
14669
14670         Sync from cvs.
14671         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14672
14673 2005-05-29  Derek Price  <derek@ximbiot.com>
14674
14675         * config/srclist.txt (glob_.h, glob.c): Add these files.
14676
14677 2005-05-29  Derek Price  <derek@ximbiot.com>
14678
14679         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
14680         * modules/glob: New file.
14681         * modules/getlogin_r: Add link to POSIX spec in description.
14682
14683 2005-05-29  Derek Price  <derek@ximbiot.com>
14684             Paul Eggert  <eggert@cs.ucla.edu>
14685
14686         * m4/glob.m4: New file.
14687
14688 2005-05-29  Derek Price  <derek@ximbiot.com>
14689             Paul Eggert  <eggert@cs.ucla.edu>
14690
14691         * lib/glob_.h, lib/glob.c: New files.
14692
14693 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14694
14695         * modules/fts (Files): Remove m4/inttypes-pri.m4.
14696         * modules/fts-lgpl (Depends-on): Remove gettext.
14697
14698 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14699
14700         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
14701         and don't require gt_INTTYPES_PRI.
14702
14703 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14704
14705         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
14706
14707         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
14708         the configuration hassle isn't worth it.
14709         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
14710         (LONGEST_MODIFIER, PRIuMAX): Remove.
14711
14712 2005-05-27  Bruno Haible  <bruno@clisp.org>
14713
14714         * lib/getlogin_r.h: Remove second include of <stddef.h>.
14715
14716 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
14717
14718         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
14719         _POSIX_PTHREAD_SEMANTICS for Solaris.
14720
14721 2005-05-25  Derek Price  <derek@ximbiot.com>
14722
14723         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
14724
14725 2005-05-25  Derek Price  <derek@ximbiot.com>
14726             Paul Eggert  <eggert@cs.ucla.edu>
14727
14728         * modules/getlogin_r, m4/getlogin_r.m4: New files.
14729         * lib/getlogin_r.c, getlogin_r.h: New files.
14730
14731 2005-05-25  Bruno Haible  <bruno@clisp.org>
14732             Derek Price  <derek@ximbiot.com>
14733
14734         * lib/getlogin_r.h: Simplify API documentation.
14735
14736 2005-05-23  Derek Price  <derek@ximbiot.com>
14737
14738         * modules/minmax (Files): Add m4/minmax.m4.
14739         (configure.ac): Add gl_MINMAX.
14740
14741 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14742
14743         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
14744         so that unistd-safer.h (GPL'ed code) need not be included.
14745
14746 2005-05-22  Bruno Haible  <bruno@clisp.org>
14747
14748         * m4/minmax.m4: New file.
14749         Based on a patch by Derek Price <derek@ximbiot.com>.
14750
14751 2005-05-22  Bruno Haible  <bruno@clisp.org>
14752
14753         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
14754         (INT64_MIN): Fix definition.
14755         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14756
14757         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
14758         NEED_SIGNED_INT_TYPES.
14759
14760         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
14761         HAVE_SYSTEM_INTTYPES.
14762
14763 2005-05-22  Bruno Haible  <bruno@clisp.org>
14764
14765         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
14766         Also include <sys/param.h> if it defines MIN, MAX.
14767         Based on a patch by Derek Price <derek@ximbiot.com>.
14768
14769 2005-05-21  Jim Meyering  <jim@meyering.net>
14770
14771         * modules/fts (Files): Add m4/inttypes-pri.m4.
14772         (Depends-on): Add lstat and remove gettext.  Alphabetize.
14773
14774 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14775
14776         New fts module.
14777         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
14778         (setup_dir, free_dir): New functions.
14779         (enter_dir, leave_dir): Define trivial
14780         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
14781         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
14782         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
14783         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
14784         Move to fts-cycle.c.
14785         (fts_open): Use setup_dir.
14786         (fts_close): Use free_dir.
14787         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
14788         This adds a label and some gotos, but the alternatives were messier.
14789         Check for memory allocation failure when entering a dir.
14790         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
14791         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
14792         (FTS): New member fts_cycle, that is a union that contains the
14793         old active_dir_ht and cycle_state.  All uses changed to mention
14794         fts_cycle.ht and fts_cycle.state.
14795         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
14796         fts.c, with the following changes:
14797         (setup_dir, free_dir): New functions.
14798         (enter_dir): Now returns bool.  Return true if successful, false
14799         if memory exhausted.  All callers changed.
14800         Do not bother partly cleaning up on
14801         memory allocation failure; that is free_dir's job.
14802         However, free ad if hash_insert fails, to avoid memory leak.
14803         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
14804         fts->fts_options to see which union member to use.
14805
14806 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14807
14808         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
14809         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
14810
14811 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14812
14813         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
14814
14815 2005-05-20  Jim Meyering  <jim@meyering.net>
14816
14817         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
14818         Now a macro, to pacify GCC.
14819
14820 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14821
14822         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
14823         of -1.
14824
14825 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14826
14827         * lib/chown.c (rpl_chown): Return -1 on failure.
14828
14829 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
14830
14831         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
14832         Don't check for stddef.h.
14833         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
14834         don't use its results.
14835         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
14836         since we include them unconditionally.  Don't require
14837         AM_STDBOOL_H, since stdbool is a prerequisite.
14838         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
14839         since we assume C89 or better.
14840         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
14841         as we don't use their results.
14842         Don't check for fchdir, memmove, memset, strrchr, as we use
14843         them unconditionally.
14844         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
14845         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
14846
14847 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
14848
14849         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
14850         Include <stddef.h> unconditionally, since we assume C89 now.
14851         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
14852         * lib/fts.c: Include fts_.h first, to check interface.
14853         Do not include intprops.h; no longer needed.
14854         Include cycle-check.h and hash.h, since fts_.h no longer does.
14855         Remove unnecessary casts of closedir to void.
14856         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
14857         decide whether to decrement nlinks.
14858         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
14859         (FTS): Use struct hash_table * instead of Hash_table, so that
14860         we no longer need to include hash.h here.
14861
14862 2005-05-18  Jim Meyering  <jim@meyering.net>
14863
14864         * modules/dirfd (License): Change to LGPL.  Most of the code
14865         is already in the public domain.
14866
14867 2005-05-18  Jim Meyering  <jim@meyering.net>
14868
14869         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
14870         Reported by Yoann Vandoorselaere.
14871
14872 2005-05-17  Jim Meyering  <jim@meyering.net>
14873
14874         * m4/fts.m4: New file, from coreutils.
14875
14876 2005-05-17  Jim Meyering  <jim@meyering.net>
14877
14878         * lib/fts.c, lib/fts_.h: New files, from coreutils.
14879
14880 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14881
14882         Sync from coreutils.
14883         * m4/unlinkdir.m4: New file.
14884
14885 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14886
14887         Sync from coreutils.
14888         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
14889         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
14890         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
14891         White space changes only.
14892         * lib/makepath.c (make_path): Port to hosts where leading "//" is
14893         special.
14894         * lib/yesno.c: Include getline.h, not ctype.h.
14895         (yesno): Don't remove leading white space; POSIX doesn't allow it.
14896         Use getline to remove arbitrary restriction on response length.
14897
14898 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14899
14900         * config/srclist-update: Spell out "Street" in FSF postal
14901         mail address; this is the style the FSF seems to prefer.
14902
14903         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
14904         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
14905         this updates FSF postal mail address.
14906
14907         Sync from coreutils.
14908         * modules/unlinkdir: New file.
14909         * modules/yesno (Depends-on): Add getline.
14910         * MODULES.html.sh (File system functions): Add unlinkdir.
14911
14912 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14913
14914         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
14915         lib/strsep.h:
14916         Change the initial comment to refer to GPL, not LGPL.
14917         gnulib-tool will change it to LGPL as needed.
14918
14919         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
14920         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
14921         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
14922         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
14923         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
14924         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
14925         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
14926         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
14927         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
14928         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
14929         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
14930         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
14931         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
14932         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
14933         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
14934         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
14935         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
14936         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
14937         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
14938         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
14939         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
14940         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
14941         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
14942         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
14943         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
14944         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
14945         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
14946         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
14947         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
14948         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
14949         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
14950         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
14951         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
14952         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
14953         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
14954         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
14955         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
14956         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
14957         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
14958         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
14959         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
14960         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
14961         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
14962         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
14963         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
14964         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
14965         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
14966         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
14967         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
14968         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
14969         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
14970         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
14971         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
14972         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
14973         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
14974         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
14975         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
14976         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
14977         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
14978         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
14979         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
14980         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
14981         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
14982         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
14983         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
14984         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
14985         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
14986         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
14987         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
14988         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
14989         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
14990         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
14991         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
14992         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
14993         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
14994         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
14995         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
14996         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
14997         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
14998         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
14999         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
15000         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
15001         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
15002         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
15003         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
15004         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
15005         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
15006         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
15007         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
15008         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
15009         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
15010         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
15011         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
15012         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
15013         lib/yesno.c, lib/yesno.h:
15014         Update FSF postal mail address.
15015
15016 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15017
15018         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
15019         tests/test-memmem.c, tests/test-stpncpy.c:
15020         Update FSF postal mail address.
15021
15022 2005-05-13  Bruno Haible  <bruno@clisp.org>
15023
15024         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
15025         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
15026         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
15027         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
15028         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
15029         Add support for 64-bit integers in the MSVC compiler.
15030
15031 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15032
15033         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
15034
15035 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
15036
15037         * gnulib-tool (func_import): Sort and uniquify recommended includes.
15038
15039 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
15040
15041         * doc/getdate.texi (General date syntax): Don't say that date
15042         date --iso-8601=ns generates acceptable dates; it doesn't yet.
15043         Problem reported by Nic Ferrier.
15044
15045 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15046
15047         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
15048         specified in ai_socktype. Fix invalid ai_protocol
15049         check. ai_protocol is usually set to 0 or depending on
15050         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
15051         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
15052         ai_socktype / ai_protocol in the returned addrinfo structure.
15053
15054 2005-05-10  Simon Josefsson  <jas@extundo.com>
15055
15056         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
15057         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
15058
15059 2005-05-10  Karl Berry  <karl@gnu.org>
15060
15061         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
15062         (from http://www.gnu.org/licenses).
15063         * doc/COPYING.LIB: also rename to COPYING.LESSER.
15064         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
15065         fdl.texi suffices.
15066
15067 2005-05-10  Karl Berry  <karl@gnu.org>
15068
15069         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
15070         (COPYING.DOC): remove.
15071
15072         * config/srclist-update: new FSF address.
15073
15074 2005-05-10  Derek Price  <derek@ximbiot.com>
15075
15076         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
15077         possible.
15078
15079 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15080             Bruno Haible  <bruno@clisp.org>
15081
15082         * modules/inet_ntop: New file.
15083         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15084         inet_ntop.
15085
15086 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15087             Bruno Haible  <bruno@clisp.org>
15088
15089         * m4/inet_ntop.m4: New file.
15090
15091 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15092             Bruno Haible  <bruno@clisp.org>
15093
15094         * lib/inet_ntop.h: New file.
15095         * lib/inet_ntop.c: New file, from glibc with modifications.
15096
15097 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
15098
15099         * modules/time_r (License): Change to LGPL.
15100         * modules/extensions (License): Change to LGPL.  Actually,
15101         the license is more permissive than that, but currently gnulib-tool
15102         doesn't know how to handle more-permissive licenses.
15103
15104         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
15105         Problem reported by Dave Love.
15106
15107 2005-05-08  Jim Meyering  <jim@meyering.net>
15108
15109         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
15110         blank.
15111
15112 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15113
15114         * modules/argmatch (Depends-on): Add stdbool.
15115         * modules/backupfile (Depends-on): Likewise.
15116         * modules/chdir-long (Depends-on): Likewise.
15117         * modules/closeout (Depends-on): Likewise.
15118         * modules/cycle-check (Depends-on): Likewise.
15119         * modules/dirname (Depends-on): Likewise.
15120         * modules/fnmatch (Depends-on): Likewise.
15121         * modules/fsusage (Depends-on): Likewise.
15122         * modules/fwriteerror (Depends-on): Likewise.
15123         * modules/getcwd (Depends-on): Likewise.
15124         * modules/getloadavg (Depends-on): Likewise.
15125         * modules/hard-locale (Depends-on): Likewise.
15126         * modules/makepath (Depends-on): Likewise.
15127         * modules/mountlist (Depends-on): Likewise.
15128         * modules/nanosleep (Depends-on): Likewise.
15129         * modules/posixtm (Depends-on): Likewise.
15130         * modules/quotearg (Depends-on): Likewise.
15131         * modules/readtokens (Depends-on): Likewise.
15132         * modules/readtokens0 (Depends-on): Likewise.
15133         * modules/readutmp (Depends-on): Likewise.
15134         * modules/save-cwd (Depends-on): Likewise.
15135         * modules/strftime (Depends-on): Likewise.
15136         * modules/userspec (Depends-on): Likewise.
15137         * modules/utimecmp (Depends-on): Likewise.
15138         * modules/xgetcwd (Depends-on): Likewise.
15139         * modules/xnanosleep (Depends-on): Likewise.
15140         * modules/xstrtod (Depends-on): Likewise.
15141         * modules/yesno (Depends-on): Likewise.
15142
15143 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15144
15145         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
15146         needless checks.
15147
15148 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15149
15150         Merge from coreutils.  Among other things,
15151         add bulletproofing for cases where stdin, stdout, or stderr are closed.
15152         * lib/fd-safer.c: New file.
15153         * lib/fcntl-safer.h, open-safer.c: Remove.
15154         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
15155         * lib/dup-safer.c: Include unistd-safer.h first.
15156         Don't include errno.h.
15157         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
15158         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
15159         * lib/file-type.c: Rely on file-type.h change.
15160         * lib/getloadavg.c: Include unistd-safer.h.
15161         (getloadavg): Use safer open.
15162         * lib/getusershell.c: Include "stdio-safer.h".
15163         (getusershell): Use safer fopen.
15164         * lib/long-options.c (long_options): Use NULL rather than 0.
15165         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
15166         'free'.
15167         * lib/modechange.c: Likewise.
15168         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
15169         (MODE_DONE): New constant.
15170         (struct mode_change): Remove 'next' member.
15171         (make_node_op_equals): New function; like the old one of the
15172         same name, except it allocates an array.
15173         (mode_compile, mode_create_from_ref): Use it.
15174         (mode_compile): Allocate result as an array, not a linked list.
15175         Parse octal string ourself, so that we catch mistakes like "+0".
15176         (mode_adjust): Arg is an array, not a linked list.
15177         * lib/modechange.c: Include stat-macros.h, xalloc.h.
15178         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
15179         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
15180         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
15181         Remove.  This is now stat-macros.h's job.
15182         (talloc): Remove.  All callers replaced by xalloc, so that
15183         our invokers don't have to worry about reporting memory failures.
15184         (make_node_op_equals): Remove.
15185         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15186         New constants.
15187         (struct mode_change): Moved here from modechange.h.
15188         (mode_append_entry): Remove.
15189         (mode_compile): Remove MASKED_OPS arg, since it encouraged
15190         apps to have incorrect behavior.  Use simpler algorithm for head
15191         and tail.  Don't futz with umask; that's now the job of mode_adjust.
15192         Detect more invalid usages rather than having somewhat-random behavior.
15193         Don't insert an "a=" action, as that leads to incorrect behavior.
15194         (mode_compile, mode_create_from_ref): Return NULL on error instead
15195         of an enum, since now there's only one way to have an error.  All
15196         callers changed.
15197         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
15198         at the correct time.  Simplify calculation of "+u" and its ilk.
15199         Don't mishandle "+X".
15200         (mode_free): Remove "register" and localize decls.
15201         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15202         (struct mode_change): Move to modechange.c; callers don't
15203         need to see this stuff.
15204         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
15205         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
15206         (mode_change, mode_adjust): Reflect the new signatures noted above.
15207         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
15208         that might redefine system include files.
15209         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
15210         (my_usleep): Use NULL rather than (void *) 0.
15211         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
15212         Use siginterrupt to specify that system calls should be interrupted.
15213         (rpl_nanosleep): Move initialization of suspended closer to call of
15214         my_usleep.
15215         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
15216         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
15217         (desirable_utmp_entry): New function.
15218         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
15219         using x2nrealloc, to simplify logic.
15220         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
15221         size calculation.  Do not assume utmp file is a regular file.
15222         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
15223         (READ_UTMP_CHECK_PIDS): New constant.
15224         * lib/save-cwd.c: Include unistd-safer.h.
15225         (save_cwd): Use fd_safer.
15226         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
15227         [!_LIBC] Include "stat-macros.h" instead.
15228         * lib/unistd-safer.h (fd_safer): New decl.
15229
15230 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15231
15232         * modules/getloadavg (Depends-on): Add unistd-safer.
15233         * modules/getusershell (Depends-on): Add stdio-safer.
15234         * modules/lstat (Depends-on): Remove xalloc.
15235         * modules/mkstemp (Depends-on): Add stat-macros.
15236         * modules/modechange (Depends-on): Remove xstrtol.
15237         Add stat-macros, xalloc.
15238         * modules/save-cwd (Depends-on): Add unistd-safer.
15239         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
15240         * modules/unistd-safer (Files): Add lib/fd-safer.c
15241         (Makefile.am): Remove lib_SOURCES.
15242
15243         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
15244         Remove fcntl-safer; unistd-safer supersedes it.
15245
15246 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15247
15248         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
15249         AC_HEADER_STAT.
15250         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
15251         (gl_PREREQ_CHOWN): Remove.
15252         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
15253         it.  Don't require AC_HEADER_STAT.
15254         (gl_PREREQ_LSTAT): Remove.
15255         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
15256         Don't require AC_HEADER_STAT.
15257         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
15258         (gl_PREREQ_RMDIR): Remove.
15259         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
15260         mention stat-macros.h or AC_HEADER_STAT, since we'll make
15261         the stat-macros module a prerequisite.
15262         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
15263         * m4/filemode.m4 (gl_FILEMODE): Likewise.
15264         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
15265         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
15266         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
15267         variable names.
15268         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
15269         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
15270         variable prefixes.
15271         * m4/fcntl-safer.m4: Remove.
15272         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
15273         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
15274         Invoke gl_PREREQ_FD_SAFER.
15275         (gl_PREREQ_FD_SAFER): New macro.
15276         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
15277         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
15278         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
15279         Remove duplicate call to AC_LIBOBJ(readutmp).
15280         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
15281
15282         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
15283         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
15284
15285 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15286
15287         * MODULES.html.sh (Misc): Add byteswap.
15288
15289 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15290
15291         * modules/getcwd (Depends-on): Add extensions.
15292         * modules/openat (Depends-on): Likewise.
15293
15294 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15295
15296         * modules/byteswap: New file.
15297
15298 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15299
15300         * m4/byteswap.m4: New file.
15301
15302 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15303
15304         * lib/byteswap_.h: New file.
15305
15306 2005-04-25  Karl Berry  <karl@gnu.org>
15307
15308         * m4/gettext.m4: Update from GNU gettext 0.14.4.
15309
15310 2005-04-25  Albert Chin  <china@thewrittenword.com>
15311
15312         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
15313         Toolkit C bug.
15314
15315 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
15316
15317         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
15318         (func_ln_if_changed) Remove forcibly for no error message
15319         in case file does not exist.
15320
15321 2005-04-19  Simon Josefsson  <jas@extundo.com>
15322
15323         * gnulib-tool (Options): Make --symlink mean --symbolic.
15324
15325 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
15326
15327         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
15328
15329 2005-04-16  Simon Josefsson  <jas@extundo.com>
15330
15331         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
15332
15333 2005-04-15  Simon Josefsson  <jas@extundo.com>
15334
15335         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
15336
15337 2005-04-15  Simon Josefsson  <jas@extundo.com>
15338
15339         * gnulib-tool: Rename --symlink to --symbolic.
15340
15341 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
15342
15343         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
15344         symbolic links to files instead of copying/moving.  Add --aux-dir,
15345         specifying directory relative --dir where auxiliary build tools
15346         are placed.
15347
15348 2005-04-14  Bruno Haible  <bruno@clisp.org>
15349
15350         * modules/allocsa (License): Change to LGPL.
15351         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15352
15353 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
15354
15355         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
15356         that "UTC +1 second" continues to work.  Problem reported
15357         by Dmitry V. Levin.
15358         (relunit_snumber): New rule.
15359         (relunit): Use it.
15360
15361 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
15362
15363         * lib/getdate.y (universal_time_zone_table): New constant.
15364         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
15365         universal_time_zone_table.
15366         (lookup_zone): Prefer universal_time_zone_table to
15367         local_time_zone_table, so that "GMT" time stamps are allowed in
15368         London during the summer.  Problem reported by Ian Abbott.
15369
15370 2005-04-12  Jim Meyering  <jim@meyering.net>
15371
15372         * lib/human.c (humblock): Set *options even when returning due to
15373         xstrtoumax conversion failure.  Thanks to a used-uninitialized
15374         warning from gcc-4.
15375
15376 2005-04-09  Jim Meyering  <jim@meyering.net>
15377
15378         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
15379         -Wuninitialized: initialize tm0.tm_year.
15380
15381 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
15382
15383         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
15384         count, since there's no maximum.  All uses changed.
15385         Add member dsts_seen.
15386         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
15387         not being INT_MAX.
15388         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
15389         Use pc_rels_seen to decide whther a date is absolute.
15390
15391         * lib/getdate.y (number): Don't overwrite year.
15392         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
15393         check.
15394
15395 2005-04-02  Simon Josefsson  <jas@extundo.com>
15396
15397         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
15398         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
15399
15400 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
15401
15402         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
15403         where no absolute path name can be longer than PATH_MAX.
15404
15405 2005-03-27  Jim Meyering  <jim@meyering.net>
15406
15407         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
15408
15409 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
15410
15411         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
15412         "one's complement" -> "ones' complement" in comment, as per Knuth.
15413         "value of type" -> "type or expression" in comment.
15414         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
15415
15416 2005-03-26  Jim Meyering  <jim@meyering.net>
15417
15418         Comment nits.
15419         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
15420         Correct typos: s/or/of/.
15421
15422 2005-03-26  Jim Meyering  <jim@meyering.net>
15423
15424         * modules/check-include-files: Move to ../ and rename to...
15425         * check-module: ...this.
15426
15427 2005-03-25  Jim Meyering  <jim@meyering.net>
15428
15429         * modules/xvasprintf (Files): Add xalloc.h.
15430
15431 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
15432
15433         * modules/gettext (Files): config/config.rpath ->
15434         build-aux/config.rpath
15435         * modules/iconv (Files): Likewise.
15436         Problem reported by Oskar Liljeblad.
15437
15438 2005-03-23  Jim Meyering  <jim@meyering.net>
15439
15440         * modules/check-include-files: New script to check for
15441         missing dependencies, multiple includes, etc.
15442
15443         * modules/c-strtold (Depends-on): Add xalloc.
15444         * modules/c-strtod (Depends-on): Add xalloc.
15445         * modules/hash (Depends-on): Add xalloc.
15446         (Files): Remove lib/xalloc.h.
15447
15448         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
15449         * modules/userspec (Files): Add lib/inttostr.h.
15450
15451 2005-03-23  Jim Meyering  <jim@meyering.net>
15452
15453         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
15454
15455 2005-03-22  Jim Meyering  <jim@meyering.net>
15456
15457         * modules/stat-macros: New module.
15458         * modules/canonicalize, modules/euidaccess, modules/file-type,
15459         * modules/filemode, modules/lchown, modules/makepath,
15460         * modules/rmdir, modules/stat: Depend on new stat-macros module
15461         rather than listing lib/stat-macros.h manually.
15462         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
15463
15464 2005-03-22  Jim Meyering  <jim@meyering.net>
15465
15466         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
15467
15468 2005-03-22  Bruno Haible  <bruno@clisp.org>
15469
15470         * config/srclist.txt: Replace target directory 'config' with
15471         'build-aux'.
15472         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
15473         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
15474         ../build-aux/.
15475
15476 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
15477
15478         * modules/chdir-long (Depends-on): Add mempcpy.
15479
15480         * modules/acl, modules/backupfile, modules/c-strtod,
15481         modules/c-strtold, modules/canon-host, modules/canonicalize,
15482         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
15483         modules/exclude, modules/exitfail, modules/file-type,
15484         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
15485         modules/getdate, modules/getline, modules/getpagesize,
15486         modules/getpass, modules/getugroups, modules/group-member,
15487         modules/hard-locale, modules/hash, modules/human, modules/idcache,
15488         modules/inttostr, modules/long-options, modules/makepath,
15489         modules/md5, modules/memcasecmp, modules/memcoll,
15490         modules/modechange, modules/mountlist, modules/path-concat,
15491         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
15492         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
15493         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
15494         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
15495         modules/strftime, modules/strndup, modules/strverscmp,
15496         modules/timespec, modules/unlocked-io, modules/userspec,
15497         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
15498         modules/yesno:
15499         Remove lib_SOURCES line from Makefile.am section, as this is now
15500         done automatically by the corresponding Autoconf macro.
15501
15502 2005-03-21  Jim Meyering  <jim@meyering.net>
15503
15504         Changes imported from coreutils.
15505
15506         * lib/cycle-check.c: Don't include xalloc.h.
15507
15508         * lib/path-concat.c: Don't include assert.h.
15509         (path_concat): Remove assertion that would have triggered
15510         for ABASE starting with more than one slash.
15511         Reported by Andreas Schwab.
15512
15513         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
15514         properly when ABASE is an absolute file name.
15515         Correct the description of this function.
15516         Include <assert.h>.
15517         Add an assertion and a test driver.
15518         This fixes a bug introduced on 2004-07-02.
15519         Andreas Schwab reported the resulting failure of cp --parents:
15520         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
15521
15522 2005-03-21  Jim Meyering  <jim@meyering.net>
15523
15524         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
15525         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
15526
15527 2005-03-21  Jim Meyering  <jim@meyering.net>
15528         and  Paul Eggert  <eggert@cs.ucla.edu>
15529
15530         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
15531         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
15532         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
15533         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
15534         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
15535         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
15536         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
15537         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
15538         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
15539         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
15540         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
15541         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
15542         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
15543         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
15544         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
15545         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
15546         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
15547         for these modules.
15548
15549 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
15550
15551         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
15552         (which shouldn't happen), generate nothing instead of returning 0
15553         immediately, so that nstrftime (NULL, ...) doesn't return 0.
15554
15555 2005-03-16  Bruno Haible  <bruno@clisp.org>
15556
15557         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
15558         HAVE_LONGLONG_64BIT.
15559
15560 2005-03-16  Bruno Haible  <bruno@clisp.org>
15561
15562         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
15563         HAVE_LONGLONG_64BIT.
15564
15565 2005-03-16  Bruno Haible  <bruno@clisp.org>
15566
15567         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
15568         HAVE_LONGLONG_64BIT.
15569
15570 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15571
15572         * lib/strftime.c (my_strftime): Prepend space to format so that we can
15573         reliably distinguish strftime failure from empty output on POSIX
15574         hosts.
15575
15576 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15577
15578         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
15579         (iconv_string): Don't guess a size-zero buffer, as that might cause
15580         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
15581         result would be 'too large', where 'too large' is (heuristically)
15582         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
15583         overflow concerns.  This will prevent some unwanted malloc failures
15584         when the inputs are very large.
15585
15586 2005-03-15  Karl Berry  <karl@gnu.org>
15587
15588         * config/srclist.txt (config.rpath): from gettext.
15589         * config/config.rpath: update.
15590
15591 2005-03-15  Bruno Haible  <bruno@clisp.org>
15592
15593         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
15594         to 'negate'.
15595
15596         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
15597         variable.
15598
15599         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
15600         results.
15601
15602 2005-03-14  Simon Josefsson  <jas@extundo.com>
15603
15604         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
15605         <fx@gnu.org>.
15606
15607 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
15608
15609         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
15610         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
15611         intprops.h.
15612         * lib/strtol.c: Likewise.
15613
15614 2005-03-14  Jim Meyering  <jim@meyering.net>
15615
15616         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
15617         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
15618         to be nonzero so that we (and caller) can detect the difference
15619         between a valid zero-length expansion and an error return, even
15620         when the underlying strftime fails before writing anything into
15621         that location.
15622
15623 2005-03-14  Bruno Haible  <bruno@clisp.org>
15624
15625         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
15626         Update from GNU gettext 0.14.3.
15627
15628 2005-03-10  Jim Meyering  <jim@meyering.net>
15629
15630         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
15631
15632 2005-03-10  Jim Meyering  <jim@meyering.net>
15633
15634         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
15635         so that this module works on systems without fchdir.
15636
15637 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
15638
15639         Factor int-properties macros into a single file, except for
15640         glibc-related files.
15641         * lib/intprops.h: New file.
15642         * lib/getloadavg.c: Include it instead of limits.h.
15643         (INT_STRLEN_BOUND): Remove.
15644         * lib/human.c: Include intprops.h.
15645         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
15646         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
15647         302/1000.
15648         * lib/inttostr.h: Include intprops.h instead of limits.h.
15649         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
15650         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
15651         for consistency with intprops.h.
15652         (time_t_is_integer, twos_complement_arithmetic): Use them.
15653         * lib/sig2str.h: Include <signal.h>, intprops.h.
15654         (INT_STRLEN_BOUND): Remove.
15655         * lib/strftime.c (TYPE_SIGNED): Remove.
15656         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
15657         * lib/strtol.c: Adjust comments to match intprops.h.
15658         * lib/userspec.c: Include intprops.h.
15659         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
15660         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
15661         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
15662         instead of rolling our own expressions.
15663         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
15664
15665         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
15666         instead of int.
15667         (my_strftime): Do not mishandle years close to INT_MAX, by doing
15668         the right thing even if adding 1900 would overflow.  Similarly
15669         for tm_mon + 1 and tm_yday + 1.
15670         Make %Y always equivalent to %C%y, and similarly for %G and %g.
15671         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
15672         (DO_SIGNED_NUMBER): New macro.
15673         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
15674
15675 2005-03-07  Bruno Haible  <bruno@clisp.org>
15676
15677         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
15678
15679 2005-03-07  Bruno Haible  <bruno@clisp.org>
15680
15681         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
15682
15683 2005-03-04  Derek R. Price  <derek@ximbiot.com>
15684
15685         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
15686         (func_import): Only replace files via --import when they have actually
15687         changed.
15688
15689 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15690
15691         * m4/mmap-anon.m4: New file.
15692         * m4/pagealign_alloc.m4: New file.
15693
15694 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15695             Bruno Haible  <bruno@clisp.org>
15696
15697         * modules/pagealign_alloc: New file.
15698         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
15699
15700 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15701             Bruno Haible  <bruno@clisp.org>
15702
15703         * lib/pagealign_alloc.h: New file.
15704         * lib/pagealign_alloc.c: New file.
15705
15706 2005-03-03  Bruno Haible  <bruno@clisp.org>
15707
15708         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
15709         Use an all-permissive copyright notice, recommended by RMS.
15710
15711 2005-03-02  Bruno Haible  <bruno@clisp.org>
15712
15713         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
15714         of AIX, the replacement has to be done only after <string.h> is
15715         included, therefore not in config.h. stpncpy.h does the replacement,
15716         and stpncpy.c uses it.
15717
15718 2005-03-02  Bruno Haible  <bruno@clisp.org>
15719
15720         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
15721         stpncpy.c uses it.
15722
15723 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15724
15725         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
15726         The workaround isn't strictly needed for POSIX conformance, and
15727         it's too much of a pain to configure and maintain.  We'll ask
15728         people to fix their kernels instead.
15729         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
15730         (NANOSLEEP_BUG_WORKAROUND): Remove.
15731         (xnanosleep): Remove the workaround.
15732
15733 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15734
15735         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
15736         Reported by Derek Price.
15737         (Include): Add "timespec.h".
15738
15739         * modules/xnanosleep (Depends-on): Remove gethrxtime.
15740
15741 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15742
15743         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
15744         to detect nanosleep bug.
15745
15746 2005-03-01  Bruno Haible  <bruno@clisp.org>
15747
15748         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
15749
15750 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
15751
15752         * modules/gethrxtime: New file.
15753         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
15754         (Depends-on): Add gethrxtime.
15755         (configure.ac): Add gl_XNANOSLEEP.
15756         (Makefile.am): Remove lib_SOURCES line.
15757
15758 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15759
15760         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
15761         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
15762
15763 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15764
15765         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
15766         * lib/timespec.h (gettime): Return void, since it always
15767         succeeds now.  All uses changed.
15768         * lib/gettime.c (gettime) Likewise.
15769         [HAVE_NANOTIME]: Prefer nanotime.
15770         Assume gettimeofday succeeds, as POSIX requires.
15771         Assime time () succeeds, since other code already does.
15772         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
15773         (timespec_subtract): Remove.
15774         (NANOSLEEP_BUG_WORKAROUND): New constant.
15775         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
15776         things considerably.  Use it only on GNU/Linux hosts, since the
15777         workaround shouldn't be needed elsewhere.
15778
15779 2005-02-24  Bruno Haible  <bruno@clisp.org>
15780
15781         * modules/gettext (Files): Add m4/glibc2.m4.
15782
15783 2005-02-24  Bruno Haible  <bruno@clisp.org>
15784
15785         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
15786         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
15787         * m4/progtest.m4:
15788         Update from GNU gettext 0.14.2.
15789         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
15790
15791 2005-02-24  Bruno Haible  <bruno@clisp.org>
15792
15793         * lib/localcharset.c: Update from GNU gettext 0.14.2.
15794         * lib/config.charset: Update from GNU gettext 0.14.2.
15795
15796 2005-02-24  Bruno Haible  <bruno@clisp.org>
15797
15798         * lib/gettext.h: Update from GNU gettext 0.14.2.
15799
15800 2005-02-23  Simon Josefsson  <jas@extundo.com>
15801
15802         * m4/iconvme.m4: New file.
15803
15804 2005-02-23  Jim Meyering  <jim@meyering.net>
15805
15806         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
15807         change.
15808         Thanks to Bruno Haible for catching it.
15809
15810 2005-02-22  Simon Josefsson  <jas@extundo.com>
15811
15812         * modules/iconvme: New file.
15813
15814         * MODULES.html.sh: Add iconvme.
15815
15816 2005-02-22  Simon Josefsson  <jas@extundo.com>
15817
15818         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
15819
15820 2005-02-22  Simon Josefsson  <jas@extundo.com>
15821
15822         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
15823
15824 2005-02-22  Jim Meyering  <jim@meyering.net>
15825
15826         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
15827         s/ifndef/ifdef/.
15828
15829 2005-02-20  Neil Conway  <neilc@samurai.com>
15830
15831         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
15832         returned by OSX/Darwin if the specified buffer is not large
15833         enough for the hostname.
15834
15835 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15836
15837         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
15838         pass it to _help, otherwise the latter coredumps trying to
15839         dereference state.root_argp.
15840
15841 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15842
15843         * modules/chdir-long (Depends-on): Add memrchr.
15844         * modules/memrchr (Files): Add lib/memrchr.h.
15845         (Include): "memrchr.h".
15846
15847 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15848
15849         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
15850
15851 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15852
15853         * lib/memrchr.h: New file.
15854         * lib/chdir-long.c: Include it.
15855         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
15856         Don't bother including stddef.h.
15857
15858 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
15859
15860         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
15861         inclusion.
15862         Include <sys/types.h>, for dev_t.
15863         (ME_DUMMY, ME_REMOTE): Move from here....
15864         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
15865         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
15866         Dmitry V. Levin.
15867         Include mountlist.h first, to test the interface.
15868
15869 2005-01-29  Bruno Haible  <bruno@clisp.org>
15870
15871         * lib/progname.c (program_name): Initialize.
15872         Needed when linking statically on MacOS X.
15873
15874 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15875
15876         Sync from coreutils.
15877         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
15878         (Depends-on): Add c-strtod.
15879         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
15880
15881 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15882
15883         Sync from coreutils.
15884         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
15885
15886         Remove files that are specific to coreutils.
15887         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
15888
15889 2005-01-28  Bruno Haible  <bruno@clisp.org>
15890
15891         * modules/javacomp: New file.
15892         * MODULES.html.sh (Java): Add javacomp.
15893
15894 2005-01-28  Bruno Haible  <bruno@clisp.org>
15895
15896         * m4/javacomp.m4: New file, from GNU gettext.
15897
15898 2005-01-28  Bruno Haible  <bruno@clisp.org>
15899
15900         * lib/javacomp.sh.in: New file, from GNU gettext.
15901         * lib/javacomp.h: New file, from GNU gettext.
15902         * lib/javacomp.c: New file, from GNU gettext.
15903
15904 2005-01-26  Simon Josefsson  <jas@extundo.com>
15905
15906         * lib/gai_strerror.c: Use GPL in header.
15907
15908 2005-01-26  Bruno Haible  <bruno@clisp.org>
15909
15910         * modules/javaexec: New file.
15911         * MODULES.html.sh (Java): Add javaexec.
15912
15913 2005-01-26  Bruno Haible  <bruno@clisp.org>
15914
15915         * m4/javaexec.m4: New file, from GNU gettext.
15916
15917 2005-01-26  Bruno Haible  <bruno@clisp.org>
15918
15919         * lib/javaexec.sh.in: New file, from GNU gettext.
15920         * lib/javaexec.h: New file, from GNU gettext.
15921         * lib/javaexec.c: New file, from GNU gettext.
15922
15923 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15924
15925         * modules/lchown (Depends-on): Remove lchown.h
15926
15927 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15928
15929         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
15930         must be defined if the header file was not found, in order
15931         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
15932
15933 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15934
15935         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
15936         initializers for struct pentry_state.
15937         (__argp_error): Check return value of __asprintf
15938         (__argp_failure): Translate error message
15939
15940         * lib/argp-parse.c: Removed braces around the expansion of N_()
15941
15942 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15943
15944         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
15945         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
15946         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
15947         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
15948         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
15949         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
15950         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
15951         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
15952         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
15953         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
15954         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
15955         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
15956         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
15957         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
15958         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
15959         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
15960         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
15961         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
15962         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
15963         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
15964         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
15965         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
15966         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
15967         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
15968         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
15969         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
15970         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
15971         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
15972         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
15973         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
15974         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
15975         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
15976         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
15977         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
15978         xstrtol.m4, xstrtoumax.m4, yesno.m4:
15979         Use an all-permissive copyright notice, recommended by RMS.
15980
15981 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
15982
15983         * modules/chdir-long (Depends-on): Remove mempcpy.
15984
15985 2005-01-21  Jim Meyering  <jim@meyering.net>
15986
15987         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
15988         same value as for Solaris 9.
15989
15990         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
15991         component length.  This included changing the parameter to be
15992         of type `char *' rather than `char const *'.
15993         * lib/chdir-long.h (chdir_long): Update prototype.
15994
15995         * lib/openat.c (fdopendir, fstatat): New functions.
15996         * lib/openat.h: Include headers required for use of DIR and struct
15997         stat.
15998         [AT_SYMLINK_NOFOLLOW]: Define.
15999         (fdopendir, fstatat): Add prototypes.
16000
16001 2005-01-21  Bruno Haible  <bruno@clisp.org>
16002
16003         * modules/classpath: New file.
16004         * MODULES.html.sh (Java): Add classpath.
16005
16006 2005-01-21  Bruno Haible  <bruno@clisp.org>
16007
16008         * lib/classpath.h: New file, from GNU gettext.
16009         * lib/classpath.c: New file, from GNU gettext.
16010
16011 2005-01-20  Simon Josefsson  <jas@extundo.com>
16012
16013         * modules/version-etc-fsf: New file.
16014
16015 2005-01-20  Simon Josefsson  <jas@extundo.com>
16016
16017         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
16018         * lib/version-etc.c: Remove version_etc_copyright.
16019         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
16020         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
16021
16022 2005-01-20  Simon Josefsson  <jas@extundo.com>
16023
16024         * lib/base64.h (isbase64): Add.
16025
16026         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
16027         using a unsigned prototype, don't inline.
16028         (base64_decode): Use it.
16029
16030 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16031
16032         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
16033         it.
16034
16035 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16036
16037         * lib/save-cwd.c (save_cwd): Remove code to support the case
16038         where fchdir is missing or flaky.
16039
16040 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16041
16042         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
16043
16044 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
16045
16046         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
16047         AC_LIBSOURCES now does this.
16048         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
16049         with new ullong_max module.
16050
16051 2005-01-19  Bruno Haible  <bruno@clisp.org>
16052
16053         * modules/sh-quote: New file.
16054         * MODULES.html.sh (Executing programs): Add sh-quote.
16055
16056 2005-01-19  Bruno Haible  <bruno@clisp.org>
16057
16058         * lib/sh-quote.h: New file, from GNU gettext.
16059         * lib/sh-quote.c: New file, from GNU gettext.
16060
16061 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16062
16063         Merge from coreutils.
16064         * m4/ullong_max.m4: New file.
16065         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
16066         (gl_MACROS): Assume localeconv exists.
16067
16068 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16069
16070         Merge changes from coreutils, as described below in several
16071         changelogs dated today.
16072
16073         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
16074         (O_DIRECTORY): Remove; not needed here, since "." must be
16075         a directory.  All uses removed.
16076         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
16077         universal on Suns, and we also need to test for IRIX.
16078         Revamp code to use 'if' rather than '#if'.
16079         Avoid unnecessary comparison of cwd->desc to 0.
16080
16081         * lib/utimens.c (futimens): Robustify the previous patch, by checking
16082         for known valid error numbers rather than observed invalid ones.
16083
16084 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16085
16086         * modules/ullong_max: New file.
16087
16088         * modules/chdir-long, modules/openat: New files.
16089         * modules/save-cwd (Depends-on): Depend on chdir-long.
16090         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
16091
16092 2005-01-18  Jim Meyering  <jim@meyering.net>
16093
16094         Merge from coreutils.
16095         * m4/chdir-long.m4, m4/openat.m4: New files.
16096         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
16097         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
16098         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
16099         is sane and DOES follow symlinks.  Besides, testing 20 different
16100         systems found no broken chown implementations.
16101         Prompted by a change in rsync's copy of this macro.
16102         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
16103
16104         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
16105
16106         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
16107         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
16108         NULL-means-set-to-current-time semantics.
16109         Remove temporary file immediately, rather than waiting
16110         for configure's at-exit trap code to do it.
16111
16112 2005-01-18  Jim Meyering  <jim@meyering.net>
16113
16114         * lib/version-etc.c (version_etc_copyright): Update copyright date.
16115
16116         * lib/utimens.c (futimens): Account for the fact that futimes
16117         can also fail with errno == ENOSYS or errno == ENOENT.
16118         Patch from Dmitry V. Levin.
16119
16120         Change the name of the robust chdir function from chdir to chdir_long.
16121         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
16122         (restore_cwd): Use chdir_long, not chdir.
16123         * lib/chdir-long.c: Renamed from chdir.c.
16124         * lib/chdir-long.h: Renamed from chdir.h.
16125         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
16126         Hurd.
16127
16128 2005-01-18  Bruno Haible  <bruno@clisp.org>
16129
16130         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
16131         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
16132         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
16133         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
16134         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
16135         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
16136         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
16137         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
16138         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
16139         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
16140         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
16141         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
16142         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
16143         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
16144         Use an all-permissive copyright notice, recommended by RMS.
16145
16146 2005-01-18  Bob Proulx  <bob@proulx.com>
16147
16148         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
16149         simplify offsetof() macro construct to avoid compile failure with
16150         native HP-UX 11.0 ANSI C compiler.
16151
16152 2005-01-17  Bruno Haible  <bruno@clisp.org>
16153
16154         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
16155         redundant because stpncpy.m4 takes care of it.
16156
16157 2005-01-17  Bruno Haible  <bruno@clisp.org>
16158
16159         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
16160
16161 2005-01-17  Bruno Haible  <bruno@clisp.org>
16162
16163         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
16164         used.
16165
16166 2005-01-17  Bruno Haible  <bruno@clisp.org>
16167
16168         * lib/fwriteerror.h (fwriteerror): Change specification to include
16169         fclose.
16170         * lib/fwriteerror.c: Include <stdbool.h>.
16171         (fwriteerror): At the end, close the file stream. Record whether
16172         stdout was already closed.
16173
16174 2005-01-17  Bruno Haible  <bruno@clisp.org>
16175
16176         * lib/execute.c (environ): Declare if needed.
16177         * lib/pipe.c (environ): Likewise.
16178         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
16179
16180 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16181
16182         * modules/argp: Depend on vsnprintf
16183
16184 2005-01-10  Jim Meyering  <jim@meyering.net>
16185
16186         * modules/closeout (Depends-on): Add atexit.
16187
16188 2005-01-06  Bruno Haible  <bruno@clisp.org>
16189
16190         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
16191
16192 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
16193
16194         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
16195         definitions to be after all include files, to avoid collisions.
16196         Problem reported by Bob Proulx.
16197
16198 2005-01-04  Jim Meyering  <jim@meyering.net>
16199
16200         Changes imported from coreutils.
16201         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
16202         as the mkstemp template, use a temporary directory and an
16203         8.3-friendly template to avoid trouble on systems like DJGPP.
16204         Reported by Juan M. Guerrero via Stepan Kasal.
16205         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
16206         close. Remove the temporary directory right away, rather than waiting
16207         for configure's at-exit trap code to do it.
16208         Suggestion from Stepan Kasal.
16209
16210 2005-01-01  Simon Josefsson  <jas@extundo.com>
16211
16212         * gnulib-tool: Print #include directives when --import'ing.
16213
16214 2004-12-28  Simon Josefsson  <jas@extundo.com>
16215
16216         * tests/test-base64.c: Include required header files.  Remove
16217         unused variables.
16218
16219 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16220
16221         * modules/error (Depends-on): Remove gettext.
16222
16223 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16224
16225         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
16226         not needed.  This removes a dependency on the gettext module.
16227         [defined _LIBC]: Do not include <libintl.h>; not needed.
16228
16229 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16230
16231         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
16232         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
16233
16234 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16235
16236         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
16237         HAVE_DECL_STRTOLD.
16238
16239 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16240
16241         * modules/getdate (Depends-on): Remove alloca-opt.
16242
16243 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16244
16245         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
16246
16247 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16248
16249         * lib/argp-parse.c: Include <stddef.h>.
16250         (alignof, alignto): New macros.
16251         (parser_init): Don't assume that void * is aligned sufficiently
16252         for struct option.
16253
16254         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
16255         need to extend the stack.
16256         (YYINITDEPTH): New macro, so that the initial stack isn't overly
16257         large.
16258
16259 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16260
16261         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
16262
16263 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16264
16265         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
16266         (2004-10-24) change.  Apparently this was a false alarm.
16267
16268         * modules/getdate: Depend on alloca-opt, not alloca.
16269
16270 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16271
16272         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
16273         Remove now-obsolete comment about AIX.
16274         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
16275         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
16276         (YYMAXDEPTH): New macro.
16277
16278 2004-12-18  Simon Josefsson  <jas@extundo.com>
16279
16280         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
16281
16282 2004-12-18  Bruno Haible  <bruno@clisp.org>
16283
16284         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
16285
16286 2004-12-18  Bruno Haible  <bruno@clisp.org>
16287
16288         * lib/fatal-signal.c (fatal_signals): Make non-const.
16289         (init_fatal_signals): New function.
16290         (uninstall_handlers, install_handlers): Ignore signals that were set to
16291         SIG_IGN.
16292         (at_fatal_signal): Call init_fatal_signals.
16293         (init_fatal_signal_set): Likewise. Ignore signals that were set to
16294         SIG_IGN.
16295         Reported by Paul Eggert.
16296
16297 2004-12-18  Bruno Haible  <bruno@clisp.org>
16298
16299         * doc/alloca.texi: New file.
16300         * doc/alloca-opt.texi: New file.
16301
16302 2004-12-17  Jim Meyering  <jim@meyering.net>
16303
16304         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
16305         Otherwise, install-sh could exit with improper exit status when
16306         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
16307
16308 2004-12-16  Simon Josefsson  <jas@extundo.com>
16309
16310         * tests/test-base64.c: Add license.
16311
16312 2004-12-15  Stepan Kasal  <address@hidden>
16313
16314         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
16315
16316 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
16317
16318         * modules/getcwd (Files): Add m4/d-ino.m4.
16319         Suggested by Mark D. Baushke.
16320
16321 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16322
16323         * lib/getdate.y (textint): New member "negative".
16324         (time_zone_hhmm): New function.
16325         Expect 14 shift-reduce conflicts, not 13.
16326         (o_colon_minutes): New rule.
16327         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
16328         (yylex): Set the "negative" member of signed numbers.
16329
16330 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16331
16332         * doc/getdate.texi (Time of day items, Time zone items):
16333         Describe new formats +00:00, UTC+00:00.
16334
16335 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16336
16337         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
16338         spurious "-l"s.  Problem reported by Stepan Kasal.
16339
16340 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
16341
16342         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
16343         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
16344
16345 2004-12-04  Simon Josefsson  <jas@extundo.com>
16346
16347         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
16348         Vandoorselaere <yoann@prelude-ids.org>.
16349
16350 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16351
16352         Changes imported from coreutils.
16353         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
16354         exist.
16355         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
16356
16357 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16358
16359         Changes imported from coreutils.
16360         * lib/hard-locale.c: Assume <locale.h> exists.
16361         Include "strdup.h".
16362         (GLIBC_VERSION): New macro.
16363         (hard_locale): Assume setlocale exists.
16364         Rewrite to avoid #ifdef.
16365         Use strdup rather than malloc + strcpy.
16366         * lib/human.c: Assume <locale.h> exists.
16367         (human_readable): Assume localeconv exists.
16368
16369 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16370
16371         * modules/hard-locale (Depends-on): Add strdup.
16372
16373 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
16374
16375         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
16376         convert T2, not T.  (Imported from libc.)
16377
16378 2004-11-30  Simon Josefsson  <jas@extundo.com>
16379
16380         * modules/restrict (License): Change to LGPL.
16381
16382 2004-11-30  Simon Josefsson  <jas@extundo.com>
16383
16384         * m4/restrict.m4: Add copyright and copying conditions.
16385
16386 2004-11-30  Simon Josefsson  <jas@extundo.com>
16387
16388         * m4/base64.m4: New file.
16389
16390 2004-11-30  Simon Josefsson  <jas@extundo.com>
16391
16392         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
16393         base64.
16394
16395         * tests/test-base64.c: New file.
16396
16397         * modules/base64: New file.
16398
16399 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16400
16401         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
16402         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
16403
16404         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
16405
16406 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16407
16408         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
16409         (__getcwd.c): Don't restore errno; glibc doesn't.
16410         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
16411         first, falling back to our code only if its results look suspicious.
16412         Ensure that the resulting buffer is only as large as necessary.
16413
16414         * lib/readutmp.c: Include readutmp.h first.
16415         Include <errno.h>, since readutmp.h no longer does that.
16416         * lib/readutmp.h: Don't include <errno.h>,
16417         <sys/param.h>, <time.h>; not needed to establish interface.
16418         (errno): Remove decl.
16419         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
16420         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
16421         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
16422
16423 2004-11-28  Simon Josefsson  <jas@extundo.com>
16424
16425         * lib/base64.h, base64.c: New file.
16426
16427 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
16428
16429         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
16430
16431 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
16432
16433         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
16434         (Depends-on): Remove pathmax, same.  Add mempcpy.
16435         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
16436         (Makefile.am): Append getcwd.h to lib_SOURCES.
16437         (Include): Add getcwd.h.
16438         (Maintainer): Change from Jim Meyering to "all, glibc",
16439         since getdate now uses intended-for-glibc code.
16440         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
16441         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
16442
16443 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16444
16445         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
16446         HP's ANSI C compiler.
16447         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
16448         Declaring int functions causes warnings on some modern systems and
16449         shouldn't be needed to compile on ancient ones.
16450         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
16451         defined.
16452
16453         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
16454         with the following changes.
16455         (__set_errno): Parenthesize properly.
16456         Include <stdbool.h>.
16457         (MIN, MAX, MATCHING_INO): New macros.
16458         (__getcwd): Define with prototype, not K&R form.
16459         Use heuristics to allocate default buffer on stack if possible.
16460         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
16461         behavior, and to avoid the PATH_MAX limit when computing
16462         ../../../../...
16463         Use MATCHING_INO to compare inode number to file.
16464         Check for arithmetic overflow in size calculations.
16465         Fix bug in reallocation of dot array that caused getcwd to fail
16466         on directories nested deeper than 75.
16467         Be more careful about saving errno on error.
16468         Do not use realloc; use only free+malloc, as this is a bit
16469         more flexible and avoids a needless copy operation.
16470         Do not inspect st_dev and st_ino for symbolic links; POSIX
16471         doesn't specify the latter.
16472         Check for closedir errors.
16473         Avoid needless casts.
16474         Use "#ifdef weak_alias" around weak_alias, to be like other
16475         glibc code.
16476         The following changes to getcwd.c have effect only when used in
16477         gnulib; they have no effect inside glibc proper.
16478         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
16479         as alloca isn't used.
16480         (alloca, __alloca): Likewise.
16481         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
16482         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16483         unconditionally, as gnulib assumes C89 or better.
16484         Do not include <sys/param.h>.
16485         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
16486         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
16487         better.
16488         (NULL) [!defined NULL]: Remove; we assume C89 or better.
16489         Include <dirent.h> in a way that is compatible with modern Autoconf.
16490         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
16491         New macros, if not already defined.
16492         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
16493         Use "_LIBC", not "defined _LIBC", for consistency.
16494         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
16495         a mempcpy module.
16496         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
16497         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
16498         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
16499         credit only to Jim Meyering and adjust the copyright dates.
16500         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
16501         <stdlib.h>, <unistd.h>, "pathmax.h".
16502         Instead, include "xgetcwd.h" (first) and "getcwd.h".
16503         (INITIAL_BUFFER_SIZE): Remove.
16504         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
16505
16506 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16507
16508         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
16509         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
16510         Use the _ONCE methods, for efficiency.
16511         Check for fcntl.h.  In test program, include <errno.h>
16512         and <fcntl.h> if available.  Remove old K&R cruft from
16513         test program.  Check for common errors in GNU/Linux,
16514         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
16515         don't do AC_LIBOBJ, as that's getcwd.m4's job.
16516         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
16517         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
16518         name accordingly.
16519         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
16520         accommodate new getcwd.c.
16521         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
16522         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
16523         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
16524         that's all we need now.
16525
16526 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16527
16528         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
16529         argp-parse.c depends on getopt internals, that means we should
16530         always use our getopt, to be on the safe side.
16531         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
16532         order not to spoil the result of an eventual previous invocation
16533         of gl_GETOPT_SUBSTITUTE.
16534
16535 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16536
16537         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
16538         redefinition warnings. To avoid them, include the defines
16539         in `#if !defined __need_getopt ... #endif'. The only place
16540         where __getopt_argv_const is used is in definitions
16541         of getopt_long and getopt_long_only below, which are as well
16542         protected by `#ifndef __need_getopt'.
16543         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
16544         __need_getopt after including <stdio.h> and <unistd.h> These
16545         headers might have defined it.
16546
16547 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16548
16549         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
16550
16551 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16552
16553         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
16554         (futimens): New function, which uses futimes if available.
16555         (futimens, utimens): Support timespec==NULL, with same semantics
16556         as utime and utimens.
16557         * lib/utimens.h (futimens): New decl.
16558
16559 2004-11-23  Jim Meyering  <jim@meyering.net>
16560
16561         * lib/getopt_.h: Remove trailing blanks.
16562
16563 2004-11-23  Jim Meyering  <jim@meyering.net>
16564
16565         * lib/__fpending.c: Add comment.
16566
16567 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
16568
16569         * modules/canonicalize (Depends-on): Add xreadlink.
16570         Problem reported by James Youngman.
16571
16572 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
16573
16574         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
16575         New macros.
16576         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
16577         optopt): Use them instead of invoking ## directly; otherwise, the
16578         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
16579
16580 2004-11-19  Bruno Haible  <bruno@clisp.org>
16581
16582         * lib/strtok_r.c: Move comments from here...
16583         * lib/strtok_r.h: ... to here.
16584
16585 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16586
16587         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
16588         implementations that mishandle size_t overflow.
16589
16590 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16591
16592         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
16593         might fail.  Problem reported by Yoann Vandoorselaere.
16594         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
16595         implementations that mishandle size_t overflow.
16596
16597 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16598
16599         * modules/canon-host (Depends-on): Add strdup.
16600
16601 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16602
16603         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
16604
16605 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16606
16607         * lib/canon-host.c: Include "strdup.h".
16608         (canon_host): Use getaddrinfo if available, so that IPv6 works.
16609         Use strdup instead of malloc/strcpy to duplicate strings.
16610
16611         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
16612         (human_space_before_unit): New constant.
16613         * lib/human.c (human_readable): Support it.
16614
16615         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
16616         (xgetcwd): Set errno correctly when failing.
16617         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
16618         the failure is actually due to a PATH_MAX problem.
16619
16620         Further getopt changes to make it more likely that glibc will
16621         buy the changes back.
16622         * lib/getopt.c (POSIXLY_CORRECT): New constant.
16623         (getopt): Use it, so to preserve glibc semantic
16624         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
16625         when compiling for libc.
16626         * lib/getopt_.h (__getopt_argv_const): Bring it back.
16627         (getopt_long, getopt_long_only): Use it.
16628
16629         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16630         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
16631         (getopt): Argv is now char * const *, as per standard.
16632         (_getopt_internal_r, _getopt_internal): Argv is now char **,
16633         not char *__getopt_argv_const *.
16634         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16635         _getopt_long_only_r): Likewise.
16636         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
16637         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16638         _getopt_long_r, _getopt_long_only_r): Likewise.
16639         * lib/getopt_.h (__getopt_argv_const): Remove.
16640         (getopt): Argv is now char * const *, as per standard.
16641
16642         * lib/getdate.y (tORDINAL): New token.
16643         (day, relunit): Allow it for relative times.
16644         (relative_time_table): Use tORDINAL for ordinals.
16645
16646 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16647
16648         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
16649         Document that "second" isn't allowed as an ordinal number.
16650
16651 2004-11-16  Jim Meyering  <jim@meyering.net>
16652
16653         * modules/closeout (Depends-on): Add fpending.
16654
16655 2004-11-15  Jim Meyering  <jim@meyering.net>
16656
16657         * lib/closeout.c: Include "__fpending.h" once again.
16658         Include <stdbool.h>.
16659         (close_stdout): Don't fail just because stdout was closed initially,
16660         since some programs don't write to stdout in the normal course of
16661         operation (other than --version and --help), and we don't want this
16662         function to make e.g. `touch file >&-' fail.
16663         But do fail if it was closed and someone has tried to write to it.
16664         E.g., `printf foo >&-' must fail.
16665
16666 2004-11-13  Jim Meyering  <jim@meyering.net>
16667
16668         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
16669
16670 2004-11-12  Simon Josefsson  <jas@extundo.com>
16671
16672         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
16673         small doc fix is still pending.
16674
16675 2004-11-11  Simon Josefsson  <jas@extundo.com>
16676
16677         * modules/strtok_r: New file.
16678
16679         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16680         strtok_r.
16681
16682 2004-11-11  Simon Josefsson  <jas@extundo.com>
16683
16684         * m4/strtok_r.m4: New file.
16685
16686         * m4/getopt.m4: Replace opterr.
16687
16688 2004-11-11  Simon Josefsson  <jas@extundo.com>
16689
16690         * lib/strtok_r.h, strtok_r.c: New file.
16691
16692 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16693
16694         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
16695         of replacing opterr, getopt, etc.  This should handle the
16696         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
16697
16698 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16699
16700         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
16701         we can stop lying to compilers about the constness of argv when we
16702         are compiled outside glibc.
16703         (getopt, getopt_long, getopt_long_only): Use it.
16704         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16705         _getopt_internal, getopt): Likewise.
16706         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16707         _getopt_long_only_r): Likewise.
16708         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16709         _getopt_long_r, _getopt_long_only_r): Likewise.
16710
16711         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
16712         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
16713         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
16714         the other external symbols.
16715         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
16716         declaration, since the above renaming now works around collisions.
16717
16718 2004-11-11  Jim Meyering  <jim@meyering.net>
16719
16720         * lib/linebreak.c: Remove trailing blanks.
16721         * lib/alloca_.h: Likewise.
16722         * lib/acosl.c: Likewise.
16723         * lib/euidaccess.c: Likewise.
16724         * lib/allocsa.h: Likewise.
16725
16726 2004-11-10  Simon Josefsson  <jas@extundo.com>
16727
16728         * m4/getaddrinfo.m4: New file.
16729
16730 2004-11-10  Simon Josefsson  <jas@extundo.com>
16731
16732         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
16733
16734 2004-11-10  Simon Josefsson  <jas@extundo.com>
16735
16736         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16737         getaddrinfo.
16738
16739         * modules/getaddrinfo: New file.
16740
16741 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16742
16743         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
16744
16745 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16746
16747         * lib/mktime.c (SHR): New macro, which is a portable
16748         substitute for >> that should work even on Crays.
16749         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
16750         Problem reported by Mark D. Baushke in
16751         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
16752         * lib/getdate.y (SHR): Likewise.
16753         (tm_diff): Use it.
16754         * lib/strftime.c (SHR): Likewise.
16755         (tm_diff): Use it.
16756         * lib/quotearg.c (struct quoting_options): Use unsigned int for
16757         quote_these_too, so that right shifts are well defined.  All uses
16758         changed.
16759
16760 2004-11-10  Jim Meyering  <jim@meyering.net>
16761
16762         Ensure that no close failure goes unreported.
16763         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
16764         return early when it seems there's nothing to flush.
16765         Don't include __fpending.h.
16766
16767 2004-11-10  Jim Meyering  <jim@meyering.net>
16768
16769         * modules/closeout (Depends-on): Remove fpending.
16770
16771 2004-11-10  Jim Meyering  <jim@meyering.net>
16772
16773         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
16774
16775 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16776
16777         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
16778         gl_FUNC_STRFTIME.
16779         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
16780         and AC_REQUIRE when possible, to avoid duplicate checks.
16781         Check for <wchar.h>.
16782
16783 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16784
16785         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
16786
16787 2004-11-09  Bruno Haible  <bruno@clisp.org>
16788
16789         * m4/sockpfaf.m4: New file.
16790
16791 2004-11-05  Bruno Haible  <bruno@clisp.org>
16792
16793         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
16794         Reported by Mark D. Baushke <mdb@cvshome.org>.
16795
16796 2004-11-04  Bruno Haible  <bruno@clisp.org>
16797
16798         2004-09-11  Bruno Haible  <bruno@clisp.org>
16799                 * allocsa.valgrind: New file.
16800         2004-02-06  Bruno Haible  <bruno@clisp.org>
16801                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
16802                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
16803                 Reported by Christopher Seip <chris.seip@hp.com>.
16804
16805 2004-11-04  Bruno Haible  <bruno@clisp.org>
16806
16807         * modules/allocsa (Files): Add lib/allocsa.valgrind.
16808         (Makefile.am): Distribute it.
16809
16810 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16811
16812         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
16813         with errno == ERANGE if the buffer is too small.
16814         Problem reported by Mark D. Baushke.
16815
16816 2004-11-03  Albert Chin  <china@thewrittenword.com>
16817             Paul Eggert  <eggert@cs.ucla.edu>
16818
16819         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
16820         equivalent, substitute $ac_type for equivalent type rather than
16821         blindly using uint32_t *always* which won't work if uint32_t is not
16822         available.  Define _UINT32_T to work around typedef of uint32_t if
16823         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
16824         2.5.1.
16825
16826 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16827
16828         * m4/jm-macros.m4: Sync from coreutils.
16829         (gl_MACROS): Check for mbrlen, for pathchk.
16830         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
16831
16832 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16833
16834         * lib/xreadlink.c (MAXSIZE): New macro.
16835         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
16836         size does not exceed MAXSIZE.  Avoid cast.
16837         As suggested by Mark D. Baushke in
16838         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
16839         if readlink fails with buffer size just under MAXSIZE, try again
16840         with MAXSIZE.
16841
16842 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16843
16844         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
16845
16846 2004-11-02  Derek R. Price  <derek@ximbiot.com>
16847         and  Paul Eggert  <eggert@cs.ucla.edu>
16848
16849         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
16850         (get_date): Overparenthesize to avoid GCC warning.
16851
16852 2004-11-02  Bruno Haible  <bruno@clisp.org>
16853
16854         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
16855         returns void.
16856
16857 2004-11-02  Bruno Haible  <bruno@clisp.org>
16858
16859         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
16860         function returns void.
16861
16862 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
16863
16864         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
16865         fflush_unlocked, flockfile, funlockfile, funlockfile,
16866         fputs_unlocked, putc_unlocked.
16867
16868 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
16869
16870         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
16871         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
16872         already declared.
16873
16874 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16875
16876         * modules/getdate (Files): Add doc/getdate.texi.
16877         (Depends-on): Add setenv, xalloc.
16878
16879 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16880
16881         * lib/getdate.y: Add support for TZ="foo" within a date string.
16882         Fix some bugs near time_t boundaries.  Reject dates with
16883         out-of-range components, e.g., "Sept 31".
16884         Include <stdlib.h>, "setenv.h", "xalloc.h".
16885         (ISDIGIT_LOCALE): Remove; unused.
16886         Note that the TZ and time functions used here are not reentrant.
16887         (mktime_ok, get_tz): New functions.
16888         (TZBUFSIZE): New constant.
16889         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
16890         This requires that we sometimes generate our own TZ="XXX..." setting.
16891
16892 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16893
16894         * doc/getdate.texi: New file, from coreutils with modifications for
16895         the new TZ parsing.
16896
16897 2004-10-27  Derek R. Price  <derek@ximbiot.com>
16898
16899         * lib/mktime.c (not_equal_tm): Remove redundant check.
16900
16901 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16902
16903         * modules/regex (lib_SOURCES): Add regex.c.
16904         Reported by James Youngman in
16905         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
16906
16907 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16908
16909         * lib/getdate.y: Use Bison 1.875 features, and some minor
16910         code cleanups.  This change does not affect semantics.
16911         Don't include <stdlib.h>; no longer needed.
16912         Don't include unlocked-io.h; only the "#if TEST" code uses
16913         stdio, and performance isn't crucial there.
16914         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
16915         Bison 1.875 features as described below.
16916         All uses of "PC." replaced by "pc->".
16917         (YYSTYPE): Add a forward declaration.
16918         (yylex, yyerror): Use full prototypes in forward decls.
16919         Use "%pure-parser" rather than obsolescent "%pure_parser".
16920         Use %parse-param and %lex-param instead of obsolescent
16921         YYPARSE_PARAM and YYLEX_PARAM.
16922         (meridian_table, month_and_day_table, time_units_table,
16923         relative_time_table, time_zone_table, military_table,
16924         lookup_zone, lookup_word, get_date):
16925         Use NULL instead of 0 where appropriate.
16926         (to_hour): Avoid abort (), to avoid a dependency on
16927         stdlib.h.
16928         (yyerror, yylex): Now accepts parser_control * arg.
16929         (main) [TEST]: Use '\0' rather than 0 for char.
16930
16931 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
16932
16933         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
16934
16935 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
16936
16937         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
16938         It's now the caller's responsibility to handle the case where
16939         !HAVE_GETPAGESIZE && !defined getpagesize.
16940
16941         * lib/mktime.c (leapyear): Arg is long int, not int.
16942
16943 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
16944
16945         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
16946
16947 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
16948
16949         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
16950         missing.  Problem reported by James Youngman.
16951
16952 2004-10-16  Simon Josefsson  <jas@extundo.com>
16953
16954         * gnulib-tool: Fix comments.  Fix parse problem.
16955         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
16956
16957 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
16958
16959         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
16960         implementation of getopt_long.  Problem reported by Alexander Taler in:
16961         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
16962
16963 2004-10-15  Bruno Haible  <bruno@clisp.org>
16964
16965         * gnulib-tool: Untabify. Initialize supplied_libname.
16966         (func_usage): More homogenous output.
16967         (func_modules_transitive_closure, func_modules_to_filelist,
16968         func_emit_lib_Makefile_am): New functions.
16969         (func_import): New function, extracted from big case statement. Use
16970         func_get_license, func_modules_transitive_closure,
16971         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
16972         opt_lgpl. Don't use test -a, as it's not portable.
16973         (func_create_testdir): Use func_modules_transitive_closure,
16974         func_modules_to_filelist, func_emit_lib_Makefile_am.
16975
16976 2004-10-15  Bruno Haible  <bruno@clisp.org>
16977
16978         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
16979
16980 2004-10-15  Bruno Haible  <bruno@clisp.org>
16981
16982         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
16983         the portions belonging to each module.
16984         Suggested by Derek Robert Price <derek@ximbiot.com>.
16985
16986 2004-10-12  Simon Josefsson  <jas@extundo.com>
16987
16988         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
16989         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
16990         to real functions.
16991
16992 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16993
16994         * modules/vsnprintf: New file.
16995
16996 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16997
16998         * m4/vsnprintf.m4: New file.
16999
17000 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17001
17002         * lib/vsnprintf.h: New file.
17003         * lib/vsnprintf.c: New file.
17004
17005 2004-10-11  Bruno Haible  <bruno@clisp.org>
17006
17007         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
17008         vsnprintf.
17009
17010 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17011
17012         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
17013
17014 2004-10-07  Bruno Haible  <bruno@clisp.org>
17015
17016         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
17017         fits into the provided buffer.
17018
17019 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17020
17021         * lib/diacrit.c, diacrit.h: Add GPL notice.
17022
17023         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
17024         notice.
17025         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
17026         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
17027         This avoids a potential constant-folding bug.
17028
17029 2004-10-05  Bruno Haible  <bruno@clisp.org>
17030
17031         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
17032         for the declaration of strsep.
17033
17034 2004-10-05  Bruno Haible  <bruno@clisp.org>
17035
17036         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
17037
17038 2004-10-04  Simon Josefsson  <jas@extundo.com>
17039
17040         * modules/memmem: New file.
17041         * tests/test-memmem.c: New file.
17042         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
17043
17044 2004-10-04  Simon Josefsson  <jas@extundo.com>
17045
17046         * m4/memmem.m4: New file.
17047
17048 2004-10-04  Simon Josefsson  <jas@extundo.com>
17049
17050         * lib/memmem.h: New file.
17051         * lib/memmem.c: New file, taken from glibc.
17052
17053 2004-10-04  Simon Josefsson  <jas@extundo.com>
17054
17055         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
17056         '#ifdef USE_UNLOCKED_IO'.
17057
17058 2004-10-04  Simon Josefsson  <jas@extundo.com>
17059
17060         * config/srclist.txt: Add memmem from glibc.
17061
17062 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17063
17064         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
17065
17066         * modules/argmatch, modules/argp, modules/closeout, modules/error,
17067         modules/exclude, modules/getdate, modules/getline,
17068         modules/getndelim2, modules/getpass, modules/getpass-gnu,
17069         modules/getusershell, modules/linebuffer, modules/md5,
17070         modules/mountlist, modules/posixtm, modules/readtokens,
17071         modules/readutmp, modules/regex, modules/sha1,
17072         modules/version-etc, modules/yesno:
17073         Remove dependency on unlocked-io.
17074
17075 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17076
17077         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
17078
17079         * m4/unlocked-io.m4: Add copyright notice.
17080         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
17081
17082 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17083
17084         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
17085         * lib/xmalloc.c (xmemdup): Likewise.
17086         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
17087         XFREE): Remove these long-obsolescent macros.
17088         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
17089         * lib/xstrdup.c: Remove.
17090
17091         * lib/regex.c (re_comp): Cast gettext return value to char *,
17092         Problem reported by Martin Neitzel via Mark D. Baushke.
17093
17094 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17095
17096         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
17097         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
17098         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
17099         regex.c, sha1.c, version-etc.c, yesno.c:
17100         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
17101         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
17102         the includer's responsibility.
17103
17104         Sync from coreutils.
17105
17106         * lib/modechange.c (mode_compile): Don't decrement a pointer that
17107         points to the start of a string, as the C Standard says the
17108         resulting behavior is undefined.
17109
17110         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
17111         simple -> simple_backups, numbered_existing ->
17112         numbered_existing_backups, numbered -> numbered_backups
17113         to avoid shadowing problems.  All uses changed.
17114         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
17115         * lib/backupfile.c (check_extension, numbered_backup):
17116         Rename locals to avoid shadowing 'basename'.
17117         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
17118         once.
17119
17120         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
17121         * lib/.cvsignore: Add getopt.h.
17122
17123 2004-10-04  Bruno Haible  <bruno@clisp.org>
17124
17125         * modules/README: New file.
17126         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
17127         not a module.
17128
17129 2004-10-02  Jim Meyering  <jim@meyering.net>
17130
17131         * lib/dirfd.h, getpagesize.h: Add copyright notice.
17132
17133 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17134
17135         * modules/strsep: New file.
17136
17137 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17138
17139         * m4/strsep.m4: New file.
17140
17141 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17142
17143         * lib/strsep.h: New file.
17144         * lib/strsep.c: New file.
17145
17146 2004-10-01  Simon Josefsson  <jas@extundo.com>
17147
17148         * lib/snprintf.c (snprintf): Handle size==0.
17149
17150 2004-10-01  Simon Josefsson  <jas@extundo.com>
17151             Bruno Haible  <bruno@clisp.org>
17152
17153         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
17154         (snprintf): Declare 'args'.
17155
17156 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
17157
17158         * lib/snprintf.c: Remove comments as to why each header is needed.
17159
17160 2004-10-01  Bruno Haible  <bruno@clisp.org>
17161
17162         * MODULES.html.sh: Add strsep.
17163
17164 2004-09-30  Simon Josefsson  <jas@extundo.com>
17165
17166         * modules/snprintf: New file.
17167
17168 2004-09-30  Simon Josefsson  <jas@extundo.com>
17169
17170         * m4/snprintf.m4: New file.
17171
17172 2004-09-30  Simon Josefsson  <jas@extundo.com>
17173
17174         * lib/snprintf.h, lib/snprintf.c: New files.
17175
17176 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17177
17178         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
17179         (hol_entry_help): Never translate an empty string.
17180         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
17181         * lib/argp.h (OPTION_NO_TRANS): New option.
17182
17183 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17184
17185         * modules/argp (Maintainer): Replace Simon Josefsson
17186         by Sergey Poznyakoff.
17187
17188 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17189
17190         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
17191         changes merged back into glibc.
17192
17193 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17194
17195         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
17196
17197 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
17198
17199         * lib/xvasprintf.c: Include xalloc.h.
17200         (xvasprintf): Use xalloc_die, not xmalloc_die.
17201
17202 2004-09-29  Bruno Haible  <bruno@clisp.org>
17203
17204         * modules/alloca-opt: New file, derived from modules/alloca.
17205         * modules/allocsa: Depend on alloca-opt instead of alloca.
17206         * modules/setenv: Likewise.
17207         * modules/vasnprintf: Likewise.
17208         * MODULES.html.sh: Add alloca-opt.
17209
17210 2004-09-28  Simon Josefsson  <jas@extundo.com>
17211
17212         * gnulib-tool: New parameter --lgpl, to asseert that modules are
17213         LGPL, and to replace license template from GPL to LGPL.
17214
17215 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17216
17217         * modules/dummy: Change license to LGPL.
17218
17219 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17220
17221         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
17222
17223 2004-09-24  Simon Josefsson  <jas@extundo.com>
17224
17225         * modules/minmax (License): Change from GPL to LGPL.
17226
17227 2004-09-23  Simon Josefsson  <jas@extundo.com>
17228
17229         * gnulib-tool (--import): Typo.
17230
17231 2004-09-23  Simon Josefsson  <jas@extundo.com>
17232
17233         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
17234
17235 2004-09-22  Bruno Haible  <bruno@clisp.org>
17236
17237         * modules/*: Add 'License' field.
17238         * gnulib-tool: Accept --extract-license option.
17239         (func_get_license): New function.
17240
17241 2004-09-21  Bruno Haible  <bruno@clisp.org>
17242
17243         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
17244         Reported by Simon Josefsson.
17245
17246 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17247
17248         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
17249         gl_AC_TYPE_LONG_LONG.
17250
17251 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17252
17253         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
17254
17255 2004-09-18  Simon Josefsson  <jas@extundo.com>
17256         and  Paul Eggert  <eggert@cs.ucla.edu>
17257
17258         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
17259         calls with autoreconf.  Define GL_LIB.
17260
17261 2004-09-14  Karl Berry  <karl@gnu.org>
17262
17263         * config/srclist.txt: unsync setenv.c, sigh.
17264
17265 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17266
17267         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
17268         Problem reported by Bruno Haible in:
17269         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
17270
17271 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17272
17273         * config/srclist.txt: Comment out argp-pvh.c.
17274
17275 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17276
17277         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
17278         in case some system header has #define'd it.  Problem reported by
17279         Soeren D. Schulze in
17280         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
17281
17282 2004-09-09  Karl Berry  <karl@gnu.org>
17283
17284         * regex.[ch]: delete from the root.  These were supposed to be
17285                 synced with emacs cvs, but this has not happened for about
17286                 a year, and anyway nothing else uses emacs regex.[ch].
17287                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
17288                 lib/regex[.ch] is untouched.
17289
17290 2004-09-09  Bruno Haible  <bruno@clisp.org>
17291
17292         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
17293
17294 2004-09-09  Bruno Haible  <bruno@clisp.org>
17295
17296         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
17297         modifications.
17298         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
17299
17300 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17301
17302         * modules/xvasprintf: New file.
17303         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
17304
17305 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17306
17307         * lib/xvasprintf.h: New file.
17308         * lib/xvasprintf.c: New file.
17309         * lib/xasprintf.c: New file.
17310
17311 2004-09-08  Bruno Haible  <bruno@clisp.org>
17312
17313         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
17314
17315 2004-09-08  Bruno Haible  <bruno@clisp.org>
17316
17317         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
17318         length is > INT_MAX.
17319         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
17320         more.
17321
17322 2004-09-08  Bruno Haible  <bruno@clisp.org>
17323
17324         * lib/stdint_.h: New file, taken from GNU clisp.
17325
17326 2004-09-08  Bruno Haible  <bruno@clisp.org>
17327             Oskar Liljeblad  <oskar@osk.mine.nu>
17328
17329         * modules/stdint: New file.
17330         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
17331
17332 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17333
17334         Import from coreutils.
17335         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
17336         strings on unbounded length.  alloca's performance benefits aren't
17337         that important here.
17338         (V_STRDUP): Remove.
17339         (parse_with_separator): New function, with most of the internals
17340         of the old parse_user_spec.  Allow user to omit both user and group,
17341         for compatibility with FreeBSD.
17342         Clone only the user name, not the entire spec.
17343         Do not set *uid, *gid unless entirely successful.
17344         Avoid memory leak in some failing cases.
17345         Fix regression for USER.GROUP reported by Dmitry V. Levin in
17346         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
17347         (parse_user_spec): Rewrite to use parse_with_separator.
17348
17349 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17350
17351         * modules/userspec: Don't depend on alloca.
17352
17353 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17354
17355         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
17356
17357 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
17358
17359         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
17360         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
17361         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
17362
17363 2004-08-16  Simon Josefsson  <jas@extundo.com>
17364
17365         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
17366         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
17367         Add --dry-run for --import.
17368         Let user provided command line parameters override configure.ac
17369         settings.
17370
17371 2004-08-12  Simon Josefsson  <jas@extundo.com>
17372
17373         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
17374         as discussed with Paul Eggert in threads rooted at
17375         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
17376         and
17377         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
17378         Before, the test was empty, and relied on ELIDE_CODE in source
17379         code.)
17380         (gl_PREREQ_GETOPT): New macro.
17381         (gl_GETOPT): Use them.
17382
17383 2004-08-12  Simon Josefsson  <jas@extundo.com>
17384
17385         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
17386         * lib/getopt_.h: Renamed from getopt.h.
17387
17388 2004-08-12  Simon Josefsson  <jas@extundo.com>
17389
17390         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
17391         Change default library name from libfoo to libgnu.
17392         Now, if you have a configure.ac that says:
17393                 gl_SOURCE_BASE(gl)
17394                 gl_M4_BASE(gl/m4)
17395                 gl_MODULES(error getopt etcetera)
17396                 gl_INIT
17397         you can import all you need by running:
17398                 ../gnulib/gnulib-tool --import
17399
17400         * modules/getopt (Files): Rename getopt.h to getopt_.h.
17401         (Makefile.am): Rewrite, use logic from argz.
17402         (Include): Use <getopt.h> instead of "getopt.h".
17403
17404 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17405
17406         * modules/argp (Files): Add m4/unlocked-io.m4.
17407         (Depends-on): Add extensions.
17408
17409 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17410
17411         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
17412         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
17413         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
17414         Check for program_invocation_name, program_invocation_short_name,
17415         flockfile, funlockfile, features.h, _getopt_long_only_r.
17416
17417 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17418
17419         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
17420         its complicated substitute.
17421         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
17422         and program_invocation_name.
17423         (__argp_basename) [!_LIBC]: Remove; the only use was
17424         replaced by its body.
17425         (__argp_short_program_name): Change condition from
17426         !defined __argp_short_program_name to
17427         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
17428         to match argp-namefrob.h.
17429         (__argp_failure): Don't assume strerror_r returns char *.
17430         * lib/argp-parse.c (N_): Define unconditionally.
17431         (argp_default_options): Fill out initializers with 0 to avoid
17432         gcc warnings.
17433
17434 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17435
17436         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
17437         getopt1.c.
17438
17439 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17440
17441         Merge from coreutils.
17442
17443         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
17444
17445         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
17446         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
17447
17448 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17449
17450         Merge from coreutils.
17451
17452         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
17453         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
17454         for Reliant Unix 5.43.
17455
17456         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
17457         (union fooround): Use uintmax_t, not long int.
17458         The rest is a merge from libc:
17459         [defined _LIBC]: Include <shlib-compat.h>.
17460         (_obstack) [defined _LIBC]: Remove after 2.3.4.
17461
17462         * lib/settime.c (settime): Recode to avoid warning with
17463         Sun Forte C 6U2.
17464
17465         * lib/strverscmp.c: Convert to UTF-8.
17466
17467 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17468
17469         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
17470         m4/uintmax_t.m4.
17471
17472 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17473
17474         * modules/xalloc-die: New file.
17475         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
17476
17477         * modules/md5 (Files): Add m4/uint32_t.m4.
17478         * modules/sha1: Renamed from modules/sha.
17479         (Files):
17480         Rename lib/sha.h to lib/sha1.h.
17481         Rename lib/sha.c to lib/sha1.c.
17482         Rename m4/sha.m4 to m4/sha1.m4.
17483         (lib_SOURCES): Likewise.
17484         (configure.ac): Rename gl_SHA to gl_SHA1.
17485         (Include): sha.h -> sha1.h.
17486
17487 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17488
17489         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
17490         * m4/sha1.m4: Renamed from sha.m4.
17491         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
17492
17493 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17494
17495         * lib/obstack.h (obstack_empty_p):
17496         Don't assume that chunk->contents is suitably aligned.
17497         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
17498         Likewise. Problem reported by Benno in
17499         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
17500
17501         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
17502         readable.  This could be improved further but it'd take some work.
17503
17504 2004-08-08  Simon Josefsson  <jas@extundo.com>
17505
17506         * modules/xgethostname (Depends-on): Remove exit and error (not
17507         used).
17508
17509         * modules/getpass-gnu: Add getpass.h.
17510         (Depends-on): Add stdbool.
17511         * modules/getpass: Add getpass.h.
17512
17513 2004-08-08  Simon Josefsson  <jas@extundo.com>
17514
17515         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
17516         Check getpass declaration.
17517
17518 2004-08-08  Simon Josefsson  <jas@extundo.com>
17519
17520         * lib/xgethostname.c: Don't include error.h (not used).
17521
17522         * lib/getpass.h: Add.
17523         * lib/getpass.c: Include getpass.h first.
17524
17525 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
17526
17527         * lib/xalloc-die.c: New file.
17528         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
17529         All uses removed.
17530         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
17531         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
17532         xalloc-die.c.
17533         (_, N_, xalloc_die): Move to xalloc-die.c.
17534         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
17535         so that we needn't mess with xalloc_msg_memory_exhausted.
17536
17537         * lib/sha1.h: Renamed from sha.h.
17538         (SHA1_H): Renamed from _SHA_H.
17539         (sha1_ctx): Renamed from sha_ctx.
17540         (sha1_init_ctx): Renamed from sha_init_ctx.
17541         (sha1_process_block): Renamed from sha_process_block.
17542         (sha1_process_bytes): Renamed from sha_process_bytes.
17543         (sha1_finish_ctx): Renamed from sha_finish_ctx.
17544         (sha1_read_ctx): Renamed from sha_read_ctx.
17545         (sha1_stream): Renamed from sha_stream.
17546         (sha1_buffer): Renamed from sha_buffer.
17547         * lib/sha1.c: Likewise; renamed from sha.c.
17548         Do not include <sys/types.h>.
17549         Include <stddef.h> rather than <stdlib.h>.
17550
17551 2004-08-08  Bruno Haible  <bruno@clisp.org>
17552
17553         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
17554         FILESYSTEM_PREFIX_LEN.
17555         * lib/progreloc.c: Likewise.
17556         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
17557
17558 2004-08-06  Simon Josefsson  <jas@extundo.com>
17559
17560         * modules/progname (Depends-on): Don't depend on stdbool.
17561
17562 2004-08-06  Simon Josefsson  <jas@extundo.com>
17563
17564         * modules/getsubopt: New file.
17565         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17566         getsubopt.
17567
17568 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17569
17570         More merge from coreutils.
17571
17572         * m4/utimens.m4, m4/utimecmp.m4: New files.
17573         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
17574         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
17575         prereq.m4, sha.m4: Import changes from coreutils.
17576
17577 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17578
17579         More merge from coreutils.
17580         * modules/raise, modules/readtokens0, modules/utimens:
17581         * modules/utimecmp, module/xnanosleep: New files.
17582         * modules/strftime: Add lib/strftime.h.
17583         Change include from <time.h> to "strftime.h".
17584         * modules/yesno: Add lib/yesno.h.
17585         * modules/backupfile: Remove lib/addext.c.
17586         * modules/euidaccess: Add stat-macros.h.
17587         * modules/canonicalize, modules/euidaccess,
17588         modules/filemode, modules/lchown, modules/makepath,
17589         modules/rmdir, modules/stat: Likewise.
17590
17591 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17592
17593         Merge from tar.
17594         * lib/argp-help.c (make_hol, hol_append): Don't assume that
17595         SIZE_MAX is a valid preprocessor constant.
17596         (__argp_basename): Change from "#ifndef _LIBC"
17597         to "#ifndef __argp_short_program_name", so that
17598         we don't compile these functions for tar.
17599
17600         More merges from coreutils.
17601         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
17602         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
17603         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
17604         * lib/addext.c: Remove; no longer needed.
17605         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
17606         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
17607         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
17608         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
17609         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
17610         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
17611         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
17612         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
17613         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
17614         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
17615         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
17616         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
17617         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
17618         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
17619         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
17620         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
17621         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
17622         Import changes from coreutils.
17623
17624 2004-08-05  Simon Josefsson  <jas@extundo.com>
17625
17626         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
17627
17628 2004-08-05  Simon Josefsson  <jas@extundo.com>
17629
17630         * m4/getsubopt.m4: New file.
17631
17632 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17633
17634         Merge from coreutils.
17635
17636         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
17637         * m4/getcwd-path-max.m4: New files.
17638
17639         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
17640         FILESYSTEM_PREFIX_LEN ->
17641         FILE_SYSTEM_PREFIX_LEN.
17642         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
17643         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
17644         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
17645         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
17646
17647         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
17648         prerequisite modules now handle the DOS stuff.
17649         Don't check for unistd.h.
17650
17651 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17652
17653         Merge from coreutils.
17654
17655         * lib/.gdb-history: Remove; this doesn't belong here.
17656
17657         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
17658         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
17659         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
17660         * lib/getcwd.c: New files.
17661
17662         * lib/dirname.h: Include <stdbool.h>.
17663         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
17664         for consistency with POSIX terminology.  All uses changed.
17665         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
17666         (strip_trailing_slashes): Use bool for booleans.
17667         * lib/stripslash.c (strip_trailing_slashes): Likewise.
17668
17669         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
17670         sometimes returns a positive errno value even when it succeeds.
17671         (print_errno_message) [!LIBC]: Fall back on strerror if
17672         __strerror_r fails.
17673
17674         * lib/path-concat.c (mempcpy): Don't define if a system header defines
17675         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
17676         (longest_relative_suffix): New function.
17677         (path_concat): Use it.  Assume first argument is not NULL.
17678         Port to DOS.  Omit redundant separators.
17679         Report an error instead of returning NULL.
17680         Use mempcpy instead of memcpy.
17681         (xpath_concat): Remove: not declared or used.
17682
17683         * lib/same.h: Include <stdbool.h>
17684         (same_name): Return bool, not int.
17685         * lib/same.c (same_name): Likewise.
17686         (errno): Don't declare; we assume C89 or better now.
17687
17688         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
17689         if not already defined.
17690
17691         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
17692         * lib/dup-safer.c (errno): Likewise.
17693
17694 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17695
17696         Merge from coreutils.
17697         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
17698         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
17699         * modules/path-concat: Don't depend on strdup.
17700
17701 2004-08-03  Simon Josefsson  <jas@extundo.com>
17702
17703         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
17704         * lib/progname.h: Don't include stdbool.h.
17705
17706 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17707
17708         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
17709         * MODULES.html.sh (func_all_modules): Remove fatal.
17710
17711 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17712
17713         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
17714
17715 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17716
17717         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
17718         working.
17719
17720 2004-08-02  Simon Josefsson  <jas@extundo.com>
17721
17722         * lib/getsubopt.h: New file, with comments from Bruno Haible.
17723         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
17724         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
17725
17726 2004-08-01  Simon Josefsson  <jas@extundo.com>
17727
17728         * lib/xgetdomainname.c: Include stdlib.h, for free().
17729
17730 2004-07-19  Bruno Haible  <bruno@clisp.org>
17731
17732         * MODULES.html.sh (func_all_modules): Add dummy.
17733
17734 2004-07-16  Simon Josefsson  <jas@extundo.com>
17735
17736         * modules/dummy: New file.
17737
17738 2004-07-16  Simon Josefsson  <jas@extundo.com>
17739
17740         * lib/dummy.c: New file.
17741
17742 2004-07-16  Bruno Haible  <bruno@clisp.org>
17743
17744         * lib/backupfile.h: Add extern "C" for C++.
17745         * lib/closeout.h: Likewise.
17746         * lib/copy-file.h: Likewise.
17747         * lib/findprog.h: Likewise.
17748         * lib/full-write.h: Likewise.
17749         * lib/pathname.h: Likewise.
17750         * lib/progname.h: Likewise.
17751         * lib/stpcpy.h: Likewise.
17752         * lib/stpncpy.h: Likewise.
17753         * lib/strcase.h: Likewise.
17754         * lib/strstr.h: Likewise.
17755         * lib/xalloc.h: Likewise.
17756
17757         * lib/mbswidth.h: Add extern "C" for C++.
17758         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
17759
17760 2004-07-13  Robert Millan  <robertmh@gnu.org>
17761
17762         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
17763
17764 2004-07-09  Simon Josefsson  <jas@extundo.com>
17765
17766         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
17767         failed without this.)
17768
17769 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17770
17771         * modules/chown (Files): Add lib/fchown-stub.c, since
17772         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
17773
17774 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17775
17776         * lib/fchown-stub.c: New file.
17777
17778 2004-06-24  Jim Meyering  <jim@meyering.net>
17779
17780         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
17781
17782 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17783
17784         * modules/argz: Omit "#include".
17785
17786         * MODULES.html.sh (func_all_modules): Add calloc, to match
17787         2004-06-01 addition of calloc module.
17788
17789 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17790
17791         * m4/argz.m4: New file, which is autoupdated from libtool.
17792
17793 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17794
17795         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
17796         libtool.
17797
17798 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17799
17800         * config/srclist-update: Don't insist on "USA." before the
17801         close-comment, as libtool omits the period and puts the */ on a
17802         separate line.
17803         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
17804         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
17805
17806 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
17807
17808         * modules/argz: New file.
17809         * MODULES.html.sh (func_all_modules): Add argz.
17810
17811 2004-06-12  Jim Meyering  <jim@meyering.net>
17812         and  Paul Eggert  <eggert@cs.ucla.edu>
17813
17814         * modules/hash (Files): Add lib/xalloc.h.
17815         * modules/pipe (Depends-on): Add wait-process.
17816         * modules/stat (Depends-on): Add xalloc.
17817         * modules/userspec (Files): Add lib/userspec.h.
17818         * modules/xstrto
17819
17820         Upgrade from gettext-0.13.
17821         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
17822         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
17823         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
17824
17825 2004-06-10  Jim Meyering  <jim@meyering.net>
17826
17827         * lib/calloc.c: New file.
17828
17829 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
17830
17831         * lib/getdate.y (yylex): Allow space between sign and number.
17832         Problem reported by Dan Jacobson.
17833
17834 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17835
17836         Merge from coreutils CVS.
17837
17838         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
17839         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
17840         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
17841         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
17842         xstrtol.m4: Fix copyright date and/or serial number.
17843
17844         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
17845         See if we need an fchown replacement.
17846         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
17847         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
17848         and use the replacement function if we detect either defect.
17849
17850         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
17851         gl_UTIMECMP.
17852
17853 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17854         and  Jim Meyering  <jim@meyering.net>
17855
17856         Merge from coreutils CVS.
17857
17858         * lib/stat-macros.h: New file, with contents from file-type.h
17859         and coreutils' system.h.
17860         * lib/file-type.c: Include "stat-macros.h".
17861         * lib/file-type.h (file_type): Move all macro definitions to new file,
17862         stat-macros.h.
17863
17864         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
17865         Wrap old code with this conditional.
17866         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
17867         function that does not dereference symlinks.
17868         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
17869
17870         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
17871         dependency problems.
17872         (xreadlink): Accept new arg SIZE, for efficiency.
17873         All decls and uses changed.
17874         * lib/xreadlink.h: Include <stddef.h>, for size_t.
17875
17876         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
17877         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
17878
17879         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
17880         sysexits.h.
17881
17882 2004-06-01  Jim Meyering  <jim@meyering.net>
17883
17884         * m4/calloc.m4: New file.
17885
17886 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
17887
17888         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
17889         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
17890         Also, fix a typo in a diagnostic.
17891
17892 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17893
17894         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
17895         or AC_FUNC_REALLOC.
17896
17897 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17898
17899         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
17900         macros to be defined.
17901         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
17902         the allocator returns NULL because the requested size is zero.
17903
17904 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17905
17906         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
17907         var.  Add comment explaining why libc still defines it.  This
17908         merges the following patch from glibc:
17909         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
17910
17911 2004-05-20  Andreas Schwab  <schwab@suse.de>
17912
17913         * m4/free.m4: Replace free if it not known to work, not the other
17914         way round.
17915
17916 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17917
17918         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
17919         present in glibc since revision 1.1 of this file.
17920         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
17921         obstack_alignment_mask, obstack_alloc, obstack_base,
17922         obstack_blank, obstack_blank_fast, obstack_chunk_size,
17923         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
17924         obstack_grow0, obstack_init, obstack_int_grow,
17925         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
17926         obstack_next_free, obstack_object_size, obstack_ptr_grow,
17927         obstack_ptr_grow_fast, obstack_room): Remove declarations of
17928         nonexistent functions.
17929
17930 2004-05-18  Karl Berry  <karl@gnu.org>
17931
17932         * config/srclist.txt: break link for vasnprintf.c.
17933
17934 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17935
17936         Port obstack to the AS/400, where pointers are 16 bytes wide and
17937         you cannot cast an integer to a valid pointer.  This patch is
17938         currently waiting to be integrated into glibc; see
17939         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
17940
17941         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
17942         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
17943         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
17944         (struct obstack): temp member is now a union of a pointer and
17945         an integer, instead of an integer.  All integer uses changed.
17946         This does not affect the physical layout of struct obstack,
17947         except on hosts (like the AS/400) where the size or alignment of
17948         void * is greater than that of ptrdiff_t.
17949         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
17950         __STDC__)]: Store temporary in pointer member of union, not
17951         integer member.
17952         * lib/obstack.c: Include <stddef.h>, for offsetof.
17953         (struct fooalign): Remove; it doesn't need a name.
17954         (union fooround): Change double to long double, and add void *.
17955         (DEFAULT_ALIGNMENT): Use offsetof to compute.
17956         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
17957         not a macro.  Hence the values are always int; so remove all
17958         casts-to-int in uses.
17959
17960 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17961
17962         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
17963         we can get this patch merged into glibc.
17964
17965 2004-05-17  Derek R. Price  <derek@ximbiot.com>
17966             Paul Eggert  <eggert@cs.ucla.edu>
17967
17968         * m4/argp: Depend on alloca.
17969
17970 2004-05-17  Derek R. Price  <derek@ximbiot.com>
17971             Paul Eggert  <eggert@cs.ucla.edu>
17972
17973         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
17974         freecoding.
17975
17976 2004-05-17  Bruno Haible  <bruno@clisp.org>
17977
17978         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
17979         precision that consists of a '.' followed by an empty digit string.
17980         Patch by Tor Lillqvist <tml@iki.fi>.
17981
17982 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17983
17984         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
17985         for backward compatibility with older code.  We need our own
17986         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
17987         it under some other name, and our alloca.h will define it.
17988
17989 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17990             Derek Price  <derek@ximbiot.com>
17991
17992         * lib/alloca.c: Include <alloca.h>, to get our interface.
17993         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
17994         include <alloca.h> first.  Use C89 prototype for alloca; this
17995         requires including <stddef.h> for size_t.  Use extern "C" if C++.
17996         Use #elif for simplicity, since we can assume C89 now.
17997         Don't try to source the system alloca.h since it will not be found
17998         and to prevent recursively including its replacement.
17999         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
18000         * lib/regex.c: Likewise.
18001
18002 2004-05-16  Derek Price  <derek@ximbiot.com>
18003             Paul Eggert  <eggert@cs.ucla.edu>
18004
18005         getline cleanup.  This changes the getndelim2 API: both order of
18006         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
18007         no delimiter).
18008
18009         * lib/getline.c: Don't include stddef.h or stdio.h, since our
18010         interface does that.
18011         (getline): Always use getdelim, so that we don't have two
18012         copies of this code.
18013         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
18014         if available.
18015         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
18016         (GETNDELIM2_MAXIMUM): New macro.
18017         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
18018         instead of the old practice of delim2==0.  All callers changed.
18019         Return -1 on overflow, instead of returning junk.
18020         Do not set *linesize unless allocation succeeds.
18021         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
18022         that we include sys/types.h.
18023         * lib/getnline.h: Likewise.
18024         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
18025         (getndelim2): Reorder arguments.
18026         * lib/getnline.c (getnline, getndelim):
18027         Don't discard the NMAX argument.
18028         (getnline): Invoke getndelim, to avoid code duplication.
18029         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
18030         of (size_t) -1 by callers of the getnline family.
18031
18032 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18033
18034         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
18035         Check for gettimeofday.
18036         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
18037         Check for settimeofday, stime.
18038
18039 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18040
18041         * lib/nanosleep.c (suspended): Change its type from int to
18042         sig_atomic_t volatile.
18043         (first_call): Make it private to rpl_nanosleep, and have it
18044         be zero initially as that's a bit faster.
18045         (my_usleep): Round up fractional times instead of truncating them,
18046         as this is the usual meaning for 'sleep'.
18047
18048         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
18049         doesn't work.
18050         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
18051         (ENOSYS): Define if not defined.
18052         (settime): Fall back on stime if it exists and settimeofday fails.
18053         But don't bother with fallbacks if a method fails with errno == EPERM.
18054
18055 2004-05-11  Jim Meyering  <jim@meyering.net>
18056
18057         Prior to this change, the save_cwd caller required read access to the
18058         current directory on most systems (ones with the fchdir function).
18059
18060         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
18061         fails, try write-only, and finally, resort to using xgetcwd.
18062
18063 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
18064
18065         * lib/obstack.c, obstack.h: Import changes from libc.
18066
18067 2004-04-28  Bruno Haible  <bruno@clisp.org>
18068
18069         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
18070         also implicitly appends .exe to executables.
18071         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
18072         accepts Windows pathnames.
18073         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
18074         Treat Cygwin like Windows, since it now accepts Windows pathnames.
18075         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
18076         Treat Cygwin like Windows, since it now accepts Windows pathnames.
18077         Reported by Derek Robert Price <derek@ximbiot.com>.
18078
18079 2004-04-21  Karl Berry  <karl@gnu.org>
18080
18081         * config/srclist.txt (localcharset.c): break sync.
18082
18083 2004-04-20  Paul Eggert  <eggert@twinsun.com>
18084
18085         * m4/host-os.m4: Add a copyright notice.
18086
18087 2004-04-20  Jim Meyering  <jim@meyering.net>
18088
18089         Change UTILS_ to gl_ in AC_DEFINE'd names.
18090         Change utils_- and jm_-prefixed variables, too.
18091         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
18092         UTILS_FUNC_MKDIR_TRAILING_SLASH.
18093         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
18094
18095         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
18096         Don't emit trailing blanks.
18097         Also rename jm_-prefixed variables to have gl_ prefix.
18098
18099         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
18100         Also rename jm_-prefixed variables to have gl_ prefix.
18101
18102         * m4/jm-macros.m4: Reflect the renamings.
18103         * m4/prereq.m4: Likewise.
18104
18105 2004-04-20  Jim Meyering  <jim@meyering.net>
18106
18107         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
18108         memory.
18109
18110 2004-04-20  Jim Meyering  <jim@meyering.net>
18111             Bruno Haible  <bruno@clisp.org>
18112
18113         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
18114         memory when realloc fails.
18115
18116 2004-04-19  Jim Meyering  <jim@meyering.net>
18117
18118         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
18119         now that readutmp.c may call `free (0)'.
18120
18121 2004-04-19  Bruno Haible  <bruno@clisp.org>
18122
18123         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
18124         * m4/inttypes_h.m4: Likewise.
18125         * m4/stdint_h.m4: Likewise.
18126         * m4/intmax_t.m4: Likewise.
18127         * m4/uintmax_t.m4: Likewise.
18128
18129 2004-04-18  Jim Meyering  <jim@meyering.net>
18130
18131         * m4/prereq.m4: Don't forbid jm_ prefix.
18132
18133         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
18134         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
18135         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
18136         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
18137         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
18138         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
18139         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
18140         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
18141         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
18142         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
18143         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
18144         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
18145         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
18146         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
18147         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
18148         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
18149         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
18150         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
18151         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
18152
18153 2004-04-18  Jim Meyering  <jim@meyering.net>
18154
18155         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
18156         failure, don't leak memory and do call END_UTMP_ENT.
18157
18158 2004-04-16  Jim Meyering  <jim@meyering.net>
18159
18160         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
18161         coreutils' stat program.
18162         (gl_PREREQ): Don't require jm_PREREQ_STAT.
18163
18164 2004-04-11  Paul Eggert  <eggert@twinsun.com>
18165
18166         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
18167         C89.
18168         (CHAR_BIT): Remove, since we assume C89.
18169         Include <stdint.h> if available, as per current Autoconf CVS advice.
18170
18171 2004-03-31  Jim Meyering  <jim@meyering.net>
18172
18173         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
18174         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
18175         * m4/xalloc.m4: Likewise.
18176
18177 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18178
18179         Merge from coreutils.
18180
18181         * m4/inttostr.m4: New file.
18182         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
18183         Require AM_STDBOOL_H and gl_TIMESPEC instead.
18184         Require gl_CLOCK_TIME.
18185         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
18186
18187 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18188
18189         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
18190         not bool, to be more consistent with Unix conventions.
18191         Suggested by Bruno Haible.
18192
18193         Merge from coreutils.
18194
18195         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
18196         * lib/umaxtostr.c: New files.
18197
18198         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
18199         the usual <time.h> dance.
18200         (get_date): Change signature to support fractional time stamps.
18201         All callers changed.
18202         * lib/getdate.y: Include "getdate.h" first, as we can now
18203         assume C89 and don't need to worry about 'const'.
18204         Similarly, include "unlocked-io.h" near start, not in middle.
18205         Include <limits.h>.
18206         (textint.value): Use long int rather than int.
18207         (textint.digits): Use size_t rather than int.
18208         (BILLION, LOG10_BILLION): New constants.
18209         (parser_control): New member rel_ns.  Members day_ordinal,
18210         time_zone, month, day, hour, minutes, rel_year, rel_month,
18211         rel_day, rel_hour, rel_minutes, rel_seconds
18212         are now long int, not int.  Member seconds is now struct timespec,
18213         not int.  New member timespec_seen.  Members dates_seen, days_seen,
18214         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
18215         not int.
18216         (%union.intval): Now long int, not int.
18217         New member timespec.
18218         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
18219         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
18220         (spec): Now is a timespec or an item list.
18221         (timespec, items): New nonterminals.
18222         (time, rel, relunit, number, get_date):
18223         Add support for fractional seconds.
18224         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
18225         (gmtime, localtime, mktime): Remove decls; not needed with C89.
18226         (to_hour): First arg is now long int, not int.
18227         (to_year): Returns long int, not int.
18228         Don't treat year -70 like 70.
18229         (tm_diff): Returns long int, not int.
18230         (lookup_word): Use bool instead of int when appropriate.
18231         (yylex): Use size_t for count, not int.
18232         Detect overflow when parsing large integer constants.
18233         Add support for fractions.
18234         (get_date): Make pointers 'const' if possible.
18235         Use more-portable code to detect integer overflow.
18236         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
18237         Don't use ctime; it's not reliable if the year has >4 digits.
18238
18239         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
18240         This is for compatibility with BSD.
18241
18242         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
18243         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
18244         From coreutils' system.h.
18245
18246         * lib/userspec.c: Don't include "posixver.h".
18247         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
18248         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
18249         compatible extension.  Simplify code by removing a boolean int
18250         that was always nonzero if a string was nonnull.
18251
18252 2004-03-30  Jim Meyering  <jim@meyering.net>
18253
18254         Merge from coreutils.
18255
18256         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
18257         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
18258         on some systems one must include <grp.h> before it.
18259         Reported by Christian Krackowizer.
18260
18261 2004-03-30  Jim Meyering  <jim@meyering.net>
18262
18263         Merge from coreutils.
18264
18265         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
18266
18267         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
18268         an empty input stream.
18269
18270         * lib/readtokens.c: Include <stdbool.h>.
18271         (readtoken): Use `size_t' rather than int/long.
18272         All callers adjusted.
18273         Use `bool' rather than `int' where appropriate.
18274         Use memset rather than an explicit loop.
18275         Use x2nrealloc rather than xrealloc.
18276         Allow the use of `\0' as a delimiter.
18277         (readtokens): Likewise.
18278         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
18279
18280 2004-03-30  Jim Meyering  <jim@meyering.net>
18281
18282         * m4/realloc.m4: Remove file, since now it does no more than
18283         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
18284         the `configure.ac' section of module/realloc.
18285         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
18286
18287 2004-03-30  Bruno Haible  <bruno@clisp.org>
18288
18289         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
18290         nonnull.
18291
18292 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18293
18294         Merge changes to getloadavg.c from coreutils and Emacs.
18295
18296         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
18297         Define to an expression, not to the empty string.
18298         Include cloexec.h and xalloc.h.
18299         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
18300         Use set_cloexec_flag rather than rolling our own.
18301         * lib/cloexec.c, lib/cloexec.h: New files.
18302
18303 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18304
18305         * m4/cloexec.m4: New file.
18306
18307 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18308
18309         * lib/getopt.h: Sync with libc CVS.
18310
18311 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18312             Bruno Haible  <bruno@clisp.org>
18313
18314         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
18315         mbswidth.
18316
18317 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18318             Bruno Haible  <bruno@clisp.org>
18319
18320         * lib/mbswidth.h: Include <wchar.h> only if
18321         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
18322         <wchar.h>.
18323         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
18324
18325 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18326
18327         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
18328         Sync with libc CVS.
18329         * lib/getopt_int.h: New file, also synced from libc.
18330
18331 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18332
18333         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
18334         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
18335         Bring back getopt.c, getopt.h, getopt1.c.
18336
18337 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18338
18339         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
18340         All uses changed.  Check for sa_sigaction member; this fixes
18341         a bug first reported by Jason Andrade in
18342         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18343
18344 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18345
18346         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
18347         '#if' expressions.  Unlike the code it replaces, it does not
18348         depend on (defined _SC_PAGESIZE).  However, it does depend on
18349         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
18350         first reported by Jason Andrade in
18351         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18352
18353 2004-02-25  Simon Josefsson  <jas@extundo.com>
18354
18355         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
18356
18357 2004-02-25  Simon Josefsson  <jas@extundo.com>
18358
18359         * lib/strdup.h: New file.
18360         * lib/strdup.c: Include it.
18361         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
18362         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
18363
18364 2004-02-23  Karl Berry  <karl@gnu.org>
18365
18366         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
18367         (from fencepost.gnu.org:/gd/gnuorg).
18368
18369 2004-02-23  Karl Berry  <karl@gnu.org>
18370
18371         * config/srclistvars.sh (GNUORG) [karl]: redefine.
18372         * config/srclist.txt: add maintain/standards documents.
18373
18374 2004-02-18  Bruno Haible  <bruno@clisp.org>
18375
18376         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
18377         Reported by Derek Robert Price <derek@ximbiot.com>.
18378
18379 2004-02-16  Karl Berry  <karl@gnu.org>
18380
18381         * config/mkinstalldirs, install-sh: update from automake.
18382
18383 2004-02-06  Karl Berry  <karl@gnu.org>
18384
18385         * m4/po.m4: update from gettext 0.14.1.
18386
18387 2004-02-06  Karl Berry  <karl@gnu.org>
18388
18389         * lib/config.charset: update from gettext 0.14.1.
18390
18391 2004-02-05  Paul Eggert  <eggert@twinsun.com>
18392
18393         Add comments and code, prompted by suggestions from Bruno Haible
18394         for sh-quote.
18395         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
18396         describing the enum quoting_style values.
18397         * lib/quotearg.c (quotearg_alloc): New function.
18398         (quotearg_buffer_restyled): Treat lone { and } as special.
18399         Treat = as special.  Work around bug with older shells
18400         that "see" a '\' that is really the 2nd byte of a multibyte char.
18401         Quote empty string with shell_quoting_style.
18402
18403 2004-02-03  Bruno Haible  <bruno@clisp.org>
18404
18405         * m4/pipe.m4: New file, from GNU gettext.
18406
18407 2004-02-03  Bruno Haible  <bruno@clisp.org>
18408
18409         * lib/pipe.h: New file, from GNU gettext.
18410         * lib/pipe.c: New file, from GNU gettext.
18411
18412 2004-01-27  Bruno Haible  <bruno@clisp.org>
18413
18414         * m4/execute.m4: New file, from GNU gettext.
18415
18416 2004-01-27  Bruno Haible  <bruno@clisp.org>
18417
18418         * lib/execute.h: New file, from GNU gettext.
18419         * lib/execute.c: New file, from GNU gettext.
18420         * lib/w32spawn.h: New file, from GNU gettext.
18421
18422 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18423
18424         Merge from diffutils.
18425
18426         * lib/file-type.c (file_type): Add typed memory objects.
18427         * lib/file-type.h (S_TYPEISTMO): New macro.
18428
18429         * lib/c-stack.h (c_stack_action): Remove argv argument.
18430         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
18431         (die): Don't calculate message unless segv_action returns.
18432         (get_stack_location, min_address_from_argv, max_address_from_argv,
18433         volatile stack_base, volatile_stack_size): Remove.
18434         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
18435         that every segmentation violation is a stack overflow.  (Ouch!)
18436         See Debian bug 136249 (still outstanding) for more info about why
18437         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
18438
18439 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18440
18441         Exit-status fix from coreutils.
18442
18443         Use exit_failure consistently in place of EXIT_FAILURE,
18444         so that program exit statuses are consistent on failure.
18445
18446         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
18447         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
18448         * lib/argmatch.h: Comment fix to match the above.
18449         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
18450         Now a macro referring to exit_failure, instead of a separate
18451         variable.  Include "exitfail.h" to get it.
18452         * lib/xstrtol.h: Include "exitfail.h".
18453         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
18454
18455         * lib/long-options.c (parse_long_options): Use prototype
18456         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
18457         for clarity.
18458
18459 2004-01-21  Jim Meyering  <jim@meyering.net>
18460
18461         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
18462         so as not to conflict with a different-sized __mktime_internal
18463         function in GNU libc.
18464         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
18465         Problem building statically-linked `ls' reported by Michael Brunnbauer.
18466
18467 2004-01-20  Karl Berry  <karl@gnu.org>
18468
18469         * config/config.guess: update from config.
18470
18471         * config/srclistvars.sh: GNUWWWLICENSES for karl.
18472
18473 2004-01-20  Bruno Haible  <bruno@clisp.org>
18474
18475         Safer stack allocation.
18476         * lib/setenv.c: Include allocsa.h.
18477         (alloca): Remove fallback definition.
18478         (freea): Remove macro.
18479         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
18480         instead of freea.
18481
18482 2004-01-20  Bruno Haible  <bruno@clisp.org>
18483
18484         * m4/eealloc.m4: New file, from GNU gettext.
18485
18486 2004-01-20  Bruno Haible  <bruno@clisp.org>
18487
18488         * m4/allocsa.m4: New file, from GNU gettext.
18489
18490 2004-01-20  Bruno Haible  <bruno@clisp.org>
18491
18492         * lib/xallocsa.h: New file, from GNU gettext.
18493         * lib/xallocsa.c: New file, from GNU gettext.
18494
18495 2004-01-20  Bruno Haible  <bruno@clisp.org>
18496
18497         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
18498
18499 2004-01-20  Bruno Haible  <bruno@clisp.org>
18500
18501         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
18502         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
18503         specially.
18504
18505 2004-01-20  Bruno Haible  <bruno@clisp.org>
18506
18507         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
18508         patch.
18509
18510 2004-01-20  Bruno Haible  <bruno@clisp.org>
18511
18512         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
18513
18514 2004-01-20  Bruno Haible  <bruno@clisp.org>
18515
18516         * lib/eealloc.h: New file.
18517
18518 2004-01-20  Bruno Haible  <bruno@clisp.org>
18519
18520         * lib/binary-io.h: Avoid warnings on Cygwin.
18521
18522 2004-01-20  Bruno Haible  <bruno@clisp.org>
18523
18524         * lib/allocsa.h: New file, from GNU gettext.
18525         * lib/allocsa.c: New file, from GNU gettext.
18526
18527 2004-01-18  Karl Berry  <karl@gnu.org>
18528
18529         * doc/gpl.texi, doc/lgpl.texi: new files.
18530
18531 2004-01-18  Karl Berry  <karl@gnu.org>
18532
18533         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
18534         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
18535
18536 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18537
18538         Merge from coreutils.
18539
18540         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
18541         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
18542         (gl_DEFAULT_POSIX2_VERSION): Move
18543         the documentation from 'configure' into 'config.hin',
18544         so that 'configure --help' isn't burdened by it and
18545         we don't have to worry about its formatting there.
18546         Reword the documentation so that it's more succinct
18547         and can be run together into a single paragraph.
18548         * m4/same.m4 (gl_SAME): Check for pathconf.
18549
18550 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18551
18552         Merge from coreutils.
18553
18554         * lib/posixver.c: Include posixver.h.
18555
18556         * lib/same.c: Include <stdbool.h>, <limits.h>.
18557         (_POSIX_NAME_MAX): Define if not defined.
18558         (MIN): New macro.
18559         (same_name): If file names are silently truncated, report
18560         that the file names are the same if they are the same after
18561         the silent truncation.
18562
18563         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
18564         conversion function.
18565         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
18566         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
18567         longer needed.
18568
18569 2004-01-15  Jim Meyering  <jim@meyering.net>
18570
18571         Merge from coreutils.
18572
18573         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
18574         if no library is required.
18575         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
18576         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
18577         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
18578         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
18579         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
18580         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
18581         value, $ac_cv_search_crypt, if it's "none required".
18582         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
18583         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
18584         not gl_FUNC_GETLOADAVG.
18585         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
18586         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
18587
18588 2004-01-15  Jim Meyering  <jim@meyering.net>
18589
18590         Merge from coreutils.
18591
18592         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
18593         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
18594         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
18595
18596         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
18597         optional configure-time default.
18598
18599         * lib/version-etc.c (version_etc_copyright): Update copyright date.
18600
18601         * lib/xreadlink.c (xreadlink): Correct outdated comment.
18602
18603 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
18604
18605         Merge from coreutils.
18606
18607         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
18608         value, $ac_cv_search_nanosleep, if it's "none required".
18609
18610 2004-01-14  Paul Eggert  <eggert@twinsun.com>
18611
18612         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
18613         with like-named macro in fnmatch.c.
18614         (EXT): Use an internal constant instead.
18615
18616         Merge fnmatch patches from glibc.
18617         * lib/fnmatch.c (mbsinit): Remove define.
18618         Add libc_hidden_ver (__fnmatch, fnmatch).
18619         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
18620         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
18621
18622 2004-01-14  Karl Berry  <karl@gnu.org>
18623
18624         * config/install-sh: update from automake.
18625
18626 2004-01-13  Karl Berry  <karl@gnu.org>
18627
18628         * config/install-sh: update from automake.
18629
18630 2004-01-09  Karl Berry  <karl@gnu.org>
18631
18632         * config/install-sh: update from automake.
18633
18634 2004-01-05  Karl Berry  <karl@gnu.org>
18635
18636         * config/config.{sub,guess}: update from config.
18637
18638 2003-12-31  Karl Berry  <karl@gnu.org>
18639
18640         * config/depcomp: update from automake.
18641
18642 2003-12-14  Karl Berry  <karl@gnu.org>
18643
18644         * lib/config.charset: update from gettext-runtime.
18645
18646 2003-12-03  Paul Eggert  <eggert@twinsun.com>
18647
18648         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
18649         Bug reported by Alfred M. Szmidt.
18650
18651 2003-12-03  Bruno Haible  <bruno@clisp.org>
18652
18653         * m4/gettext.m4: Upgrade from gettext-0.13.
18654         * m4/po.m4: Upgrade from gettext-0.13.
18655         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
18656         * m4/intmax.m4: New file, from gettext-0.13.
18657         * m4/printf-posix.m4: New file, from gettext-0.13.
18658
18659 2003-11-29  Karl Berry  <karl@gnu.org>
18660
18661         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
18662
18663 2003-11-25  Paul Eggert  <eggert@twinsun.com>
18664             Bruno Haible  <bruno@clisp.org>
18665
18666         * lib/printf-parse.h: Don't include sys/types.h.
18667         (ARG_NONE): New macro.
18668         (char_directive): Change type of *arg_index fields to size_t.
18669         * lib/printf-parse.c: Don't include sys/types.h.
18670         (SSIZE_MAX): Remove macro.
18671         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
18672         Remove unnecessary overflow check.
18673         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
18674         fields.
18675
18676 2003-11-25  Bruno Haible  <bruno@clisp.org>
18677
18678         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
18679
18680 2003-11-25  Bruno Haible  <bruno@clisp.org>
18681
18682         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
18683         gt_TYPE_SSIZE_T.
18684
18685 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18686
18687         * modules/alloca: Remove dependency on xalloc.
18688
18689 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18690
18691         * lib/alloca.c: Remove dependency on xalloc module.
18692         (xalloc_die): Remove.
18693         (memory_full) [!defined emacs]: New macro.
18694         [!defined emacs]: Don't include xalloc.h.
18695         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
18696         address arithmetic overflows.  Change datatypes a bit to avoid
18697         unnecessary casts.
18698
18699 2003-11-22  Jim Meyering  <jim@meyering.net>
18700
18701         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
18702         s/size/size_t/.
18703
18704 2003-11-21  Karl Berry  <karl@gnu.org>
18705
18706         * config/config.{sub,guess}: update from config.
18707
18708 2003-11-18  Karl Berry  <karl@gnu.org>
18709
18710         * config/config.{sub,guess}: update from config.
18711
18712         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
18713
18714 2003-11-17  Paul Eggert  <eggert@twinsun.com>
18715
18716         * README: Mention that S+T cannot overflow if S is the size of
18717         an existing object and T is sufficiently small.
18718
18719 2003-11-17  Jim Meyering  <jim@meyering.net>
18720
18721         On systems without utime and without a utimes function capable of
18722         dealing with a NULL struct utimbuf* argument, this utime replacement
18723         could -- in unusual circumstances -- leak a file descriptor.
18724         * lib/utime.c: Include <unistd.h> and <errno.h>.
18725         (utime_null): Be sure to close `fd' and to preserve errno.
18726         Reported by Geoff Collyer via Arnold Robbins.
18727
18728 2003-11-17  Bruno Haible  <bruno@clisp.org>
18729
18730         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
18731         (Depends-on): Add xsize.
18732
18733 2003-11-17  Bruno Haible  <bruno@clisp.org>
18734
18735         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
18736
18737 2003-11-17  Bruno Haible  <bruno@clisp.org>
18738
18739         * lib/vasnprintf.c (alloca): Remove fallback definition.
18740         (freea): Remove definition.
18741         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
18742         Reported by Paul Eggert.
18743
18744 2003-11-16  Paul Eggert  <eggert@twinsun.com>
18745             Bruno Haible  <bruno@clisp.org>
18746
18747         Protect against address arithmetic overflow.
18748         * lib/printf-args.h: Include stddef.h.
18749         (arguments): Change type of field 'count' to size_t.
18750         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
18751         'unsigned int' where appropriate.
18752         * lib/printf-parse.h: Include sys/types.h.
18753         (char_directive): Change type of *arg_index fields to ssize_t.
18754         (char_directives): Change type of fields 'count', max_*_length to
18755         size_t.
18756         * lib/printf-parse.c: Include sys/types.h and xsize.h.
18757         (SSIZE_MAX): Define fallback value.
18758         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
18759         instead of 'int' where appropriate. Check a_allocated, d_allocated
18760         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
18761         * lib/vasnprintf.c: Include xsize.h.
18762         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
18763         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
18764         overflow. Avoid wraparound when converting a width or precision from
18765         decimal to binary.
18766
18767 2003-11-16  Bruno Haible  <bruno@clisp.org>
18768
18769         Update from GNU gettext.
18770         * lib/printf-parse.c: Generalize to it can be compiled for wide
18771         strings.
18772         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
18773         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
18774         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
18775         SNPRINTF): New macros.
18776         Don't include <alloca.h> if the file is used inside libintl.
18777         (local_wcslen): New function, for Solaris 2.5.1.
18778         (VASNPRINTF): Use it instead of wcslen.
18779
18780 2003-11-16  Bruno Haible  <bruno@clisp.org>
18781
18782         * lib/xsize.h (xmax): New function.
18783         (xsum, xsum3, xsum4): Declare as "pure" functions.
18784
18785 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18786
18787         * modules/xalloc (Files): Undo latest change, since xalloc.h
18788         no longer needs SIZE_MAX or PTRDIFF_MAX.
18789
18790 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18791
18792         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
18793         gl_PTRDIFF_MAX.
18794
18795 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18796
18797         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
18798         "return", to pacify some unknown compiler.  Problem reported
18799         by Joerg Schilling.
18800
18801 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18802
18803         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
18804         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
18805         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
18806         heuristic is just as accurate as far as we know, and it removes a
18807         dependency on size_max.m4 and ptrdiff_max.m4.
18808
18809 2003-11-11  Bruno Haible  <bruno@clisp.org>
18810
18811         * modules/xsize (Files): Add m4/size_max.m4.
18812         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
18813
18814 2003-11-11  Bruno Haible  <bruno@clisp.org>
18815
18816         * m4/size_max.m4: New file.
18817         * m4/ptrdiff_max.m4: New file.
18818         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
18819         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
18820         (gl_XALLOC): Invoke it.
18821
18822 2003-11-11  Bruno Haible  <bruno@clisp.org>
18823
18824         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
18825         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
18826         defined.
18827
18828 2003-11-10  Paul Eggert  <eggert@twinsun.com>
18829
18830         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
18831         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
18832         rejected some allocations of exactly SIZE_MAX - 2 bytes.
18833         From Bruno Haible.
18834         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
18835         not (size_t) -1, since it's defined here.
18836
18837 2003-11-09  Karl Berry  <karl@gnu.org>
18838
18839         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
18840
18841 2003-11-06  Paul Eggert  <eggert@twinsun.com>
18842
18843         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
18844         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
18845         Reject sizes of exactly SIZE_MAX bytes.
18846         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
18847         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
18848
18849 2003-11-05  Bruno Haible  <bruno@clisp.org>
18850
18851         * lib/xsize.h: Include limits.h, to avoid a possible collision with
18852         SIZE_MAX defined in <limits.h> on Solaris.
18853
18854 2003-11-04  Jim Meyering  <jim@meyering.net>
18855
18856         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
18857         variable names, rather than @VAR@.
18858         * modules/poll: Likewise.
18859
18860 2003-11-04  Bruno Haible  <bruno@clisp.org>
18861
18862         * modules/xsize: New file.
18863         * modules/linebreak: Depend on xsize.
18864         * MODULES.html.sh (func_all_modules): Add xsize.
18865
18866 2003-11-04  Bruno Haible  <bruno@clisp.org>
18867
18868         * m4/xsize.m4: New file.
18869
18870 2003-11-04  Bruno Haible  <bruno@clisp.org>
18871
18872         * lib/xsize.h: New file.
18873         * lib/linebreak.c: Include xsize.h.
18874         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
18875         argument for overflow.
18876         Suggested by Paul Eggert.
18877
18878 2003-11-03  Karl Berry  <karl@gnu.org>
18879
18880         * config/config.{guess,sub}: update from config.
18881
18882 2003-11-03  Jim Meyering  <jim@meyering.net>
18883
18884         * modules/userspec (lib_SOURCES): Add userspec.h.
18885         (Include): Add "userspec.h".
18886         Improve description.
18887
18888 2003-11-03  Jim Meyering  <jim@meyering.net>
18889
18890         * lib/userspec.c: Include "userspec.h".
18891         * lib/userspec.h: New file.
18892
18893 2003-11-03  Bruno Haible  <bruno@clisp.org>
18894
18895         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
18896
18897 2003-11-03  Bruno Haible  <bruno@clisp.org>
18898
18899         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
18900         available, to avoid (extremely rare) race condition.
18901         Suggested by Paul Eggert.
18902
18903 2003-11-02  Karl Berry  <karl@gnu.org>
18904
18905         * config/srclist.txt (vasprintf.c): sync broken, sigh.
18906
18907 2003-10-31  Paul Eggert  <eggert@twinsun.com>
18908
18909         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
18910         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
18911         (read_filesystem_list): Set and use me_type_malloced.
18912         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
18913         whatever the type happens to be), for brevity and consistency.
18914         Check for size calculation overflow on Alphas running OSF/1.
18915
18916 2003-10-31  Jim Meyering  <jim@meyering.net>
18917
18918         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
18919
18920         * lib/linebuffer.c: Include <string.h> for declaration of memset.
18921
18922 2003-10-30  Paul Eggert  <eggert@twinsun.com>
18923             Bruno Haible  <bruno@clisp.org>
18924
18925         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
18926         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
18927
18928 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
18929
18930         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
18931         netbsd*-gnu*.  Suggested by Robert Millan.
18932
18933 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18934
18935         * modules/group-member: Depend on stdbool.
18936
18937 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18938
18939         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
18940
18941 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18942
18943         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
18944         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
18945         after the 'gnu' in these cases.  This fixes some bugs in the
18946         previous change, and is based on suggestions by Robert Millan.
18947
18948 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18949
18950         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
18951         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
18952         no longer needed.
18953         * lib/quotearg.c (quotearg_n_options): Use it.
18954         * lib/group-member.c: Include <stdbool.h>.
18955         (free_group_info): Arg is now const *; don't free arg.
18956         (get_group_info): Now returns bool and accepts struct group_info *,
18957         rather than returning a malloc'ed struct group_info *.
18958         All uses changed.  Check for overflow in internal size calculation.
18959
18960         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
18961         rather than xmalloc/xrealloc.
18962         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
18963         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
18964         conformance bug: the old code used a pointer after freeing the
18965         storage that it addressed.
18966         * lib/hash.c (hash_initialize): Simplify the code by using
18967         xalloc_oversized rather than doing it by hand.
18968         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
18969         the buffer preserved.  Use free and xmalloc instead.
18970         * lib/quotearg.c (quotearg_n_options): Likewise.
18971         Use a simpler test for size overflow.  Don't use xalloc_oversized
18972         because unsigned int might be wider than size_t (!); this suggests
18973         that we should switch from unsigned int to size_t for slot numbers.
18974
18975 2003-10-28  Paul Eggert  <eggert@twinsun.com>
18976
18977         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
18978         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
18979         NetBSD kernels.  Requested by Richard Stallman.
18980
18981 2003-10-27  Paul Eggert  <eggert@twinsun.com>
18982
18983         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
18984         to allocate the returned structure.  Do not allocate a subarray,
18985         as x2nrealloc will do that.
18986         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
18987         instead of xnrealloc.
18988         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
18989
18990 2003-10-27  Bruno Haible  <bruno@clisp.org>
18991
18992         * lib/stdbool_.h: Better support for BeOS.
18993
18994 2003-10-26  Paul Eggert  <eggert@twinsun.com>
18995
18996         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
18997         now uses inline.
18998
18999 2003-10-26  Paul Eggert  <eggert@twinsun.com>
19000
19001         * lib/xalloc.h (xalloc_oversized): New static inline function, for
19002         callers that want to do their own size-overflow checking.  Include
19003         <stdbool.h>, since xalloc_oversized returns bool.
19004         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
19005         to use xalloc_oversized.
19006
19007         Add two functions x2realloc, x2nrealloc, for programs that grow
19008         arrays dynamically by doubling their sizes.
19009         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
19010         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
19011         New functions.
19012
19013         Port to C99 semantics for 'inline' of external functions.
19014         Bug reported by Bruno Haible.
19015         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
19016         with the old contents of xnmalloc.
19017         (xnmalloc, xmalloc): Use it.
19018         (xnrealloc_inline): New static inline function,
19019         with the old contents of xnrealloc.
19020         (xnrealloc, xrealloc): Use it.
19021
19022         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
19023         that.
19024
19025 2003-10-26  Karl Berry  <karl@gnu.org>
19026
19027         * config/srclist.txt (COPYING.DOC): no longer available from
19028         /gd/gnuorg; don't know where the ultimate source is.
19029
19030 2003-10-25  Paul Eggert  <eggert@twinsun.com>
19031
19032         Fix several address-calculation bugs in the hash modules,
19033         plus some minor code cleanup.
19034
19035         * lib/hash.h: Include <stdbool.h>, for bool.
19036         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
19037         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
19038         hash_get_n_entries, hash_get_max_bucket_length,
19039         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
19040         hash_rehash): Use size_t rather than unsigned.
19041         * lib/hash.c (struct hash_table, hash_get_n_buckets,
19042         hash_get_n_buckets_used, hash_get_n_entries,
19043         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
19044         hash_get_entries, hash_do_for_each, hash_string, is_prime,
19045         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
19046         Likewise.
19047         (SIZE_MAX): Define if not defined.
19048         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
19049         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
19050         hash_print):
19051         Use const * when possible.
19052         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
19053         (check_tuning): Fix bug: if tuning parameters were very close to
19054         0 or 1, rounding errors could have caused subscript violations.
19055         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
19056         (hash_initialize): Add 'fail:' label
19057         to free table and return NULL, and use it to simplify code.
19058         Use calloc rather than clearing the storage ourself.
19059         (hash_initialize, hash_rehash): Check for arithmetic overflow in
19060         buffer size calculations.
19061         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
19062         Include <stddef.h>, for size_t.
19063         * lib/hash-pjw.c (hash_pjw): Likewise.
19064         Switch to method described by Bruno Haible.
19065         Include <limits.h>, for CHAR_BIT.
19066         (SIZE_BITS): New macro.
19067
19068 2003-10-23  Paul Eggert  <eggert@twinsun.com>
19069
19070         * m4/getline.m4 (AM_FUNC_GETLINE):
19071         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
19072         hosts.  Problem reported by Derek Robert Price in
19073         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
19074         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
19075         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
19076
19077 2003-10-21  Paul Eggert  <eggert@twinsun.com>
19078
19079         * lib/getndelim2.c (getndelim2): When size calculation overflows,
19080         ceiling the allocation at NMAX bytes rather than silently
19081         discarding input bytes before NMAX is reached.  This makes
19082         a difference only if NMAX exceeds SIZE_MAX / 2.
19083
19084         * lib/obstack.c: Merge from glibc.
19085         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
19086         Add libc_hidden_def (_obstack_newchunk).
19087         (_obstack_free) [! defined _LIBC]: Remove.
19088         [defined _LIBC]: Make a strong alias from obstack_free, rather than
19089         a clone of the function body.
19090         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
19091         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
19092
19093         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
19094         glibc.
19095         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
19096         arg to memcpy.
19097
19098         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
19099         (obstack_ptr_grow_fast, obstack_int_grow_fast):
19100         Don't use lvalue casts, as GCC plans to remove support for them
19101         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
19102         was also present in the non-GCC version, indicating that this
19103         code had always been buggy and had never been widely used.
19104         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
19105         Use the fast variant of each macro, rather than copying the
19106         definiens of the fast variant; that way, we'll be more likely to
19107         catch future bugs in the fast variants.
19108
19109 2003-10-20  Bruno Haible  <bruno@clisp.org>
19110
19111         * modules/wait-process: New file.
19112         * MODULES.html.sh (func_all_modules): Add wait-process.
19113
19114 2003-10-20  Bruno Haible  <bruno@clisp.org>
19115
19116         * m4/wait-process.m4: New file.
19117
19118 2003-10-20  Bruno Haible  <bruno@clisp.org>
19119
19120         * lib/wait-process.h: New file, from GNU gettext.
19121         * lib/wait-process.c: New file, from GNU gettext.
19122
19123 2003-10-19  Jim Meyering  <jim@meyering.net>
19124
19125         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
19126         HPUX 10.20.
19127
19128 2003-10-18  Karl Berry  <karl@gnu.org>
19129
19130         * config/config.guess: update from config.
19131
19132 2003-10-16  Paul Eggert  <eggert@twinsun.com>
19133
19134         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
19135         (getgroups): First arg is int, not size_t.
19136         Don't let 'free' mangle errno.
19137
19138 2003-10-16  Paul Eggert  <eggert@twinsun.com>
19139
19140         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
19141
19142 2003-10-16  Karl Berry  <karl@gnu.org>
19143
19144         * config/config.{guess,sub}: update from config.
19145
19146 2003-10-16  Jim Meyering  <jim@meyering.net>
19147
19148         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
19149         memcpy.
19150
19151 2003-10-15  Paul Eggert  <eggert@twinsun.com>
19152
19153         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
19154         (SIZE_MAX): Remove.
19155         (new_exclude, add_exclude_file): Initial size no longer needs to
19156         be a power of 2.
19157         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
19158         our own address arithmetic overflow checking.
19159
19160         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
19161         (fnmatch): Do not alloca more than 2000 wide characters;
19162         instead, use malloc for large buffers.
19163         Check for address arithmetic overflow, and return -1
19164         with errno set to ENOMEM in that case.
19165         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
19166         (NEW_PATTERN): Do not alloca more than 8000 bytes;
19167         instead, return -1.  Check for address arithmetic overflow.
19168
19169 2003-10-14  Paul Eggert  <eggert@twinsun.com>
19170
19171         Handle invalid suffixes and overflow independently, so that
19172         callers can treat them independently as needed.  Fix some bugs in
19173         suffix handling, e.g., "100k@" was not diagnosed as an invalid
19174         suffix for a human-readable blocksize.  The major caller-visible
19175         change is the addition of a new
19176         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
19177         that both overflow and suffix chars were found.
19178
19179         * lib/human.c (humblock): Don't check separately for invalid suffix
19180         char; that is xstrtoumax's job (now that its bug is fixed).
19181         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
19182         INTMAX_MAX]: New macros.
19183         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
19184         TYPE_MAXIMUM): New macros.
19185         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
19186         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
19187         if overflow occurs, as it's what __strtol does and it's more useful
19188         in practice.
19189         (__xstrtol): If __strtol reports some error other than ERANGE,
19190         reflect it to the caller as LONGINT_INVALID.  If it reports
19191         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
19192         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
19193         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
19194         value.
19195         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
19196         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
19197         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
19198         [defined UINTMAX_MAX]: New macros.
19199
19200 2003-10-14  Bruno Haible  <bruno@clisp.org>
19201
19202         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
19203
19204 2003-10-14  Bruno Haible  <bruno@clisp.org>
19205
19206         * m4/sig_atomic_t: New file, from GNU gettext.
19207         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
19208
19209 2003-10-14  Bruno Haible  <bruno@clisp.org>
19210
19211         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
19212         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
19213         Also use volatile where needed.
19214
19215 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19216
19217         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
19218         Change maintainer from Bruno Haible to 'all'.
19219
19220 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19221
19222         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
19223
19224 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19225
19226         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
19227         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
19228         and define in terms of the other primitives.
19229         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
19230         (SIZE_MAX): Define if not already defined.
19231         (array_size_overflow): New function.
19232         (xalloc_die): Abort instead of exiting if 'error' returns.
19233         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
19234         (xmalloc, xrealloc): Use them.
19235         (xcalloc): Check for address arithmetic overflow.
19236         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
19237         a bit faster than strcpy.
19238
19239 2003-10-10  Simon Josefsson  <jas@extundo.com>
19240
19241         * modules/argp (Depends-on): Add restrict and strcase.
19242
19243 2003-10-10  Simon Josefsson  <jas@extundo.com>
19244
19245         * m4/argp.m4: Add AC_C_INLINE.
19246
19247 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19248
19249         Merge getpass from libc, plus a few fixes.
19250
19251         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
19252         Include <stdbool.h>.
19253         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
19254         __fsetlocking to empty.
19255         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
19256         do include <bits/libc-lock.h>.
19257         Do not include <fcntl.h>; not needed.
19258         [_LIBC]: Include <wchar.h>.
19259         (NOTCANCEL_MODE): New macro.
19260         (flockfile, funlockfile) [_LIBC]: New macros.
19261         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
19262         [!_LIBC]: New macros.
19263         (call_fclose): New function.
19264         (getpass): Use it.  Save tty stream separately; this simplifies the
19265         code and makes it more reliable if stdin happens to equal stdout.
19266         Invoke __fsetlocking on tty.
19267         Handle thread cancellation if needed.
19268         Namespace cleanup (use __tcgetattr, __getline).
19269         Use bool for Booleans.
19270         [USE_IN_LIBIO]: Handle wide streams.
19271         [!_LIBC]: Unconditionally do the fseek, since we don't know what
19272         stream might go where.
19273
19274         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
19275         doesn't have to include <stdio.h> before us.
19276         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
19277         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
19278         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
19279         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
19280         if not declared, so that we can use getpass.c code from libc without
19281         rewriting it.
19282         (flockfile, ftrylockfile, funlockfile): New macros.
19283
19284 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19285
19286         * modules/getpass: Depend on stdbool.
19287
19288 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19289
19290         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
19291
19292 2003-10-07  Karl Berry  <karl@gnu.org>
19293
19294         * config/config.{guess,sub}: update from config.
19295
19296 2003-10-06  Jim Meyering  <jim@meyering.net>
19297             Bruno Haible  <bruno@clisp.org>
19298
19299         This lets translators provide better translations for the
19300         "Written by ..." part of --version output.
19301         * lib/version-etc.h: Include stdarg.h.
19302         (version_etc_copyright): Declare as readonly.
19303         (version_etc): Make this function variadic with a NULL-terminated list
19304         of author name strings.
19305         (version_etc_va): New declaration.
19306         * lib/version-etc.c: Include stdarg.h, stdlib.h.
19307         (version_etc_copyright): Declare as readonly.
19308         (version_etc_va): New function. Provide a different translatable string
19309         for each possible number of authors < 10. Abbreviate when there are 10
19310         authors or more.
19311         (version_etc): Make this function variadic. Call version_etc_va.
19312         Suggestion from Gary V. Vaughan.
19313
19314         * lib/long-options.h (parse_long_options): Change prototype: the
19315         authors string is moved to the end and becomes variadic.
19316         * lib/long-options.c: Include stdarg.h.
19317         (parse_long_options): Make this function variadic, too.
19318         Call version_etc_va, not version_etc.
19319
19320 2003-10-06  Bruno Haible  <bruno@clisp.org>
19321
19322         * modules/version-etc-2: Remove file.
19323         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
19324
19325 2003-10-06  Bruno Haible  <bruno@clisp.org>
19326
19327         * modules/fatal-signal: New file.
19328         * MODULES.html.sh (func_all_modules): Add fatal-signal.
19329
19330 2003-10-06  Bruno Haible  <bruno@clisp.org>
19331
19332         * m4/fatal-signal.m4: New file.
19333         * m4/signalblocking.m4: New file, from GNU gettext.
19334
19335 2003-10-06  Bruno Haible  <bruno@clisp.org>
19336
19337         * lib/version-etc-2.h: Remove file.
19338         * lib/version-etc-2.c: Remove file.
19339
19340 2003-10-06  Bruno Haible  <bruno@clisp.org>
19341
19342         * lib/fatal-signal.h: New file, from GNU gettext.
19343         * lib/fatal-signal.c: New file, from GNU gettext.
19344
19345 2003-10-05  Paul Eggert  <eggert@twinsun.com>
19346
19347         * README: Rework advice for preventing empty .o files.
19348         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
19349         not <sys/types.h>.
19350
19351 2003-10-04  Karl Berry  <karl@gnu.org>
19352
19353         * lib/argp*: update from libc.
19354
19355 2003-10-04  Karl Berry  <karl@gnu.org>
19356
19357         * config/config.{guess,sub}: update from config.
19358
19359 2003-10-02  Bruno Haible  <bruno@clisp.org>
19360
19361         * modules/lchown (Include): Add lchown.h.
19362         * modules/time_r (Include): Use "..." syntax.
19363         * modules/xgetdomainname (Include): Add xgetdomainname.h.
19364
19365 2003-10-01  Simon Josefsson  <jas@extundo.com>
19366
19367         * MODULES.html.sh (func_all_modules): Move gethostname from section
19368         'based on' to section 'lacking' POSIX:2001.
19369
19370 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
19371
19372         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
19373         to output mode on the same stream.
19374
19375 2003-09-29  Paul Eggert  <eggert@twinsun.com>
19376
19377         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
19378         Fix arg typo in previous patch.
19379
19380 2003-09-28  Jim Meyering  <jim@meyering.net>
19381
19382         * lib/error.c: Correct cpp indentation.
19383
19384 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19385
19386         * modules/free: New file.
19387
19388 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19389
19390         * m4/free.m4: New file.
19391
19392 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19393
19394         * lib/minmax.h (MIN, MAX)
19395         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
19396         Omit the special code that used __typeof__, since we worry that
19397         it could be more trouble than it's worth.  See:
19398         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
19399         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
19400
19401         * lib/free.c: New file.
19402
19403 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
19404
19405         Trivial fixes to Makefile.am parts of module listings.
19406         * modules/strstr: Append strstr.h to lib_SOURCES.
19407         * modules/strcase: Likewise, for strcase.h.
19408
19409 2003-09-27  Karl Berry  <karl@gnu.org>
19410
19411         * config/mkinstalldirs: update from automake.
19412
19413 2003-09-26  Paul Eggert  <eggert@twinsun.com>
19414
19415         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
19416         (error_tail): Do not loop, reallocating temporary buffer, since
19417         the output cannot contain more wide characters than the input
19418         contains bytes, the size must be big enough already.  This avoids
19419         one potential size overflow calculation.  Check for size overflow
19420         when calculating temporary buffer size.  Free temporary buffer
19421         when done, if it was allocated with malloc; this plugs a memory
19422         leak.  Remove casts from void * to pointers, that are no longer
19423         needed now that we're assuming C89 or better.
19424
19425         Merge error changes from glibc.
19426
19427         * lib/error.c, error.h: Update copyright notice header to match glibc.
19428         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
19429         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
19430         Disable cancellation while printing error.
19431         * lib/error.h: Prepend __ to parameter names.
19432
19433 2003-09-26  Jim Meyering  <jim@meyering.net>
19434
19435         * lib/error.c (error_tail): Move some declarations
19436         into inner scope where the local variables are used.
19437
19438 2003-09-26  Bruno Haible  <bruno@clisp.org>
19439
19440         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
19441         stpncpy().
19442         Don't define stpncpy through config.h; it's now done through stpncpy.h.
19443
19444 2003-09-26  Bruno Haible  <bruno@clisp.org>
19445
19446         * lib/stpncpy.h (gnu_stpncpy): New declaration.
19447         (stpncpy): Define as alias for gnu_stpncpy.
19448         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
19449
19450 2003-09-25  Simon Josefsson  <jas@extundo.com>
19451
19452         * lib/xgetdomainname.h: New file.
19453         * lib/xgetdomainname.c: New file.
19454
19455 2003-09-25  Simon Josefsson  <jas@extundo.com>
19456             Bruno Haible  <bruno@clisp.org>
19457
19458         * modules/getdomainname: New file.
19459         * modules/xgetdomainname: New file.
19460         * MODULES.html.sh (func_all_modules): Add getdomainname,
19461         xgetdomainname.
19462
19463 2003-09-25  Simon Josefsson  <jas@extundo.com>
19464             Bruno Haible  <bruno@clisp.org>
19465
19466         * m4/getdomainname.m4: New file.
19467
19468 2003-09-25  Simon Josefsson  <jas@extundo.com>
19469             Bruno Haible  <bruno@clisp.org>
19470
19471         * lib/getdomainname.h: New file.
19472         * lib/getdomainname.c: New file.
19473
19474 2003-09-25  Karl Berry  <karl@gnu.org>
19475
19476         * lib/argp-fmtstream.c, argp-help.c: update from libc.
19477
19478 2003-09-25  Karl Berry  <karl@gnu.org>
19479
19480         * config/install-sh: update from automake.
19481
19482 2003-09-25  Bruno Haible  <bruno@clisp.org>
19483
19484         * modules/version-etc-2: New file, from modules/version-etc with
19485         modifications.
19486         * MODULES.html.sh (func_all_modules): Add version-etc-2.
19487
19488 2003-09-25  Bruno Haible  <bruno@clisp.org>
19489
19490         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
19491         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
19492
19493 2003-09-24  Simon Josefsson  <jas@extundo.com>
19494
19495         * modules/xgethostname: Add xgethostname.h.
19496
19497 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19498
19499         * lib/linebuffer.c (freebuffer): Don't free the argument, just
19500         the buffer associated with the argument.  Bug reported by
19501         Simon Josefsson.
19502
19503 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19504
19505         * README: Document assumptions that 'int' is at least 32 bits
19506         wide, that integer arithmetic is 2's complement without overflow,
19507         that there are no holes in integer values, that adding sizes of
19508         two nonoverlapping objects can't overflow, and that all-bits-zero
19509         yields scalar zero.  Fix spelling and capitalization typos.
19510
19511 2003-09-19  Karl Berry  <karl@gnu.org>
19512
19513         * lib/argp.h: update from libc.
19514
19515 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19516
19517         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
19518         to avoid spurious warnings like "AC_RUN_IFELSE was called before
19519         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
19520
19521 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19522
19523         * gnulib-tool: Use "test -h", not "test -L", for portability
19524         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
19525         (tags_regexp): Remove, since \| doesn't conform to POSIX.
19526         (sed_extract_prog): Issue s commands one-by-one, rather than
19527         using \| in one s command.
19528
19529 2003-09-16  Paul Eggert  <eggert@twinsun.com>
19530
19531         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
19532         input error, instead of returning NULL the next time we are called
19533         (and therefore losing track of errno).
19534
19535 2003-09-16  Bruno Haible  <bruno@clisp.org>
19536
19537         * gnulib-tool (func_create_testdir): Warn about duplicated
19538         dependencies.
19539
19540 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19541
19542         * modules/argmatch, modules/fatal, modules/obstack,
19543         modules/xalloc, modules/xgethostname: Sort dependencies by
19544         importance, not alphabetically.
19545
19546 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19547
19548         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
19549         fails, so that the caller gets the proper errno.
19550
19551         * lib/readutmp.c (read_utmp): Likewise.
19552         Check for fstat error.  Close stream and free storage
19553         when failing.
19554
19555 2003-09-14  Karl Berry  <karl@gnu.org>
19556
19557         * config/srclist.txt (strdup.c): disable for c89 changes.
19558
19559 2003-09-14  Jim Meyering  <jim@meyering.net>
19560
19561         * lib/getloadavg.c: Correct cpp indentation.
19562         * lib/strdup.c: Likewise.
19563         * lib/vasnprintf.c: Likewise.
19564
19565 2003-09-14  Bruno Haible  <bruno@clisp.org>
19566
19567         * modules/fwriteerror: New file.
19568         * MODULES.html.sh (func_all_modules): Add fwriteerror.
19569
19570 2003-09-14  Bruno Haible  <bruno@clisp.org>
19571
19572         * lib/fwriteerror.h: New file.
19573         * lib/fwriteerror.c: New file.
19574
19575 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19576
19577         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
19578         modules/xgethostname, modules/xalloc: Depend on exit.
19579
19580 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19581
19582         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
19583
19584         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
19585         and AC_MINIX, too, so that their extensions are available.
19586
19587         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
19588         This macro has been superseded by gl_BACKUPFILE.
19589
19590         More patches to assume C89 or better.
19591
19592         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
19593
19594         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
19595         unconditionally.
19596         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
19597         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
19598         Include <string.h>, <stdlib.h> unconditionally.
19599         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
19600         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
19601         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
19602         headers or for string.h.
19603         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
19604         or strtoul.
19605
19606         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
19607         headers.
19608         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
19609         * m4/userspec.m4 (gl_USERSPEC): Likewise.
19610         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
19611         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
19612         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
19613         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
19614         memcpy, memset.
19615         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
19616         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
19617         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
19618         strtol.
19619         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
19620         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
19621         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
19622         strtoul.
19623
19624 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19625
19626         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
19627         * lib/obstack.c [!defined _LIBC]: Likewise.
19628         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
19629         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
19630         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
19631
19632         More changes to assume C89 or better.
19633
19634         * lib/error.c (error_tail): Assume vprintf.
19635
19636         * lib/argmatch.c (getenv): Remove decl.
19637         * lib/progreloc.c (get_full_program_name): Define via prototype.
19638         * lib/setenv.c (clearenv): Likewise.
19639         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
19640         needed.
19641         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
19642         (malloc, memcpy): Remove decls.
19643         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
19644         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
19645         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19646         (memcpy): Remove macro.
19647         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
19648         (__P): Remove.  All uses removed.
19649         (PTR): Remove.  All uses changed to void *.
19650         (CHAR_BIT, NULL): Remove.
19651         (spaces, zeros, memset_space, memset_zero)
19652         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
19653         Remove.
19654         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
19655         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
19656         Define with prototype.
19657         Remove now-unnecessary prototype decl.
19658         (extra_args_spec): Assume ANSI C.  All uses changed.
19659         (extra_args_spec_iso): Remove.
19660         (my_strftime, emacs_strftimeu): Define via prototype.
19661         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
19662         unconditionally.
19663         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
19664         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
19665         (strtoul, strtol): Remove decls.
19666         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
19667         LONG_MAX): Remove.
19668         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19669         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
19670         (LOCALE_PARAM_PROTO): New macro.
19671         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
19672         (INTERNAL (strtol), strtol): Define with a prototype.
19673         (PARAMS): Remove.  All uses removed.
19674         * lib/tempname.c: Include <string.h> unconditionally.
19675         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
19676         * lib/xgethostname.c (main): Define with a prototype.
19677         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
19678         Include <stdlib.h> unconditionally.
19679         (calloc, malloc, realloc, free): Remove decls.
19680         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
19681         Include <stdlib.h> unconditionally.  Sort include file names.
19682         (strtod): Remove.
19683         (xstrtod): Define with a prototype.
19684         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
19685         (strtol, strtoul): Remove decls.
19686
19687 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19688
19689         More patches to assume C89 or better.
19690         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
19691         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
19692         string.h, memchr, STDC_HEADERS.
19693
19694 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19695
19696         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
19697         Include <stdlib.h>, <string.h> unconditionally.
19698         Remove now-unnecessary cast to char *.
19699         * lib/strnlen.c: Include <string.h> unconditionally.
19700         * lib/yesno.c (yesno): Define with a prototype.
19701
19702 2003-09-11  Bruno Haible  <bruno@clisp.org>
19703
19704         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
19705
19706 2003-09-10  Jim Meyering  <jim@meyering.net>
19707
19708         * lib/error.c: Correct indentation of cpp directives.
19709
19710 2003-09-10  Bruno Haible  <bruno@clisp.org>
19711
19712         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
19713         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
19714         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
19715         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
19716         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
19717         <stdlib.h> and <string.h> checks.
19718         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
19719         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
19720
19721 2003-09-10  Bruno Haible  <bruno@clisp.org>
19722
19723         * lib/strcspn.c: Include <string.h> unconditionally.
19724         * lib/strpbrk.c: Include <string.h> unconditionally.
19725         * lib/strstr.c: Include <string.h> unconditionally.
19726         * lib/unicodeio.c: Include <string.h> unconditionally.
19727         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
19728         * lib/unsetenv.c: Likewise.
19729         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
19730         * lib/yesno.c: Include <stdlib.h> unconditionally.
19731         (rpmatch): Add prototype.
19732
19733 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19734
19735         More patches to assume C89 or better.
19736         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
19737         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
19738         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
19739         or for string.h.
19740         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
19741         stdlib.h.
19742         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
19743         C headers.
19744         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
19745         string.h.
19746         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
19747         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
19748         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
19749         or for string.h.
19750         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
19751         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
19752         C headers.
19753         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
19754         memcpy.
19755         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
19756         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
19757         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
19758         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
19759         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
19760         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
19761         string.h, free.
19762         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
19763         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
19764         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
19765         C headers, or for string.h.
19766         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
19767         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
19768         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
19769         headers, memory.h, stdlib.h, string.h, strings.h.
19770         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
19771         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
19772         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
19773         strchr.
19774         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
19775         headers, memory.h, string.h.
19776         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
19777         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
19778         free.
19779         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
19780         headers.
19781         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
19782         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
19783         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
19784         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
19785         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
19786
19787 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19788
19789         More K&R removal.
19790
19791         * lib/acosl.c (main): Use a prototype.
19792         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
19793         tanl.c: Likewise.
19794
19795         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
19796
19797         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
19798         (getopt, etopt_long, getopt_long_only, _getopt_internal)
19799         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
19800         with a prototype.
19801         * lib/getopt.c (const): Remove macro.
19802         Include <string.h> unconditionally.
19803         (my_index): Remove; all uses changed to strchr.
19804         (strlen): Remove decl.
19805         (exchange): Remove forward decl; no longer needed.
19806         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
19807         Define with prototype.
19808         * lib/getopt1.c (const): Remove macro.
19809         (getopt_long, getopt_long_only, main): Define with prototype.
19810
19811         * lib/getugroups.c: Include <string.h> unconditionally.
19812
19813         * lib/getusershell.c: Include <stdlib.h> unconditionally.
19814         (getusershell, setusershell, endusershell, readname, main):
19815         Define with prototypes.
19816
19817         * lib/group-member.c: Include group-member.h first.
19818         Include <stdlib.h> unconditionally.
19819
19820         * lib/hard-locale.c: Include hard-locale.h first.
19821         Include <stdlib.h>, <string.h> unconditionally.
19822
19823         * lib/hash.c (free, malloc): Remove decls.
19824         Include <stdlib.h> unconditionally.
19825
19826         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
19827         (getenv): Do not declare.
19828
19829         * lib/idcache.c: Include <string.h> unconditionally.
19830
19831         * lib/long-options.c: Include long-options.h first, to test interface.
19832         Include <stdlib.h> unconditionally.
19833
19834         * lib/makepath.c: Include makepath.h first, to test interface.
19835         Include <stdlib.h> and <string.h> unconditionally.
19836
19837         * lib/linebuffer.c: Include <stdlib.h>.
19838         (free): Remove decl.
19839
19840         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
19841         stddef.h. rpl_malloc returns void *, not char *.
19842         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
19843         prototype.
19844
19845         * lib/md5.h: Include <limits.h> unconditionally.
19846         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
19847         (__P): Remove; all uses removed.
19848         * lib/md5.c: Include "md5.h" first.
19849         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
19850         md5_buffer, md5_process_bytes, md5_process_block):
19851         Define with prototypes.
19852         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
19853         * lib/sha.c: Include "sha.h" first.
19854         Include <stdlib.h>, <string.h> unconditionally.
19855
19856         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
19857         * lib/memcmp.c (__ptr_t): Likewise.
19858         * lib/memrchr.c (__ptr_t): Likewise.
19859         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
19860         Include <string.h> unconditionally.
19861         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
19862         * lib/memchr.c: Include <stdlib.h> unconditionally.
19863         * lib/memchr.c (LONG_MAX): Remove.
19864         * lib/memrchr.c (LONG_MAX): Likewise.
19865         * lib/memchr.c (__memchr): Define via a prototype.
19866         * lib/memrchr.c (__memrchr): Likewise.
19867         * lib/memcmp.c (__P): Remove, and remove all uses.
19868         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
19869         Remove forward decls; no longer needed.
19870         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
19871         Use types required by C89 in prototype.
19872
19873         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
19874         * lib/savedir.c: Likewise.
19875         * lib/mkdir.c (free): Remove decl.
19876         * lib/rmdir.c (rmdir): Define with a prototype.
19877         * lib/savedir.c: Include savedir.h first, to test interface.
19878
19879         * lib/mktime.c (STDC_HEADERS): Remove.
19880         Include <stdlib.h>, <string.h> unconditionally.
19881
19882         * lib/modechange.c: Include <stdlib.h> unconditionally.
19883         (malloc): Remove decl.
19884
19885         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
19886         (free): Remove decl.
19887
19888         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
19889         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
19890         (This type really should be intptr_t, but that's a C99ism.)
19891         (_obstack_memcpy): Remove: all uses changed to memcpy.
19892         Include <string.h> unconditionally.
19893         (struct obstack): Assume __STDC__ for types of members
19894         chunkfun, freefun, extra_arg.
19895         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
19896         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
19897         obstack_begin, obstack_specify_allocation,
19898         obstack_specify_allocation_with_arg, obstack_chunkfun,
19899         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
19900         Remove unprototyped decls and the macros that use them.
19901         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
19902         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
19903         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
19904         (defined __STDC__ && __STDC__)]:
19905         Remove nonprototyped code.
19906         Include <stdlib.h> unconditionally.
19907         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
19908         _obstack_allocated_p, _obstack_free, obstack_free,
19909         _obstack_memory_used, print_and_abort):
19910         Define using prototypes.
19911         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
19912         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
19913         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
19914         obstack_next_free, obstack_object_size, obstack_room) [0]:
19915         Remove unused, unprototyped code.
19916
19917         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
19918
19919         * lib/physmem.c (physmem_total, physmem_available, main): Define
19920         with prototypes.
19921
19922         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
19923         (main): Define with a prototype.
19924
19925         * lib/posixver.c (getenv): Remove decl.
19926
19927         * lib/putenv.c (malloc): Returns void *, not char *.
19928         Include <string.h> unconditionally.
19929         (strchr, memcpy, NULL): Do not define.
19930
19931         * lib/readtokens.c: Include readtokens.h first, to test interface.
19932         Include <stdlib.h>, <string.h> unconditionally.
19933         (init_tokenbuffer): Define with a prototype.
19934
19935         * lib/regex.c (PARAMS): Remove.  All uses removed.
19936         All uses of _RE_ARGS removed, too.
19937         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
19938         unconditionally.
19939         (bzero): Assume memset exists.
19940         (memcmp, memcpy, NULL): Remove.
19941         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
19942         char, or assignments to local vars of type signed char.
19943         (init_syntax_once, PREFIX(extract_number_and_incr),
19944         PREFIX(print_partial_compiled_pattern),
19945         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
19946         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
19947         PREFIX(regex_grow_registers), PREFIX(regex_compile),
19948         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
19949         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
19950         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
19951         wcs_compile_range, byte_compile_range, truncate_wchar,
19952         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
19953         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
19954         count_mbs_length, wcs_re_match_2_internal,
19955         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
19956         PREFIX(alt_match_null_string_p),
19957         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
19958         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
19959         regfree, PREFIX(extract_number)): Define with prototype.  Remove
19960         now-unnecessary declaration, if any.
19961         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
19962         regcomp, regexec):
19963         Remove now-unnecessary casts among pointer types.
19964         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
19965
19966         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
19967         (free): Remove decl.
19968
19969         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
19970
19971         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
19972         (free): Remove decl.
19973
19974         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
19975         * lib/xgetcwd.c: Likewise.
19976
19977         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
19978         (free): Remove decl.
19979
19980         * lib/strchrnul.c (strchrnul): Define with a prototype.
19981         Fix bug: c_in was not converted to char before searching.
19982
19983         The following changes are not K&R related:
19984
19985         * lib/group-member.h: Include <sys/types.h>, so that this file is
19986         self-contained.
19987         * lib/makepath.h: Likewise.
19988
19989         * lib/getusershell.c (readname, default_index, line_size, readname):
19990         Use size_t, not int, for sizes.
19991         (readname): If the size overflows, report an error instead of
19992         looping forever.
19993
19994 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19995
19996         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
19997         libc.
19998
19999 2003-09-09  Paul Eggert  <eggert@twinsun.com>
20000
20001         * README: New section: portability guidelines.
20002
20003 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
20004
20005         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
20006         C89 spec.
20007
20008 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
20009
20010         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
20011
20012 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20013
20014         Assume C89 or better; remove K&R cruft.
20015         A few of these changes were first proposed by Derek Robert Price
20016         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
20017
20018         * lib/addext.c: Include <string.h> unconditionally.
20019         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
20020         Don't declare getenv or malloc.
20021
20022         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
20023         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
20024         (NULL): Remove.
20025         (find_stack_direction, alloca): Use prototypes.
20026
20027         * lib/atexit.c (atexit): Define using a prototype.
20028
20029         * lib/basename.c, dirname.c, stripslash.c:
20030         Include <string.h> unconditionally.
20031
20032         * lib/bcopy.c: Include <stddef.h>.
20033         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
20034
20035         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
20036
20037         * lib/error.h (error, error_at_line, error_print_progname)
20038         [! (defined (__STDC__) && __STDC__)]: Remove decls.
20039         * lib/error.c: Include error.h first, to check interface.
20040         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
20041         (VA_START): Remove; all uses changeed to va_start.
20042         (exit, strerror): Remove decls.
20043         (error_print_progname): Prototype uncondionally.
20044         Don't include <errno.h>; no longer needed.
20045         (private_strerror): Remove.
20046         (error_tail): Always define.
20047         (error, error_at_line): Assume C89 or better; always use prototypes.
20048         * lib/fatal.c: Include "fatal.h" first, to test interface.
20049         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
20050         (VA_START): Remove; all uses changed to va_start.
20051         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
20052         this case.
20053         (exit): Remove decl.
20054         (fatal): Prototype unconditionally.  Assume va_start works.
20055         Abort at end, to pacify gcc.
20056
20057         * lib/euidaccess.c (main): Define with a prototype.
20058
20059         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
20060
20061         * lib/exitfail.c: Include <stdlib.h> unconditionally.
20062
20063         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
20064         prototypes.
20065         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
20066         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
20067         (getenv): Remove decl.
20068         (fnmatch): Define using a prototype.
20069         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
20070         (FCT): Define using a prototype.
20071
20072         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
20073
20074         * lib/gethostname.c: Include <stddef.h>.
20075         (gethostname): Define with prototype.  Length is size_t, not int.
20076
20077 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20078
20079         Assume C89 or better; remove K&R cruft.
20080         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
20081         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
20082         string.h, getenv, malloc.
20083         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
20084         headers.
20085         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
20086         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
20087         do not check for strerror.
20088         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
20089         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
20090         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
20091         do not check for doprnt or vprintf.
20092         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
20093         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
20094
20095 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20096
20097         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
20098         getversion.c should have been removed then, but was accidentally
20099         preserved.
20100
20101         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
20102         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
20103
20104 2003-09-08  Karl Berry  <karl@gnu.org>
20105
20106         * config/config.sub, config.guess, srclistvars.sh: update from savannah
20107                 config, forget about prep.
20108
20109         * config/depcomp, missing: update from automake.
20110
20111 2003-09-07  Paul Eggert  <eggert@twinsun.com>
20112
20113         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
20114         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
20115
20116 2003-09-07  Paul Eggert  <eggert@twinsun.com>
20117
20118         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
20119         copy_tm_result.  Bug reported by Simon Josefsson in
20120         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
20121
20122 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20123
20124         * m4/time_r.m4: New file.
20125         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
20126         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
20127         is. Check for timegm declaration.
20128         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
20129         Do not check for gmtime_r.
20130         Replace mktime if __mktime_internal does not exist and if mktime
20131         hasn't been replaced already.
20132
20133 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20134
20135         * lib/time_r.c, lib/time_r.h: New files.
20136
20137         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
20138         __localtime_r.
20139         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
20140         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
20141
20142         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
20143         __gmtime_r.
20144         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
20145         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
20146         Include <time_r.h>.
20147
20148         * lib/timegm.c: Switch to glibc implementation, with the following
20149         changes:
20150         [defined HAVE_CONFIG_H]: Include <config.h>.
20151         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
20152         (__mktime_internal) [!defined _LIBC]: New decl.
20153         (__gmtime_r) [!defined _LIBC]: New macro and function.
20154         (timegm): Use a prototype, since gnulib assumes C89.
20155         Do not bother declaring tmp to be const, as it's not really usefu.
20156         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
20157         (timegm): Declare only if HAVE_DECL_TIMEGM.
20158
20159 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20160
20161         * MODULES.html.sh (func_all_modules): Add time_r.
20162         * modules/time_r: New file.
20163         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
20164         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
20165
20166 2003-09-03  Paul Eggert  <eggert@twinsun.com>
20167
20168         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
20169         Bug reported by Lute Kamstra in
20170         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
20171
20172         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
20173         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
20174         course with correspondingly smaller numbers for tomorrow and
20175         yesterday.  From Tadayoshi Funaba.  Originally installed into
20176         sh-utils on 1999-08-07, but the patch got lost (I guess during the
20177         coreutils merge?).
20178
20179 2003-08-31  Simon Josefsson  <jas@extundo.com>
20180
20181         * modules/timegm: New file.
20182         * MODULES.html.sh (func_all_modules): Add timegm.
20183
20184 2003-08-31  Simon Josefsson  <jas@extundo.com>
20185
20186         * m4/timegm.m4: New file.
20187
20188 2003-08-31  Simon Josefsson  <jas@extundo.com>
20189
20190         * lib/timegm.h: New file.
20191         * lib/timegm.c: New file.  Based on
20192         wget-1.8.2/src/http.c:mktime_from_utc.
20193
20194 2003-08-31  Karl Berry  <karl@gnu.org>
20195
20196         * lib/argp.h: update from libc.
20197
20198 2003-08-28  Bruno Haible  <bruno@clisp.org>
20199
20200         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
20201         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
20202         followed by '#define fnmatch fnmatch_posix' gives an error.
20203
20204 2003-08-28  Bruno Haible  <bruno@clisp.org>
20205
20206         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
20207         warning on QNX, which defines O_BINARY to 000000.
20208
20209 2003-08-27  Jim Meyering  <jim@meyering.net>
20210
20211         * m4/mkstemp.m4: Require that the system mkstemp be able to create
20212         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
20213         would fail after 32.  Reported by Danny Levinson.  Details here:
20214         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
20215
20216 2003-08-24  Bruno Haible  <bruno@clisp.org>
20217
20218         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
20219         MSVC7 <stdio.h> is included later.
20220
20221 2003-08-22  Simon Josefsson  <jas@extundo.com>
20222
20223         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
20224
20225 2003-08-20  Karl Berry  <karl@gnu.org>
20226
20227         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
20228
20229 2003-08-20  Bruno Haible  <bruno@clisp.org>
20230
20231         * modules/progname: New file.
20232         * MODULES.html.sh (func_all_modules): Add progname.
20233
20234 2003-08-20  Bruno Haible  <bruno@clisp.org>
20235
20236         * lib/progname.h: New file, from GNU gettext.
20237         * lib/progname.c: New file, from GNU gettext.
20238         * lib/progreloc.c: New file, from GNU gettext.
20239
20240 2003-08-19  Jim Meyering  <jim@meyering.net>
20241
20242         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
20243         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
20244
20245 2003-08-19  Bruno Haible  <bruno@clisp.org>
20246
20247         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
20248         more.
20249
20250 2003-08-19  Bruno Haible  <bruno@clisp.org>
20251
20252         * lib/xstrdup.c: Assume <string.h> exists.
20253
20254 2003-08-18  Paul Eggert  <eggert@twinsun.com>
20255
20256         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
20257         in makefile rules.
20258
20259 2003-08-18  Jim Meyering  <jim@meyering.net>
20260
20261         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
20262         * m4/lib-ld.m4: Likewise.
20263
20264 2003-08-18  Jim Meyering  <jim@meyering.net>
20265
20266         * lib/setenv.h: Indent nested cpp directive.
20267         * lib/vasnprintf.c: Remove trailing blanks.
20268
20269 2003-08-17  Simon Josefsson  <jas@extundo.com>
20270
20271         * modules/xstrndup: New file.
20272         * MODULES.html.sh (func_all_modules): Add xstrndup.
20273
20274 2003-08-17  Simon Josefsson  <jas@extundo.com>
20275
20276         * modules/argp: Fix autoconf macro name. Add more dependencies.
20277
20278 2003-08-17  Simon Josefsson  <jas@extundo.com>
20279
20280         * m4/xstrndup.m4: New file.
20281
20282 2003-08-17  Simon Josefsson  <jas@extundo.com>
20283
20284         * m4/argp.m4: New file.
20285
20286 2003-08-17  Simon Josefsson  <jas@extundo.com>
20287             Bruno Haible  <bruno@clisp.org>
20288
20289         * lib/xstrndup.h: New file.
20290         * lib/xstrndup.c: New file.
20291
20292 2003-08-17  Bruno Haible  <bruno@clisp.org>
20293
20294         * modules/strndup (Files, Include): Add lib/strndup.h.
20295
20296 2003-08-17  Bruno Haible  <bruno@clisp.org>
20297
20298         * modules/euidaccess (Files): Add lib/euidaccess.h.
20299
20300 2003-08-17  Bruno Haible  <bruno@clisp.org>
20301
20302         * lib/strndup.h: New file.
20303
20304 2003-08-17  Bruno Haible  <bruno@clisp.org>
20305
20306         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
20307         like AC_GNU_SOURCE.
20308         * modules/extensions (configure.ac): Comment out the invocation of
20309         gl_USE_SYSTEM_EXTENSIONS.
20310
20311 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20312
20313         Merges from coreutils, etc.
20314         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
20315         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
20316         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
20317         fixing a typo.
20318         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
20319         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
20320
20321 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20322
20323         Document merge from coreutils.
20324         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
20325         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
20326         * modules/utime: Add m4/utimes-null.m4.
20327
20328 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20329
20330         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
20331         space, undoing this 2003-08-12 change:
20332         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20333
20334 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20335
20336         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
20337         strtoul.c from libc, undoing this 2003-08-12 change:
20338         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20339
20340 2003-08-16  Jim Meyering  <jim@meyering.net>
20341
20342         Merges from coreutils.
20343         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
20344         prefix.  Adjust cache variables similarly.  Create 500 rather than
20345         just 300 files, to exercise bug on Darwin6.5, too.
20346         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
20347         $missing_dir.
20348         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
20349         AM_SYS_POSIX_TERMIOS.
20350         Reported by mkc@mathdogs.com.
20351         Also change use of $am_cv_sys_posix_termios
20352         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
20353         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
20354         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
20355         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
20356         in /proc/mounts until it finds one with matching device number.  This
20357         is unnecessary when the FILE argument *is* a mount point.  No stat call
20358         is necessary in that case.  So, disable the statvfs-testing code on
20359         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
20360         as RedHat bug# 84846.
20361         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20362         to 1MB, so as not to render systems with no stack size limit (e.g.,
20363         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20364         Include <unistd.h>.  On some systems,
20365         it is required for the definition of _SC_PAGESIZE.
20366
20367 2003-08-16  Jim Meyering  <jim@meyering.net>
20368
20369         Merge from coreutils.
20370         * lib/xstrtoimax.c: #else #if -> #elif.
20371         * lib/xstrtoumax.c: Likewise.
20372
20373 2003-08-16  Jim Meyering  <jim@meyering.net>
20374
20375         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
20376         * m4/utimes.m4: Removed.
20377         * m4/utimes-null.m4: Renamed from utimes.m4.
20378
20379         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20380         to 1MB, so as not to render systems with no stack size limit (e.g.,
20381         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20382         Include <unistd.h>.  On some systems,
20383         it is required for the definition of _SC_PAGESIZE.
20384
20385 2003-08-16  Jim Meyering  <jim@meyering.net>
20386         and Paul Eggert  <eggert@cs.ucla.edu>
20387
20388         Merges from coreutils, etc.
20389
20390         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
20391         using the latest version from cvs.  This avoids problems with #line
20392         directives using a vendor (Sun) compiler.
20393         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
20394         Don't set GETGROUPS_LIB here; now it's
20395         done via getgroups.m4's wrapper function.
20396         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
20397         rather than just in sh-util/configure.in, so that the
20398         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
20399         same.
20400         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
20401         AC_FUNC_GETLOADAVG where to find getloadavg.c.
20402         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
20403         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
20404         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
20405         Remove code that is now done by the newly-required macros.
20406         Append $(EXEEXT) to DF_PROG.
20407         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
20408         Do not invoke or require the following here,
20409         since prereq.m4 or some gnulib .m4 now does this for us:
20410         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
20411         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
20412         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
20413         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
20414         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
20415         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
20416         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
20417         AC_FUNC_OBSTACK.
20418         Do not replace the following functions, as this is now the job
20419         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
20420         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
20421         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
20422         atexit getpass, strdup, getpagesize.
20423         Replace 'raise'.
20424         Do not check for the following functions, as this is now the job
20425         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
20426         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
20427         setregid.
20428         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
20429         Check for sys/sysctl.h.
20430         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
20431         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
20432         of checking for ssize_t ourselves.
20433
20434         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
20435         Require every macro that gnulib/modules/* suggests for us.
20436         (jm_PREREQ_ADDEXT): New macro.
20437         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
20438         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
20439
20440         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
20441         (gl_PHYSMEM): Use it.
20442         Also check for `table' function.
20443         Check for new headers and functions.
20444         Add check for sys/sysmp.h.
20445         With suggestions from Kaveh Ghazi.
20446         Ignore headers that are present but cannot be compiled.  This
20447         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
20448         C 5.4.
20449
20450 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20451
20452         Document merge from coreutils.
20453         * modules/userspec: Depend on posixver.
20454         * modules/strftime: Depend on tzset.
20455
20456 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20457
20458         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
20459         rather than tab, after '#' in shell-script copyright notices.
20460         Suggested by Bruno Haible.
20461
20462 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20463
20464         * config/srclist-update: Use three spaces, rather than tab, after '#'
20465         in shell-script copyright notices.  Suggested by Bruno Haible.
20466         Remove unnecessary parenthesization in regular expression.
20467
20468 2003-08-15  Jim Meyering  <jim@meyering.net>
20469
20470         Merge from coreutils.
20471         * lib/xgethostname.c: Include <stdlib.h>.
20472         (xghostname): Don't exit for anything other than memory-related
20473         failure; just return NULL.
20474         * lib/userspec.c: Include "posixver.h".
20475         (parse_user_spec): Accept `.' as a separator only
20476         in pre-POSIX-200112 mode.
20477         * lib/strtoimax.c: Use #elif rather than #else #if.
20478         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
20479         Remove function, now that we can rely on a working tzset function.
20480         [!_LIBC]: Ensure that the required autoconf test has been run.
20481         [!defined _NL_CURRENT && HAVE_STRFTIME]:
20482         Use underlying_strftime for %r.
20483         * lib/sha.c: Merge in some clean-up and optimization changes from
20484         glibc.
20485         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
20486         Ensure that it is a multiple of 64.
20487         Rearrange loop exit tests so as to avoid performing an
20488         additional fread after encountering an error or EOF.
20489         * lib/realloc.c: Update copyright date.
20490
20491 2003-08-15  Jim Meyering  <jim@meyering.net>
20492         and Paul Eggert  <eggert@twinsun.com>
20493
20494         Merge from coreutils.
20495         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
20496         member but strut utmpx does not.  Needed for AIX 4.3.3.
20497         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
20498
20499 2003-08-15  Jim Meyering  <jim@meyering.net>
20500         and Paul Eggert  <eggert@cs.ucla.edu>
20501
20502         Merges from coreutils, etc.
20503         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
20504         Require gl_FUNC_TZSET_CLOBBER.
20505         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
20506         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
20507         members.
20508
20509 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20510
20511         Help the merge from coreutils.
20512         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
20513         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
20514         * m4/tzset.m4: Use it too.
20515
20516 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20517
20518         * modules/tzset: New file.
20519
20520 2003-08-14  Jim Meyering  <jim@meyering.net>
20521
20522         Merges from coreutils.
20523         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
20524         variable names, rather than @FNMATCH_H@.
20525         * modules/alloca: Likewise for $(ALLOCA_H).
20526
20527         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
20528         the three copies of the literal target, `fnmatch.h'.
20529         * modules/alloca (alloca.h): Likewise.
20530
20531 2003-08-14  Jim Meyering  <jim@meyering.net>
20532
20533         Merge from coreutils.
20534         * m4/tzset.m4: New file.
20535         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
20536         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
20537         otherwise, AIX 5.1 systems would end up using the latter.
20538         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
20539         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
20540         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
20541         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
20542
20543 2003-08-14  Jim Meyering  <jim@meyering.net>
20544
20545         Merge from coreutils.
20546         * lib/obstack.h: Whitespace changes.
20547         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
20548         and xcalloc return values.
20549         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
20550         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
20551         hang on OSF/1 5.1 for DIR on both local and remote file systems.
20552         Reported by (and fix confirmed by) Nelson H. F. Beebe.
20553         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
20554         error from mntctl.
20555         Use mntctl's return value to drive the entry-processing loop, since
20556         we can't rely on the value of the vmt_length member in the last
20557         entry.  On some systems doing so could result in exhausting
20558         virtual memory.  Based in part on a patch from Mike Jetzer.
20559
20560 2003-08-14  Jim Meyering  <jim@meyering.net>
20561         and Paul Eggert  <eggert@twinsun.com>
20562
20563         Merges from coreutils, plus other fixes.
20564         * lib/physmem.c: Merge in portability changes from gcc/libiberty
20565         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
20566         for credits and details.  Thanks to Kaveh Ghazi for helping
20567         to keep these files in sync.
20568         (ARRAY_SIZE): Define it.
20569         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
20570         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
20571         (memcasecmp): Don't assume size_t fits in unsigned int.
20572         Remove casts and duplicate code.
20573         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
20574         (memcpy): Remove definition.
20575         Merge in some clean-up and optimization changes from glibc.
20576         [BLOCKSIZE]: Move definition to top of file.
20577         Ensure that it is a multiple of 64.
20578         Rearrange loop exit tests so as to avoid performing an
20579         additional fread after encountering an error or EOF.
20580         * lib/md5.h (md5_uintptr): Define.
20581         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
20582         return to the initial working directory.  Preserve errno
20583         for caller.
20584         * lib/idcache.c: Include "xalloc.h".
20585         (xmalloc, xrealloc): Remove decls.
20586         (getuser): Remove casts no longer required in C89.
20587         * lib/human.c: Include stdio.h, for sprintf.
20588         * lib/group-member.c: Include "xalloc.h".
20589         (xmalloc, xrealloc): Remove decls.
20590         (get_group_info): Remove casts no longer required in C89.
20591         * lib/getusershell.c (readname): Remove casts no longer required in
20592         C89.
20593         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
20594         * lib/getline.c: Whitespace fix, from coreutils.
20595
20596 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20597
20598         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
20599         Check for isascii.
20600
20601         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20602         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20603         Undo previous (whitespace-only) change.
20604
20605 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20606
20607         * lib/exclude.c: Include <ctype.h>
20608         (IN_CTYPE_DOMAIN): New macro.
20609         (is_space): New fn.
20610         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
20611         and empty lines.
20612
20613         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20614         Undo previous (whitespace-only) change.
20615
20616 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20617
20618         * config/srclist-update: Change update back to the old behavior,
20619         leaving whitespace alone.  Use one 'sed' command rather than a
20620         pipeline.
20621         (fixlicense): Now a variable, not a function.
20622         (remove_trailing_blanks): Remove.
20623         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
20624         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20625         Undo previous (whitespace-only) change.
20626
20627 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20628
20629         Merge from coreutils.
20630         * modules/euidaccess: Add lib_SOURCES, include for new
20631         file euidaccess.h
20632
20633 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20634
20635         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20636         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20637         Normalize leading white space and remove trailing white space.
20638
20639         Merge from coreutils
20640         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
20641
20642         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
20643         0.12.1.  These files are now being upgraded automatically by
20644         ../config/srclist-update.
20645
20646 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20647
20648         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20649         Normalize leading white space and remove trailing white space.
20650         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
20651         notice, as per ../config/srclist-update.
20652
20653         Merge from coreutils.
20654         * lib/euidaccess.h: New file.
20655         * lib/euidaccess.c: Include it.
20656         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
20657         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
20658         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
20659
20660 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20661
20662         * config/srclist-update: Add copyright notice.
20663         (remove_id_lines, remove_trailing_blanks): New constants.
20664         (fixfile): Use them to normalize spacing a bit in copied files.
20665         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20666         Normalize leading white space and remove trailing white space.
20667
20668         * config/texinfo.tex: Sync with texinfo.
20669
20670         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
20671         strtoul.c from libc, to merge coreutils whitespace changes.
20672
20673         * config/srclist.txt: Get the following m4 files from gettext:
20674         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
20675         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
20676         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
20677         wint_t.m4.
20678
20679 2003-08-12  Karl Berry  <karl@gnu.org>
20680
20681         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
20682         been made.
20683
20684 2003-08-11  Paul Eggert  <eggert@twinsun.com>
20685
20686         * modules/gnu-source, m4/gnu-source.m4:
20687         Remove; we're assuming Autoconf 2.54 or later now.
20688         Suggested by Bruno Haible.
20689         * MODULES.html.sh (func_all_modules): Remove gnu-source.
20690
20691 2003-08-11  Bruno Haible  <bruno@clisp.org>
20692
20693         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
20694
20695 2003-08-11  Bruno Haible  <bruno@clisp.org>
20696
20697         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
20698         (vasnprintf): Use it instead of wcslen.
20699
20700 2003-08-11  Bruno Haible  <bruno@clisp.org>
20701
20702         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
20703         value to ensure that _Bool promotes to int. Use #define for _Bool when
20704         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
20705
20706 2003-08-10  Karl Berry  <karl@gnu.org>
20707
20708         * lib/regex.h: update from libc (whitespace fix).
20709
20710 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20711
20712         Merge some files from coreutils.  These changes were
20713         originally made by Jim Meyering.
20714         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
20715         many older Unixes require this.
20716         * lib/alloca.c (alloca): Remove cast to argument of free;
20717         no longer needed in C89.
20718         * lib/alloca_.h, regex.h: Fix white space to match
20719         what GNU indent does.
20720
20721 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20722
20723         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
20724         apparently Emacs's Unicode mode got confused before my 2003-08-05
20725         checkin.
20726
20727 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20728
20729         * m4/extensions.m4: New file.
20730         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
20731         Require gl_USE_SYSTEM_EXTENSIONS.
20732         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
20733         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
20734
20735 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20736
20737         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
20738         * modules/extensions, modules/gnu-source: New files.
20739         * modules/timespec, modules/unlocked-io: Depend on extensions.
20740
20741 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20742
20743         * modules/restrict: New file.
20744         * MODULES.html.sh (func_all_modules): Add restrict.
20745         * modules/regex: Depend on restrict.
20746
20747 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20748
20749         * m4/restrict.m4: New file.
20750         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
20751
20752 2003-08-07  Bruno Haible  <bruno@clisp.org>
20753
20754         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
20755         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
20756
20757 2003-08-07  Bruno Haible  <bruno@clisp.org>
20758
20759         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
20760         makes the module 'getndelim2' compatible with the module 'getline'.
20761
20762 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20763
20764         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
20765         byte with "\201" to avoid glitches when editing that source file
20766         with multi-gnome-terminal.
20767
20768 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20769
20770         * lib/bumpalloc.h: Remove.
20771
20772 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20773
20774         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
20775         * modules/bumpalloc: Remove.
20776
20777 2003-08-04  Paul Eggert  <eggert@twinsun.com>
20778
20779         * lib/getloadavg.c: Change copyright notice and spacing to conform to
20780         GNU coding style.
20781
20782         Merge from coreutils.
20783         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
20784         1. From glibc.
20785         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
20786         from Karl Berry, implemented by Jim Meyering.
20787         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
20788         from Dmitry V. Levin.
20789         Remove anachronistic cast of xrealloc.
20790         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
20791         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
20792         type. Otherwise, it wouldn't compile with at least /bin/cc on
20793         ymp-cray-unicos9.0.2.X.
20794         Combine two mostly-identical uses of alloca into one.
20795         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
20796
20797 2003-08-04  Dave Love  <d.love@dl.ac.uk>
20798
20799         [From Emacs.]
20800
20801         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
20802         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
20803         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
20804         obsolete NLIST_NAME_UNION.
20805         [__GNU__]: Undef BSD and FSCALE.
20806         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
20807
20808 2003-08-03  Paul Eggert  <eggert@twinsun.com>
20809
20810         * lib/stdbool_.h (_Bool): Make it signed char, instead of
20811         an enum type, so that it's guaranteed to promote to int.  See:
20812         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
20813
20814 2003-08-03  Karl Berry  <karl@gnu.org>
20815
20816         * config/depcomp: update from automake.
20817
20818 2003-07-31  Paul Eggert  <eggert@twinsun.com>
20819
20820         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
20821         (strerror): Don't assume that a printable int fits in 14 bytes.
20822
20823 2003-07-31  Bruno Haible  <bruno@clisp.org>
20824
20825         * modules/getpass-gnu: New file.
20826         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
20827
20828 2003-07-31  Bruno Haible  <bruno@clisp.org>
20829
20830         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
20831
20832 2003-07-24  Karl Berry  <karl@gnu.org>
20833
20834         * config/missing: update from automake.
20835
20836 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
20837             Bruno Haible  <bruno@clisp.org>
20838
20839         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
20840         * lib/getline.c (getline, getdelim): Likewise.
20841         Remove _GNU_SOURCE define; now it's defined in config.h through
20842         m4/getline.m4.
20843
20844 2003-07-23  Karl Berry  <karl@gnu.org>
20845
20846         * config/config.sub: update from prep.
20847
20848 2003-07-22  Paul Eggert  <eggert@twinsun.com>
20849
20850         * modules/xalloc (Depends-on): Add exitfail.
20851         * modules/xmemcoll: Likewise.
20852
20853 2003-07-22  Paul Eggert  <eggert@twinsun.com>
20854
20855         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
20856         over-parenthesization in macros.
20857
20858         Sync with coreutils.
20859
20860         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
20861         required by C99.
20862
20863         Use `exit_failure' for xalloc and xmemcoll instead of their own
20864         private exit-failure variables.
20865         * lib/xalloc.h (xalloc_exit_failure): Remove.
20866         * lib/xmalloc.c: Likewise.  Include exitfail.h.
20867         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
20868         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
20869         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
20870         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
20871
20872 2003-07-20  Jim Meyering  <jim@meyering.net>
20873
20874         * modules/closeout (Depends-on): Add exitfail.
20875         Suggestion from Bruno Haible.
20876
20877 2003-07-19  Karl Berry  <karl@gnu.org>
20878
20879         * config/config.sub: update from prep.
20880
20881 2003-07-18  Paul Eggert  <eggert@twinsun.com>
20882
20883         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
20884         Remove.
20885         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
20886         to test that it can stand by itself.  Include "exitfail.h".
20887         Clients should set exit_failure instead.
20888         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
20889
20890 2003-07-18  Bruno Haible  <bruno@clisp.org>
20891
20892         * modules/getndelim2: New file.
20893         * modules/getline: Share files with module getndelim2.
20894         * modules/getnline: Depend on getndelim2 instead of sharing files with
20895         it. Add getnline.c to lib_SOURCES.
20896         * MODULES.html.sh (func_all_modules): Add getndelim2.
20897
20898 2003-07-18  Bruno Haible  <bruno@clisp.org>
20899
20900         * m4/getndelim2.m4: New file.
20901         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
20902         invoke gl_PREREQ_GETNDELIM2.
20903         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
20904         gl_PREREQ_GETNDELIM2.
20905         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
20906         gl_GETNDELIM2.
20907
20908 2003-07-18  Bruno Haible  <bruno@clisp.org>
20909
20910         * lib/getndelim2.h: New file.
20911         * lib/getndelim2.c: Make into a module of its own. Include config.h,
20912         getndelim2.h.
20913         (getndelim2): Make non-static. Change return type to ssize_t.
20914         * lib/getline.h: Change argument names.
20915         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
20916         * lib/getnline.c: Include getndelim2.h.
20917
20918 2003-07-18  Andreas Schwab  <schwab@suse.de>
20919
20920         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
20921
20922 2003-07-17  Karl Berry  <karl@gnu.org>
20923
20924         * config/config.sub: update from prep.
20925
20926 2003-07-17  Bruno Haible  <bruno@clisp.org>
20927
20928         * modules/getnline: New file.
20929         * modules/getline: Add lib/getndelim2.c to source file list.
20930         * MODULES.html.sh (func_all_modules): Add getnline.
20931
20932 2003-07-17  Bruno Haible  <bruno@clisp.org>
20933
20934         * m4/getnline.m4: New file.
20935
20936 2003-07-17  Bruno Haible  <bruno@clisp.org>
20937
20938         * m4/Makefile.am.in: Remove file.
20939         * m4/Makefile.am: Remove file.
20940         * m4/Makefile.in: Remove file.
20941
20942 2003-07-17  Bruno Haible  <bruno@clisp.org>
20943
20944         * lib/getnline.h: New file.
20945         * lib/getnline.c: New file.
20946         * lib/getndelim2.c: New file, extracted from getline.c.
20947         (getndelim2): Renamed from getdelim2, with added nmax argument.
20948         * lib/getline.c: Include getndelim2.c.
20949         (getdelim2): Moved out to getndelim2.c.
20950         (getline, getdelim): Update.
20951
20952 2003-07-17  Bruno Haible  <bruno@clisp.org>
20953
20954         * lib/Makefile.am: Remove file.
20955         * lib/Makefile.in: Remove file.
20956
20957 2003-07-17  Bruno Haible  <bruno@clisp.org>
20958
20959         * configure.in: Remove file.
20960         * Makefile.in: Remove file.
20961
20962 2003-07-17  Bruno Haible  <bruno@clisp.org>
20963
20964         * MODULES.html.sh: Put the </BODY> right before </HTML>.
20965
20966 2003-07-16  Karl Berry  <karl@gnu.org>
20967
20968         * config/srclist-update: was running fixlicense twice, which caused
20969                 texinfo.tex to be nullified for some reason.  Simplify,
20970                 $gplsrc is no longer needed as far as I can see?
20971
20972 2003-07-16  Jim Meyering  <jim@meyering.net>
20973
20974         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
20975
20976 2003-07-15  Paul Eggert  <eggert@twinsun.com>
20977
20978         * config/srclist.txt: Get the following files from gettext-runtime/intl
20979         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
20980         ref-del.sin.  From Bruno Haible.
20981         * config/srclist-update (fixfile): Change grep pattern again, since the
20982         previous fix didn't work (there was another trailing $).  Use
20983         '[$]' to escape the $s.
20984
20985 2003-07-15  Karl Berry  <karl@gnu.org>
20986
20987         * lib/vasnprintf.c: update from gettext.
20988
20989 2003-07-15  Karl Berry  <karl@gnu.org>
20990
20991         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
20992         gets expanded when surrounded by '$'.
20993
20994 2003-07-15  Jim Meyering  <jim@meyering.net>
20995
20996         * modules/save-cwd: Don't depend on error.  From Derek Price.
20997
20998 2003-07-15  Jim Meyering  <jim@meyering.net>
20999
21000         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
21001
21002 2003-07-14  Simon Josefsson  <jas@extundo.com>
21003
21004         * modules/mempcpy: New file.
21005         * MODULES.html.sh (func_all_modules): Add mempcpy.
21006
21007 2003-07-14  Simon Josefsson  <jas@extundo.com>
21008
21009         * m4/mempcpy.m4: New file.
21010
21011 2003-07-14  Simon Josefsson  <jas@extundo.com>
21012
21013         * lib/mempcpy.h: New file.
21014         * lib/mempcpy.c: New file.
21015
21016 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21017
21018         * modules/getdate, modules/posixtm: Depend on mktime.
21019
21020 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21021
21022         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
21023         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
21024         unicodeio.c, unicodeio.h, unlocked-io.h:
21025         Switch from LGPL to GPL.
21026
21027 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21028
21029         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
21030         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
21031         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
21032         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
21033         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
21034         updated automatically by ../config/srclist-update.  This changes
21035         their license from LPGL to GPL.
21036
21037 2003-07-14  Paul Eggert  <eggert@twinsun.com>
21038
21039         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
21040         assumed to refer to the root of the most recent stable gettext version.
21041         * config/srclistvars.sh: Add defaults for eggert.
21042         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
21043         Match "This program" as well as "The program".  This is needed
21044         for gettext.
21045
21046 2003-07-14  Jim Meyering  <jim@meyering.net>
21047
21048         Don't emit diagnostics.  Let callers do that.
21049         * lib/save-cwd.c: Don't include "error.h".
21050         (save_cwd): Don't call error.  Ensure that errno is valid
21051         when returning nonzero.
21052
21053         * lib/save-cwd.h (restore_cwd): Update prototype.
21054         * lib/save-cwd.c (restore_cwd): Remove two parameters.
21055         Simplify.  Don't call error upon failure.  Let callers do that.
21056         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
21057         when auditing is enabled.  But don't bother updating the #if.
21058
21059 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
21060
21061         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
21062         it breaks C++ compilation.
21063         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
21064
21065 2003-07-10  Simon Josefsson  <jas@extundo.com>
21066
21067         * modules/strchrnul (Makefile.am): Add strchrnul.h.
21068
21069 2003-07-10  Jim Meyering  <jim@meyering.net>
21070
21071         * m4/clock_time.m4: Remove trailing blank.
21072         * m4/intmax_t.m4: Likewise.
21073
21074 2003-07-10  Jim Meyering  <jim@meyering.net>
21075
21076         * lib/vasnprintf.c: Remove trailing blanks.
21077         Make cpp indentation consistent.
21078
21079 2003-07-09  Paul Eggert  <eggert@twinsun.com>
21080
21081         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
21082         posixver.c, strftime.c, strnlen.c, strverscmp.c:
21083         Switch from LGPL to GPL.
21084
21085 2003-07-09  Paul Eggert  <eggert@twinsun.com>
21086
21087         * config/srclist.txt: Sort sublists.  Add
21088         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
21089         that differ from gnulib for one reason or another; we'd like this list
21090         to be smaller but for now let's document what we have.
21091
21092 2003-07-08  Paul Eggert  <eggert@twinsun.com>
21093
21094         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
21095         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
21096         and sweeter "eval x=$x".
21097         * config/srclist.txt: Get lib/argp* from glibc.
21098
21099 2003-07-07  Paul Eggert  <eggert@twinsun.com>
21100
21101         * lib/mktime.c: Fix some boundary cases and remove need for floating
21102         point.
21103
21104         Issue a compile-time diagnostic if time_t is floating point, or if
21105         two's complement arithmetic is not in effect, or if arithmetic
21106         right shift does not propagate the sign.  These assumptions were
21107         all in the original code but they weren't checked.
21108
21109         (TIME_T_MIDPOINT, verify): New macros.
21110         (__isleap): Remove; it has integer overflow problems.
21111         (leapyear): New function, without those problems.
21112         (ydhms_tm_diff): Remove; splitting into two parts.
21113         (ydhms_diff): New function, containing the arithmetic part of
21114         the old ydhms_tm_diff function.  Issue a compile-time
21115         diagnostic if we are not using C99 integer division.
21116         Avoid casts when possible.
21117         (guess_time_tm): New function, containing the checking part of
21118         the old ydhms_tm_diff function.  Return the new value, rather than
21119         the difference between it and the old.  Accept a new argument T
21120         so that *T specifies the old value.  Check for overflow in the result.
21121
21122         (__mktime_internal): Use a time_t offset, not a long int offset.
21123         This undoes the 2003-06-04 change, which is no longer needed now
21124         that we have better overflow checking.
21125         (localtime_offset): Likewise.
21126
21127         (__mktime_internal): Avoid harmful overflow on hosts where time_t
21128         and long are 64-bit but int is only 32-bit.
21129         (ydhms_diff): Use long int to store year1 and yday1.
21130         Issue a compile-time diagnostic if long int is not wide enough.
21131
21132         (__mktime_internal): Use long int to store adjusted year and yday.
21133         Use plain C rather than preprocessor commands, if that doesn't
21134         affect efficiency.
21135         Check for overflow (and try to repair) after each probe
21136         rather than checking only at the very end.  This avoids some bugs
21137         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
21138         does not equal GMT offset at maximum time).
21139         Use integer to check for overflow rather than floating point; this
21140         is more portable to non-IEEE hosts, and is a tad faster.
21141         When we detect that we are oscillating between two values,
21142         don't check whether tm_isdst has the requested value, since
21143         we already know the answer.  When tm_isdst has the wrong value,
21144         use a different heuristic to find the right one, based on the
21145         extreme values actually observed in practice in tz2003a,
21146         rather than the (overly optimistic) "previous 3 calendar quarters".
21147
21148         (not_equal_tm, print_tm, check_result): Use "const T" rather than
21149         "T const" to accommodate glibc style.
21150         (check_result): Use less-confusing report format.  "long" -> "long int.
21151         (main): Likewise.
21152         Don't loop if the iteration overflows time_t.
21153         Allow a negative step in the iteration.
21154
21155 2003-07-06  Karl Berry  <karl@gnu.org>
21156
21157         * config/depcomp: update from automake.
21158         * config/config.sub: update from prep.
21159
21160 2003-07-03  Karl Berry  <karl@gnu.org>
21161
21162         * config/config.guess: update from prep.
21163
21164 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21165
21166         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
21167         xreadlink.c now includes it unconditionally.
21168
21169 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21170
21171         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
21172         having it depend on HAVE_SYS_TYPES_H.
21173
21174 2003-07-01  Bruno Haible  <bruno@clisp.org>
21175
21176         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
21177         <sys/types.h> should be sufficient.
21178         Reported by Paul Eggert.
21179
21180 2003-06-26  Karl Berry  <karl@gnu.org>
21181
21182         * config/depcomp: update from automake.
21183
21184 2003-06-26  Bruno Haible  <bruno@clisp.org>
21185
21186         * modules/human: Depend on module stdbool.
21187
21188 2003-06-25  Bruno Haible  <bruno@clisp.org>
21189
21190         * modules/readlink: New file.
21191         * modules/xreadlink: Depend on it.
21192         * MODULES.html.sh (func_all_modules): Add readlink.
21193
21194 2003-06-25  Bruno Haible  <bruno@clisp.org>
21195
21196         * m4/readlink.m4: New file.
21197
21198 2003-06-25  Bruno Haible  <bruno@clisp.org>
21199
21200         * lib/readlink.c: New file.
21201
21202 2003-06-22  Karl Berry  <karl@gnu.org>
21203
21204         * config/srclist.txt: update mkinstalldirs from automake.
21205         * config/mkinstalldirs: update.
21206
21207 2003-06-22  Bruno Haible  <bruno@clisp.org>
21208
21209         Portability to mingw32.
21210         * m4/ssize_t.m4: New file, from GNU gettext.
21211         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
21212         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
21213
21214 2003-06-22  Bruno Haible  <bruno@clisp.org>
21215
21216         * modules/safe-read: Add m4/ssize_t.m4.
21217         * modules/xreadlink: Add m4/ssize_t.m4.
21218
21219 2003-06-20  Bruno Haible  <bruno@clisp.org>
21220
21221         Assume C89, so PARAMS isn't needed.
21222         * lib/unicodeio.h (PARAMS): Remove.
21223         * lib/unicodeio.c: Don't use PARAMS.
21224
21225 2003-06-18  Karl Berry  <karl@gnu.org>
21226
21227         * config/config.{guess,sub}: update from prep.
21228
21229 2003-06-18  Jim Meyering  <jim@meyering.net>
21230
21231         Merge changes from coreutils.
21232         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
21233         Remove explicit declarations of xmalloc and realloc.
21234         Include xalloc.h.
21235         (read_utmp): Remove anachronistic cast of xmalloc.
21236
21237 2003-06-17  Paul Eggert  <eggert@twinsun.com>
21238
21239         Assume C89, so PARAMS isn't needed.
21240         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
21241         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
21242         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
21243         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
21244         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
21245         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
21246         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
21247         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
21248         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
21249         lib/xstrtod.h, lib/xstrtol.h: Likewise.
21250         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
21251         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
21252         no longer needed. Anyway, config.h should always be included before any
21253         other file.
21254
21255 2003-06-11  Simon Josefsson  <jas@extundo.com>
21256
21257         * modules/sysexits: New file.
21258         * MODULES.html.sh (func_all_modules): Add sysexits.
21259
21260 2003-06-11  Simon Josefsson  <jas@extundo.com>
21261
21262         * lib/sysexit_.h: New file.
21263
21264 2003-06-11  Derek Price  <derek@ximbiot.com>
21265
21266         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
21267         necessary.
21268
21269 2003-06-11  Bruno Haible  <bruno@clisp.org>
21270
21271         * m4/sysexits.m4: New file.
21272
21273 2003-06-10  Simon Josefsson  <jas@extundo.com>
21274
21275         * lib/argp.h: New file, from glibc.
21276         * lib/argp-ba.c: New file, from glibc.
21277         * lib/argp-eexst.c: New file, from glibc.
21278         * lib/argp-fmtstream.c: New file, from glibc.
21279         * lib/argp-fmtstream.h: New file, from glibc.
21280         * lib/argp-fs-xinl.c: New file, from glibc.
21281         * lib/argp-help.c: New file, from glibc.
21282         * lib/argp-namefrob.h: New file, from glibc.
21283         * lib/argp-parse.c: New file, from glibc.
21284         * lib/argp-pv.c: New file, from glibc.
21285         * lib/argp-pvh.c: New file, from glibc.
21286         * lib/argp-xinl.c: New file, from glibc.
21287
21288 2003-06-10  Simon Josefsson  <jas@extundo.com>
21289
21290         * modules/strchrnul: New file.
21291
21292 2003-06-10  Simon Josefsson  <jas@extundo.com>
21293
21294         * modules/argp: New file.
21295
21296 2003-06-10  Simon Josefsson  <jas@extundo.com>
21297
21298         * m4/strchrnul.m4: New file.
21299
21300 2003-06-10  Simon Josefsson  <jas@extundo.com>
21301
21302         * lib/strchrnul.h: New file.
21303         * lib/strchrnul.c: New file.
21304
21305 2003-06-10  Bruno Haible  <bruno@clisp.org>
21306
21307         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
21308
21309 2003-06-07  Karl Berry  <karl@gnu.org>
21310
21311         * config/config.{guess,sub}: update from prep.
21312
21313 2003-06-07  Jim Meyering  <jim@meyering.net>
21314
21315         * modules/strtod: Use $(...) notation, not @...@ for
21316         AC_REPLACE'd variables.
21317         * modules/localcharset: Likewise.
21318
21319 2003-06-07  Jim Meyering  <jim@meyering.net>
21320
21321         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
21322         in place of my name in the copyright comment.
21323         Remove definition and uses of __P.
21324
21325         From coreutils.
21326         * lib/stat.c: Don't declare xmalloc explicitly.
21327         Instead, include "xalloc.h".
21328         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
21329         xrealloc, and xcalloc return values.
21330         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
21331         Improve comment.
21332         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
21333
21334 2003-06-07  Bruno Haible  <bruno@clisp.org>
21335
21336         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
21337         avoid AC_CONFIG_LINKS.
21338         * modules/fnmatch (Makefile.am): Use explicit creation rule for
21339         fnmatch.h, to avoid AC_CONFIG_LINKS.
21340         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
21341
21342 2003-06-07  Bruno Haible  <bruno@clisp.org>
21343
21344         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
21345         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
21346         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21347         directory.
21348         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
21349         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21350         directory.
21351
21352 2003-06-06  Jim Meyering  <jim@meyering.net>
21353
21354         Merge from coreutils.
21355         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
21356         Consolidate declarations and initializations of *_base* locals.
21357
21358         Merge from coreutils.
21359         This avoids a core dump on systems without GNU putenv,
21360         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
21361         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
21362         (unsetenv): New static function, from GNU libc.
21363         (rpl_putenv): Use it.
21364
21365         * lib/modechange.c: Remove trailing blanks.
21366
21367         Merge from coreutils.
21368         * lib/fsusage.c: Remove declaration of statfs.
21369         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
21370
21371         * lib/posixtm.c: Include <stdbool.h> unconditionally.
21372
21373 2003-06-06  Jim Meyering  <jim@meyering.net>
21374
21375         * lib/stdbool_.h: Renamed from stdbool.h.in.
21376
21377 2003-06-06  Jim Meyering  <jim@meyering.net>
21378             Bruno Haible  <bruno@clisp.org>
21379
21380         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
21381         Adjust Makefile.am snippet not to redirect directly to target.
21382         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
21383
21384 2003-06-05  Paul Eggert  <eggert@twinsun.com>
21385
21386         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
21387         mismatch, look in future quarters as well as past.  This fixes a
21388         bug when processing fall-backwards gaps immediately after a long
21389         period of daylight-saving time.
21390
21391         * lib/mktime.c: Assume freestanding C89 or better.
21392         (HAVE_LIMITS_H): Remove.  Assume it's 1.
21393         (__P): Remove; not used.
21394         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
21395         (mktime, not_equal_tm, print_tm, check_result,
21396         main): Use prototypes.  Use const * where appropriate.
21397         (main): Fix typo in testing code that uncovered by above changes.
21398         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
21399
21400 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21401
21402         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
21403         locale.h, localeconv.  This merges changes from coreutils.
21404
21405         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
21406         It can be removed after the next Autoconf is released.
21407         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
21408         needed.
21409
21410 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21411
21412         * lib/mktime.c: Fix Debian bug 177940
21413         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
21414         (localtime_offset): Now long int, not time_t, because we want it
21415         to be guaranteed to be signed.  All uses changed.
21416         (__mktime_internal): If overflow would occur when adding offset,
21417         don't add it.
21418
21419         Merge 'human' changes from coreutils.  Rewrite to support
21420         locale-specific notations like thousands separators.
21421         * lib/human.c: Simplify authorship notice.
21422         Include human.h immediately after config.h.
21423         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
21424         <limits.h>: Do not include, since human.h does.
21425         (SIZE_MAX, UINTMAX_MAX): New macros.
21426         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
21427         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
21428         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
21429         (power_letter): Renamed from suffixes.
21430         (generate_suffix_backwards): Remove.
21431         (adjust_value): Now takes int style (because of human.h changes)
21432         and long double value (for greater precision on some platforms).
21433         (group_number): New function.
21434         (human_readable): Use it.  Use integer options, not enum.
21435         Put the options before the sizes in the arg list.
21436         Support all the new options.
21437         The old human_readable function has been removed;
21438         use inttostr.h instead.
21439         (human_readable, default_block_size, humblock):
21440         Use uintmax_t, not int, for block sizes.
21441         (human_readable_inexact, block_size_types): Remove.
21442         (block_size_opts): New constant.
21443         (human_options): Renamed from human_block_size, with new signature
21444         that allows block sizes up to UINTMAX_MAX.  All callers changed.
21445         * lib/human.h: Add copyright and authorship notice.
21446         Include <limits.h> and <stdbool.h> unconditionally.
21447         (PARAMS): Remove.  All uses removed.
21448         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
21449         (enum human_inexact_style): Remove tag; now a nameless enum.
21450         (human_floor, human_ceiling, human_round_to_even): Now have
21451         values 2, 0, 1 rather than -1, 1, 0.
21452         (human_group_digits, human_suppress_point_zero, human_autoscale,
21453         human_base_1024, human_SI, human_B): New constants.
21454         (human_readable_inexact, human_block_size): Remove.
21455         (human_readable): Size args are now uintmax_t, not int.
21456         (human_options): New decl.
21457
21458         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
21459         unnecessary now that we assume C89 or better.  This change
21460         imported from coreutils.
21461
21462         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21463         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
21464         in the 2003-05-30 sync from glibc.
21465
21466         .h files should stand alone, but we shouldn't include <sys/types.h>
21467         if we can get away with just <stddef.h>.
21468
21469         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
21470         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
21471         rather than <sys/types.h>, as we merely need size_t.
21472         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
21473         to get size_t.
21474         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
21475         Include <stdio.h>, to get FILE.
21476         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
21477         memcasecmp.h has included <stddef.h> and all we need is size_t.
21478         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
21479         our interface, instead of including <sys/types.h>
21480
21481 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21482
21483         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
21484         now, as glibc mktime is buggy on non-glibc systems.
21485
21486 2003-06-03  Karl Berry  <karl@gnu.org>
21487
21488         * config/config.sub: update from prep.
21489
21490 2003-06-02  Paul Eggert  <eggert@twinsun.com>
21491
21492         [from coreutils]
21493         Fix some minor time-related bugs with POSIX time arguments.
21494         Some valid time stamps were being rejected (notably -1, and
21495         time stamps before 1900 on 64-bit hosts).  And some invalid
21496         time stamps were being accepted, e.g. September 31.
21497
21498         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
21499         that we can return (time_t) -1 successfully.
21500         * lib/posixtm.c: Likewise.
21501         [HAVE_STDBOOL_H]: Include <stdbool.h>.
21502         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
21503         (t): Remove static var.
21504         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
21505         of static var.  All uses changed.
21506         (year): Do not reject years before 1900; they can occur with
21507         64-bit time_t.
21508         (posix_time_parse): Do not check for out-of-range components;
21509         that is now the caller's responsibility, since our checks were
21510         only approximations.
21511         (posixtime): Use mktime to check for out-of-range components,
21512         since it knows them exactly.
21513         If mktime returns (time_t) -1, check whether an error actually occurred
21514         by invoking localtime on -1.
21515         (main) [TEST_POSIXTIME]: Check for input data errors, and report
21516         posixtime failures better.
21517         Improve the test data (in comments only).
21518
21519 2003-06-02  Karl Berry  <karl@gnu.org>
21520
21521         * config/mkinstalldirs (version): new variable.
21522         (--version): new option.
21523         (usage): improve message.
21524
21525 2003-05-30  Karl Berry  <karl@gnu.org>
21526
21527         * lib/mktime.c: update from libc.
21528
21529 2003-05-30  Bruno Haible  <bruno@clisp.org>
21530
21531         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
21532         * config/config.rpath: Upgrade to gettext-0.12.1.
21533
21534 2003-05-30  Bruno Haible  <bruno@clisp.org>
21535
21536         * m4/gettext.m4: Upgrade to gettext-0.12.1.
21537         * m4/nls.m4: New file, from gettext-0.12.1.
21538         * m4/po.m4: New file, from gettext-0.12.1.
21539         * m4/progtest.m4: Upgrade to gettext-0.12.1.
21540
21541 2003-05-30  Bruno Haible  <bruno@clisp.org>
21542
21543         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
21544         * lib/localcharset.h: Likewise.
21545         * lib/localcharset.c: Likewise.
21546
21547 2003-05-29  Karl Berry  <karl@gnu.org>
21548
21549         * config/config.rpath: update from gettext.
21550
21551 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21552
21553         Assume the headers required for C89 freestanding compilers.
21554         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
21555         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
21556         * m4/human.m4 (gl_HUMAN): Likewise.
21557         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
21558         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
21559         * m4/userspec.m4 (gl_USERSPEC): Likewise.
21560         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
21561         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
21562         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
21563
21564 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21565
21566         Assume the headers required for C89 freestanding compilers.
21567         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
21568         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
21569         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
21570         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
21571         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
21572         define, since <limits.h> is guaranteed to do that.
21573         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
21574         * lib/exclude.c: Include <stdbool.h> unconditionally.
21575         * lib/tempname.c: Include <stddef.h> unconditionally.
21576         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
21577         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
21578         <stddef.h> does that.
21579         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
21580         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
21581         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
21582         needed.
21583         * lib/xstrtol.c: Likewise.
21584         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
21585         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
21586
21587         * lib/addext.c (addext): Use assignment rather than cast, to avoid
21588         warnings on some platforms.
21589
21590         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21591         arbitrarily.
21592
21593 2003-05-26  Jim Meyering  <jim@meyering.net>
21594
21595         Merge in a change from coreutils:
21596         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
21597         that is guaranteed to be `no'.  Use `no_such_member' to indicate
21598         that condition, rather than `-1' which is slightly misleading.
21599         Change the name of the cache variable to have the gl_ prefix.
21600         Prompted by a patch from Richard Dawe for DJGPP.
21601
21602 2003-05-24  Karl Berry  <karl@gnu.org>
21603
21604         * config/config.guess: update from prep.
21605
21606 2003-05-22  Karl Berry  <karl@gnu.org>
21607
21608         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
21609
21610 2003-05-20  Karl Berry  <karl@gnu.org>
21611
21612         * config/config.guess: update from prep.
21613
21614 2003-05-18  Karl Berry  <karl@gnu.org>
21615
21616         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
21617         might actually be set by the user.
21618
21619         * config/depcomp, install-sh, mdate-sh: update from automake.
21620
21621 2003-05-17  Bruno Haible  <bruno@clisp.org>
21622
21623         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
21624         invalid expansion for AC_EGREP_CPP.
21625         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21626         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21627         Suggested by Akim Demaille <akim@epita.fr> in
21628         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
21629
21630 2003-05-12  Jim Meyering  <jim@meyering.net>
21631
21632         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
21633         the space-padded-by-default conversion specifiers, %e, %k, %l.
21634
21635 2003-05-12  Bruno Haible  <bruno@clisp.org>
21636
21637         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
21638         the string is longer than 4 KB.
21639
21640 2003-05-11  Karl Berry  <karl@gnu.org>
21641
21642         * config/config.{guess,sub}: update from prep.
21643
21644 2003-05-09  Bruno Haible  <bruno@clisp.org>
21645
21646         * modules/error: Add m4/strerror_r.m4 to file list.
21647
21648 2003-05-03  Bruno Haible  <bruno@clisp.org>
21649
21650         Upgrade to Unicode-4.0.
21651         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
21652         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
21653         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
21654         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
21655         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
21656         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
21657         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
21658         Change width of U+E0100..U+E01EF from 1 to 0.
21659
21660 2003-04-25  Jim Meyering  <jim@meyering.net>
21661
21662         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
21663         of type size_t, not int.
21664
21665 2003-04-25  Bruno Haible  <bruno@clisp.org>
21666
21667         * lib/copy-file.c: Include <stddef.h>, for size_t.
21668
21669 2003-04-21  Paul Eggert  <eggert@twinsun.com>
21670
21671         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
21672         code which expansion is under static control.  Patch imported from
21673         Akim Demaille's patch to Bison; see
21674         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
21675
21676 2003-04-14  Bruno Haible  <bruno@clisp.org>
21677
21678         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
21679
21680 2003-04-11  Jim Meyering  <jim@meyering.net>
21681
21682         Merge changes from Coreutils.
21683
21684         2003-03-22  Jim Meyering  <jim@meyering.net>
21685
21686         * lib/strftime.c (widen): Cast alloca return value to proper type.
21687
21688         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
21689
21690         From GNU libc.
21691         * lib/strftime.c (my_strftime): Handle very large width
21692         specifications for numeric values correctly.  Improve checks for
21693         overflow.
21694
21695         2003-01-19  Jim Meyering  <jim@meyering.net>
21696
21697         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
21698         definitions.
21699         (nl_get_alt_digit) [! defined my_strftime]: Define.
21700         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
21701         _nl_get_alt_digit and _nl_get_walt_digit.
21702
21703         * lib/strftime.c (my_strftime): Merge in locale-related changes from
21704         libc. These changes have no effect outside of _LIBC.
21705
21706 2003-04-10  Bruno Haible  <bruno@clisp.org>
21707
21708         * modules/findprog: New file.
21709         * MODULES.html.sh (func_all_modules): Add it.
21710
21711 2003-04-10  Bruno Haible  <bruno@clisp.org>
21712
21713         * m4/findprog.m4: New file.
21714         * m4/eaccess.m4: New file.
21715
21716 2003-04-10  Bruno Haible  <bruno@clisp.org>
21717
21718         * lib/findprog.h: New file, from GNU gettext.
21719         * lib/findprog.c: New file, from GNU gettext.
21720
21721 2003-04-05  Jim Meyering  <jim@meyering.net>
21722
21723         Merge changes from Coreutils.
21724
21725         * lib/exclude.h (PARAMS): Remove definition and uses.
21726         * lib/exclude.c: Remove uses of `PARAMS'.
21727
21728         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
21729         Add test-cases for DOS filenames. Declare program_name.
21730         (main): Set up program_name.  Patch by Rich Dawe.
21731
21732         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
21733         error from mntctl.
21734         Use mntctl's return value to drive the entry-processing loop, since
21735         we can't rely on the value of the vmt_length member in the last
21736         entry.  On some systems doing so could result in exhausting
21737         virtual memory.  Based in part on a patch from Mike Jetzer.
21738
21739 2003-04-04  Bruno Haible  <bruno@clisp.org>
21740
21741         * modules/linebreak: New file.
21742         * MODULES.html.sh (func_all_modules): Add it.
21743
21744 2003-04-04  Bruno Haible  <bruno@clisp.org>
21745
21746         * m4/linebreak.m4: New file.
21747
21748 2003-04-04  Bruno Haible  <bruno@clisp.org>
21749
21750         * lib/linebreak.h: New file, from GNU gettext.
21751         * lib/linebreak.c: New file, from GNU gettext with slight
21752         modifications.
21753         * lib/lbrkprop.h: New file, from GNU gettext.
21754
21755 2003-04-03  Bruno Haible  <bruno@clisp.org>
21756
21757         * modules/utf8-ucs4: New file.
21758         * modules/utf16-ucs4: New file.
21759         * modules/ucs4-utf8: New file.
21760         * modules/ucs4-utf16: New file.
21761         * MODULES.html.sh (func_all_modules): Add them.
21762
21763 2003-04-03  Bruno Haible  <bruno@clisp.org>
21764
21765         * m4/utf-ucs4.m4: New file.
21766         * m4/ucs4-utf.m4: New file.
21767
21768 2003-04-03  Bruno Haible  <bruno@clisp.org>
21769
21770         * lib/utf8-ucs4.h: New file, from GNU gettext.
21771         * lib/utf16-ucs4.h: New file, from GNU gettext.
21772         * lib/ucs4-utf8.h: New file, from GNU gettext.
21773         * lib/ucs4-utf16.h: New file, from GNU gettext.
21774
21775 2003-04-02  Bruno Haible  <bruno@clisp.org>
21776
21777         * modules/binary-io: New file.
21778         * MODULES.html.sh (func_all_modules): Add it.
21779
21780 2003-04-02  Bruno Haible  <bruno@clisp.org>
21781
21782         * lib/binary-io.h: New file, from GNU gettext.
21783
21784 2003-04-01  Bruno Haible  <bruno@clisp.org>
21785
21786         * modules/pathname: New file.
21787         * MODULES.html.sh (func_all_modules): Add it.
21788
21789 2003-04-01  Bruno Haible  <bruno@clisp.org>
21790
21791         * lib/pathname.h: New file, from GNU gettext.
21792         * lib/concatpath.c: New file, from GNU gettext.
21793
21794 2003-03-30  Bruno Haible  <bruno@clisp.org>
21795
21796         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
21797
21798 2003-03-30  Bruno Haible  <bruno@clisp.org>
21799
21800         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
21801         function chown() doesn't exist.
21802
21803 2003-03-28  Bruno Haible  <bruno@clisp.org>
21804
21805         * modules/copy-file: New file.
21806         * MODULES.html.sh (func_all_modules): Add it.
21807
21808 2003-03-28  Bruno Haible  <bruno@clisp.org>
21809
21810         * m4/copy-file.m4: New file.
21811
21812 2003-03-28  Bruno Haible  <bruno@clisp.org>
21813
21814         * lib/copy-file.h: New file, from GNU gettext.
21815         * lib/copy-file.c: New file, from GNU gettext.
21816
21817 2003-03-18  Jim Meyering  <jim@meyering.net>
21818
21819         * lib/quote.c (quote_n): Fix typo in comment.
21820
21821 2003-03-18  Bruno Haible  <bruno@clisp.org>
21822
21823         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
21824         checking.
21825         * m4/onceonly_2_57.m4: Likewise.
21826
21827 2003-03-17  Bruno Haible  <bruno@clisp.org>
21828
21829         * m4/onceonly.m4: Require autoconf 2.54 or newer.
21830         (m4_quote): Remove macro.
21831         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
21832
21833 2003-03-14  Jim Meyering  <jim@meyering.net>
21834
21835         Merge changes from Coreutils.
21836         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
21837         to be const, in order to avoid warnings.
21838         (obstack_room): Likewise.
21839         (obstack_empty_p): Likewise.
21840
21841 2003-03-14  Bruno Haible  <bruno@clisp.org>
21842
21843         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
21844         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
21845
21846 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21847
21848         Merge changes from Bison.
21849         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
21850         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
21851         when compiling Bison 1.875's `bitset bset = obstack_alloc
21852         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
21853         * lib/hash.c: Include <stdbool.h> unconditionally.
21854
21855 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21856
21857         * m4/onceonly.m4 (m4_quote): New macro.
21858         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
21859         Quote AC_FOREACH variable-expansions properly.
21860
21861 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21862
21863         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
21864
21865 2003-03-09  Paul Eggert  <eggert@twinsun.com>
21866
21867         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
21868         Reported by Bruce Becker; see:
21869         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
21870
21871 2003-03-03  Paul Eggert  <eggert@twinsun.com>
21872             Bruno Haible  <bruno@clisp.org>
21873
21874         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
21875         Reported by John Hughes, see
21876         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
21877
21878 2003-02-20  Bruno Haible  <bruno@clisp.org>
21879
21880         * MODULES.html.sh (func_all_modules): Add poll.
21881
21882 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21883
21884         * modules/poll: New file.
21885
21886 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21887
21888         * lib/poll_.h: New file.
21889         * lib/poll.c: New file.
21890
21891 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21892
21893         * m4/poll.m4: New file.
21894
21895 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21896
21897         * modules/mathl: New file.
21898
21899 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21900
21901         * lib/mathl.h: New file.
21902         * lib/acosl.c: New file.
21903         * lib/asinl.c: New file.
21904         * lib/atanl.c: New file.
21905         * lib/ceill.c: New file.
21906         * lib/cosl.c: New file.
21907         * lib/expl.c: New file.
21908         * lib/floorl.c: New file.
21909         * lib/frexpl.c: New file.
21910         * lib/ldexpl.c: New file.
21911         * lib/logl.c: New file.
21912         * lib/sincosl.c: New file.
21913         * lib/sinl.c: New file.
21914         * lib/sqrtl.c: New file.
21915         * lib/tanl.c: New file.
21916         * lib/trigl.c: New file.
21917         * lib/trigl.h: New file.
21918
21919 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21920
21921         * m4/mathl.m4: New file.
21922
21923 2003-02-18  Bruno Haible  <bruno@clisp.org>
21924
21925         * MODULES.html.sh (func_all_modules): Add mathl.
21926
21927 2003-02-17  Bruno Haible  <bruno@clisp.org>
21928
21929         * modules/mkdtemp: New module.
21930         * MODULES.html.sh (func_all_modules): Add it.
21931
21932 2003-02-17  Bruno Haible  <bruno@clisp.org>
21933
21934         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
21935
21936 2003-02-17  Bruno Haible  <bruno@clisp.org>
21937
21938         * lib/mkdtemp.h: New file, from GNU gettext.
21939         * lib/mkdtemp.c: New file, from GNU gettext.
21940
21941 2003-02-02  Jim Meyering  <jim@meyering.net>
21942
21943         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
21944         e.g. glibc-2.2.93.
21945
21946 2003-01-31  Bruno Haible  <bruno@clisp.org>
21947
21948         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
21949         'rpl_rename'.
21950         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
21951         'rpl_strnlen'.
21952         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
21953         'rpl_strtod'.
21954         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
21955         'rpl_utime'.
21956
21957 2003-01-31  Bruno Haible  <bruno@clisp.org>
21958
21959         * lib/rename.c: #undef rename before defining rpl_rename.
21960         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
21961
21962 2003-01-30  Bruno Haible  <bruno@clisp.org>
21963
21964         * modules/vasnprintf, modules/vasprintf: New modules.
21965         * MODULES.html.sh (func_all_modules): Add them.
21966
21967 2003-01-30  Bruno Haible  <bruno@clisp.org>
21968
21969         * m4/signed.m4: New file, from GNU gettext.
21970         * m4/longdouble.m4: New file, from GNU gettext.
21971         * m4/wchar_t.m4: New file, from GNU gettext.
21972         * m4/wint_t.m4: New file, from GNU gettext.
21973         * m4/vasnprintf.m4: New file.
21974         * m4/vasprintf.m4: New file.
21975
21976 2003-01-30  Bruno Haible  <bruno@clisp.org>
21977
21978         * lib/printf-args.h: New file, from GNU gettext.
21979         * lib/printf-args.c: New file, from GNU gettext.
21980         * lib/printf-parse.h: New file, from GNU gettext.
21981         * lib/printf-parse.c: New file, from GNU gettext.
21982         * lib/vasnprintf.h: New file, from GNU gettext.
21983         * lib/vasnprintf.c: New file, from GNU gettext.
21984         * lib/asnprintf.c: New file, from GNU gettext.
21985         * lib/vasprintf.h: New file, from GNU gettext with modifications.
21986         * lib/vasprintf.c: New file, from GNU gettext.
21987         * lib/asprintf.c: New file, from GNU gettext.
21988
21989 2003-01-29  Bruno Haible  <bruno@clisp.org>
21990
21991         * modules/stpncpy: New module.
21992         * MODULES.html.sh (func_all_modules): Add it.
21993
21994 2003-01-29  Bruno Haible  <bruno@clisp.org>
21995
21996         * m4/stpncpy.m4: New file.
21997
21998 2003-01-29  Bruno Haible  <bruno@clisp.org>
21999
22000         * lib/stpncpy.h: New file, from GNU gettext with modifications.
22001         * lib/stpncpy.c: New file, from GNU gettext with modifications.
22002
22003 2003-01-28  Bruno Haible  <bruno@clisp.org>
22004
22005         * modules/c-ctype: New module.
22006         * MODULES.html.sh (func_all_modules): Add it.
22007
22008 2003-01-28  Bruno Haible  <bruno@clisp.org>
22009
22010         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
22011         Paul Eggert.
22012         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
22013         Paul Eggert.
22014
22015 2003-01-27  Bruno Haible  <bruno@clisp.org>
22016
22017         * modules/xsetenv: New module.
22018         * MODULES.html.sh (func_all_modules): Add it.
22019
22020 2003-01-27  Bruno Haible  <bruno@clisp.org>
22021
22022         * lib/xsetenv.h: New file, from GNU gettext.
22023         * lib/xsetenv.c: New file, from GNU gettext.
22024
22025 2003-01-23  Jim Meyering  <jim@meyering.net>
22026
22027         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
22028         from working on systems without dirfd (at least Irix and OSF1/Tru64).
22029
22030 2003-01-23  Bruno Haible  <bruno@clisp.org>
22031
22032         * modules/minmax: New module.
22033         * MODULES.html.sh (func_all_modules): Add it.
22034
22035 2003-01-23  Bruno Haible  <bruno@clisp.org>
22036
22037         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
22038         Eggert.
22039
22040 2003-01-22  Bruno Haible  <bruno@clisp.org>
22041
22042         * modules/exit: New module.
22043         * MODULES.html.sh (func_all_modules): Add it.
22044
22045 2003-01-22  Bruno Haible  <bruno@clisp.org>
22046
22047         * lib/exit.h: New file, from GNU gettext.
22048
22049 2003-01-19  Bruno Haible  <bruno@clisp.org>
22050
22051         * gnulib-tool: Recognize option --extract-maintainer.
22052         (func_get_maintainer): New function.
22053         * modules/*: Add Maintainer entry.
22054
22055 2003-01-16  Jim Meyering  <jim@meyering.net>
22056
22057         * m4/regex.m4: The `regex' struct is both input and output.
22058         Initialize it before each use.  Patch by Tim Waugh.
22059
22060 2003-01-16  Bruno Haible  <bruno@clisp.org>
22061
22062         * MODULES.html.sh: Add a table of contents. Add the module name as
22063         leftmost column. Add hyperlinks.
22064
22065 2003-01-15  Bruno Haible  <bruno@clisp.org>
22066
22067         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
22068
22069 2003-01-15  Bruno Haible  <bruno@clisp.org>
22070
22071         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
22072         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
22073         suffix.
22074
22075 2003-01-15  Bruno Haible  <bruno@clisp.org>
22076
22077         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
22078
22079 2003-01-15  Bruno Haible  <bruno@clisp.org>
22080
22081         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
22082         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
22083
22084 2003-01-14  Jim Meyering  <jim@meyering.net>
22085
22086         * lib/same.c (same_name): Tweak a comment.
22087
22088 2003-01-14  Bruno Haible  <bruno@clisp.org>
22089
22090         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
22091         when a string comparison is sufficient.
22092
22093 2003-01-14  Bruno Haible  <bruno@clisp.org>
22094
22095         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
22096         'unsigned int'.
22097
22098 2003-01-14  Bruno Haible  <bruno@clisp.org>
22099
22100         * lib/hash-pjw.c: Add comment about low quality of this function.
22101
22102 2003-01-13  Bruno Haible  <bruno@clisp.org>
22103
22104         * modules/stpcpy: Distribute lib/stpcpy.h.
22105         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
22106
22107 2003-01-13  Bruno Haible  <bruno@clisp.org>
22108
22109         * modules/*: Add a description.
22110         * modules/strpbrk: Fix Makefile.am snippet.
22111         * modules/strtoimax: Fix dependencies.
22112         * modules/strtoumax: Likewise.
22113
22114 2003-01-13  Bruno Haible  <bruno@clisp.org>
22115
22116         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
22117         * modules/alloca (Makefile.am): All object files depend on alloca.h.
22118         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
22119
22120 2003-01-13  Bruno Haible  <bruno@clisp.org>
22121
22122         * gnulib-tool (func_create_testdir): Store config/* files in the main
22123         directory.
22124         * config.rpath: Move to ...
22125         * config/config.rpath: ... here.
22126         * modules/gettext: Contains config/config.rpath, not config.rpath.
22127         * modules/iconv: Likewise.
22128
22129 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22130
22131         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22132         to avoid collisions with libcurses and libreadline.
22133
22134         * m4/getstr.m4: Remove.
22135         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
22136
22137 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22138
22139         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22140         to avoid collisions with libcurses and libreadline.
22141
22142         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
22143         * lib/getstr.h, getstr.c: Remove.
22144         * lib/getline.c: Include "getline.h", to check interface.
22145         Move body of old getstr.c here: this defines MIN_CHUNK and
22146         declares getdelim2, which is renamed from getstr.
22147         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
22148
22149         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
22150         All uses changed.
22151         * lib/linebuffer.h: Likewise.
22152         (readline): Remove backward-compatibility macro.
22153
22154 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22155
22156         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22157         to avoid collisions with libcurses and libreadline.
22158         * getstr: Remove.
22159         * MODULES.html.sh: Remove getstr.
22160         * modules/getline: Depend on unlocked-io, not getstr.
22161
22162 2003-01-12  Jim Meyering  <jim@meyering.net>
22163
22164         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
22165
22166 2003-01-10  Bruno Haible  <bruno@clisp.org>
22167
22168         * modules/alloca: Change Makefile.am requirements. Simplify Include
22169         requirements. Add lib/alloca_.h to file list.
22170
22171 2003-01-10  Bruno Haible  <bruno@clisp.org>
22172
22173         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
22174
22175 2003-01-10  Bruno Haible  <bruno@clisp.org>
22176
22177         * lib/alloca_.h: New file.
22178         * lib/getdate.y: Unconditionally include alloca.h.
22179         * lib/makepath.c: Likewise.
22180         * lib/setenv.c: Likewise.
22181         * lib/userspec.c: Likewise.
22182
22183 2003-01-09  Karl Berry  <karl@gnu.org>
22184
22185         * MODULES.html.sh: include `dirname $0` in PATH, to find
22186         gnulib-tool.
22187
22188 2003-01-09  Bruno Haible  <bruno@clisp.org>
22189
22190         * modules/stdbool: Change configure.ac, Makefile.am requirements.
22191         Simplify Include requirements. Add lib/stdbool.h.in to file list.
22192
22193 2003-01-09  Bruno Haible  <bruno@clisp.org>
22194
22195         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
22196
22197 2003-01-09  Bruno Haible  <bruno@clisp.org>
22198
22199         * lib/stdbool.h.in: New file.
22200
22201 2003-01-09  Bruno Haible  <bruno@clisp.org>
22202
22203         * gnulib-tool (func_all_modules): Ignore files ending in ~.
22204         * MODULES.html.sh: Likewise.
22205
22206 2003-01-08  Jim Meyering  <jim@meyering.net>
22207
22208         * lib/full-write.c: Undefine and define-away `const' after inclusion
22209         of errno.h, not before.  Suggestion from Bruno Haible.
22210
22211 2003-01-08  Bruno Haible  <bruno@clisp.org>
22212
22213         * modules/full-read: Depend on full-write.
22214
22215 2003-01-08  Bruno Haible  <bruno@clisp.org>
22216
22217         * lib/safe-read.c: Include specification header first, to ensure its
22218         selfcontainedness.
22219         * lib/full-write.c: Likewise.
22220
22221 2003-01-07  Jim Meyering  <jim@meyering.net>
22222
22223         * lib/full-write.c: Rework so that it may serve to define full_read,
22224         too.
22225         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
22226
22227 2003-01-07  Bruno Haible  <bruno@clisp.org>
22228
22229         * lib/strtoimax.c: Include <stdint.h> as an alternative to
22230         <inttypes.h>.
22231         * lib/xstrtol.h: Likewise.
22232         * lib/xstrtoimax.c: Likewise.
22233         * lib/xstrtoumax.c: Likewise.
22234         * lib/human.h: Likewise.
22235
22236         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
22237         on systems that have <inttypes.h> but not <stdint.h>.
22238
22239 2003-01-07  Bruno Haible  <bruno@clisp.org>
22240
22241         * MODULES.html.sh: Add copyright notice.
22242         (missed_files): Omit CVS directory entries.
22243         (func_module): Make it work with sed-3.02.
22244         * MODULES.txt: Remove file.
22245
22246 2003-01-06  Jim Meyering  <jim@meyering.net>
22247
22248         * lib/version-etc.c: Update year in translatable copyright string.
22249
22250 2003-01-03  Karl Berry  <karl@gnu.org>
22251
22252         * config/config.{guess,sub}: update from prep.
22253
22254 2003-01-02  Karl Berry  <karl@gnu.org>
22255
22256         * doc/COPYING.DOC: belatedly updated to 1.2.
22257
22258 2003-01-01  Karl Berry  <karl@gnu.org>
22259
22260         * gnulib-tool (func_verify_module): report module name $module in
22261         error message, not $1.
22262         * gnulib-tool (create-testdir): don't complain if destdir couldn't
22263         be created, only if it doesn't exist.
22264         * gnulib-tool (last_checkin_date): don't expand the $Date here.
22265
22266 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22267
22268         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
22269
22270 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22271
22272         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
22273         memcmp if strcoll doesn't work.
22274
22275 2002-12-31  Bruno Haible  <bruno@clisp.org>
22276
22277         * lib/utime.c (utime_null): No need to call ftruncate if the file was
22278         nonempty.
22279
22280 2002-12-31  Bruno Haible  <bruno@clisp.org>
22281
22282         * lib/memcoll.c (STRCOLL): New macro.
22283         (memcoll): Use it.
22284
22285 2002-12-31  Bruno Haible  <bruno@clisp.org>
22286
22287         * lib/localcharset.h: New file.
22288         * lib/localcharset.c: Include it.
22289         * lib/unicodeio.c: Likewise.
22290
22291 2002-12-31  Bruno Haible  <bruno@clisp.org>
22292
22293         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
22294         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
22295
22296 2002-12-31  Bruno Haible  <bruno@clisp.org>
22297
22298         * lib/getline.h: Include <stddef.h>, for size_t.
22299
22300         * lib/unicodeio.h: Include <stddef.h>, for size_t.
22301         * lib/unicodeio.c: Don't include <stddef.h>.
22302
22303 2002-12-31  Bruno Haible  <bruno@clisp.org>
22304
22305         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
22306         HAVE_TM_ZONE.
22307
22308 2002-12-24  Karl Berry  <karl@gnu.org>
22309
22310         * config/config.guess: update from prep.
22311
22312 2002-12-24  Bruno Haible  <bruno@clisp.org>
22313
22314         General infrasructure.
22315         * m4/README: Rewritten.
22316         * m4/onceonly.m4: New file.
22317         * m4/onceonly_2_57.m4: New file.
22318
22319         Module atexit.
22320         * m4/atexit.m4: New file.
22321
22322         Module strtod.
22323         * m4/strtod.m4: New file.
22324
22325         Module strtol.
22326         * m4/strtol.m4: New file.
22327
22328         Module strtoul.
22329         * m4/strtoul.m4: New file.
22330
22331         Module memchr.
22332         * m4/memchr.m4: New file.
22333
22334         Module memcmp.
22335         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
22336         (jm_FUNC_MEMCMP): Invoke it.
22337
22338         Module memcpy.
22339         * m4/memcpy.m4: New file.
22340
22341         Module memmove.
22342         * m4/memmove.m4: New file.
22343
22344         Module memset.
22345         * m4/memset.m4: New file.
22346
22347         Module strcspn.
22348         * m4/strcspn.m4: New file.
22349
22350         Module strpbrk.
22351         * m4/strpbrk.m4: New file.
22352
22353         Module strstr.
22354         * m4/strstr.m4: New file.
22355
22356         Module strerror.
22357         * m4/strerror.m4: New file.
22358
22359         Module mktime.
22360         * m4/mktime.m4: Renamed from jm-mktime.m4.
22361         (gl_PREREQ_MKTIME): New macro.
22362         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
22363
22364         Module malloc.
22365         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
22366         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
22367         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
22368
22369         Module realloc.
22370         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
22371         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
22372         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
22373
22374         Module strftime.
22375         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
22376         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
22377         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
22378         gl_TM_GMTOFF.
22379         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
22380
22381         Module xalloc.
22382         * m4/xalloc.m4: New file.
22383
22384         Module alloca.
22385         * m4/alloca.m4: New file.
22386
22387         Module putenv.
22388         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
22389         (jm_FUNC_PUTENV): Invoke it.
22390
22391         Module setenv.
22392         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
22393         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
22394         when invoked twice.
22395         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
22396         gt_FUNC_SETENV.
22397
22398         Module memrchr.
22399         * m4/memrchr.m4: New file.
22400
22401         Module stpcpy.
22402         * m4/stpcpy.m4: New file.
22403
22404         Module strcase.
22405         * m4/strcase.m4: New file.
22406
22407         Module strdup.
22408         * m4/strdup.m4: New file.
22409
22410         Module strnlen.
22411         * m4/strnlen.m4: New file.
22412
22413         Module strndup.
22414         * m4/strndup.m4: New file.
22415
22416         Module xstrtod.
22417         * m4/xstrtod.m4: New file.
22418
22419         Module xstrtol.
22420         * m4/xstrtol.m4: New file.
22421
22422         Module getdate.
22423         * m4/getdate.m4: New file.
22424
22425         Module unlocked-io.
22426         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
22427         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
22428         * m4/jm-glibc-io.m4n: Remove file.
22429
22430         Module long-options.
22431         * m4/long-options.m4: New file.
22432
22433         Module md5.
22434         * m4/md5.m4: New file.
22435
22436         Module sha.
22437         * m4/sha.m4: New file.
22438
22439         Module getstr.
22440         * m4/getstr.m4: New file.
22441
22442         Module getline.
22443         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
22444         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
22445         <sys/types.h>, for size_t. Use the function name gnu_getline, not
22446         simply getline. Infoke gl_PREREQ_GETLINE.
22447
22448         Module obstack.
22449         * m4/obstack.m4: New file.
22450
22451         Module hash.
22452         * m4/hash.m4: New file.
22453
22454         Module readtokens.
22455         * m4/readtokens.m4: New file.
22456
22457         Module strverscmp.
22458         * m4/strverscmp.m4: New file.
22459
22460         Module stdbool.
22461         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
22462         OSF/1.
22463
22464         Module strtoll.
22465         * m4/strtoll.m4: New file.
22466
22467         Module strtoull.
22468         * m4/strtoull.m4: New file.
22469
22470         Module strtoimax.
22471         * m4/strtoimax.m4: New file.
22472
22473         Module strtoumax.
22474         * m4/strtoumax.m4: New file.
22475
22476         Module xstrtoimax.
22477         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
22478         jm_AC_PREREQ_XSTRTOIMAX.
22479         Moved the strtol prerequisites to strtol.m4.
22480         Moved the strtoll prerequisites to strtoll.m4.
22481         Moved the strtoimax prerequisites to strtoimax.m4.
22482
22483         Module xstrtoumax.
22484         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
22485         jm_AC_PREREQ_XSTRTOUMAX.
22486         Moved the strtoul prerequisites to strtoul.m4.
22487         Moved the strtoull prerequisites to strtoull.m4.
22488         Moved the strtoumax prerequisites to strtoumax.m4.
22489
22490         Module chown.
22491         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
22492         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
22493
22494         Module dup2.
22495         * m4/dup2.m4: New file.
22496
22497         Module ftruncate.
22498         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
22499         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
22500
22501         Module getgroups.
22502         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
22503         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
22504
22505         Module gettimeofday.
22506         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
22507         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
22508         gl_PREREQ_GETTIMEOFDAY.
22509
22510         Module mkdir.
22511         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
22512         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
22513
22514         Module mkstemp.
22515         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
22516         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
22517         jm_AC_TYPE_UINTMAX_T.
22518         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
22519
22520         Module stat.
22521         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
22522         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
22523
22524         Module lstat.
22525         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
22526         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
22527
22528         Module timespec.
22529         * m4/timespec.m4 (gl_TIMESPEC): New macro.
22530         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
22531         * m4/st_mtim.m4: Indentation.
22532
22533         Module nanosleep.
22534         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
22535         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
22536         gl_PREREQ_NANOSLEEP.
22537
22538         Module regex.
22539         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
22540         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
22541         (gl_REGEX): New macro.
22542
22543         Module rename.
22544         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
22545         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
22546
22547         Module rmdir.
22548         * m4/rmdir.m4: New file.
22549
22550         Module utime.
22551         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
22552         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
22553         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
22554
22555         Module dirname.
22556         * m4/dirname.m4: New file.
22557
22558         Module getopt.
22559         * m4/getopt.m4: New file.
22560
22561         Module unistd-safer.
22562         * m4/unistd-safer.m4: New file.
22563
22564         Module fnmatch.
22565         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
22566         declaration.
22567         (gl_PREREQ_FNMATCH_EXTRA): New macro.
22568         (gl_FUNC_FNMATCH_POSIX): New macro.
22569         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
22570         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
22571         simply fnmatch.
22572
22573         Module exclude.
22574         * m4/exclude.m4: New file.
22575
22576         Module human.
22577         * m4/human.m4: New file.
22578
22579         Module acl.
22580         * m4/acl.m4: Nop.
22581
22582         Module backupfile.
22583         * m4/backupfile.m4: New file.
22584         * m4/d-ino.m4: Indentation.
22585
22586         Module fsusage.
22587         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
22588         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
22589         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
22590
22591         Module dirfd.
22592         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
22593         requirements.
22594
22595         Module euidaccess.
22596         * m4/euidaccess.m4: New file.
22597
22598         Module file-type.
22599         * m4/file-type.m4: New file.
22600
22601         Module fileblocks.
22602         * m4/fileblocks.m4: New file.
22603
22604         Module filemode.
22605         * m4/filemode.m4: New file.
22606
22607         Module isdir.
22608         * m4/isdir.m4: New file.
22609
22610         Module lchown.
22611         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
22612         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
22613
22614         Module makepath.
22615         * m4/makepath.m4: New file.
22616
22617         Module modechange.
22618         * m4/modechange.m4: New file.
22619
22620         Module mountlist.
22621         * m4/mountlist.m4: New file.
22622         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
22623         Indentation.
22624
22625         Module path-concat.
22626         * m4/path-concat.m4: New file.
22627
22628         Module pathmax.
22629         * m4/pathmax.m4: New file.
22630
22631         Module same.
22632         * m4/same.m4: New file.
22633
22634         Module save-cwd.
22635         * m4/save-cwd.m4: New file.
22636
22637         Module savedir.
22638         * m4/savedir.m4: New file.
22639
22640         Module xgetcwd.
22641         * m4/xgetcwd.m4: New file.
22642         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
22643
22644         Module xreadlink.
22645         * m4/xreadlink.m4: New file.
22646
22647         Module safe-read.
22648         * m4/safe-read.m4: New file.
22649
22650         Module safe-write.
22651         * m4/safe-write.m4: New file.
22652
22653         Module closeout.
22654         * m4/closeout.m4: New file.
22655
22656         Module stdio-safer.
22657         * m4/stdio-safer.m4: New file.
22658
22659         Module getpass.
22660         * m4/getpass.m4: New file.
22661
22662         Module getugroups.
22663         * m4/getugroups.m4: New file.
22664
22665         Module group-member.
22666         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
22667         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
22668
22669         Module idcache.
22670         * m4/idcache.m4: New file.
22671
22672         Module userspec.
22673         * m4/userspec.m4: New file.
22674
22675         Module gettime.
22676         * m4/clock_time.m4: New file.
22677         * m4/gettime.m4: New file.
22678
22679         Module settime.
22680         * m4/settime.m4: New file.
22681
22682         Module posixtm.
22683         * m4/posixtm.m4: New file.
22684
22685         Module gethostname.
22686         * m4/gethostname.m4: New file.
22687
22688         Module canon-host.
22689         * m4/canon-host.m4: New file.
22690
22691         Module gettext.
22692         * m4/codeset.m4: New file, from gettext-0.11.5.
22693         * m4/gettext.m4: New file, from gettext-0.11.5.
22694         * m4/glibc21.m4: New file, from gettext-0.11.5.
22695         * m4/iconv.m4: New file, from gettext-0.11.5.
22696         * m4/intdiv0.m4: New file, from gettext-0.11.5.
22697         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
22698         * m4/inttypes.m4: New file, from gettext-0.11.5.
22699         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
22700         * m4/isc-posix.m4: New file, from gettext-0.11.5.
22701         * m4/lcmessage.m4: New file, from gettext-0.11.5.
22702         * m4/lib-ld.m4: New file, from gettext-0.11.5.
22703         * m4/lib-link.m4: New file, from gettext-0.11.5.
22704         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
22705         * m4/progtest.m4: New file, from gettext-0.11.5.
22706         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
22707         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
22708         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
22709
22710         Module localcharset.
22711         * m4/localcharset.m4: New file.
22712
22713         Module hard-locale.
22714         * m4/hard-locale.m4: New file.
22715
22716         Module mbswidth.
22717         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
22718         onceonly macros.
22719         * m4/mbrtowc.m4: Add comment.
22720
22721         Module memcasecmp.
22722         * m4/memcasecmp.m4: New file.
22723
22724         Module memcoll.
22725         * m4/memcoll.m4: New file.
22726
22727         Module unicodeio.
22728         * m4/unicodeio.m4: New file.
22729
22730         Module rpmatch.
22731         * m4/rpmatch.m4: New file.
22732
22733         Module yesno.
22734         * m4/yesno.m4: New file.
22735
22736         Module exitfail.
22737         * m4/exitfail.m4: New file.
22738
22739         Module c-stack.
22740         * m4/c-stack.m4 (gl_C_STACK): New macro.
22741         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
22742
22743         Module error.
22744         * m4/error.m4 (gl_ERROR): New macro.
22745         (jm_PREREQ_ERROR): Use onceonly macros.
22746
22747         Module fatal.
22748         * m4/fatal.m4: New file.
22749
22750         Module getloadavg.
22751         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
22752         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
22753
22754         Module getpagesize.
22755         * m4/getpagesize.m4: New file.
22756
22757         Module getusershell.
22758         * m4/getusershell.m4: New file.
22759
22760         Module physmem.
22761         * m4/physmem.m4: New file.
22762
22763         Module posixver.
22764         * m4/posixver.m4: New file.
22765
22766         Module quotearg.
22767         * m4/quotearg.m4: New file.
22768
22769         Module quote.
22770         * m4/quote.m4: New file.
22771
22772         Module readutmp.
22773         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
22774
22775         Module sig2str.
22776         * m4/sig2str.m4: New file.
22777
22778         Other.
22779         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
22780         ulonglong.m4.
22781         * m4/intmax_t.m4: New file.
22782         * m4/d-type.m4: Indentation.
22783         * m4/jm-macros.m4: Update.
22784         * m4/prereq.m4 (jm_PREREQ): Update.
22785         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
22786         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
22787         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
22788         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
22789         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
22790         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
22791         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
22792         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
22793         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
22794         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
22795         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
22796         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
22797         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
22798         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
22799         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
22800         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
22801         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
22802         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
22803         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
22804
22805 2002-12-24  Bruno Haible  <bruno@clisp.org>
22806
22807         * MODULES.txt: Update according to m4/ changes.
22808
22809         Module gettext.
22810         * config.rpath: New file, from gettext-0.11.5.
22811
22812         * modules/*: New module descriptions.
22813         * gnulib-tool: New file.
22814         * MODULES.html.sh: New file.
22815
22816 2002-12-21  Karl Berry  <karl@gnu.org>
22817
22818         * doc/fdl.texi: update to version 1.2.
22819
22820 2002-12-19  Karl Berry  <karl@gnu.org>
22821
22822         * config/config.guess: update from prep.
22823
22824 2002-12-18  Bruno Haible  <bruno@clisp.org>
22825
22826         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
22827         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
22828
22829 2002-12-17  Bruno Haible  <bruno@clisp.org>
22830
22831         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
22832         stdlib.h, string.h.
22833
22834 2002-12-17  Bruno Haible  <bruno@clisp.org>
22835
22836         * lib/canon-host.c (strdup): Remove unused declaration.
22837
22838         * lib/fsusage.c: Include full_read.h.
22839         (get_fs_usage): Use full_read instead of safe_read.
22840
22841         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
22842
22843 2002-12-12  Karl Berry  <karl@gnu.org>
22844
22845         * config/config.guess: update from prep.
22846
22847 2002-12-11  Bruno Haible  <bruno@clisp.org>
22848
22849         * m4/setenv.m4: New file, from gettext-0.11.5.
22850
22851 2002-12-11  Bruno Haible  <bruno@clisp.org>
22852
22853         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
22854         not unsetenv().
22855         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
22856         modifications:
22857
22858         2002-12-11  Bruno Haible  <bruno@clisp.org>
22859
22860                 * setenv.c (alloca): Fall back to malloc.
22861                 (freea): New macro.
22862                 (setenv): Use freea() to free memory allocated with alloca().
22863
22864         2002-11-13  Bruno Haible  <bruno@clisp.org>
22865
22866                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
22867                 function declarations.
22868                 * unsetenv.c (unsetenv): Likewise.
22869
22870         2002-03-04  Bruno Haible  <bruno@clisp.org>
22871
22872                 Portability to AIX 4.3.3.
22873                 * unsetenv.c: New file, extracted from setenv.c.
22874                 * setenv.c: Move the unsetenv() function to unsetenv.c.
22875
22876         2001-12-20  Bruno Haible  <bruno@clisp.org>
22877
22878                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
22879                 use malloc instead. For SunOS 4.
22880
22881         2001-12-11  Bruno Haible  <bruno@clisp.org>
22882
22883                 * setenv.c: Declare alloca.
22884                 (compar_fn_t): New typedef.
22885                 (KNOWN_VALUE, STORE_VALUE): Use it.
22886
22887         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
22888         setenv.h.
22889
22890 2002-12-10  Paul Eggert  <eggert@twinsun.com>
22891
22892         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
22893         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
22894         Choose values that are less likely to collide with system fnmatch
22895         options.
22896         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
22897         defined (e.g., a pure POSIX system).
22898         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
22899         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
22900
22901 2002-12-06  Paul Eggert  <eggert@twinsun.com>
22902
22903         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
22904         a pain in practice to deal with generated m4 files.  This change
22905         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
22906
22907         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
22908         and jm-glibc-io.m4, as they are no longer a special case.
22909         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
22910         kludge and the auto-generation stuff.  Check only whether the
22911         functions are declared, not whether they exist, since older hosts
22912         that don't declare the functions can't use the optimization anyway.
22913
22914 2002-12-06  Jim Meyering  <jim@meyering.net>
22915
22916         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
22917
22918         Merge in changes from libc's misc/error.c, in preparation
22919         for the merge of gnulib's changes back into libc.
22920
22921         * lib/error.c (_): Define only if not already defined.
22922         Move definition to follow all #include directives.
22923         Include unlocked-io.h only if !_LIBC.
22924         [_LIBC]: Include <libio/libioP.h>.
22925         [USE_IN_LIBIO]: Include <libio/iolibio.h>
22926         (fflush): Tweak definition to use INTUSE.
22927         (putc): Define.
22928
22929 2002-12-05  Paul Eggert  <eggert@twinsun.com>
22930
22931         * lib/alloca.c [defined emacs]: Include "lisp.h".
22932         (xalloc_die) [defined emacs]: New macro.
22933         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
22934         [! defined emacs]: Include <xalloc.h>.
22935         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
22936         (pointer): Typedef to POINTER_TYPE *.
22937         (malloc): Remove decl; we now always use xmalloc.
22938         (alloca): Use old-style definition, since Emacs needs this.
22939         Check for arithmetic overflow when computing combined size.
22940
22941 2002-12-04  Paul Eggert  <eggert@twinsun.com>
22942
22943         Do not generate unlocked-io.h automatically, since it's easier to
22944         maintain it by hand.
22945
22946         * lib/unlocked-io.h: New file, from GNU diffutils,
22947         but with proper copyright notice and attribution.
22948         * lib/gen-uio: Remove.
22949         * lib/Makefile.am: Add copyright notice.
22950         (libfetish_a_SOURCES): Add unlocked-io.h.
22951         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
22952         (DISTCLEANFILES, io_functions): Remove macros.
22953         (EXTRA_DIST): Remove gen_uio.
22954         (unlocked-io.h): Remove rule.
22955
22956 2002-12-04  Jim Meyering  <jim@meyering.net>
22957
22958         Reflect the fact that stat.c and lstat.c are no longer generated.
22959         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
22960         (DISTCLEANFILES): Likewise.
22961         (EXTRA_DIST): Likewise.
22962         (all_local): Don't depend on stat.c or lstat.c.
22963         (stat.c, lstat.c): Remove rules.
22964         (EXTRA_DIST): Remove xstat.in.
22965
22966         * lib/xstat.in: Remove file.  Contents moved into stat.c.
22967         * lib/stat.c: New file.  Contents mostly from xstat.in.
22968         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
22969         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
22970
22971         * lib/safe-read.c: Rework so that it may serve to define safe_write,
22972         too.
22973         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
22974
22975 2002-12-03  Jim Meyering  <jim@meyering.net>
22976
22977         * lib/safe-read.c, safe-write.c: Change variable names and comments,
22978         but not semantics, to minimize the differences between these two files.
22979         (safe_read): Change comment to mention SAFE_READ_ERROR.
22980
22981         * lib/safe-read.c (IS_EINTR): Define.
22982         (safe_read): Use IS_EINTR in place of in-function cpp directives.
22983
22984 2002-12-02  Jim Meyering  <jim@meyering.net>
22985
22986         * lib/safe-read.c (EINTR): Define.
22987         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
22988         (INT_MAX): Provide fallback.
22989         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
22990
22991         * lib/safe-read.h (SAFE_READ_ERROR): Define.
22992
22993 2002-12-02  Bruno Haible  <bruno@clisp.org>
22994
22995         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
22996         Define, taken from safe-read.c.
22997         (INT_MAX): Provide fallback.
22998         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
22999         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
23000
23001         * lib/safe-read.c (EINTR): Remove definition.
23002         (safe_read): Don't use EINTR if it is absent.
23003
23004 2002-12-01  Jim Meyering  <jim@meyering.net>
23005
23006         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
23007         zero.
23008         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
23009
23010 2002-11-27  Paul Eggert  <eggert@twinsun.com>
23011
23012         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
23013         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
23014         with `if (! (value < limit)) abort ();', for readability.
23015
23016 2002-11-26  Karl Berry  <karl@gnu.org>
23017
23018         * lib/strdup.c: copy from libc again, with jim's ok.
23019         * lib/.cppi-disable: re-add strdup.c
23020
23021 2002-11-25  Karl Berry  <karl@gnu.org>
23022
23023         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
23024         instead of "strtol.c".
23025
23026 2002-11-25  Karl Berry  <karl@gnu.org>
23027
23028         * config/install-sh: update from automake for variable quoting, $0 in
23029         error msgs, etc.
23030
23031         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
23032         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
23033         entry.
23034
23035 2002-11-25  Jim Meyering  <jim@meyering.net>
23036
23037         * lib/mktime.c: Sync from libc, now that it has the latest fix.
23038
23039 2002-11-24  Karl Berry  <karl@gnu.org>
23040
23041         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
23042         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
23043
23044 2002-11-24  Jim Meyering  <jim@meyering.net>
23045
23046         Update from coreutils:
23047
23048         * lib/mktime.c: Merge in changes from libc.
23049
23050         Avoid a link-time failure on some Linux systems.
23051         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
23052         (otherwise).
23053         (__mon_yday): Declare with the STATIC attribute.
23054         (__mktime_internal): Likewise.
23055         Based on a report from Greg Schafer.
23056
23057 2002-11-23  Jim Meyering  <jim@meyering.net>
23058
23059         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
23060         Use `unsigned', not `int', as type of index.
23061
23062         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
23063
23064         * lib/fsusage.c: Remove unneeded parentheses around operands of
23065         `defined'.
23066
23067 2002-11-22  Paul Eggert  <eggert@twinsun.com>
23068
23069         * lib/quotearg.h: Allow multiple inclusion by surrounding with
23070         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
23071         so that we can be included first.
23072         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
23073         * lib/quotearg.c: Include quotearg.h immediately after config.h.
23074         No need to include stddef.h or sys/types.h any more.
23075         Surround local include files with "", not "<>".
23076         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
23077         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
23078         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
23079         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
23080         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
23081         (ISPRINT): Remove; no longer needed now that we assume C89.
23082
23083         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
23084         Preserve errno.
23085
23086         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
23087         quotearg_char): Use SIZE_MAX rather than
23088         (size_t) -1 when we are talking about "infinity".
23089
23090         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
23091
23092 2002-11-22  Paul Eggert  <eggert@twinsun.com>
23093
23094         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
23095         hint that one should use `if (! x) abort ();' rather than `assert
23096         (x);', and anyway it's one less thing to worry about configuring.
23097         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
23098         hash_rehash, hash_insert): Use abort rather than assert.
23099
23100 2002-11-22  Bruno Haible  <bruno@clisp.org>
23101
23102         * lib/safe-read.h: Assume C89. Add comments.
23103         (safe_read): Change return type to size_t.
23104         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
23105         byte counts > SSIZE_MAX correctly.
23106         * lib/safe-write.h: New file.
23107         * lib/safe-write.c: New file.
23108         * lib/full-read.h: New file.
23109         * lib/full-read.c: New file.
23110         * lib/full-write.h: Assume C89. Add comments.
23111         * lib/full-write.c: Include safe-write.h.
23112         (full_write): Rewritten to use safe_write.
23113         Suggested by Jim Meyering and Paul Eggert.
23114
23115 2002-11-21  Jim Meyering  <jim@meyering.net>
23116
23117         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
23118
23119         Merge in changes from the coreutils.
23120
23121         2002-09-25  Paul Eggert  <eggert@twinsun.com>
23122         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
23123         <stdint.h>.
23124         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
23125         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
23126         int.  Work more efficiently if X is the same width as uintmax_t.
23127         Do not compare X to -1, to avoid bogus compiler warning.
23128         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
23129         Don't assume that f_frsize and f_bsize are the same type.
23130
23131         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
23132         warning on FreeBSD.
23133
23134         * lib/makepath.c (make_path): Restore umask *before* creating the final
23135         component.
23136         (make_path): Minor reformatting.
23137
23138         * lib/xmalloc.c: Adjust to work with new autoconf macros,
23139         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
23140         HAVE_MALLOC/HAVE_REALLOC.
23141
23142         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
23143         dummy ones.  At least on GNU/Linux systems, `auto' means something
23144         else.
23145         From Michael Stone.
23146
23147 2002-11-21  Bruno Haible  <bruno@clisp.org>
23148
23149         Remove case insensitive option matching.
23150         * lib/argmatch.h (argcasematch): Remove declaration.
23151         (ARGCASEMATCH): Remove macro.
23152         (__xargmatch_internal): Remove case_sensitive argument.
23153         (XARGMATCH): Update.
23154         (XARGCASEMATCH): Remove macro.
23155         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
23156         case_sensitive argument.
23157         (argcasematch): Remove function.
23158         (__xargmatch_internal): Remove case_sensitive argument.
23159         (main): Use XARGMATCH instead of XARGCASEMATCH.
23160
23161         * lib/xmalloc.c: Change compile-time error message. Add comment about
23162         required autoconf version.
23163
23164 2002-11-20  Paul Eggert  <eggert@twinsun.com>
23165
23166         Merge argmatch cleanups from Bison.  Assume C89.
23167
23168         * lib/argmatch.c: Include config.h here, not in argmatch.h.
23169         Include stdlib.h, for EXIT_FAILURE.
23170         Always include <string.h>, since we assume C89.
23171         (EXIT_FAILURE): Remove pre-C89 bug workaround.
23172         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
23173         Include <stddef.h> instead, since it's all we need for size_t.
23174         (PARAMS): Remove.  All uses removed.
23175         (ARRAY_CARDINALITY): Do not bother to #undef.
23176         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
23177         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23178         Remove unnecessary parentheses.
23179         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23180         Insert necessary parentheses.
23181         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
23182         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
23183
23184 2002-11-19  Bruno Haible  <bruno@clisp.org>
23185
23186         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
23187         * lib/mbswidth.h: Include <stddef.h>, for size_t.
23188
23189         * lib/mbswidth.h (PARAMS): Remove macro.
23190         (mbswidth, mbsnwidth): Use ANSI C function declarations.
23191         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
23192
23193         * lib/gcd.h (PARAMS): Remove macro.
23194         (gcd): Use ANSI C function declarations.
23195         * lib/gcd.c (gcd): Likewise.
23196
23197 2002-11-15  Bruno Haible  <bruno@clisp.org>
23198
23199         * lib/strcspn.c: Include <stddef.h>.
23200         (strcspn): Use ANSI C function declaration. Change return type to
23201         size_t. Use NULL.
23202         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
23203         (strpbrk): Use NULL.
23204         * lib/strpbrk.h (PARAMS): Remove macro.
23205         (strpbrk): Use ANSI C function declaration.
23206         * lib/strstr.c: Don't include <sys/types.h>.
23207         * lib/strstr.h (PARAMS): Remove macro.
23208         (strstr): Use ANSI C function declarations.
23209
23210 2002-11-14  Karl Berry  <karl@gnu.org>
23211
23212         * config/mkinstalldirs: `do' on separate line, instead of
23213         `for var; do'.
23214
23215 2002-11-06  Bruno Haible  <bruno@clisp.org>
23216
23217         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
23218         * lib/gcd.c (gcd): Likewise.
23219
23220 2002-11-05  Bruno Haible  <bruno@clisp.org>
23221
23222         * lib/gcd.h: New file, from gettext-0.11.5.
23223         * lib/gcd.c: New file, from gettext-0.11.5.
23224
23225 2002-11-05  Bruno Haible  <bruno@clisp.org>
23226
23227         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23228         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23229         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23230         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23231
23232         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
23233         <libintl.h>.
23234         * lib/makepath.c: Include gettext.h instead of <locale.h> and
23235         <libintl.h>.
23236
23237         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
23238         * lib/human.c: Include gettext.h instead of <libintl.h>.
23239         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
23240         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
23241         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
23242         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
23243         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
23244         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
23245         (textdomain): Remove definition.
23246         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
23247
23248         * lib/long-options.c: Remove include of <libintl.h> and definition of
23249         _.
23250         * lib/same.c: Remove include of <libintl.h> and definition of _.
23251
23252 2002-11-04  Owen Taylor  <otaylor@redhat.com>
23253
23254         * lib/config.charset: A few additions for Solaris.
23255
23256 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23257
23258         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
23259         * lib/localcharset.c (locale_charset): Declare as extern "C".
23260
23261 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23262
23263         * lib/config.charset: msdos in uk_UA uses CP1125.
23264
23265 2002-11-04  Bruno Haible  <bruno@clisp.org>
23266
23267         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
23268         * lib/strcase.h: New file, from GNU gettext-0.11.5.
23269         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
23270         * lib/strstr.h: New file, from GNU gettext-0.11.5.
23271         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
23272
23273 2002-11-04  Bruno Haible  <bruno@clisp.org>
23274
23275         * lib/localcharset.c (locale_charset): Don't return an empty string.
23276
23277 2002-11-04  Bruno Haible  <bruno@clisp.org>
23278
23279         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
23280         aliases.
23281
23282 2002-11-04  Bruno Haible  <bruno@clisp.org>
23283
23284         * lib/config.charset: Update for newest glibc. Add canonical names
23285         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
23286
23287 2002-11-04  Bruno Haible  <bruno@clisp.org>
23288
23289         * lib/config.charset: Add support for NetBSD.
23290
23291 2002-11-04  Bruno Haible  <bruno@clisp.org>
23292
23293         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
23294
23295 2002-11-01  Bruno Haible  <bruno@clisp.org>
23296
23297         * configure.in: Add AC_CONFIG_AUX_DIR call.
23298         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
23299         test/Makefile.
23300         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
23301
23302 2002-09-28  Karl Berry  <karl@gnu.org>
23303
23304         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
23305         installed automake until the next release, since changes have been
23306         made.
23307
23308 2002-09-25  Karl Berry  <karl@gnu.org>
23309
23310         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
23311         * lib/getopt*: copy from libc/posix.
23312         * lib/gettext.h: copy from gettext.
23313         * lib/.cppi-disable: add strdup.c, gettext.h.
23314
23315 2002-09-25  Karl Berry  <karl@gnu.org>
23316
23317         * config/srclist.txt: enable gettext.h check.
23318         * config/config.{guess,sub}: update from prep.
23319         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
23320                 from automake 1.6.3.
23321         See srclist*.
23322
23323 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
23324
23325         * regex.c (PATFETCH): Remove the translating fetch.
23326         (PATFETCH_RAW): Rename to PATFETCH.
23327         (set_image_of_range): New fun.
23328         (SET_RANGE_TABLE_WORK_AREA): Use it.
23329         (regex_compile): Don't translate the pattern chars so eagerly.
23330         Only do it when inserting an `exactn' bytecode or when handling
23331         a char-range.
23332         (mutually_exclusive_p): Avoid empty statement.
23333
23334 2002-07-06  Jim Meyering  <meyering@lucent.com>
23335
23336         * m4/README: Don't mention Makefile.am.in.
23337         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
23338
23339 2002-07-01  Jim Meyering  <meyering@lucent.com>
23340
23341         * lib/c-stack.c: Include sys/time.h.
23342         From Volker Borchert.
23343
23344 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23345
23346         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
23347
23348 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23349
23350         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
23351         New macro.  Use it uniformly instead of
23352         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
23353         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
23354         reported by Vin Shelton.
23355
23356 2002-06-22  Paul Eggert  <eggert@twinsun.com>
23357
23358         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
23359         Do not assume SA_SIGINFO behavior.
23360         Bug reported by Jim Meyering on NetBSD 1.5.2.
23361
23362 2002-06-22  Jim Meyering  <meyering@lucent.com>
23363
23364         * m4/c-stack.m4: New file, from diffutils-2.8.2.
23365         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
23366
23367         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
23368         now that configure.ac uses AC_GNU_SOURCE.
23369         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
23370         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
23371
23372         Update to latest tools.  Suggestions from Paul Eggert.
23373         * m4/stdbool.m4: New file, from diffutils-2.8.2.
23374         * m4/gnu-source.m4: Update from diffutils-2.8.2.
23375         * m4/fnmatch.m4: Likewise.
23376         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
23377         to AC_HEADER_STDBOOL
23378
23379 2002-06-22  Jim Meyering  <meyering@lucent.com>
23380
23381         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
23382         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
23383
23384 2002-06-22  Jim Meyering  <meyering@lucent.com>
23385
23386         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
23387
23388         * lib/exitfail.c, exitfail.h: Likewise.
23389         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
23390
23391         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
23392         of fnmatch.h.
23393         (EXTRA_DIST): Add fnmatch_loop.c.
23394         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
23395
23396         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
23397         * lib/fnmatch.c: Update from diffutils-2.8.2.
23398         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
23399         * lib/fnmatch.h: Remove file.
23400
23401 2002-06-21  Jim Meyering  <meyering@lucent.com>
23402
23403         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
23404         * m4/mbrtowc.m4: Likewise.
23405
23406         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
23407         * m4/mbswidth.m4: Reflect name change:
23408         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
23409         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
23410
23411         * m4/lib-link.m4: Update from gettext-0.11.2.
23412         * m4/gettext.m4: Likewise.
23413
23414         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
23415         From Alfred M. Szmidt.
23416
23417 2002-06-18  Paul Eggert  <eggert@twinsun.com>
23418
23419         * lib/file-type.h: Report an error if neither S_ISREG nor
23420         S_IFREG is defined, instead of using a test specific to glibc
23421         2.2.  This should be safe, since POSIX requires S_ISREG and
23422         Unix Version 7 had S_IFREG.  We don't need to check for
23423         <sys/types.h> since we don't use any symbols that it defines.
23424
23425 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
23426
23427         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
23428         $@-t, so that each temporary file name is unique and valid in the first
23429         8 characters, for operation under DOS.
23430
23431 2002-06-15  Paul Eggert  <eggert@twinsun.com>
23432
23433         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
23434
23435 2002-06-15  Jim Meyering  <meyering@lucent.com>
23436
23437         Work even with DJGPP 2.03, which lacks support for symlinks.
23438         From Richard Dawe.
23439         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
23440         is defined.
23441         * lib/lchown.c (S_ISLNK): Likewise.
23442
23443 2002-06-15  Jim Meyering  <meyering@lucent.com>
23444
23445         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
23446         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
23447         have been included before this file.
23448
23449 2002-06-14  Jim Meyering  <meyering@lucent.com>
23450
23451         * lib/file-type.h: Use the version from diffutils-2.8.2.
23452         * lib/file-type.c: Likewise.
23453
23454 2002-06-07  Jim Meyering  <meyering@lucent.com>
23455
23456         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
23457         They're needed at least for NetBSD 1.5.2.
23458         ($statxfs_includes): Include those same headers.
23459         ($statxfs_includes): Include sys/vfs.h if available.
23460         ($statxfs_includes): Likewise for sys/statvfs.h.
23461         Check for the following members in both structs statfs and statvfs:
23462         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
23463
23464 2002-06-01  Jim Meyering  <meyering@lucent.com>
23465
23466         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
23467         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
23468
23469 2002-05-28  Jim Meyering  <meyering@lucent.com>
23470
23471         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
23472         Reported by Volker Borchert.
23473
23474 2002-05-27  Jim Meyering  <meyering@lucent.com>
23475
23476         Fix a problem seen only on nonconforming systems whereby ls.c's
23477         use of localtime, and then of gettimeofday would cause trouble:
23478         the localtime call used to initialize rpl_gettimeofday's save
23479         mechanism would clobber ls's current local time information so
23480         that in any long listing the first file would always be listed
23481         with date 1970-01-01.  Analysis by Volker Borchert.
23482
23483         * lib/gettimeofday.c (localtime): Undefine.
23484         (rpl_localtime): New function.
23485
23486 2002-05-27  Jim Meyering  <meyering@lucent.com>
23487
23488         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
23489         localtime.
23490
23491         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
23492         use the replacement function; it wouldn't resolve at link time.
23493         Reported by Volker Borchert.
23494
23495 2002-05-22  Jim Meyering  <meyering@lucent.com>
23496
23497         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
23498         file-type.h.
23499         * lib/file-type.h: New file.
23500         * lib/file-type.c (file_type): New file/function.  Extracted from
23501         diffutils.
23502
23503 2002-04-30  Jim Meyering  <meyering@lucent.com>
23504
23505         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
23506
23507 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23508
23509         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
23510
23511 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23512
23513         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
23514         Do not check for alloca.h (no longer used) or stdbool.h (was never
23515         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
23516
23517 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23518
23519         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
23520
23521 2002-04-29  Jim Meyering  <meyering@lucent.com>
23522
23523         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
23524         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
23525         Use AC_FUNC_STRNLEN here instead.
23526
23527         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
23528         With autoconf-2.53a, it's part of AC_PROG_CC.
23529
23530 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23531
23532         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
23533         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
23534
23535 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23536
23537         * lib/sig2str.h, lib/sig2str.c: New files.
23538         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
23539
23540 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23541
23542         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
23543         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
23544         of 127, since 64 is the largest conceivable number for ancient
23545         nonstandard hosts.
23546         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
23547
23548 2002-04-28  Jim Meyering  <meyering@lucent.com>
23549
23550         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
23551
23552 2002-04-24  Jim Meyering  <meyering@lucent.com>
23553
23554         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
23555         (jm_PREREQ): Use it.
23556
23557         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
23558         mach/mach.h fcntl.h.
23559         Check for this function: setlocale.
23560
23561 2002-04-24  Jim Meyering  <meyering@lucent.com>
23562
23563         * lib/gettext.h: New file, from Gettext.
23564         * lib/Makefile.am (INCLUDES): Remove -I../intl.
23565         (libfetish_a_SOURCES): Add gettext.h.
23566
23567 2002-04-16  Jim Meyering  <meyering@lucent.com>
23568
23569         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
23570         ut_pid, ut_id, ut_exit.
23571
23572 2002-04-16  Jim Meyering  <meyering@lucent.com>
23573
23574         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
23575         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
23576         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
23577
23578 2002-04-12  Jim Meyering  <meyering@lucent.com>
23579
23580         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
23581         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
23582         existence of the getmntinfo function.  Needed for Darwin 5.3.
23583
23584         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
23585         This is necessary at least on Darwin 5.3.
23586
23587         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
23588         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
23589         strnlen.o in the library, and that makes some versions of ranlib
23590         object.
23591
23592 2002-04-12  Jim Meyering  <meyering@lucent.com>
23593
23594         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
23595
23596 2002-04-09  Jim Meyering  <meyering@lucent.com>
23597
23598         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
23599         to be more precise.  Rather than saying we're checking whether the
23600         function `works', say what we're testing.
23601         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
23602         Reported by Bruno Haible.
23603
23604 2002-03-10  Jim Meyering  <meyering@lucent.com>
23605
23606         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
23607         Suggestion from Santiago Vila.
23608
23609 2002-03-08  Jim Meyering  <meyering@lucent.com>
23610
23611         * lib/rename.c: Mention that this wrapper is needed also on
23612         mips-dec-ultrix4.4 systems.
23613
23614 2002-03-02  Jim Meyering  <meyering@lucent.com>
23615
23616         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
23617         not HAVE_CLOCK_SETTIME.
23618
23619 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23620
23621         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
23622         Check for clock_settime.
23623
23624 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23625
23626         * lib/nanosleep.h: Rename to....
23627         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
23628
23629         * lib/gettime.c: New file.
23630         * lib/settime.c: New file.
23631         * lib/stime.c: Remove.
23632
23633         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
23634         timespec.h.  Remove nanosleep.h.
23635
23636 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23637
23638         * m4/acl.m4: New file.
23639         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
23640         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
23641
23642 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23643
23644         * lib/acl.c, lib/acl.h: New files.
23645         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
23646
23647 2002-02-24  Jim Meyering  <meyering@lucent.com>
23648
23649         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
23650         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
23651         cause trouble.  Reported by Nelson Beebe.
23652
23653 2002-02-23  Paul Eggert  <eggert@twinsun.com>
23654
23655         * lib/path-concat.c (xpath_concat): Reorder code to pacify
23656         compilers that don't know that xalloc_die never returns.
23657
23658 2002-02-20  Jim Meyering  <meyering@lucent.com>
23659
23660         * lib/getdate.c: Regenerate using bison-1.33.
23661
23662 2002-02-17  Jim Meyering  <meyering@lucent.com>
23663
23664         * config/config.guess (main): Don't use `head -1'; it's no longer
23665         portable. Use `sed 1q' instead.
23666
23667 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
23668
23669         * m4/codeset.m4: Upgrade to gettext-0.11.
23670         * m4/gettext.m4: Upgrade to gettext-0.11.
23671         * m4/glibc21.m4: Upgrade to gettext-0.11.
23672         * m4/iconv.m4: Upgrade to gettext-0.11.
23673         * m4/isc-posix.m4: Upgrade to gettext-0.11.
23674         * m4/lcmessage.m4: Upgrade to gettext-0.11.
23675         * m4/lib-ld.m4: New file, from gettext-0.11.
23676         * m4/lib-link.m4: New file, from gettext-0.11.
23677         * m4/lib-prefix.m4: New file, from gettext-0.11.
23678         * m4/progtest.m4: Upgrade to gettext-0.11.
23679
23680 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23681
23682         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
23683         (jm_PREREQ): Use it.
23684
23685 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23686
23687         * lib/posixver.c, lib/posixver.h: New files.
23688         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23689
23690 2002-02-02  Paul Eggert  <eggert@twinsun.com>
23691             Bruno Haible  <bruno@clisp.org>
23692
23693         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
23694         (fwrite_success_callback): New declaration.
23695         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
23696         print_unicode_char. Call failure callback instead of error.
23697         (fwrite_success_callback): New function.
23698         (exit_failure_callback): New function.
23699         (fallback_failure_callback): New function.
23700         (print_unicode_char): Call unicode_to_mb.
23701
23702 2002-01-26  Jim Meyering  <meyering@lucent.com>
23703
23704         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
23705         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
23706
23707 2002-01-26  Jim Meyering  <meyering@lucent.com>
23708
23709         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
23710
23711 2002-01-22  Paul Eggert  <eggert@twinsun.com>
23712
23713         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
23714
23715 2002-01-22  Jim Meyering  <meyering@lucent.com>
23716
23717         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
23718         Otherwise, some versions of automake would omit the rule that makes
23719         Makefile from Makefile.in.
23720
23721 2002-01-21  Paul Eggert  <eggert@twinsun.com>
23722
23723         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
23724         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23725         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
23726         (memcoll): Set errno to zero if there is no error.
23727
23728         * lib/quotearg.c (quotearg_buffer_restyled):
23729         Fix bug with quoting buffers containing NUL when backslashing escapes.
23730         This bug was exposed by the other changes in this patch.
23731         (quotearg_n_options): New arg ARGSIZE.
23732         All callers changed.
23733         (quoting_options_from_style): New function.
23734         (quotearg_n_style): Use it.
23735         (quotearg_n_style_mem): New function.
23736
23737         * lib/quotearg.h (quotearg_n_style_mem): New function.
23738
23739 2002-01-19  Jim Meyering  <meyering@lucent.com>
23740
23741         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
23742         Remove useless quotes: DF_PROG="df".
23743         * m4/strnlen.m4: New file.
23744
23745 2002-01-16  Paul Eggert  <eggert@twinsun.com>
23746
23747         * lib/backupfile.c (ISDIGIT): Comment fix.
23748         * lib/getdate.y (ISDIGIT): Likewise.
23749         * lib/posixtm.c (ISDIGIT, year): Likewise.
23750         * lib/strverscmp.c (ISDIGIT): Likewise.
23751         * lib/userspec.c (ISDIGIT): Likewise.
23752
23753 2002-01-16  Jim Meyering  <meyering@lucent.com>
23754
23755         * lib/getdate.y: Add three semicolons, each just before a closing
23756         brace. Bison (as of version 1.31) no longer papers over that mistake.
23757
23758 2002-01-05  Jim Meyering  <meyering@lucent.com>
23759
23760         * lib/version-etc.c (version_etc_copyright): Update copyright year.
23761
23762 2001-12-19  Paul Eggert  <eggert@twinsun.com>
23763
23764         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
23765         not silently exit merely because the output buffer happens to
23766         have nothing pending.
23767
23768 2001-12-18  Paul Eggert  <eggert@twinsun.com>
23769
23770         See the big note in ../ChangeLog.
23771         * lib/human.c (suffixes): Prefer K to k for 1024.
23772         (generate_suffix_backwards): New function.
23773         (human_readable_inexact): Use it.
23774         * lib/xstrtol.c (__xstrtol): If there is no number but there
23775         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
23776         Accept 'K' as well as 'k'.
23777
23778 2001-12-15  Jim Meyering  <meyering@lucent.com>
23779
23780         * lib/regex.h (__restrict_arr): Update from libc.
23781
23782         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
23783         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
23784         (STREQ): Define.
23785
23786 2001-12-14  Jim Meyering  <meyering@lucent.com>
23787
23788         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
23789         Suggestion from Bruno Haible.
23790
23791 2001-12-10  Jim Meyering  <meyering@lucent.com>
23792
23793         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
23794         xrealloc, Instead, include "xalloc.h".
23795         (initbuffer): Don't cast xmalloc return value to char*.
23796         (readline): Reword comment.
23797         Don't cast xrealloc return value to char*
23798         Return NULL, not 0.
23799
23800 2001-12-09  Jim Meyering  <meyering@lucent.com>
23801
23802         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
23803         about `signed and unsigned type in conditional expression'.
23804         * lib/posixtm.c (posix_time_parse): Likewise.
23805
23806         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
23807
23808         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
23809         to avoid a pedantic warning.
23810
23811         * lib/getstr.c: Don't include assert.h.
23812         (getstr): Remove warning-evoking assertions.
23813         Return -1 if offset parameter is out of bounds.
23814         Change the type of a local from int to size_t.
23815
23816         * lib/strftime.c (my_strftime_localtime_r): Include this function
23817         definition in the `#if ! HAVE_TM_GMTOFF' block.
23818
23819         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
23820         Include xalloc.h instead.
23821
23822 2001-12-02  Jim Meyering  <meyering@lucent.com>
23823
23824         * lib/tempname.c: Don't declare getenv, thus reverting the change of
23825         2001-11-18.  It's no longer necessary, now that stdlib.h is always
23826         included.
23827
23828         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
23829         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
23830
23831 2001-11-30  Akim Demaille  <akim@epita.fr>
23832
23833         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
23834         before being defined.
23835
23836 2001-11-27  Paul Eggert  <eggert@twinsun.com>
23837
23838         * lib/quotearg.h (quotearg_n, quotearg_n_style):
23839         First arg is int, not unsigned.
23840         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
23841         (SIZE_MAX, UINT_MAX): New macros.
23842         (quotearg_n_options): Abort if N is negative.
23843         Avoid overflow check on hosts where size_t is 64 bits and int
23844         is 32 bits, as overflow is impossible there.
23845         Fix off-by-one typo that caused unnecessary reallocation.
23846
23847 2001-11-27  Jim Meyering  <meyering@lucent.com>
23848
23849         * lib/tempname.c: Merge with version from libc.
23850         * lib/regex.c: Likewise.
23851
23852         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
23853         systems for which STDC_HEADERS is 0, it was not included, resulting in
23854         a warning about an integer-to-pointer conversion problem with getenv.
23855         Reported by Volker Borchert.
23856
23857 2001-11-26  Jim Meyering  <meyering@lucent.com>
23858
23859         * lib/gtod.h: Remove file.
23860         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
23861         * lib/gettimeofday.c: Don't include gtod.h.
23862         (GTOD_init): Remove function.
23863         (rpl_gettimeofday): Do its job here instead, rather than aborting.
23864         Suggestion from Volker Borchert.
23865
23866 2001-11-23  Jim Meyering  <meyering@lucent.com>
23867
23868         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
23869         it.
23870         * lib/hash.c (struct hash_table): Define it here instead.
23871
23872 2001-11-22  Jim Meyering  <meyering@lucent.com>
23873
23874         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
23875
23876 2001-11-20  Jim Meyering  <meyering@lucent.com>
23877
23878         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
23879         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
23880
23881 2001-11-19  Jim Meyering  <meyering@lucent.com>
23882
23883         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
23884         directory.  Use "conftestXXXXXX" as the template.
23885         Suggestion from Paul Eggert.
23886
23887         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
23888         immediately, so the test doesn't mistakenly hit the max-open-files
23889         limit.
23890
23891 2001-11-18  Paul Eggert  <eggert@twinsun.com>
23892
23893         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
23894         (TEMPORARIES): New macro.
23895         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
23896         removes an artificial limitation (e.g. HP-UX 10.20, where
23897         TMP_MAX is 17576).
23898
23899 2001-11-18  Jim Meyering  <meyering@lucent.com>
23900
23901         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
23902
23903 2001-11-18  Jim Meyering  <meyering@lucent.com>
23904
23905         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
23906         on SunOS 4.
23907
23908         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
23909         files will be created before anything else.
23910
23911 2001-11-17  Paul Eggert  <eggert@twinsun.com>
23912
23913         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
23914         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
23915
23916 2001-11-17  Jim Meyering  <meyering@lucent.com>
23917
23918         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
23919         Prompted by a report from Bob Proulx.
23920
23921         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
23922         Instead, require UTILS_FUNC_MKSTEMP.
23923
23924 2001-11-17  Jim Meyering  <meyering@lucent.com>
23925
23926         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
23927         Now, that's done as part of AC_FUNC_STRTOD.
23928
23929 2001-11-17  Jim Meyering  <meyering@lucent.com>
23930
23931         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
23932         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
23933         rather than group writable.  Patch by Juan F. Codagnone.
23934
23935         * lib/readtokens.c: Remove explicit declarations of xmalloc and
23936         xrealloc, Instead, include "xalloc.h".
23937
23938         * lib/mountlist.c: Include unlocked-io.h after all system headers.
23939         Remove explicit declarations of xmalloc, xrealloc,
23940         and xstrdup.  Instead, include "xalloc.h".
23941
23942         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
23943         unlocked-io.h.
23944         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
23945         Likewise.
23946         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
23947
23948         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
23949         Reported by Padraig Brady.
23950
23951         * lib/mkstemp.c: #undef mkstemp.
23952         Include config.h.
23953         (rpl_mkstemp): Rename from mkstemp.
23954         Protoize.
23955
23956 2001-11-16  Jim Meyering  <meyering@lucent.com>
23957
23958         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
23959         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
23960         determine the amount of total physical memory, use pstat_getstatic.
23961         HPUX-11 doesn't define _SC_PHYS_PAGES.
23962         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
23963         If sysconf couldn't be used to determine the amount of available
23964         physical memory, use both pstat_getstatic and pstat_getdynamic.
23965         Based on a patch from Bob Proulx.
23966
23967 2001-11-10  Jim Meyering  <meyering@lucent.com>
23968
23969         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
23970         (jm_PREREQ): Use it.
23971
23972 2001-11-09  Jim Meyering  <meyering@lucent.com>
23973
23974         * m4/jm-macros.m4: Require autoconf-2.52f.
23975         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
23976         Use these AC_-prefixed names, not the AM_-prefixed ones.
23977
23978         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
23979
23980 2001-11-05  Jim Meyering  <meyering@lucent.com>
23981
23982         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
23983
23984 2001-11-04  Jim Meyering  <meyering@lucent.com>
23985
23986         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
23987         $DEFS.
23988
23989 2001-11-03  Jim Meyering  <meyering@lucent.com>
23990
23991         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
23992         of AC_DEFUN.
23993
23994         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
23995         know the name of the variable in the macro definition.
23996
23997 2001-11-03  Jim Meyering  <meyering@lucent.com>
23998
23999         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
24000         in argmatch_to_argument call.
24001
24002         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
24003         argument.
24004
24005         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
24006         e.g., a fault due to an attempt to free a NULL pointer.
24007
24008 2001-11-01  Jim Meyering  <meyering@lucent.com>
24009
24010         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
24011         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
24012
24013 2001-11-01  Jim Meyering  <meyering@lucent.com>
24014
24015         * lib/dirfd.c, lib/dirfd.h: New files.
24016         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
24017
24018         * lib/hash.c (hash_print) [TESTING]: Clean up.
24019
24020 2001-10-22  Paul Eggert  <eggert@twinsun.com>
24021
24022         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
24023         to avoid a warning if -Wall.
24024
24025 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
24026
24027         * README: New file
24028         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
24029         (per RMS's instructions, this is now the canonical source)
24030         * lgpl/, gpl/: New directories.
24031
24032 2001-10-21  Paul Eggert  <eggert@twinsun.com>
24033
24034         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
24035
24036 2001-10-21  Jim Meyering  <meyering@lucent.com>
24037
24038         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
24039         this code would end up calling gettext even in packages built
24040         with --disable-nls.
24041         * lib/getopt.c (_): Likewise.
24042         * lib/regex.c (_): Likewise.
24043
24044 2001-10-20  Paul Eggert  <eggert@twinsun.com>
24045
24046         * m4/error.m4 (jm_PREREQ_ERROR):
24047         Do not invoke AC_CHECK_FUNCS with strerror_r, as
24048         AC_FUNC_STRERROR_R does that.
24049         Check for strerror declaration.
24050
24051         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
24052         are supposed to have them these days.
24053         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
24054         Merge changes from latest Autoconf CVS.
24055         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
24056         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
24057         POSIX decided to standardize on the int flavor of strerror_r.
24058
24059 2001-10-20  Paul Eggert  <eggert@twinsun.com>
24060
24061         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
24062         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
24063         Use strerror_r that is only a macro, even if it is not a function.
24064         (strerror): Check for HAVE_DECL_STRERROR before declaring.
24065         (private_strerror): Use prototypes, not old-style function definition.
24066         (print_errno_message): New function.
24067         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
24068         char*-flavored one.
24069         (error_tail, error, error_at_line): Use it.
24070
24071 2001-10-11  Jim Meyering  <meyering@lucent.com>
24072
24073         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
24074         and quote_n (1, ... to avoid clobbering a buffer.
24075
24076 2001-10-05  Jim Meyering  <meyering@lucent.com>
24077
24078         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
24079         hash-pjw.h.
24080         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
24081         * lib/hash-pjw.h: New file.
24082
24083 2001-09-30  Jim Meyering  <meyering@lucent.com>
24084
24085         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
24086         `struct fsstat' has the `f_fstypename' member.
24087         Use that to define FS_TYPE, which is now used to make
24088         the getfsstat link test tighter.
24089
24090 2001-09-30  Jim Meyering  <meyering@lucent.com>
24091
24092         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
24093         Include <sys/ucred.h>, for Apple Darwin.
24094         Include sys/mount.h and sys/fs_types.h only if available.
24095         (FS_TYPE): Define.
24096         (read_filesystem_list): Use FS_TYPE.
24097
24098 2001-09-29  Paul Eggert  <eggert@twinsun.com>
24099
24100         * lib/exclude.c (excluded_filename): 0 -> false, since it's
24101         a boolean context.
24102
24103 2001-09-29  Jim Meyering  <meyering@lucent.com>
24104
24105         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
24106         [one-argument getmntent function]): Include stdio.h before mntent.h.
24107         SunOS 4.1.x needs it for the declaration of `FILE'.
24108         Patch by Volker Borchert.
24109
24110         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
24111         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
24112         sys/fs_types.h, and make the link-test for getfsstat guard #include
24113         directives with appropriate #if HAVE_*_H tests so that we can
24114         detect getfsstat on Apple Darwin1.3.7 systems.
24115         Reported by Nelson Beebe.
24116         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
24117
24118 2001-09-28  Paul Eggert  <eggert@twinsun.com>
24119
24120         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
24121         #defines strtoimax.  Also treat the other strto* functions
24122         like strtoimax.
24123
24124         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24125         Check for strtoul and strtoumax,
24126         as those declarations are made even in the signed case.
24127         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
24128         Likewise, for strtol and strtoimax.
24129
24130 2001-09-28  Paul Eggert  <eggert@twinsun.com>
24131
24132         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
24133         #defines strtoimax.  Also treat the other strto* functions
24134         like strtoimax.
24135
24136         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
24137         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
24138         (strtoimax, strtoumax): Do not declare if already defined as a macro.
24139
24140 2001-09-26  Jim Meyering  <meyering@lucent.com>
24141
24142         Most macros in unlocked-io.h had the wrong number of arguments.
24143         * lib/gen-uio: New script.
24144         (USE_UNLOCKED_IO): Define to 1 if not already defined.
24145         * lib/unlocked-io.hin: Remove file.
24146         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
24147         rather than trying to embed it here.
24148         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
24149         Reported by Padraig Brady.
24150
24151 2001-09-25  Volker Borchert  <bt@teknon.de>
24152
24153         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
24154         `result'.
24155
24156 2001-09-24  Jim Meyering  <meyering@lucent.com>
24157
24158         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
24159
24160 2001-09-23  Jim Meyering  <meyering@lucent.com>
24161
24162         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
24163         instead of the mere test for existence of mntent.h.  The latter
24164         would get a false-positive on AIX 3.4 systems.
24165         In the outer getmntent if-block, don't die if neither of the getmntent
24166         tests succeeds.  Instead, just fall through and continue with the
24167         remaining tests.
24168
24169 2001-09-23  Jim Meyering  <meyering@lucent.com>
24170
24171         * lib/mountlist.c: Remove useless parentheses in #if directives.
24172         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
24173         the deprecated MOUNTED symbol is no longer defined in mntent.h.
24174
24175 2001-09-22  Jim Meyering  <meyering@lucent.com>
24176
24177         * m4/gettext.m4: New file.  From gettext.
24178         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
24179         * m4/progtest.m4: Likewise
24180         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
24181         * m4/glibc21.m4: Likewise.
24182
24183         * m4/libintl.m4: Remove.  No longer used.
24184
24185 2001-09-22  Jim Meyering  <meyering@lucent.com>
24186
24187         * lib/localcharset.c: Update from latest gettext.
24188         * lib/config.charset: Likewise.
24189
24190 2001-09-20  Jim Meyering  <meyering@lucent.com>
24191
24192         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
24193         strtoimax.
24194         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
24195         strtoumax.
24196
24197 2001-09-20  Jim Meyering  <meyering@lucent.com>
24198
24199         * lib/xstrtol.c (strtoimax): Guard declaration with
24200         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
24201         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
24202         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
24203         (strtoumax): Likewise, for completeness (it wasn't necessary).
24204
24205 2001-09-17  Paul Eggert  <eggert@twinsun.com>
24206
24207         * lib/strtoimax.c (HAVE_LONG_LONG):
24208         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
24209         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
24210         to work around bug in IBM C compiler.
24211
24212 2001-09-17  Jim Meyering  <meyering@lucent.com>
24213
24214         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
24215         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
24216         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
24217         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
24218         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
24219         whenever the right hand side need not be expanded by the shell.
24220
24221 2001-09-16  Paul Eggert  <eggert@twinsun.com>
24222
24223         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
24224         library.  It's not correct, as some older glibcs are buggy.
24225         fnmatch wasn't fixed until glibc 2.2.
24226
24227         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
24228         special shell magic here.
24229
24230 2001-09-16  Jim Meyering  <meyering@lucent.com>
24231
24232         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
24233         * m4/jm-macros.m4: Require it.
24234
24235 2001-09-16  Jim Meyering  <meyering@lucent.com>
24236
24237         * lib/mkdir.c: New file.
24238
24239 2001-09-15  Jim Meyering  <meyering@lucent.com>
24240
24241         * m4/jm-macros.m4: Check for help2man.
24242
24243 2001-09-11  Jim Meyering  <meyering@lucent.com>
24244
24245         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
24246         The body, by Paul Eggert, was moved here from configure.in.
24247         * m4/jm-macros.m4: Require UTILS_HOST_OS.
24248
24249 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24250
24251         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
24252         (jm_PREREQ): Use it.
24253
24254 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24255
24256         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
24257         Use ssize_t, not int, to store result of readlink.
24258         Check for ssize_t overflow as well as size_t overflow,
24259         as POSIX says the result of readlink is implementation-defined
24260         when ssize_t overflows.
24261         Remove unnecessary cast to char*.
24262         Use free+malloc instead of realloc, as the storage doesn't need
24263         to be preserved and it's clearer and can be more efficient that way.
24264         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
24265         * lib/xreadlink.h (xreadlink): Update prototype.
24266
24267 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24268
24269         * lib/xgetcwd.c: Revert some of the previous change; intead,
24270         fix the HAVE_GETCWD_NULL code to behave more like the
24271         !HAVE_GETCWD_NULL code used to.
24272
24273         Include "xalloc.h".
24274         (xgetcwd): Do not return NULL when memory is exhausted; instead,
24275         invoke xalloc_die.
24276
24277 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24278
24279         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
24280         sys/param.h, as pathmax.h includes them.
24281
24282 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24283
24284         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
24285         (jm_PREREQ_XGETCWD): New macro.
24286
24287         * m4/getcwd.m4: New file.
24288
24289 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24290
24291         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
24292         like the HAVE_GETCWD_NULL code.
24293         Include pathmax.h if not HAVE_GETCWD.
24294         Do not include xalloc.h.
24295         (INITIAL_BUFFER_SIZE): New symbol.
24296         Do not use xmalloc / xrealloc, since the caller is responsible for
24297         handling errors.  Preserve errno around `free' during failure.
24298         Do not overrun buffer when using getwd.
24299
24300 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24301
24302         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
24303         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
24304         getcwd (NULL, 0).
24305
24306 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24307
24308         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
24309         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
24310         spotted by Jim Meyering.
24311
24312 2001-09-03  Jim Meyering  <meyering@lucent.com>
24313
24314         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
24315         failure.
24316
24317 2001-09-02  Jim Meyering  <meyering@lucent.com>
24318
24319         * lib/error.c: Update from GNU libc.
24320
24321 2001-09-01  Jim Meyering  <meyering@lucent.com>
24322
24323         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
24324         Used by df.
24325
24326 2001-09-01  Jim Meyering  <meyering@lucent.com>
24327
24328         * lib/xreadlink.c: New file.
24329         * lib/xreadlink.h: New file.
24330         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
24331         xreadlink.h.
24332
24333         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
24334         doesn't conflict with sparc Solaris 7's definition in
24335         /usr/include/sys/int_types.h.
24336
24337         * lib/exclude.c: Use `""', not `<>' to #include non-system header
24338         files.
24339         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
24340         and strncasecmp as r-values.  Unixware didn't have declarations.
24341
24342 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24343
24344         * lib/xstrtol.h: Add copyright notice.
24345         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
24346         LONGINT_INVALID_SUFFIX_CHAR.
24347
24348 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24349
24350         * lib/xstrtol.c (strtoimax): New decl.
24351
24352 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24353
24354         * lib/xgetcwd.c: Don't include pathmax.h.
24355         Include stdlib.h and unistd.h if available.
24356         Include xalloc.h.
24357         (xmalloc, xstrdup, free): Remove decls.
24358         (xgetcwd): Don't assume sizes fit in unsigned.
24359         Check for overflow when computing sizes.
24360         Simplify reallocation code.
24361
24362 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24363
24364         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
24365         a directory's st_size can have an arbitrary value, so the old
24366         usage could waste an arbitrary amount of memory.  All uses
24367         changed.
24368         * lib/savedir.h: Update prototype.
24369
24370 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24371
24372         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
24373
24374         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
24375         old strtoimax.c.
24376
24377         Also, make the following further changes to make this file's
24378         configuration more similar to that of strtol.c:
24379         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
24380         (strtoumax, uintmax_t, strtoull, strtol): Remove.
24381         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
24382         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
24383         changed to signed values.
24384
24385         And make the following changes as well:
24386         Fix copyright notice, as 1999 was missing.
24387         (verify): New macro.
24388         (strtoimax): Check sizes at compile-time, not run-time.
24389         Prefer strtol to strtoll if both work.
24390         (main): Remove; it was not that useful and was a pain to maintain.
24391
24392         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
24393
24394 2001-08-31  Jim Meyering  <meyering@lucent.com>
24395
24396         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
24397         Use an initial, malloc'd, buffer of length 128 rather than
24398         a statically allocated one of length 1024.
24399
24400 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24401
24402         Simplify code, partly by assuming autoconf 2.52 semantics.
24403
24404         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
24405
24406         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
24407         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
24408         All uses removed.
24409         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
24410         Move AC_REQUIRE to next-to-top level, to avoid confusion.
24411         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
24412         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
24413         jm_AC_HEADER_INTTYPES_H.
24414         * m4/jm-macros.m4 (jm_MACROS): Likewise.
24415
24416         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
24417
24418         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24419         Quote first arg of AC_DEFUN.
24420         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
24421         since they are needed to parse the include file even if we need
24422         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
24423         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
24424         but with opposite signedness.
24425
24426 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24427
24428         Merge 'exclude' changes from tar 1.13.22.
24429         This fixes one or two unlikely storage allocation overflow bugs,
24430         but doesn't change user-visible behavior otherwise.
24431
24432 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24433
24434         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
24435         (jm_PREREQ_EXCLUDE): New macro.
24436
24437 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24438
24439         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
24440         tm to be declared.
24441
24442 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24443
24444         * lib/hash.c: Remove '2001' from copyright notice.
24445
24446 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24447
24448         * lib/full-write.h: New file.
24449         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
24450         * lib/full-write.c: Correct credits, as cccp.c no longer
24451         exists and anyway it was so heavily changed from the old cccp
24452         code as to be unrecognizable.  Include full-write.h.
24453         (full_write) Return size_t, with short writes meaning failure.
24454         All callers changed.  This fixes a bug with large buffers
24455         on 64-bit hosts.
24456         * lib/utime.c: Include full-write.h.
24457
24458 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24459
24460         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
24461         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
24462         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
24463         Include if available.
24464         (<xalloc.h>): Include
24465         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
24466         (verify): New macro.  Use it to verify that EXCLUDE macros do not
24467         collide with FNM macros.
24468         (struct patopts): New struct.
24469         (struct exclude): Use it, as exclude patterns now come with options.
24470         (new_exclude): Support above changes.
24471         (new_exclude, add_exclude_file):
24472         Initial size must now be a power of two to simplify overflow checking.
24473         (free_exclude, fnmatch_no_wildcards): New function.
24474         (excluded_filename): No longer requires options arg, as the options
24475         are determined by add_exclude.  Now returns bool, not int.
24476         (excluded_filename, add_exclude):
24477         Add support for the fancy new exclusion options.
24478         (add_exclude, add_exclude_file): Now takes int options arg.
24479         Check for arithmetic overflow when computing sizes.
24480         (add_exclude_file): xrealloc might modify errno, so don't
24481         realloc until after errno might be used.
24482
24483         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
24484         New macros.
24485         (free_exclude): New decl.
24486         (add_exclude, add_exclude_file): Now takes int options arg.
24487         (excluded_filename): No longer requires options arg, as the options
24488         are determined by add_exclude.  Now returns bool, not int.
24489
24490 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24491
24492         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
24493
24494 2001-08-27  Jim Meyering  <meyering@lucent.com>
24495
24496         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
24497
24498         * lib/version-etc.c (N_): Remove definition.
24499         Revert most of last change.
24500         Instead, simply don't mark the `Copyright...' string for translation.
24501         Based on advice from Paul Eggert.
24502
24503         * lib/strtoxmax.c: Tweak comment.
24504
24505 2001-08-26  Jim Meyering  <meyering@lucent.com>
24506
24507         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
24508
24509         * m4/xstrtoimax.m4: New file.
24510         * m4/xstrtoumax.m4: Add comments explaining why we
24511         AC_REPLACE_FUNCS(strtol).
24512
24513 2001-08-26  Jim Meyering  <meyering@lucent.com>
24514
24515         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
24516         of copyright with `%s' so translators don't get an untranslated
24517         message in 2002.
24518         (COPYRIGHT_YEAR): Define.
24519         (version_etc): Use fprintf rather than fputs.
24520         Suggestion from Ulrich Drepper.
24521
24522         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
24523
24524         * lib/strtoll.c: New file, from GNU libc.
24525         * lib/xstrtoimax.c: New file.
24526
24527         * lib/xstrtol.h: Add xstrtoimax.
24528         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
24529         * lib/strtoimax.c: New file.  Likewise, but first define
24530         STRTOUXMAX_SIGNED.
24531
24532         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
24533         ...
24534         * lib/strtoxmax.c: ... then renamed to this.
24535
24536 2001-08-18  Paul Eggert  <eggert@twinsun.com>
24537
24538         * m4/inttypes.m4: Add AC_PREREQ(2.13).
24539         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
24540         (jm_AC_TYPE_INTMAX_T): New macro.
24541         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
24542
24543         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
24544
24545         * m4/longlong.m4: Renamed from ulonglong.m4.
24546         * m4/inttypes.m4: Renamed from inttypes_h.m4.
24547         * m4/uintmax_t.m4: Removed.
24548
24549 2001-08-13  Paul Eggert  <eggert@twinsun.com>
24550
24551         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
24552         Port to Solaris 8, where 'sed' requires a space after the 'r'
24553         command, and where sh dislikes "$/".  Clean up the spacing a bit.
24554         Redirect output to $tmp just once.
24555
24556 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
24557
24558         * lib/addext.c (<errno.h>): Include.
24559         (errno): Declare if not defined.
24560         (addext): Work correctly when pathconf returns -1 and leaves
24561         errno alone because there is no limit.  Also, work even if
24562         pathconf returns a value greater than SIZE_MAX.
24563
24564 2001-08-12  Jim Meyering  <meyering@lucent.com>
24565
24566         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
24567         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
24568         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
24569         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
24570         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
24571         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
24572         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
24573         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
24574         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
24575         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
24576         utime.m4, utimes.m4, xstrtoumax.m4:
24577         Quote the first argument in each use of AC_DEFUN.
24578
24579 2001-08-12  Jim Meyering  <meyering@lucent.com>
24580
24581         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
24582         Simply `return getcwd (NULL, 0);'.
24583         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
24584         Use 1300 as initial value for length, not PATH_MAX.
24585
24586         * lib/pathmax.h: Clean up cpp syntax.
24587
24588 2001-08-12  Jim Meyering  <meyering@lucent.com>
24589
24590         * lib/gettimeofday.c: New file.
24591         * lib/gtod.h: New file.
24592         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
24593
24594 2001-08-05  Jim Meyering  <meyering@lucent.com>
24595
24596         * m4/jm-macros.m4: Require autoconf-2.52.
24597
24598 2001-08-04  Jim Meyering  <meyering@lucent.com>
24599
24600         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
24601         stmt, to get in sync with glibc.
24602
24603 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24604
24605         The following changes are from gettext 0.10.39 as maintained by
24606         Bruno Haible.
24607
24608         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
24609         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
24610         with inverted sense.  All uses changed.
24611
24612         * lib/mbswidth.c: Don't include <limits.h>.
24613         Include <stdlib.h> and <string.h> unconditionally.
24614         (iswcntrl, mbsinit, ISCNTRL): New macros.
24615         (mbsnwidth): Use K&R style function declarations.
24616         Don't bother checking for MB_LEN_MAX == 1, since the compiler
24617         can optimize it when MB_CUR_MAX == 1.
24618         The width of control characters is zero, not 1.
24619
24620 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24621
24622         The following changes are from gettext 0.10.39 as maintained by
24623         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
24624
24625         * m4/codeset.m4: Upgrade to serial AM1.
24626         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
24627         all uses changed.  Quote first arg of AC_DEFUN.
24628         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
24629
24630         * m4/iconv.m4: Upgrade to serial AM2.
24631         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
24632         Add --with-libconv-prefix.
24633         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
24634         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
24635         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
24636         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
24637         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
24638
24639         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
24640         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
24641         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
24642         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
24643         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
24644         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
24645         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24646         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
24647         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
24648
24649         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
24650         string.h any more.
24651
24652         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
24653         not the default value.
24654
24655         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
24656         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
24657         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
24658         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
24659         Also check for iswcntrl, used for wcwidth fallback.
24660         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
24661         to Autoconf 2.13.
24662
24663 2001-08-03  Jim Meyering  <meyering@lucent.com>
24664
24665         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
24666         as it was in the original.  Reported by Paul Eggert.
24667
24668 2001-07-16  Jim Meyering  <meyering@lucent.com>
24669
24670         * m4/gettimeofday.m4: New file.
24671         Prompted by a report from Bernhard Baehr.
24672
24673 2001-07-15  Jim Meyering  <meyering@lucent.com>
24674
24675         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
24676         stuff. Now it's in ../Makefile.cfg.
24677
24678 2001-07-15  Jim Meyering  <meyering@lucent.com>
24679
24680         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
24681         (BUILT_SOURCES): Add unlocked-io.h.
24682         (io_functions): Define.
24683         (unlocked-io.h): New rule.
24684         (DISTCLEANFILES): Add unlocked-io.h.
24685         (all-local): Depend on unlocked-io.h, to ensure it is created.
24686
24687         * lib/unlocked-io.hin: New file
24688
24689         * lib/regex.c: Update from glibc.
24690
24691 2001-07-05  Jim Meyering  <meyering@lucent.com>
24692
24693         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
24694         recommendation.
24695         (libfetish_a_SOURCES): Put all .h files here instead.
24696         Remove a thus-exposed (better checks in automake) duplicate and
24697         two unnecessary .h files.
24698
24699 2001-07-04  Jim Meyering  <meyering@lucent.com>
24700
24701         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
24702         that generates jm-glibc-io.m4 so that it doesn't trigger any make
24703         distcheck failure.
24704
24705 2001-07-02  Jim Meyering  <meyering@lucent.com>
24706
24707         The following changes were prompted by suggestions from Bruno Haible.
24708
24709         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
24710         is now generated.
24711         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
24712         definition of EXTRA_DIST.
24713         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
24714         ensure that the generated file is created/updated whenever the list
24715         of $(unlocked_functions) is changed.
24716         (jm-glibc-io.m4): New rule.
24717         (unlocked-io.h): New rule -- currently unused.
24718
24719 2001-06-24  Jim Meyering  <meyering@lucent.com>
24720
24721         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
24722         unmatched right bracket, rather than kludging it with an extra,
24723         falsely-matching quote in a comment.  Patch by Akim Demaille.
24724
24725 2001-06-11  Jim Meyering  <meyering@lucent.com>
24726
24727         * lib/regex.c: Update from GNU libc.
24728
24729 2001-05-27  Jim Meyering  <meyering@lucent.com>
24730
24731         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
24732         Check for ut_type in struct utmp.
24733
24734 2001-05-27  Jim Meyering  <meyering@lucent.com>
24735
24736         * lib/readutmp.h (UT_TYPE): Define.
24737
24738 2001-05-24  Jim Meyering  <meyering@lucent.com>
24739
24740         * lib/argmatch.c: Include "quote.h".
24741         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
24742         quote function.  Reported by Göran Uddeborg.
24743
24744 2001-05-22  Jim Meyering  <meyering@lucent.com>
24745
24746         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
24747         now that we use the package-supplied version unconditionally.
24748         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
24749
24750 2001-05-21  Jim Meyering  <meyering@lucent.com>
24751
24752         * m4/regex.m4: Change a couple backticks to single quotes to avoid
24753         shell syntax errors.
24754
24755 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
24756
24757         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
24758
24759 2001-05-20  Paul Eggert  <eggert@twinsun.com>
24760
24761         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
24762         Don't bother to check library strftime, since
24763         we'll be using our own my_strftime function anyway.
24764         Define my_strftime instead of strftime.
24765
24766 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
24767
24768         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
24769         which is not yet declared.
24770
24771 2001-05-15  Jim Meyering  <meyering@lucent.com>
24772
24773         * m4/regex.m4: Use proper quoting so brackets appear in the test
24774         program.
24775         Reported by, and with help from, Bruno Haible.
24776
24777 2001-05-13  Jim Meyering  <meyering@lucent.com>
24778
24779         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
24780         undefined.
24781
24782 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24783
24784         dirname code cleanup.  base_name now behaves more compatibly
24785         with POSIX basename when given file names that have trailing
24786         slashes, and similarly for dir_name.  Add new primitives
24787         base_len and dir_len.  Put the directory-name-related decls
24788         into dirname.h.
24789
24790         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
24791         * lib/backupfile.c (base_name): Likewise.
24792         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
24793         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
24794         * lib/makepath.c (strip_trailing_slashes): Likewise.
24795         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
24796         ISSLASH): Likewise.
24797         * lib/rename.c (strip_trailing_slashes): Likewise.
24798         * lib/same.c (base_name): Likewise.
24799         * lib/stripslash.c (ISSLASH): Likewise.
24800
24801         * lib/addext.c: Include <dirname.h> after size_t is defined.
24802         * lib/backupfile.c: Likewise.
24803
24804         * lib/addext.c (addext): Use base_len to trim redundant
24805         trailing slashes instead of doing it ourselves.
24806         But do not trim the last slash if it is not redundant.
24807
24808         * lib/backupfile.c (find_backup_file_name,
24809         max_backup_version): Use base_len instead of rolling it ourselves.
24810         Handle the case of "" and (on DOS) "C:" correctly.
24811
24812         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
24813         needed. Include <string.h>, <dirname.h>.
24814         (base_name): Allow file names ending in slashes, other than names
24815         that are all slashes.  In this case, return the basename followed
24816         by the slashes.  This is more general, and can be used in places
24817         where the original base_name purposely had an assertion failure.
24818         (base_len): New function.
24819
24820         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
24821         Do not include <assert.h>; no longer needed.
24822         Include xalloc.h.
24823         (memrchr): Remove decl.
24824         (dir_name_r): Remove.
24825         (dir_len): Renamed from dirlen.  All callers changed.
24826         Rewrite in terms of base_name, for simplicity and consistency.
24827         (dir_name): Never return NULL.  All callers changed.
24828         Do not include <stdlib.h> in test program; no longer needed.
24829         return 0; is fine for test program.
24830
24831         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
24832         New macros.
24833         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
24834
24835         * lib/path-concat.c (path_concat): Use base_len to compute
24836         base length, not strlen; this means we cannot rely on memcpy
24837         to null-terminate.
24838
24839         * lib/same.c (STREQ): Remove.
24840         (same_name): Handle the case where the basename ends in trailing '/'.
24841
24842         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
24843         a slash was stripped.  Do not strip the last slash after a
24844         file system prefix.
24845
24846 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24847
24848         * lib/Makefile.am (libfetish_a_SOURCES):
24849         Add strftime.c, since we now compile it on all hosts.
24850
24851         * lib/strftime.c (my_strftime):
24852         Define to nstrftime if emacs, but only if my_strftime is not defined.
24853         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
24854         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
24855         Add one more extra argument: a nanoseconds value.
24856         All uses changed.
24857         (ns): New macro.
24858         (my_strftime function): Add %N format.
24859         (emacs_strftimeu): Renamed from emacs_strftime,
24860         with extra ut argument.
24861
24862 2001-05-09  Paul Eggert  <eggert@twinsun.com>
24863
24864         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
24865
24866 2001-04-21  Jim Meyering  <meyering@lucent.com>
24867
24868         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
24869         doesn't interfere.
24870
24871 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
24872
24873         * m4/ftruncate.m4: Check for chsize.
24874         Link with ftruncate.o unconditionally if ftruncate is missing.
24875         This was required when cross-compiling to i586-mingw32msvc.
24876
24877 2001-04-08  Jim Meyering  <meyering@lucent.com>
24878
24879         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
24880         recomputed; that's necessary when the offset spans a DST transition.
24881         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
24882
24883 2001-04-02  Jim Meyering  <meyering@lucent.com>
24884
24885         * lib/regex.h, regex.c: Update from GNU libc.
24886
24887 2001-03-24  Jim Meyering  <meyering@lucent.com>
24888
24889         * m4/jm-macros.m4: Require autoconf-2.49d.
24890
24891 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
24892
24893         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
24894
24895 2001-03-19  Paul Eggert  <eggert@twinsun.com>
24896
24897         * lib/version-etc.c (version_etc_copyright): Update to 2001.
24898
24899 2001-03-17  Jim Meyering  <meyering@lucent.com>
24900
24901         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
24902         now that the version in autoconf is equivalent.
24903         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
24904
24905         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
24906         Suggestion from Akim Demaille.
24907
24908         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
24909         (jm_PREREQ_TEMPNAME): New function.
24910
24911 2001-03-16  Paul Eggert  <eggert@twinsun.com>
24912
24913         * lib/tempname.c (uint64_t): Define to uintmax_t if
24914         not defined, and if UINT64_MAX is not defined.
24915         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
24916         Reported by John David Anglin.
24917
24918 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
24919
24920         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
24921         resolve alias if codeset is empty.
24922         * lib/config.charset (BeOS): Use wildcard syntax.
24923
24924 2001-03-13  Jim Meyering  <meyering@lucent.com>
24925
24926         * lib/path-concat.c (path_concat)
24927         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
24928         concatenating e.g., `C:' and `foo'.
24929         From Bruno Haible.
24930
24931 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
24932
24933         * lib/localcharset.c (locale_charset): Don't use
24934         setlocale(LC_CTYPE,NULL). Don't return NULL.
24935         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
24936
24937 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
24938
24939         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
24940         support for DOS/DJGPP.
24941
24942 2001-03-01  Paul Eggert  <eggert@twinsun.com>
24943
24944         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
24945         lacks mkstemp.  Compile our own tempname.c if we compile our own
24946         mkstemp.c, as mkstemp relies on tempname.
24947
24948 2001-03-01  Jim Meyering  <meyering@lucent.com>
24949
24950         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
24951         AH_VERBATIM really does output its argument verbatim.
24952
24953 2001-02-28  Paul Eggert  <eggert@twinsun.com>
24954
24955         * lib/Makefile.am (libfetish_a_SOURCES):
24956         Add dup-safer.c, fopen-safer.c.
24957         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
24958
24959         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
24960         * lib/unistd-safer.h: New files.
24961
24962 2001-02-25  Paul Eggert  <eggert@twinsun.com>
24963
24964         The mkstemp replacement is taken from glibc 2.2.2, with some
24965         portability fixes for use outside glibc, as follows:
24966
24967         * lib/tempname.c (struct_stat64): New macro.
24968         (direxists, __gen_tempname): Use it.
24969         This avoids a portability problem with Solaris 8.
24970
24971         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
24972         (<stddef.h>, <stdint.h>, <string.h>):
24973         Include only if STDC_HEADERS || _LIBC.
24974         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
24975         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
24976         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
24977         (__set_errno): Define this macro if <errno.h> doesn't.
24978         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
24979         Define these macros if <stdio.h> doesn't.
24980         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
24981         Define these macros if <sys/stat.h>
24982         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
24983         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
24984         __xstat64): Define if not _LIBC.
24985         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
24986         (__gen_tempname): Invoke gettimeofday only if
24987         HAVE_GETTIMEOFDAY || _LIBC;
24988         otherwise, fall back on plain "time".
24989         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
24990
24991         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
24992
24993         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
24994
24995 2001-02-18  Paul Eggert  <eggert@twinsun.com>
24996
24997         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
24998
24999 2001-02-17  Paul Eggert  <eggert@twinsun.com>
25000
25001         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
25002         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
25003         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
25004         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
25005
25006 2001-02-17  Paul Eggert  <eggert@twinsun.com>
25007
25008         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
25009         Remove workaround macros for hosts that have mbrtowc but not
25010         mbstate_t, as we now insist on proper declarations for both
25011         before using mbrtowc.
25012
25013 2001-02-17  Jim Meyering  <meyering@lucent.com>
25014
25015         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
25016         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
25017         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
25018         UnixWare 7.1.1.
25019
25020         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
25021         rather than AC_CACHE_VAL.
25022
25023 2001-02-17  Jim Meyering  <meyering@lucent.com>
25024
25025         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
25026         around included file name.
25027
25028         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
25029
25030         * lib/strftime.c: Update from GNU libc (the only changes were to
25031         comments).
25032
25033 2001-02-17  Jim Meyering  <meyering@lucent.com>
25034
25035         * lib/regex.c: Update from libc.
25036
25037 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
25038
25039         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
25040         clash.
25041
25042 2001-02-16  Paul Eggert  <eggert@twinsun.com>
25043
25044         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
25045         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
25046         Reported by Mark Hounschell via Paul Eggert.
25047
25048 2001-02-07  Jim Meyering  <meyering@lucent.com>
25049
25050         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
25051
25052 2001-02-05  Jim Meyering  <meyering@lucent.com>
25053
25054         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
25055         it includes the patch required for `large file' support with at least
25056         HP-UX's 10.20 /bin/cc.
25057
25058 2001-02-03  Jim Meyering  <meyering@lucent.com>
25059
25060         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
25061         AS_IF, now that it works once again (mysteriously).
25062         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
25063
25064 2001-01-30  Jim Meyering  <meyering@lucent.com>
25065
25066         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
25067         * m4/chown.m4: Rename conftestchown to conftest.chown.
25068         * m4/rename.m4: s/conftestdir/conftest.d1/ and
25069         s/conftestdir2/conftest.d2/.
25070         * m4/utimes.m4: s/conftestdata/conftest.data/
25071         Inspired by Pavel Roskin's change in autoconf.
25072
25073 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
25074
25075         * lib/config.charset: Update for FreeBSD 4.2.
25076
25077 2001-01-27  Jim Meyering  <meyering@lucent.com>
25078
25079         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
25080         a use of AS_IF.
25081         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
25082
25083 2001-01-26  Jim Meyering  <meyering@lucent.com>
25084
25085         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
25086         quotearg.c includes it.
25087
25088 2001-01-26  Jim Meyering  <meyering@lucent.com>
25089
25090         * lib/quotearg.c: Include stddef.h.
25091         * lib/quote.c: Include stddef.h.
25092         Reported by Axel Kittenberger.
25093
25094         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
25095         line in double quotes so that it evokes a better diagnostic.
25096         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
25097         Reported by Axel Kittenberger.
25098
25099 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
25100
25101         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
25102         as if it was a `charset'.
25103
25104 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
25105
25106         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
25107         has const.
25108
25109 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
25110
25111         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
25112         to avoid a warning.  Add back 'const' to inptr.
25113
25114 2001-01-20  Jim Meyering  <meyering@lucent.com>
25115
25116         Be sure that headers are checked before used in code compiled
25117         for the type checks.
25118         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
25119         In place of that, invoke jm_CHECK_ALL_TYPES.
25120         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
25121         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
25122         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
25123         The check for ssize_t was mistakenly run before the test for unistd.h.
25124
25125         The configure-time check for stdbool.h was missing.
25126         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
25127         (jm_PREREQ_HASH): New function.
25128
25129 2001-01-17  Jim Meyering  <meyering@lucent.com>
25130
25131         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
25132         for autoconf-2.49c.
25133         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
25134
25135 2001-01-16  Jim Meyering  <meyering@lucent.com>
25136
25137         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
25138         From Bruno Haible.
25139
25140 2001-01-14  Jim Meyering  <meyering@lucent.com>
25141
25142         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
25143         foo and bar.  Create conftestdir/ in the script, not in the C code.
25144         Remove directories in the script, not in the C code.
25145         Remove conftestdir{,2} before trying to create the directory.
25146         Make the entire configure script fail if the mkdir fails.
25147
25148 2001-01-14  Jim Meyering  <meyering@lucent.com>
25149
25150         * lib/rename.c: New file.  From Volker Borchert.
25151         Include stdlib.h, string.h or strings.h, and xalloc.h.
25152         Use strip_trailing_slashes rather than open-coding it.
25153
25154 2001-01-03  Paul Eggert  <eggert@twinsun.com>
25155
25156         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
25157
25158 2001-01-03  Jim Meyering  <meyering@lucent.com>
25159
25160         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
25161         of local `inptr' to avoid warning with some system declarations of
25162         iconv.
25163
25164 2001-01-02  Volker Borchert  <bt@teknon.de>
25165
25166         * m4/rename.m4: New file.
25167         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
25168
25169 2001-01-01  Jim Meyering  <meyering@lucent.com>
25170
25171         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
25172         even on systems with utmpx.h.  It's necessary for the declaration of
25173         utmp's ut_user member.  Reported by Andreas Jaeger.
25174
25175         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
25176         available. They are required for the declarations of getgrgid and
25177         getpwuid resp.
25178         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
25179         Reported by Andreas Jaeger.
25180
25181 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
25182
25183         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
25184         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
25185         so `make install' also works in VPATH builds.
25186
25187 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
25188
25189         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
25190         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
25191         can be used in subdirectories.
25192
25193 2000-12-29  Paul Eggert  <eggert@twinsun.com>
25194
25195         * lib/modechange.c: Do not assume that mode_t uses the
25196         traditional octal encoding.  E.g. "chmod 1 FOO" should set
25197         the other-execute bit of FOO even if S_IXOTH != 1.
25198
25199         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
25200         WOTH, XOTH, ALLM): New macros.
25201         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
25202          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
25203         Use them.
25204         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
25205         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
25206         (mode_compile):
25207         No need to use uintmax_t; unsigned long is long enough.
25208         Don't bother to get suffix since we don't use it.
25209
25210 2000-12-26  Jim Meyering  <meyering@lucent.com>
25211
25212         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
25213         better with autoheader.
25214
25215 2000-12-24  Jim Meyering  <meyering@lucent.com>
25216
25217         * lib/hash.c (is_prime): Return explicit boolean values.
25218         (hash_get_first): Return NULL to appease Irix5.6's 89.
25219         Reported by Nelson Beebe.
25220
25221 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
25222
25223         * lib/localcharset.c (locale_charset): Add support for Win32.
25224
25225 2000-12-18  Paul Eggert  <eggert@twinsun.com>
25226
25227         * lib/physmem.h, lib/physmem.c: New files.
25228
25229         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
25230         (noinst_HEADERS): Add physmem.h.
25231
25232         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
25233         't' for compatibility with Solaris 8 sort.
25234
25235 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
25236
25237         * lib/config.charset: Add support for BeOS.
25238
25239 2000-12-17  Jim Meyering  <meyering@lucent.com>
25240
25241         * m4/dos.m4 (jm_AC_DOS): New file and macro.
25242         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
25243
25244 2000-12-16  Jim Meyering  <meyering@lucent.com>
25245
25246         This bug had a serious impact on chown: `chown N:M FILE' (for integer
25247         N and M) would have treated it like `chown N:N FILE'.
25248
25249         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
25250
25251 2000-12-16  Jim Meyering  <meyering@lucent.com>
25252
25253         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
25254         SHELLS_FILE to a file name that's useful on djgpp systems.
25255         Include stdlib.h.
25256         (ADDITIONAL_DEFAULT_SHELLS): Define.
25257         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
25258         Based mostly on a patch from Prashant TR.
25259
25260 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
25261
25262         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
25263         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
25264         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
25265
25266 2000-12-08  Andreas Schwab  <schwab@suse.de>
25267
25268         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
25269         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
25270
25271 2000-12-07  Jim Meyering  <meyering@lucent.com>
25272
25273         * lib/stripslash.c (ISSLASH): Define.
25274         (strip_trailing_slashes): Use ISSLASH rather than comparing against
25275         `/'.
25276         From Prashant TR.
25277
25278         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
25279         (dir_name_r): Declare this function as static.
25280         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
25281         manifest itself on a name containing a mix of slashes and
25282         backslashes.
25283         Make this function work with names starting with a DOS-style
25284         drive letter and colon prefix.
25285         (dir_name): Append `.' if necessary.
25286         Based mostly on patches from Prashant TR and Eli Zaretskii.
25287
25288         * lib/dirname.h (dir_name_r): Remove prototype.
25289
25290 2000-12-06  Paul Eggert  <eggert@twinsun.com>
25291
25292         * m4/off_t-format.m4: Remove this file.
25293         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
25294
25295 2000-12-06  Jim Meyering  <meyering@lucent.com>
25296
25297         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
25298         replacement strtoull, we may well need the replacement strtoul, too.
25299         Check for declarations of strtoul and strtoull.
25300         Check for strtol.  Mainly as a cue to cause automake to include
25301         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
25302         Check for limits.h -- strtol.c needs it.
25303
25304 2000-12-05  Jim Meyering  <meyering@lucent.com>
25305
25306         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
25307
25308 2000-12-04  Jim Meyering  <meyering@lucent.com>
25309
25310         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
25311         Also include memory.h, stdlib.h, unistd.h if appropriate.
25312         Reported by Andreas Jaeger (conflicting declaration of malloc).
25313
25314 2000-12-02  Jim Meyering  <meyering@lucent.com>
25315
25316         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
25317         * m4/jm-macros.m4 (jm_MACROS): require it.
25318
25319 2000-12-02  Jim Meyering  <meyering@lucent.com>
25320
25321         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
25322
25323 2000-12-01  Paul Eggert  <eggert@twinsun.com>
25324
25325         * lib/memrchr.c: Include <config.h> before any system include file.
25326
25327 2000-11-30  Jim Meyering  <meyering@lucent.com>
25328
25329         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
25330
25331 2000-11-30  Jim Meyering  <meyering@lucent.com>
25332
25333         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
25334
25335 2000-11-29  Paul Eggert  <eggert@twinsun.com>
25336
25337         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
25338
25339 2000-11-26  Jim Meyering  <meyering@lucent.com>
25340
25341         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
25342
25343 2000-11-22  Paul Eggert  <eggert@twinsun.com>
25344
25345         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
25346         size of (size_t) -1; it's not portable.
25347
25348 2000-11-17  Jim Meyering  <meyering@lucent.com>
25349
25350         * lib/strstr.c: Update from GNU libc.
25351
25352 2000-11-17  Akim Demaille  <akim@epita.fr>
25353
25354         * lib/obstack.h: Formatting changes.
25355         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
25356         prevent type checking.
25357         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
25358         cast the value to (void *): assigning a `foo *' to a `void *'
25359         variable is valid.
25360         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
25361
25362 2000-11-16  Jim Meyering  <meyering@lucent.com>
25363
25364         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
25365
25366 2000-11-11  Jim Meyering  <meyering@lucent.com>
25367
25368         * lib/error.c: Add a couple #includes, merging from GNU libc version.
25369
25370 2000-11-10  Jim Meyering  <meyering@lucent.com>
25371
25372         * lib/obstack.h: Update from GNU libc.
25373         * lib/obstack.c: Likewise.
25374
25375 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
25376
25377         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
25378
25379 2000-11-06  Paul Eggert  <eggert@twinsun.com>
25380
25381         * lib/getusershell.c (setusershell): Use rewind rather than
25382         fseek/fseeko, to avoid configuration hassles with fseeko.
25383         Don't bother opening SHELLS_FILE if shellstream is NULL;
25384         it's not necessary.
25385
25386 2000-11-05  Jim Meyering  <meyering@lucent.com>
25387
25388         * lib/makepath.h (make_dir): Declare.
25389         * lib/makepath.c (make_dir): Remove `static' attribute.
25390         Tweak a comment.
25391
25392 2000-11-04  Jim Meyering  <meyering@lucent.com>
25393
25394         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
25395
25396 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
25397
25398         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
25399         last one in a bucket, advance to the next bucket.
25400
25401 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
25402
25403         * lib/fnmatch.c: Do not comment out all the code if we are using
25404         the GNU C library, because in some cases we are replacing buggy
25405         code in the GNU C library itself.
25406
25407 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
25408
25409         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
25410         (regex_compile): Catch bogus \(\1\).
25411
25412 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25413
25414         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
25415         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
25416         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
25417
25418 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25419
25420         * lib/error.h, getline.h, modechange.h:
25421         Remove "2000" from Copyright line, as the file hasn't been
25422         changed this year other than in the copyright notice.
25423
25424         * lib/xalloc.h: Add "2000" to Copyright line, as this file
25425         was changed this year.
25426
25427 2000-10-29  Jim Meyering  <meyering@lucent.com>
25428
25429         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
25430         renaming.
25431         * m4/ls-mntd-fs.m4: Likewise
25432
25433 2000-10-29  Jim Meyering  <meyering@lucent.com>
25434
25435         * lib/xstat.in: Fix grammar in comment.
25436
25437 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
25438
25439         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
25440         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
25441         doesn't define __restrict_arr.
25442
25443 2000-10-28  Jim Meyering  <meyering@lucent.com>
25444
25445         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
25446         (jm_PREREQ_MEMCHR): New function.
25447
25448 2000-10-28  Jim Meyering  <meyering@lucent.com>
25449
25450         * lib/memchr.c: Update from libc.
25451         Adjust for portability:
25452         [HAVE_STDLIB_H]: Include stdlib.h.
25453         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
25454         Undef __memchr, too.
25455         [!weak_alias]: Define __memchr to memchr.
25456
25457         * lib/regex.c: Update from libc.
25458         * lib/regex.h: Likewise.
25459         * lib/getopt1.c: Likewise.
25460         * lib/memcmp.c: Likewise.
25461
25462         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
25463         Avoid using fseek, when possible -- it's broken by design.
25464         Patch by Ulrich Drepper.
25465
25466 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
25467
25468         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
25469         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
25470         Giving in to popular pressure to shut up the compiler with casts.
25471
25472 2000-10-26  Jim Meyering  <meyering@lucent.com>
25473
25474         * lib/strftime.c: Update from libc.
25475
25476 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
25477
25478         * regex.c: More `unsigned char' -> `re_char' changes.
25479         Also change several `int' into `re_wchar_t'.
25480         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
25481         (PUSH_FAILURE_POINTER): Don't cast any more.
25482         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
25483         We want GCC to complain, since this piece of code makes
25484         re_match non-reentrant, which *should* be fixed.
25485         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
25486         (EXTEND_BUFFER): Use RETALLOC.
25487         (SET_LIST_BIT): Don't cast.
25488         (re_wchar_t): New type.
25489         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
25490         that those two functions will always properly return.
25491         (IMMEDIATE_QUIT_CHECK): Cast to void.
25492         (analyse_first): Use recursion rather than an explicit stack.
25493         (re_compile_fastmap): Can't fail anymore.
25494         (re_search_2): Don't check re_compile_fastmap for failure.
25495         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
25496         Now also sets the new value (passed in a new argument).
25497         (re_match_2_internal): Use it.
25498         Also, use a new var `reg' of type size_t when looping through regs
25499         rather than reuse the inappropriate `mcnt'.
25500
25501 2000-10-25  Jim Meyering  <meyering@lucent.com>
25502
25503         * lib/obstack.c: Update from libc.
25504
25505 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
25506
25507         * regex.c (regex_compile): Change the way of handling a range from
25508         a char less than 256 to a char not less than 256.
25509
25510 2000-10-24  Andrew Innes  <andrewi@gnu.org>
25511
25512         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
25513         NT-Emacs only.
25514         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
25515         so that re_search functions only quit when callers expect them to.
25516
25517 2000-10-23  Jim Meyering  <meyering@lucent.com>
25518
25519         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
25520         wrong.  That set_locale call must not have any side effects.
25521         From Paul Eggert.
25522
25523 2000-10-22  Jim Meyering  <meyering@lucent.com>
25524
25525         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
25526         [CYCLIC]: Remove now-unused definition.
25527
25528         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
25529         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
25530         Suggestion from Ulrich Drepper.
25531
25532 2000-10-21  Jim Meyering  <meyering@lucent.com>
25533
25534         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
25535         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
25536         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
25537
25538 2000-10-21  Jim Meyering  <meyering@lucent.com>
25539
25540         * lib/dirname.c (memrchr): Declare if necessary.
25541         (dir_name): Remove the restriction that there be no
25542         trailing slashes.  Now, this code skips past them, effectively
25543         ignoring them.
25544         [TEST_DIRNAME] (main): New unit tests.
25545
25546         * lib/memrchr.c: New file from GNU libc.
25547         Undef __memrchr, too.
25548         [!weak_alias]: Define __memrchr to memrchr.
25549         Guard weak_alias use with `#ifdef weak_alias'.
25550
25551 2000-10-21  Jim Meyering  <meyering@lucent.com>
25552
25553         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
25554         (dir_name): Use dir_name_r.
25555         * lib/dirname.h (dir_name_r): Declare it.
25556
25557 2000-10-17  Jim Meyering  <meyering@lucent.com>
25558
25559         * lib/quote.h (PARAMS): Define and use.
25560         Reported by Akim Demaille.
25561
25562         * lib/getopt.c: Update from libc.
25563
25564 2000-10-16  Jim Meyering  <meyering@lucent.com>
25565
25566         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
25567         setlocale.
25568         From Jan Fedak.
25569
25570 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
25571
25572         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
25573
25574 2000-09-25  Jim Meyering  <meyering@lucent.com>
25575
25576         * lib/md5.h (rol): Define (from GnuPG).
25577
25578         * lib/sha.c: Give credit (GnuPG) where due.
25579         (M): Use rol rather than open-coding it.
25580         Add a FIXME comment.
25581
25582 2000-09-21  Jim Meyering  <meyering@lucent.com>
25583
25584         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
25585         Reported by Michael Stone.
25586
25587 2000-09-20  Jim Meyering  <meyering@lucent.com>
25588
25589         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
25590         (noinst_HEADERS): Add sha.h.
25591         Based on code from Scott G. Miller and from GnuPG.
25592
25593 2000-09-18  Jim Meyering  <meyering@lucent.com>
25594
25595         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
25596         LIBS. Otherwise, everyone ends up linking with -lelf for some
25597         configurations.
25598         Reported by Mike Stone.
25599
25600 2000-09-15  Jim Meyering  <meyering@lucent.com>
25601
25602         * lib/regex.c: Update from libc.
25603
25604 2000-09-10  Jim Meyering  <meyering@lucent.com>
25605
25606         * lib/getopt.c (_getopt_internal): Update from glibc.
25607
25608 2000-09-09  Jim Meyering  <meyering@lucent.com>
25609
25610         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
25611         think it should be used as a general replacement for isascii.
25612         * lib/fnmatch.c: Likewise.
25613         * lib/mbswidth.c: Likewise
25614         * lib/regex.c: Likewise.
25615
25616         Don't use atoi.
25617         * lib/userspec.c: Include sys/param.h and limits.h.
25618         Include xstrtol.h.
25619         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
25620         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
25621         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
25622         UID, GID.  Check range.
25623
25624 2000-09-06  Jim Meyering  <meyering@lucent.com>
25625
25626         * lib/getopt.c (_getopt_internal): Update from glibc.
25627
25628 2000-08-30  Jim Meyering  <meyering@lucent.com>
25629
25630         * lib/strftime.c: Merge in changes from GNU libc.
25631
25632 2000-08-26  Jim Meyering  <meyering@lucent.com>
25633
25634         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
25635         * m4/fpending.m4: New file.
25636
25637 2000-08-26  Jim Meyering  <meyering@lucent.com>
25638
25639         * lib/closeout.c: Include "__fpending.h".
25640         (close_stdout_status): Return right away if there's nothing to flush.
25641
25642         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
25643         * lib/__fpending.c: New file.
25644         * lib/__fpending.h: New file.
25645
25646 2000-08-20  Jim Meyering  <meyering@lucent.com>
25647
25648         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
25649         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
25650         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
25651
25652 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
25653
25654         Improve fileutils installation on systems where running
25655         programs (like install) can't be unlinked.
25656         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
25657         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
25658
25659 2000-08-07  Paul Eggert  <eggert@twinsun.com>
25660
25661         Standardize on "memory exhausted" instead of "Memory exhausted"
25662         or "virtual memory exhausted".
25663         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
25664         "virtual memory exhausted".
25665         * lib/same.c (same_name): Invoke xalloc_die instead of printing
25666         our own message.
25667         * lib/userspec.c (parse_user_spec): Likewise.
25668         * lib/bumpalloc.h: comment fix
25669         * lib/same.c, userspec.c: Include xalloc.h.
25670
25671         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
25672         not char *const and pointing to a constant array.
25673         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
25674         (xrealloc): Comment fix.
25675
25676         * lib/userspec.c (parse_user_spec):
25677         Don't translate a message until just before returning,
25678         to avoid unnecessary translation.
25679
25680 2000-08-07  Jim Meyering  <meyering@lucent.com>
25681
25682         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
25683         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
25684         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
25685         getgroups.c, gethostname.c, getopt.h, group-member.c,
25686         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
25687         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
25688         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
25689         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
25690         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
25691         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
25692         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
25693         yesno.c: Back out Copyright date changes for each file with no change
25694         this year.  This eases coordination with other programs using the same
25695         source code modules.  From Paul Eggert.
25696
25697 2000-08-06  Paul Eggert  <eggert@twinsun.com>
25698
25699         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
25700         not char, for compatibility with glibc 2.1.3 strftime.c.
25701
25702 2000-08-03  Greg McGary  <greg@mcgary.org>
25703
25704         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
25705         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
25706         (EXTEND_BUFFER): Use them.
25707
25708 2000-08-01  Jim Meyering  <meyering@lucent.com>
25709
25710         * lib/dirname.c (ISSLASH): Define.
25711         (BACKSLASH_IS_PATH_SEPARATOR): Define.
25712         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
25713         both `\' and `/' may be use as path separators.
25714         Based on a patch from Prashant TR.
25715
25716 2000-07-31  Paul Eggert  <eggert@twinsun.com>
25717
25718         * lib/quotearg.c (quotearg_n_options): Don't make the initial
25719         slot vector a constant, since it might get modified.
25720
25721 2000-07-31  Jim Meyering  <meyering@lucent.com>
25722
25723         * lib/xmalloc.c: Use `virtual memory exhausted', not
25724         `Memory exhausted'.
25725         * lib/obstack.c (print_and_abort): Likewise.
25726
25727 2000-07-30  Paul Eggert  <eggert@twinsun.com>
25728
25729         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
25730         buffer, so that the caller can always quote one small
25731         component of a "memory exhausted" message in slot 0.
25732         From a suggestion by Jim Meyering.
25733
25734 2000-07-30  Jim Meyering  <meyering@lucent.com>
25735
25736         * lib/makepath.c (make_path): Quote the other instance, too.
25737
25738         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
25739         (STATIC_BUF_SIZE): Define.
25740         (quotearg_n_options): Use only statically allocated storage when
25741         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
25742         than STATIC_BUF_SIZE.
25743
25744 2000-07-29  Jim Meyering  <meyering@lucent.com>
25745
25746         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
25747         * lib/dirname.c (dir_name): Likewise.
25748
25749         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
25750         `/'.
25751
25752         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
25753         (dir_name): Assert that there are no trailing slashes.
25754
25755 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
25756
25757         * lib/mbswidth.h (mbswidth): Add a flags argument.
25758         (mbswidth): New declaration.
25759         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
25760         * lib/mbswidth.c (mbswidth): Add a flags argument.
25761         (mbsnwidth): New function.
25762
25763 2000-07-24  Jim Meyering  <meyering@lucent.com>
25764
25765         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
25766
25767 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25768
25769         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
25770
25771 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25772
25773         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
25774         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
25775         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
25776         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
25777         invoke multibyte primitives.
25778
25779 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25780
25781         * lib/quotearg.c:
25782         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
25783         so that mbstate_t is always defined.
25784
25785         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
25786         be 1 in at least one GCC installation, and this configuration
25787         error is likely to be common.  Ignoring MB_LEN_MAX hurts
25788         performance on hosts that have mbrtowc but have only unibyte
25789         locales, but I assume these hosts are rare.
25790
25791 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25792
25793         * lib/mbswidth.c (_XOPEN_SOURCE):
25794         Don't define; this causes problems on Solaris 7.
25795         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
25796
25797 2000-07-23  Jim Meyering  <meyering@lucent.com>
25798
25799         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
25800         too: getgrgid, getpwuid, getuid.
25801
25802 2000-07-23  Jim Meyering  <meyering@lucent.com>
25803
25804         * lib/basename.c (base_name): Add an assertion.
25805
25806 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
25807
25808         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
25809         shadow its mbsinit function.
25810
25811 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25812
25813         * lib/mbswidth.h: New file.
25814         * lib/mbswidth.c: New file.
25815         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
25816         (noinst_HEADERS): Add mbswidth.h.
25817
25818 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25819
25820         * lib/config.charset: Add support for FreeBSD. Improve support for
25821         HP-UX and IRIX 6.
25822
25823 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
25824
25825         * m4/mbswidth.m4: New file.
25826         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
25827
25828 2000-07-15  Jim Meyering  <meyering@lucent.com>
25829
25830         * lib/makepath.c: Include quote.h.
25831         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
25832         corresponding argument in a `quote (...)' call.
25833         Give better diagnostics.
25834
25835         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
25836         (noinst_HEADERS): Add quote.h.
25837
25838         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
25839         from tar's src/misc.c.
25840         * lib/quote.h: New file.  Prototypes for same.
25841
25842 2000-07-14  Paul Eggert  <eggert@twinsun.com>
25843
25844         From a suggestion by Bruno Haible.
25845         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
25846         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
25847         to decide whether to define the BeOS workaround macro;
25848         this adjusts to the change to AC_MBSTATE_T.
25849
25850 2000-07-14  Jim Meyering  <meyering@lucent.com>
25851
25852         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
25853         jm_AC_TYPE_UINTMAX_T.
25854
25855 2000-07-13  Paul Eggert  <eggert@twinsun.com>
25856
25857         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
25858
25859         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
25860         quotearg_buffer_restyled): Add support for
25861         clocale_quoting_style.  Undo previous change to
25862         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
25863         and "{RIGHT QUOTATION MARK}" msgids.
25864
25865 2000-07-10  Paul Eggert  <eggert@twinsun.com>
25866
25867         From a suggestion by Bruno Haible.
25868         * m4/mbstate_t.m4 (AC_MBSTATE_T):
25869         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
25870         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
25871         and mbstate_t, to a single-part test that simply defines mbstate_t.
25872         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
25873         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
25874
25875 2000-07-10  Jim Meyering  <meyering@lucent.com>
25876
25877         * m4/strerror_r.m4: Mirror the correction made in autoconf.
25878
25879         * m4/gnu-source.m4: Output to confdefs.h directly.
25880         Suggestion from Akim Demaille.
25881
25882 2000-07-09  Paul Eggert  <eggert@twinsun.com>
25883
25884         The old behavior of quoting `like this' doesn't look good with
25885         newer, ISO-style fonts.  See:
25886         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
25887
25888         Instead, quote "like this" by default.  Let the translator
25889         tailor the locale-specific quoting behavior by providing
25890         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
25891
25892         * lib/quotearg.c (N_): New macro.
25893         (gettext_default): New function.
25894         (quotearg_buffer_restyled): Use
25895         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
25896         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
25897
25898 2000-07-09  Jim Meyering  <meyering@lucent.com>
25899
25900         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
25901         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
25902
25903         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
25904         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
25905
25906 2000-07-09  Jim Meyering  <meyering@lucent.com>
25907
25908         * lib/Most files: Update copyright dates to include 2000.
25909
25910 2000-07-08  Jim Meyering  <meyering@lucent.com>
25911
25912         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
25913         if not defined.
25914         (xgethostname): Remove now-unnecessary #ifdef.
25915         Move declaration of `err' into loop where it's used.
25916
25917 2000-07-05  Paul Eggert  <eggert@twinsun.com>
25918         and Bruno Haible  <haible@clisp.cons.org>
25919
25920         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
25921         only if the test for an object-type mbstate_t fails.  This
25922         prevents us from mistakenly reporting that mbstate_t is a
25923         system object type after we "#define mbstate_t int" to work
25924         around its lack.
25925
25926 2000-07-05  Paul Eggert  <eggert@twinsun.com>
25927         and Bruno Haible  <haible@clisp.cons.org>
25928
25929         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
25930
25931 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25932
25933         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
25934         to strerror_r.
25935         Include <ctype.h> for use of isalpha.
25936
25937 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25938
25939         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
25940         by allocating a larger buffer. Test the gethostname return value for
25941         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
25942         returns an error and ENAMETOOLONG isn't defined.
25943
25944 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25945
25946         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
25947         dimension.
25948
25949 2000-07-04  Jim Meyering  <meyering@lucent.com>
25950
25951         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
25952         of the deprecated AC_CHECKING.
25953
25954 2000-07-04  Jim Meyering  <meyering@lucent.com>
25955
25956         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
25957         Reported by Bruno Haible.
25958
25959 2000-07-04  Jim Meyering  <meyering@lucent.com>
25960
25961         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
25962         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
25963         lacks mbrtowc.
25964
25965 2000-07-03  Paul Eggert  <eggert@twinsun.com>
25966
25967         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
25968         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
25969
25970 2000-07-03  Paul Eggert  <eggert@twinsun.com>
25971         and Bruno Haible  <haible@clisp.cons.org>
25972
25973         * lib/quotearg.c (mbrtowc):
25974         Assign to *pwc, and return 1 only if result is nonzero.
25975         (iswprint): Use ISPRINT when substituting our own mbrtowc.
25976
25977 2000-07-03  Jim Meyering  <meyering@lucent.com>
25978
25979         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
25980
25981 2000-07-03  Jim Meyering  <meyering@lucent.com>
25982
25983         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
25984         This is necessary to get a definition of e.g., UTMP_FILE on
25985         HP-UX 10.20.
25986         From Bob Proulx.
25987
25988 2000-07-02  Jim Meyering  <meyering@lucent.com>
25989
25990         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
25991
25992         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
25993         AC_LIBOBJ(function_name).
25994         * m4/chown.m4: Likewise.
25995         * m4/fnmatch.m4: Likewise.
25996         * m4/ftruncate.m4: Likewise.
25997         * m4/getgroups.m4: Likewise.
25998         * m4/getline.m4: Likewise.
25999         * m4/group-member.m4: Likewise.
26000         * m4/jm-macros.m4: Likewise.
26001         * m4/lstat.m4: Likewise.
26002         * m4/malloc.m4: Likewise.
26003         * m4/memcmp.m4: Likewise.
26004         * m4/nanosleep.m4: Likewise.
26005         * m4/putenv.m4: Likewise.
26006         * m4/realloc.m4: Likewise.
26007         * m4/regex.m4: Likewise.
26008         * m4/stat.m4: Likewise.
26009         * m4/strftime.m4: Likewise.
26010
26011 2000-07-02  Jim Meyering  <meyering@lucent.com>
26012
26013         * lib/quotearg.c (mbstate_t): Don't define here.
26014
26015 2000-07-02  Jim Meyering  <meyering@lucent.com>
26016
26017         * lib/nanosleep.c (SIGCONT): Define if not already defined.
26018
26019 2000-07-01  Jim Meyering  <meyering@lucent.com>
26020
26021         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
26022
26023 2000-07-01  Jim Meyering  <meyering@lucent.com>
26024
26025         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
26026         problem.
26027
26028 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
26029
26030         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
26031         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
26032
26033 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
26034
26035         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
26036         per change in ../m4/ls-mntd-fs.m4.
26037         (read_filesystem_list): Ignore symbolic links.
26038
26039 2000-06-29  Jim Meyering  <meyering@lucent.com>
26040
26041         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
26042         for declaration of strcmp.
26043
26044         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
26045
26046         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
26047         Avoid warning by casting result to `char *' to remove `const'.
26048
26049 2000-06-28  Jim Meyering  <meyering@lucent.com>
26050
26051         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
26052         included by quotearg.c, for which we perform this test.  From
26053         Bruno Haible.
26054
26055 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
26056
26057         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
26058         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
26059         <utmpx.h> exists, put readutmp.o into LIBOBJS.
26060
26061 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
26062
26063         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
26064
26065 2000-06-26  Paul Eggert  <eggert@twinsun.com>
26066
26067         savedir now sets errno on failure and invokes xmalloc to get memory.
26068         Fix a couple of other minor bugs while we're at it.
26069
26070         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
26071         (NAMLEN): Remove macro.
26072         (malloc, realloc): Remove decls.
26073         (stpcpy): Likewise.
26074         ("xalloc.h"): Include.
26075         (NAME_SIZE_DEFAULT): New macro.
26076         (savedir): Use xmalloc / xrealloc to allocate memory.
26077         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
26078         Skip "" directory entries.
26079         Use strlen to calculate directory entry length, since the old method
26080         is rarely used these days and isn't worth supporting.
26081         Don't use a pointer after freeing it.
26082         Check for integer overflow when calculating allocation size.
26083         Use memcpy to copy entries, instead of stpcpy.
26084         Set errno properly when returning NULL.
26085         Check for readdir error.
26086
26087 2000-06-26  Jim Meyering  <meyering@lucent.com>
26088
26089         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
26090
26091 2000-06-25  Jim Meyering  <meyering@lucent.com>
26092
26093         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
26094         Linux header bug when _XOPEN_SOURCE is defined to 500.
26095
26096 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
26097
26098         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
26099         deficiency.
26100
26101 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
26102
26103         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
26104         Include xalloc.h.
26105         Don't include <stdlib.h>.  Don't declare malloc, realloc.
26106
26107 2000-06-24  Jim Meyering  <meyering@lucent.com>
26108
26109         * m4/strerror_r.m4: Revive this file -- to try out an experimental
26110         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
26111         for which strerror does return char*, but which lacks a conveniently
26112         accessible declaration of the function.  If the compile-test says
26113         strerror_r doesn't work, then resort to a `run'-test that works on
26114         BeOS and segfaults on DEC Unix.
26115
26116 2000-06-24  Jim Meyering  <meyering@lucent.com>
26117
26118         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
26119
26120 2000-06-23  Paul Eggert  <eggert@twinsun.com>
26121
26122         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
26123         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
26124
26125 2000-06-23  Paul Eggert  <eggert@twinsun.com>
26126
26127         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
26128         (mbrtowc, mbstate_t): Define substitutes if
26129         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
26130         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
26131         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
26132
26133 2000-06-23  Jim Meyering  <meyering@lucent.com>
26134
26135         * m4/afs.m4: Add missing AC_MSG_RESULT.
26136         Reported by Bruno Haible.
26137
26138         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
26139         Suggestion from Bruno Haible.
26140
26141 2000-06-23  Jim Meyering  <meyering@lucent.com>
26142
26143         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
26144
26145 2000-06-21  Jim Meyering  <meyering@lucent.com>
26146
26147         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
26148
26149 2000-06-21  Jim Meyering  <meyering@lucent.com>
26150
26151         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
26152         (noinst_HEADERS): Add getstr.h.
26153
26154         * lib/getline.c (getstr): Move into a separate file.
26155         * lib/getstr.c (getstr): New file, extracted from getline.c, with
26156         the following changes: new parameter, delim2; both delim[12]
26157         parameters have type `int', not `char'.  The latter would lose
26158         with 8-bit delimiters.
26159         * lib/getstr.h: New file.
26160
26161 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26162
26163         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
26164         than 1024, return a memory chunk of least possible size, instead
26165         of size PATH_MAX + 2. In the loop, increment the size proportionally.
26166         Use free/xmalloc instead of xrealloc to avoid copying for very long
26167         paths.
26168
26169 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26170
26171         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
26172         the empty string.
26173
26174 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26175
26176         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
26177         address, not strdup.  Include <stdlib.h> and don't declare free().
26178
26179 2000-06-19  Jim Meyering  <meyering@lucent.com>
26180
26181         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
26182
26183 2000-06-18  Jim Meyering  <meyering@lucent.com>
26184
26185         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
26186
26187         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
26188         `checking whether...' message to be consistent with that of the
26189         lstat test.
26190
26191 2000-06-18  Jim Meyering  <meyering@lucent.com>
26192
26193         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
26194         Besides, these days every porting target provides a mkdir function.
26195
26196         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
26197         needed. (this snippet comes from src/system.h).
26198
26199 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
26200
26201         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
26202
26203 2000-06-15  Paul Eggert  <eggert@twinsun.com>
26204
26205         * lib/human.c (adjust_value): New function.
26206         (human_readable_inexact): Apply rounding style even when
26207         printing approximate values.
26208
26209 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26210
26211         * lib/human.c (human_readable_inexact): Allow an input block
26212         size that is not a multiple of the output block size, and vice versa.
26213         Reported by Piergiorgio Sartor.
26214
26215 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26216
26217         * lib/getdate.y (get_date): Apply relative times after time
26218         zone indicator, not before.  Reported by Todd A. Jacobs.
26219
26220 2000-06-13  Jim Meyering  <meyering@lucent.com>
26221
26222         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
26223
26224         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
26225
26226 2000-06-12  Paul Eggert  <eggert@twinsun.com>
26227
26228         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
26229
26230 2000-06-12  Jim Meyering  <meyering@lucent.com>
26231
26232         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
26233         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
26234         optional argument.
26235         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
26236         the optional argument, `lib'.
26237
26238 2000-06-08  Jim Meyering  <meyering@lucent.com>
26239
26240         * m4/largefile.m4: Remove file (now that it's part of autoconf).
26241
26242 2000-06-04  Paul Eggert  <eggert@twinsun.com>